51单片机第六章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《51单片机第六章.ppt》由会员分享,可在线阅读,更多相关《51单片机第六章.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人机接口人机接口键盘接口键盘接口显示器显示器接口接口模拟量输入模拟量输入/输出接口输出接口D/AD/A转换接口转换接口A/DA/D转换接口转换接口通信接口通信接口第第6 6章章单单片片机机接接口口技技术术本章内容本章内容Single Chip MicrocomputerPC机除了主机以外还需要哪些部分呢?单片机电路有时候也需要键盘、显示等外设。7.1 键盘接口键盘接口q按键的特点及输入原理q独立式按键q矩阵式按键按键的特点及输入原理v按键的分类:按键的分类:触点式:机械;无触点式:电气触点式:机械;无触点式:电气v键输入原理:键输入原理:通过按键的接通与断开,产生两种相反的逻辑通过按键的接通与
2、断开,产生两种相反的逻辑状态状态 低电平低电平“0”0”与与高电平高电平“1”1”。v键功能的实现:键功能的实现:对于一组键或一个键盘,需通过接口电路与单对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器再确定是哪一个键按下,将该键号送入累加器ACCACC,然后判断是数字键还是功能键,若是数字键,则然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执键,
3、则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。行完后再返回主程序。键盘接口需要解决的问题是否有键按下是否有键按下按键识别:按键识别:键抖动及消除:键抖动及消除:机械按键抖动时间在机械按键抖动时间在5 5msms10ms10ms之之间间硬件方案硬件方案双稳态去抖电路双稳态去抖电路 软件方案软件方案延时延时10ms10ms20ms20ms后再次判断后再次判断消除方法消除方法:求键号求键号独立式按键独立式按键接口电路:特点:一线一键,按键识别(编程)简单;但占用特点:一线一键,按键识别(编程)简单;但占用较多口线,适合较多口线,适合8 8键以下使用。键以下使用。例例1 1:用:用P1P
4、1口检测三个按键的状态并完成相应的功能口检测三个按键的状态并完成相应的功能解:资源分配:用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。流程图:ORG 0000HKB:MOV P1,#0FFH MOV A,P1 CPL A ANL A,#07H JZ KB LCALL D10MS MOV A,P1 CPL A ANL A,#07H JZ KB CJNE A,#01H,KB01 LCALL PGM1 SJMP KBKB01:CJNE A,#02H,KB02 LCALL PGM2 SJMP KBKB02:CJNE A,#04H,KB LCALL PGM3 SJ
5、MP KB END编程:按三个按键中的任一键都对应一个特定功能。矩矩阵阵式式按按键键关键:如何关键:如何判断键号?判断键号?3210476511109815141312+5VP1.4P1.3P1.0MCS-51P1.7P1.6P1.5P1.2P1.1接口电路:特点:按键识别应采用扫描法或线路反转法特点:按键识别应采用扫描法或线路反转法 编程较为复杂,节省口资源,编程较为复杂,节省口资源,8 8键以上使用键以上使用键盘扫描子程序一般包括以下内容:1.判别有无键按下;2.扫描获取闭合键的行、列值;3.用计算法或查表法得到键值;4.判断闭合键释放否,如没释放则继续等待;5.保存闭合键号。按键识别扫描
6、法、反转法 流程:当当第第0 0列列处处于于低低电电平平时时,逐逐行行查查找找是是否否有有行行线线变变低低,若若有有,则则第第0 0列列与与该该行行的的交交叉叉点点按按键键按按下下;若若无无,则则表表示示第第0 0列列无无键键按按下下,再再让让下下一一列列处处在在低低电电平平,依依此此循循环环,这这种方式称为种方式称为键盘扫描键盘扫描。键号键号=行首键号(行首键号(0 0、4 4、8 8、1212)+列号(列号(0 0、1 1、2 2、3 3)扫描法原理:在某一时刻只让在某一时刻只让一条列线一条列线处于处于低低电平,其余列线均电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行处于高
7、电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。有键按下。例2:键盘扫描程序SERCH:MOVR2,#0EFH MOVR3,#00HLINE0:MOVA,R2MOVP1,AMOVA,P1JBACC.3,LINE1MOVA,#00HAJMPTRYKLINE1:JBACC.2,LINE2MOVA,#04HAJMPTRYKLINE2:JBACC.1,LINE3MOVA,#08HAJMPTRYKLINE3:JBACC.0,LINE4MOVA,#0CHAJMPTRYKLINE4:INCR3MOVA,R2RL A
8、JNBACC.0,BACKMOVR2,AAJMPLINE0TRYK:ADDA,R3BACK:RET 基基本本原原理理是是:将将行行线线接接一一个个并并行行口口,先先让让它它工工作作在在输输出出方方式式,将将列列线线出出接接到到一一个个并并行行口口,先先让让它它工工作作在在输输入入方方式式。编编程程使使CPUCPU通通过过输输出出端端口口往往各各行行线线全全部部送送低低电电平平,然然后后读读入入列列线线的的值值。如如果果有有某某一一个个键键被被按按下下,则则必必有有一一条条列列线线为为低低电电平平。然然后后进进行行线线反反转转,通通过过编编程程对对两两个个并并行行端端口口进进行行方方式式设设置置
9、,使使连连接接行行线线的的端端口口工工作作在在输输入入方方式式,并并将将刚刚才才读读到到的的列列线线值值通通过过所所连连接接的的并并行行口口再再输输出出到到列列线线,然然后后读读取取行行线线的的值值,那那么么闭闭合合键键所所对对应应的的行行线线必必为为低低电电平平,这这样样当当一一个个键键被被按按下下时时,就就可以读到一对唯一的列值和行值。可以读到一对唯一的列值和行值。线反转法识别按键线反转法识别按键第一步:行线并行口输出全第一步:行线并行口输出全0,读列线;,读列线;列线有列线有0,表示有键按下,则进,表示有键按下,则进行第二步。行第二步。第二步:反转。列线并行口输出,读行线。第二步:反转。
10、列线并行口输出,读行线。第三步:第三步:列码与行码的组合即可作为码。列码与行码的组合即可作为码。l特点:特点:接行线和列线的并行口必须既能输出又接行线和列线的并行口必须既能输出又能输入;能输入;行线和列线仅需输出、输入各行线和列线仅需输出、输入各1次,次,键识别速度快。键识别速度快。定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。中断扫描方式 为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键
11、按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。7.2 显示器接口技术LED的结构和显示原理静态显示方式动态显示方式动态显示的实现动态显示方式问题引入:问题引入:LEDLED显示器如何显示出指定数字显示器如何显示出指定数字/字符?字符?comcomgfcomabafgbedcdpedcomcdb(a)管脚图管脚图acebdfgdpcom地地com+5Vacebdfgdp(b)共阴极共阴极(c)共阳级共阳级七段七段LED数码管结构数码管结构 上图中的上图中的ag七个笔划(段)及小数点七个笔划(段)及小数点dp均为发光二极管。均为发光二极管。数码
12、管显示器根据公共端的连接方式,可以分为共阴极数码管数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。有发光二极管的阳极连在一起)。单片机系统扩展单片机系统扩展LED数码管时多用共阳数码管时多用共阳LED。共阳数码管共阳数码管每个段笔画是用低电平每个段笔画是用低电平(“0”)点亮的点亮的,要求驱动功率很小;而要求驱动功率很小;而共阴数码管段笔画是用高电平共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率点亮的,要求驱动功率较大。通常每个段笔画要串一个
13、数百欧姆的降压电阻。较大。通常每个段笔画要串一个数百欧姆的降压电阻。LEDLED的驱动接口的驱动接口 LED工工作作时时需需要要一一定定的的工工作作电电流流,才才能能正正常常发发光光。单单个个LED实实际际上上是是一一个个压压降降为为1.21.5V的的发发光光二二极极管管,流流过过LED的的电电流流大大小小决决定定了了它它的的发发光光强强度度,R为为限限流流电电阻阻。适适当当减减小小限限流流电电阻阻可可以以增增加加LED的的工工作作电电流流,使使LED的的显显示示效效果果更更好好。但但工工作作电电流流过过大大,会会对对驱驱动动器器件件、LED造造成成损损害害。通通常常每每个个段段笔笔画画要要串
14、串一一个个数数百百欧欧姆的降压电阻。下图为单个姆的降压电阻。下图为单个LED的驱动接口电路。的驱动接口电路。表7.1 数码管字型编码表显显示示字字符符字字型型共共阳阳极极共共阴阴极极dpgfedcba字型字型码码dpGfedcba字型字型码码0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F
15、8H0000011107H881000000080H011111117FH991001000090H011011116FHAA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139H续表显示显示字符字符字字型型共共阳阳极极共共阴阴极极dpgfedcba字型字型码码dpGfedcba字型字型码码DD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H00
16、11100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY1001000191H011011106EH 10111111BFH0100000040H.011111117FH1000000080H熄熄灭灭灭灭11111111FFH0000000000H 单个LED数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7同同相相驱驱动动电电路路abcdefghcom+5V对一般数字电路而言,其灌电流(输出低电平)的能力对一般数字电路而言,其灌电流(输出低电平)的能力要大于拉电流
17、(输出高电平)的能力要大于拉电流(输出高电平)的能力共阳数码管共阳数码管送送0点亮点亮送送0点亮点亮静态显示方式q连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。q特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。静态LED数码显示电路(共阳极)七段译码器 七段译码器 七段译码器 七段译码器 七段译码器Vcc BCD码 0000 0001 0010 0011 0100返回动态显示方式q连接 所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。
18、因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。动态显示基本原理 电路的接法决定了必须采用电路的接法决定了必须采用逐位扫描显示方式。即从段选口送出某位即从段选口送出某位LEDLED的字型码,然后选通该位的字型码,然后选通该位LEDLED,并保持一段延时时间。然后选通下一位,直到所有位扫并保持一段延时时间。然后选通下一位,直到所有位扫 描完。描完。要注意的两个问题:1.1.字型码通常通过查表指令字型码通常通过查表指令MOVCMOVC来求得来求得.2.2.换位显示时通常要加一段程序使所有的换位显示时通常要加一段程序使所有的LEDLED全灭全灭.多个
19、LED数码管的显示8锁存锁存同相同相驱动驱动锁存锁存反相反相驱动驱动七段码端口七段码端口位选通码端口位选通码端口8共阳共阳数码管数码管控制控制控制控制数据数据送送0时点亮相应段,时点亮相应段,七段码:七段码:11111001B将显示数码将显示数码“1”送送1时选通相应数码管,时选通相应数码管,选通码:选通码:00000001B将选中最左边的数码管将选中最左边的数码管1段控制端口电路D0D1D2D3D4D5D6D7阳极阳极位位0abcdefgh位位1位位2段码D0D7段控制段控制锁锁存存/同同相相驱驱动动segport,-IOW段控制端口作用v控制哪些段点亮,决定具体显示什么数码v段控制端口送出
20、七段码到数码管段控制端v此端口为8个数码管的共用端口段控制:段控制:Di0,相应段相应段点亮点亮D7D6D5D4D3D2D1D0hgfedcba通过位、段控制端口的共同作用才能确定通过位、段控制端口的共同作用才能确定哪个数码管哪个数码管显示显示什么数码什么数码位控制端口电路D7D6D5D4D3D2D1D0共阳极共阳极数位数位0数位数位1 数位数位2位码D0D7位控制位控制锁锁存存/反反相相驱驱动动bitport,-IOW共阳极共阳极共阳极共阳极位控制端口作用v位控制端口控制点亮哪位数码管(其余数码管暂不点亮)v当位控制端口的控制码某位为0时,经反相驱动,便在相应数码管的公共阳极上加了高电平,该
21、数码管将点亮并显示数据位控制:位控制:Di0,相应数位的数码管可以发光相应数位的数码管可以发光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0动态LED数码显示电路(共阴极)七段译码器BCD码动态扫描时序图返回动态扫描时序图00H 01H 02H 03H 04H万位 仟位 佰位 十位 个位位扫描万位仟位佰位十位个位BCD码返回上一页返回单片机与动态显示电路的接口(一)MCS-51 P0P1驱动电路采用软件进行七段译码可以省去译码器,但要使用7-8条口线输出字形码单片机与动态显示电路的接口(二)MCS-51 P0.7P0.6P0.5P0.4P0.3P0.2P0.1七段译码器3-8
22、译码器使用“BCD/七段译码器”和“位扫描译码器”可以有效的节省单片机的口线单片机与动态显示电路的接口(三)8155/8255 AD0.7 PA.7AD0.0 PA.0/CS PB.5PB.0驱动电路TO 51的P0口可以使用8155/8255并行口扩展芯片组成的动态扫描电路采采用用动动态态显显示示方方式式比比较较节节省省I/O口口,硬硬件件电电路路也也较较静静态态显显示示方方式式简简单单,但但其其亮亮度度不不如如静静态态显显示示方方式式,而而且且在在显显示示位位数数较多时,较多时,CPU要依次扫描,占用要依次扫描,占用CPU较多的时间。较多的时间。用用8051系系列列单单片片机机构构建建数数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 第六
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内