第五讲 接囗与系统折展(2) 本讲重点: 键盘接口(键盘种类矩阵键盘的行扫描与 线反转法的电路、原理与编程); D/A转换接口(DAC0832产生各种波形); 转换接口(ADC0809三种读取方式电路 及单路采集与多路釆集编程应用) 《单片机原理与应用技术》教学堁件
《单片机原理与应用技术》教学课件 第五讲: 接口与系统扩展(2) 本讲重点: 键盘接口(键盘种类,矩阵键盘的行扫描与 线反转法的电路、原理与编程); D/A转换接口(DAC0832产生各种波形); A/D转换接口(ADC0809三种读取方式,电路 及单路采集与多路采集编程应用)
扩展键盘接囗 《单片机原理与应用技术》教学堁件
《单片机原理与应用技术》教学课件 ⚫扩展键盘接口
四、鍵盘接口 P.194 键盘 单片机系统中完成控制参数输入及修改的基本输 入设备,是人工干预系统的重要手段。 单片机与计算机在鍵盘规模/键符设置等方面差别 很大。 键盘分类 按键值编码方式分 逦件生)编码键盘与韭(硬件)编码键盘。 按键组连接方式分 独健盘与矩阵连接健盘。 《单片机原理与应用技术》教学堁件
《单片机原理与应用技术》教学课件 四、键盘接口 P.194 键盘 单片机系统中完成控制参数输入及修改的基本输 入设备,是人工干预系统的重要手段。 单片机与计算机在键盘规模/键符设置等方面差别 很大。 键盘分类 @ 按键值编码方式分 (硬件)编码键盘与非(硬件)编码键盘。 @ 按键组连接方式分 独立连接键盘与矩阵连接键盘
按键值编码方式:编码键盘与非编码键盘 编码键盘:采用专用的编码/译码器件,被按下的键由 该器件译码输出相应的键码/键值。 增加了硬件开销,编码因选用器件而异,编 码固定,但编程简单。适用于规模大的键盘。 ◇非编码键盘:单片机系统多采用此类键盘 采用软件编/译码的方式通过扫描,对每个被按下 的键判别输出相应的键码/键值。 3、不增加硬件开销,编码灵活,适用于小规模 的键盘,特别是单片机系统。但编程较复杂,占CPU 时间还须软件“消颤”。 《单片机原理与应用技术》教学堁件
《单片机原理与应用技术》教学课件 编码键盘: 采用专用的编码/译码器件,被按下的键由 该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而异,编 码固定,但编程简单。适用于规模大的键盘。 非编码键盘: 单片机系统多采用此类键盘 采用软件编/译码的方式,通过扫描,对每个被按下 的键判别输出相应的键码/键值。 特点:不增加硬件开销,编码灵活,适用于小规模 的键盘,特别是单片机系统。但编程较复杂,占CPU 时间,还须软件“消颤” 。 按键值编码方式:编码键盘与非编码键盘
按键组连接方式:独立连接键盘与矩阵连接键盘 独立连接键盘:每键相互独立,各自与一条/O线相 连,CPU可直接读取该0线的高/低电平状态。 占O口线多,但判键速度快,多用于设置控 制键、功能键。适用于键数少的场合。 ◎矩阵连接键盘:键按矩阵排列各键处于矩阵行/列的 结点处CPU通过对连在行(列)的线送已知电平 的倌号然后读取列(行)线的状态信息。逐线扫描得 特点多时占用口线少但判键速度慢多用于 设置数字键。适用于键数多的场合。 《单片机原理与应用技术》教学堁件
《单片机原理与应用技术》教学课件 按键组连接方式:独立连接键盘与矩阵连接键盘 独立连接键盘: 每键相互独立,各自与一条I/O线相 连,CPU可直接读取该I/O线的高/低电平状态。 特点:占I/O口线多,但判键速度快,多用于设置控 制键、功能键。适用于键数少的场合。 矩阵连接键盘: 键按矩阵排列,各键处于矩阵行/列的 结点处,CPU通过对连在行(列)的I/O线送已知电平 的信号,然后读取列(行)线的状态信息。逐线扫描,得 出键码。 特点:键多时占用I/O口线少,但判键速度慢,多用于 设置数字键。适用于键数多的场合
o独立连接式键盘例1 KEV:JNBP1.0,FUNC1;逐键判别 JNB P1 FUNC2 JNB P1. 2. FUNC3 P1.0 P1.1 JNB P1.3. FUNC4 P1.2 RET;无任何键按下由此返回 P1.3 FUNC1::做P1.0要求的“功能1” RET AT89C51 FUNC2:…:做故P1.1要求的“功能2” RET FUNC3:…P1.2要求的“功能3” RET FUNC4:做P1.3要求的“功能4” RET 特点:此子程序需不断或定时调,否则可能 漏判。4个键的优先级由指令顺序决定
独立连接式键盘例1: 特点:此子程序需不断(或定时)调用,否则可能 漏判。4个键的优先级由指令顺序决定。 P1.0 P1.1 P1.2 P1.3 KEY: JNB P1.0,FUNC1 ;逐键判别 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RET ;无任何键按下由此返回 FUNC1: …… ;做P1.0要求的“功能1” RET FUNC2: …… ;做P1.1要求的“功能2” RET FUNC3: …… ;做P1.2要求的“功能3” RET FUNC4: …… ;做P1.3要求的“功能4” RET AT89C51
独立连接式键例2 上拉) ORG 0003H P1.0 P1.1 LJMP KEY P1.2 ●t。 P1.3 KEY:JNBP10,FUNc1;逐键判别 & AT89C51 JNB P11 FUNC2 JNB P1.2FUNC3 JNB P1.3. FUNC4 Q寺点: RETI;无任何键按下由此返回 此子程序采用中断 FUNC1:……:做P10要求的“功能1”查询不会漏判省时 RETI 键的优先级由指令 FUNC2:……:做P1要求的“功能2”顺序决定。 RETI 为防止一次按键多 FUNC3 做P12要求的功能3”次中断,在功能子程 RETI 序里应安排“关/开中 FUNc4:……:做P13要求的“功能4”断指令"并“延时 RETI
独立连接式键盘例2 特点: @此子程序采用中断 查询不会漏判,省时。 @键的优先级由指令 顺序决定。 @为防止一次按键多 次中断,在功能子程 序里应安排“关/开中 断指令”并“延时” 。 P1.0 P1.1 P1.2 P1.3 ORG 0003H LJMP KEY ………… KEY: JNB P1.0,FUNC1 ;逐键判别 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RETI ;无任何键按下由此返回 FUNC1: …… ;做P1.0要求的“功能1” RETI FUNC2: …… ;做P1.1要求的“功能2” RETI FUNC3: …… ;做P1.2要求的“功能3” RETI FUNC4: …… ;做P1.3要求的“功能4” RETI INT0 & (上拉) AT89C51
矩阵式建 P198例 PA7 AT89C51 8155 PA6 PO AD0-7 PA5 ALE ALE PA4 P2.7 CE PA3 P2.0 IO/M PA2 WR WR PAl RD PAO +5v RESET RESET 0481216202428 EA PCO 591317212529 0列 +5 列 PCI 26101418222630 线]PC2 8155控制寄存器:0100H 37111519232631 8155A口地址:0101H PC3 3列 8155C口地址:0103H A口为输出C口为输入口 0行 行线 7行 此图参照P198图6-26画的但按照书上给的程序,键值标错了
矩阵式键盘 P.198例 AT89C51 8155 P0 ALE CE RESET AD0-7 EA RESET RD WR WR RD PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PC0 PC1 PC2 PC3 P2.7 ALE +5v +5v 行线 列 线 0行 7行 0列 3列 0 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 26 31 此图参照P198图6-26画的,但按照书上给的程序,键值标错了。 P2.0 IO/M 8155 控制寄存器:0100H 8155 A口地址: 0101H 8155 C口地址: 0103H A口为输出 C口为输入口
P198国的标注 P198图的正确标注 行线(PA0-PA7) 行线(PA0-PA7) 0行1行2行3行4行5行6行7行 0行1行2行3行4行5行6行7行 0123456 0481216202428 0列 0列 列 89101112131415 列 1591317212529 线』1列16171192021223线1列-26101418220|30 P52列2425120272298031B52列371192326 3列 3列
P.198图的标注 0行 1行 2行 3行 4行 5行 6行 7行 行线(PA0-PA7) 列 线 PC 0-3 0列 3列 0 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 26 31 1列 2列 0行 1行 2行 3行 4行 5行 6行 7行 行线(PA0-PA7) 列 线 PC 0-3 0列 3列 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1列 2列 P.198图的正确标注
P198图的正确标注 列线PC0-3 01 行线(PA0-PA7) 行 45 26 1行 0行1行2行3行4行5行6行7行 2行 891011 行线 3行 1213141 PAO 0481216202428 4行 16171819 0列 PAT 列 1591317212529 5行 20212223 线 1列 26101418222630 6行 24252627 PC列-371151928268 7行 28293031 3列 0列 左右两图是一样的 1列 2列 习惯说“横行竖列 3列
0 行 1 行 2 行 3 行 4 行 5 行 6 行 7 行 行线(PA0 -PA7) 列线 PC 0-3 0 列 3 列 0 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 26 31 1 列 2 列 P.198图的正确标注 0 行 1 行 2 行 3 行 4 行 5 行 6 行 7 行 0 列 1 列 2 列 3 列 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 列线PC0 - 3 行线 PA0 | PA7 左右两图是一样的 习惯说 “横行竖列