版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.5 概述概述6.6 可编程并行可编程并行i/o接口芯片接口芯片8255a6.7 可编程可编程ram/io扩展器扩展器8155/8156下页下页6.9 显示器与键盘接口显示器与键盘接口6.8 用用ttl芯片扩展简单的芯片扩展简单的i/o接口接口6.10 并行打印机接口并行打印机接口 常常用用的的接接口口器器件件8255:可编程通用并行接口电路:可编程通用并行接口电路 8253/8254:可编程定时:可编程定时/计数器计数器 8155/8156:可编程:可编程ram/io/timer扩展芯片扩展芯片 8251:可编程串行接口电路:可编程串行接口电路 8279:可编程键盘显示接口电路:可编程键盘
2、显示接口电路上页上页下页下页回目录回目录上页上页下页下页回目录回目录上页上页下页下页回目录回目录mcs-51单片机的单片机的i/o接口:接口:p0、p1、p2、p3口,最多提供口,最多提供32根口线。根口线。在扩展系统中:在扩展系统中:p0口做数据总线,口做数据总线,p2口做地址总线。口做地址总线。只有只有p1口、口、p3口部分口线可作口部分口线可作i/o使用,需根据应用系统使用,需根据应用系统需要进行需要进行i/o接口电路扩展,以满足应用系统需要。接口电路扩展,以满足应用系统需要。7.2 可编程并行可编程并行i/o接口芯片接口芯片8255a上页上页下页下页回目录回目录d0d7:双向数据总线:
3、双向数据总线reset:复位输入:复位输入 a0a1:地址线,选择端口地址:地址线,选择端口地址pa7pa0:端口:端口a,i/o线线pb7pb0:端口:端口b,i/o线线pc7pc0:端口:端口c,i/o线线cswr:写选通:写选通rd一、一、8255的引脚功能的引脚功能图7 - 1 8 2 5 5 a引 脚 配 置 图d 03 4d 13 3d 23 2d 33 1d 43 0d 52 9d 62 8d 72 7p a 04p a 13p a 22p a 31p a 44 0p a 53 9p a 63 8p a 73 7p b 01 8p b 11 9p b 22 0p b 32 1p
4、b 42 2p b 52 3p b 62 4p b 72 5p c 01 4p c 11 5p c 21 6p c 31 7p c 41 3p c 51 2p c 61 1p c 71 0r d5w r3 6a 09a 18r es et3 5c s6u 18 2 5 5 :读选通:读选通:片选:片选i/o端口端口pa、pb、pca口口:可编程为:可编程为8位输入或输出,或双向传送等位输入或输出,或双向传送等 功能,具有功能,具有 锁存功能。锁存功能。b口口:可编程为:可编程为8位输入或位输入或8位输出,不能进行双向位输出,不能进行双向传送。具有锁存功能。传送。具有锁存功能。c口口:可编程为:
5、可编程为8位输入或位输入或8位输出;也可分为两位输出;也可分为两个个4位口用于输入或输出;也可用做位口用于输入或输出;也可用做a口、口、b口的状态控制信号;具有位操作功能。口的状态控制信号;具有位操作功能。a组、组、b组控制电路组控制电路a a组组控制控制papa口和口和pc4pc4pc7pc7b b组组控制控制pbpb口和口和pc0pc0pc3pc3上页上页下页下页回目录回目录(3) (3) 双向三态数据总线缓冲器双向三态数据总线缓冲器8位的双向三态驱动器。位的双向三态驱动器。d0d7和单片机的数和单片机的数据总线相连。在据总线相连。在cpu和和8255之间传送命令、之间传送命令、数据、状态
6、数据、状态(4) (4) 读写和控制逻辑读写和控制逻辑a0a0、a1a1:口选择信号口选择信号地址线,接地址线,接cpucpu地址线。地址线。(5) reset(5) reset:复位信号,高电平有效:复位信号,高电平有效 上页上页下页下页回目录回目录rdrd、wrwr:接:接cpucpu读、写信号线,实现读、写信号线,实现 信息读写操作。信息读写操作。cscs:芯片片选信号线。:芯片片选信号线。a1a000pa口01pb口10pc口11状态寄存器1. 82551. 8255工作方式选择工作方式选择工作方式的选择由工作方式的选择由“方式选择字方式选择字”决定,决定,下面介绍该控制字的作用:下面
7、介绍该控制字的作用:方式方式0 0:基本输入输出方式;:基本输入输出方式;方式方式1 1:选通输入输出方式;:选通输入输出方式;方式方式2 2:双向传送方式:双向传送方式( (仅仅a a口口) )82558255有三种基本工作方式,可通过编程来选择。有三种基本工作方式,可通过编程来选择。三、三、8255的操作说明的操作说明上页上页下页下页回目录回目录表表7-2 7-2 方式选择字格式方式选择字格式d7d7d6d6d5d5d4d4d3d3d2d2d1d1d0d01 1:方式方式特征特征标志标志a a 组组b b 组组a a组方式组方式papapchpchb b组方组方式式pbpbpclpcl0
8、00 0:方式:方式0 00 10 1:方式:方式1 11 1 :方式:方式2 20 0:输出输出1 1:输入输入0 0:输出输出1 1:输入输入0 0:方式方式0 01 1:方式方式1 10 0:输出输出1 1:输入输入0 0:输出输出1 1:输入输入(1) (1) 方式选择控制字方式选择控制字上页上页下页下页回目录回目录d7d71 1d6d60 0d5d50 0d4d41 1d3d30 0d2d20 0d1d10 0d0d01 11 1:方方式式特特征征标标志志 a a 组组b b 组组a a组方式组方式papapchpchb b组方组方式式pbpbpclpcl0 00 0:方式方式0 0
9、1 1:输输入入0 0:输输出出0 0:方式方式0 00 0:输:输出出1 1:输:输入入上页上页下页下页回目录回目录例例7-17-1。若将方式选择字。若将方式选择字91h91h写入控制寄存器写入控制寄存器由上表可知,由上表可知,82558255被编程为:被编程为:a a组组工作在基本输入输出方式,其中工作在基本输入输出方式,其中papa口为口为8 8位位 输入方式,输入方式, pcpc口高口高4 4位为位为4 4位输出方式。位输出方式。 b b组组工作在基本输入输出方式,其中工作在基本输入输出方式,其中pbpb口为口为8 8位位输出方式,输出方式,pcpc口低口低4 4位为位为4 4位输入方
10、式。位输入方式。 表表7-5 pc7-5 pc口置口置/ /复位控制格式复位控制格式d7d7d d6 6d d5 5d d4 4d3d3d2d2d1d1d0d00 0:位位控控标标志志 未定义未定义0 0 00 0 0: pc0 pc0 0 0 10 0 1: pc1pc10 1 00 1 0: pc2pc20 1 10 1 1: pc3pc31 0 01 0 0: pc4 pc4 1 0 11 0 1: pc5pc51 1 01 1 0: pc6 pc6 1 1 11 1 1: pc7pc71 1:置置位位 0 0:复复位位(2) pc(2) pc口按位置口按位置/ /复位控制字复位控制字上
11、页上页下页下页回目录回目录例如:例如:07h07h写入控制口,将写入控制口,将pc3pc3位置位置“1”1”,若,若08h08h写写入控制器,入控制器,pc4pc4位被置位被置“0”0”,其它位不变。,其它位不变。上页上页下页下页回目录回目录由于由于82558255的方式选择字和的方式选择字和c c口置口置/ /复位控制字共复位控制字共用一个地址用一个地址( (即共用一个控制寄存器即共用一个控制寄存器) ),故其控,故其控制字的制字的d7d7位是特征标志位是特征标志。d7=1d7=1,表示该控制字,表示该控制字为为82558255方式选择字;方式选择字;d7=0d7=0,表示该控制字为,表示该
12、控制字为pcpc口置口置/ /复位控制字复位控制字d7d7d d6 6d d5 5d d4 4d3d3d2d2d1d1d0d00 0 未定义未定义0 1 10 1 1: pc3pc31 0 01 0 0: pc4 pc4 1 1:置置位位 0 0:复复位位d034d133d232d331d430d529d628d727pa04pa13pa22pa31pa440pa539pa638pa737pb 018pb 119pb 220pb 321pb 422pb 523pb 624pb 725pc 014pc 115pc 216pc 317pc 413pc 512pc 611pc 710r d5w r3
13、6a09a18r e se t35c s6u38255e a/vp31x119x218r e se t9r d17w r16int 012int 113t 014t 115p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78p 0.039p 0.138p 0.237p 0.336p 0.435p 0.534p 0.633p 0.732p 2.021p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728pse n29al e /p30t xd11r xd10u18031ahd03q02d14q15d27q26
14、d38q39d413q412d514q515d617q616d718q719e1g11u2sn74l s373a0a1 图 7-3 8255a 的扩展接口电路四、应用举例四、应用举例例例7-3 8031扩展扩展8255a,将,将pa口设置成输入方式,口设置成输入方式,pb口设置成输出方式,口设置成输出方式,pch口设置成输入方式,口设置成输入方式,pcl口设置成输出方式。试设计扩展接口电路,口设置成输出方式。试设计扩展接口电路,并给出初始化程序。并给出初始化程序。8255a芯片的芯片的pa端口的地址为端口的地址为7ffch,pb端口的地端口的地址为址为7ffdh,pc端口的地址为端口的地址为7
15、ffeh,控制寄存器,控制寄存器的地址为的地址为7fffh。可用。可用“movx”指令来访问这些端指令来访问这些端口。口。mova,#98h ;方式控制字;方式控制字amovdptr,#7fffh ;选通控制寄存器;选通控制寄存器movx dptr,a ;方式控制字送入;方式控制字送入8255amovdptr,#7ffch ;movx a,dptr ;读;读pa口数据口数据movdptr,#7ffdh ;movx dptr,a ;送;送pb口输出口输出采用采用ttl或或cmos电路的锁存器,如电路的锁存器,如74ls273、74ls373、74ls377、74ls244等。这些芯片结构简等。这
16、些芯片结构简单,配置灵活方便,较易扩展,使系统降低了成本单,配置灵活方便,较易扩展,使系统降低了成本缩小了体积。因而在单片机应用系统中经常被采用。缩小了体积。因而在单片机应用系统中经常被采用。 7.4 用用ttl电路扩展简单的电路扩展简单的i/o接口接口上页上页下页下页回目录回目录ea/vp31x119x218reset9rd17wr16int012int113t014t115p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78p 0.039p 0.138p 0.237p 0.336p 0.435p 0.534p 0.633p 0.732p 2.02
17、1p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728psen29ale/p30txd11rxd10u18031ahd0d1d2d4d5d6d7d3d03q02d14q15d27q26d38q39d413q412d514q515d617q616d718q719clk11e1u274ls377 图7-11 8031与74ls377接口逻辑1、用、用74ls377扩展扩展8位输出口位输出口其输出操作程序如下:其输出操作程序如下:mov dptr,#7fffh ;指向;指向377口地址口地址mov a,#data ;取数;取数movx dptr,a ;送
18、;送377锁存器锁存器图中图中377的口地址为的口地址为7fffh(即即p2.7=0) 2、用、用74ls373扩展一个扩展一个8位并行输入口位并行输入口 3、用、用74ls273和和74ls244扩展输入扩展输入/输出口输出口mov dptr,#0bfffh ;指向;指向244输入口输入口movx a,dptr ;输入数据;输入数据mov dptr,#7fffh ;指向指向273输出口输出口mov a,#data ;取数;取数movx dptr,a;输出数据;输出数据7.5 开关量输入开关量输入/输出通道的抗干扰技术输出通道的抗干扰技术1、i/o接口单元的延时复位接口单元的延时复位在单片机应
19、用系统中,某些在单片机应用系统中,某些i/o接口芯片(如接口芯片(如8255、8155)的复位端口与单片机复位端口接在一起,即)的复位端口与单片机复位端口接在一起,即统一复位。接口芯片因生产厂家不同复位时间稍有统一复位。接口芯片因生产厂家不同复位时间稍有不同;复位线较长也有较大的分布电容,导致芯片不同;复位线较长也有较大的分布电容,导致芯片的复位过程滞后与单片机,芯片初始化失败。因此,的复位过程滞后与单片机,芯片初始化失败。因此,有必要当单片机进入有必要当单片机进入0000h后首先执行后首先执行110ms的软的软件延时,再对接口芯片初始化件延时,再对接口芯片初始化。2、开关量输入开关量输入软件
20、抗干扰措施软件抗干扰措施对接口中的输入数据信息进行多次检测,若检测结对接口中的输入数据信息进行多次检测,若检测结果一致,则是真的输入信号;若相邻检测内容不一果一致,则是真的输入信号;若相邻检测内容不一致,或多次检测结果不一致,则是伪输入信号。致,或多次检测结果不一致,则是伪输入信号。两次检测之间要有一定的时间间隔。两次检测之间要有一定的时间间隔。3、开关量输出信号开关量输出信号软件抗干扰措施软件抗干扰措施1)输出数据锁存器尽可能和)输出数据锁存器尽可能和cpu安装在同一电路板上,安装在同一电路板上,使传输线上传送的都是已锁存的电位控制信号。使传输线上传送的都是已锁存的电位控制信号。2)对重要的
21、输出设备,最好建立检测通道,)对重要的输出设备,最好建立检测通道,cpu可以通可以通过检测通道检查输出结果是否正确。过检测通道检查输出结果是否正确。3)在软件上,最为有效的方法就是重复输出同一个)在软件上,最为有效的方法就是重复输出同一个数据,重复周期尽可能短。数据,重复周期尽可能短。4)采用负逻辑传输)采用负逻辑传输定义低电平为有效电平,高电平为无效电平,减少干扰引起定义低电平为有效电平,高电平为无效电平,减少干扰引起的误动作,提高数字信号传输的可靠性。的误动作,提高数字信号传输的可靠性。(因为干扰源作用在高阻的线路上容易形成大幅度干扰信号)(因为干扰源作用在高阻的线路上容易形成大幅度干扰信
22、号) 7.5 显示器与键盘接口显示器与键盘接口图 7 - 1 4 “8” 字 型 数 码 管(a) 管 脚 配 置(b ) 共 阴 极(c) 共 阳 极 bgfcomaedcomcdpabcdefgdpabcdefgdpcomabcdefgdpcom 一、一、led显示器特点与接口显示器特点与接口1. led显示器显示器led(light emitting diode)显示器称为发光二极管)显示器称为发光二极管也称为数码管,由也称为数码管,由8个发光二极管组成,分共阴极和共个发光二极管组成,分共阴极和共阳极两种。阳极两种。段段码码位位码码上页上页下页下页回目录回目录abcdefghh g f
23、e d c b a高电平高电平共阴极共阴极r8comd7 d6 d5 d4 d3 d2 d1 d0段码段码显示字符显示字符段选码段选码03f10625ba77能显示:能显示:09,a、b、c、d、e、f、p、u、y等有限字符等有限字符a b c d e f g h 某段为高电平时某段为高电平时 该段点亮发光该段点亮发光点阵点阵led数码数码led交通灯交通灯像束管像束管2、led数码管特点数码管特点上页上页下页下页回目录回目录1、能在低电压、小电流(工作电流一般在、能在低电压、小电流(工作电流一般在10ma/段)段)条件下发光,能与条件下发光,能与cmos、ttl电路兼容;电路兼容;2、发光时
24、间极短(、发光时间极短(0.1us),高频特性好,单色性),高频特性好,单色性好,亮度高;好,亮度高;3、体积小,重量轻,抗冲击性能好;、体积小,重量轻,抗冲击性能好;4、寿命长,使用寿命在、寿命长,使用寿命在10万小时以上,甚至万小时以上,甚至可达可达100万小时,成本低。万小时,成本低。广泛应用作数字仪器仪表、数控装置、计算机数显器件。广泛应用作数字仪器仪表、数控装置、计算机数显器件。有有7段码、米字码、点阵段码、米字码、点阵led(可显汉字)等多种产品形式。(可显汉字)等多种产品形式。3、 led显示接口显示接口 静态静态 动态扫描动态扫描显示方式显示方式 动态扫描动态扫描用用8155设
25、计动态扫描驱动接口设计动态扫描驱动接口上页上页下页下页回目录回目录h g f e d c b apa0pa7 pc0pc3 同相同相驱动器驱动器同相同相驱动器驱动器8155ad0ad7 aleresetio/mcerdwrcpua口送口送段码段码c口送口送位码位码共阴极共阴极 用用a口做段码锁存器口做段码锁存器 用用c口做位码锁存器口做位码锁存器 led为共阴极显示为共阴极显示 动态分时轮流扫描动态分时轮流扫描四位四位led的同名端连在一起的同名端连在一起oc门门上页上页下页下页回目录回目录pa0pa7 pc0pc3 同相同相驱动器驱动器同相同相驱动器驱动器8155ad0ad7 alerese
26、tio/mcerdwrh g f e d c b acpua口送口送段码段码c口送口送位码位码共阴极共阴极pa7 pa0 段码段码pc0 pc1 pc2 pc3 分时动态扫描时序分时动态扫描时序:h g f e d c b a0 0 0 03fh06h5bh4fh1ms0000四位四位led的同名端连在一起的同名端连在一起位位码码该时序是自左至右动态轮流扫描显示产生的效果该时序是自左至右动态轮流扫描显示产生的效果自右至左自右至左上页上页下页下页回目录回目录3. 软件驱动软件驱动 要对要对8155初始化初始化: a口、口、c口均设为输出口均设为输出 要设置一个显示缓冲区:要设置一个显示缓冲区:d
27、isbuf 存放要显示的数,利用内部存放要显示的数,利用内部ram(70h73h) 在程序中建立一个段码(字形码)表:在程序中建立一个段码(字形码)表:tab 利用查表指令:利用查表指令:movc a,a+dptr 取出段码取出段码 轮流扫描显示(位码左移,指向下一位轮流扫描显示(位码左移,指向下一位led)设:设:8155的控制口地址为:的控制口地址为:cwra口地址为:口地址为:pac口地址为:口地址为:pc软件驱动程序如下:软件驱动程序如下:显显示示要要点点上页上页下页下页回目录回目录 dir:dir0:movmovmovxmovmovmovclrcplmovmovxmovmovmovc
28、movmovxmovmovdptr,#cwra,#4dhdptr,ar0,#disbufr5,#0fehr4,#4aadptr,#pcdptr,aa,r0dptr,#taba,a+dptrdptr,#padptr,aa,r5dptr,#pctab:dly:dly1:movxrlmovlcallincdjnzretdbdbdbdbmovmovdjnzdjnzretdptr,aar5,adlyr0r4,dir03fh,06h,5bh,4fh66h,6dh,7dh,07h7fh,6fh,77h,7ch39h,5eh,79h,71hr7,#3r6,#250r6,$r7,dly1二、液晶显示器特点与接口
29、二、液晶显示器特点与接口1、液晶显示器特点、液晶显示器特点1)功耗小,同样的显示面积,其功耗比)功耗小,同样的显示面积,其功耗比led小几百倍,小几百倍,特别适宜与低功耗的特别适宜与低功耗的cmos电路匹配,用于各种便携式仪电路匹配,用于各种便携式仪器仪表、微型计算机的终端显示。器仪表、微型计算机的终端显示。 2)可在明亮环境下使用,在黑暗环境中不能使用,需)可在明亮环境下使用,在黑暗环境中不能使用,需采用辅助光源。采用辅助光源。3)尺寸小,外型薄,使用方便。)尺寸小,外型薄,使用方便。4)响应时间和余辉时间长,响应速度较慢,为)响应时间和余辉时间长,响应速度较慢,为ms级。级。5)使用寿命较
30、长()使用寿命较长(5x104)。)。6)工作温度范围较窄,约)工作温度范围较窄,约-570。7)显示内容丰富,可显示字符、汉字、图形。)显示内容丰富,可显示字符、汉字、图形。8)有液晶字符、液晶点阵字符、液晶点阵图形等多种产品。)有液晶字符、液晶点阵字符、液晶点阵图形等多种产品。2、点阵图形、点阵图形lcm与单片机接口与单片机接口产品形式多样,不一定完全兼容,需认真选择。产品形式多样,不一定完全兼容,需认真选择。1、灭零处理、灭零处理在显示的时候,在显示的时候,应将高位的零熄灭应将高位的零熄灭,如,如00345应显示成应显示成345,这样可以减少阅读误差,符合阅读习惯。,这样可以减少阅读误差
31、,符合阅读习惯。处理规则:处理规则:整数部分整数部分从高位到低位的连续零均不显示,从高位到低位的连续零均不显示,从遇到的第一个非零数值开始均要显示;从遇到的第一个非零数值开始均要显示;小数部分小数部分个个位的零和小数部分均要显示。位的零和小数部分均要显示。设计显示程序应注意问题设计显示程序应注意问题2、闪烁处理、闪烁处理在显示过程中,有时为了提醒操作者注意,可对显示进行在显示过程中,有时为了提醒操作者注意,可对显示进行闪烁处理。闪烁处理。闪烁方式有两种闪烁方式有两种:1、全闪、全闪:即整个内容进行闪烁,多:即整个内容进行闪烁,多用于异常状态的提示用于异常状态的提示,如参数超范围,提醒操作者进行
32、及时处理,以免引起更大如参数超范围,提醒操作者进行及时处理,以免引起更大的异常情况;的异常情况;2、单字闪烁:、单字闪烁:多用于定位提示,如采用按键来调整一个多用于定位提示,如采用按键来调整一个多位数字参数时,可用单字闪烁的方法来指示当前被调整多位数字参数时,可用单字闪烁的方法来指示当前被调整的数字位置。的数字位置。进行闪烁处理的进行闪烁处理的 基本方法:基本方法:一段时间正常显示,一段时一段时间正常显示,一段时间熄灭显示,互相交替产生闪烁效果。一般每秒闪烁间熄灭显示,互相交替产生闪烁效果。一般每秒闪烁14次。次。6.9.2 键盘接口键盘接口 键盘的工作原理:键盘的工作原理:一、独立式按键(非
33、扫描方式):一、独立式按键(非扫描方式):直接用一根直接用一根i/o口线组成的单个按键电路。口线组成的单个按键电路。在在sw-pb 键键 没有按下以前,没有按下以前,cpu自自p1.0 读入信号为高电平读入信号为高电平在在sw-pb键键 按下后,按下后,cpu自自p1.0 读入信号为低高电平读入信号为低高电平按键触点在闭合和断开时均会产生抖动,这时触点的逻辑按键触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,现在一般均用软件延时方法来避开抖动电平是不稳定的,现在一般均用软件延时方法来避开抖动阶段,阶段,延时时间应大于延时时间应大于5ms,一般可取,一般可取1020ms。vcc80
34、315.1kp1.4p1.0独立式键盘设计:独立式键盘设计:也可利用各种也可利用各种i/o接口设计接口设计key:mov p1 , #0ffh mov a , p1 anl a , #1fh cjne a , #1fh , an1 retan1: lcall dealy;延时去抖;延时去抖 mov a , p1 anl a , #1fh cjne a , #1fh , an2 ret ;无键按下,返回;无键按下,返回an2: jnb p1.0 , jia;判按下的键;判按下的键 jnb p1.1 , jian jnb p1.2 , huiche jnb p1.3 , zuoyou jnb p1
35、.4 , shxia retjia: ; “加加” 键操作子程序键操作子程序 ret jian: ; “减减” 键操作子程序键操作子程序 ret 二、阵列式键盘接口二、阵列式键盘接口当没有键按下时,行线和列线之间是不相连的。当没有键按下时,行线和列线之间是不相连的。若第若第n n行第行第m m列的键被按下,那么第列的键被按下,那么第n n行与第行与第m m列的线就被接列的线就被接通。通。如果在如果在 行线上加上信号行线上加上信号,根据列线的状态根据列线的状态,便可得,便可得知是否有键按下。知是否有键按下。如果如果在行线上在行线上逐行加上一个扫描信号,就可以根据逐行加上一个扫描信号,就可以根据行
36、、列信号判断按键的位置。行、列信号判断按键的位置。当当p1.4、p1.5输出高电平,无论键是否按下,输出高电平,无论键是否按下,cpu自自p1.0、p1.1 输入信号为高电平,无法识别按键输入信号为高电平,无法识别按键 当当p1.4 =0,p1.5=0,任何键,任何键 按下时,自按下时,自p1.1、p1.0 读入信号读入信号不再全为高电平,说明有键按下。不再全为高电平,说明有键按下。解决的第二个问题:哪个键按下?解决的第二个问题:哪个键按下?采用行列扫描方法,先扫描第一行:采用行列扫描方法,先扫描第一行:解决的第一个问题:是否有键按下?解决的第一个问题:是否有键按下?同样原理,扫描第同样原理,
37、扫描第2行、第行、第3行、行、输输 出出输输 入入作作 用用p1.5 p1.4 p1.1 p1.010扫描扫描第一第一行行10j11键按下键按下, p1=xx10 xx10b01j12键按下键按下, p1=xx10 xx01b00两个键都按下两个键都按下, p1=xx10 xx00b11该行无键按下该行无键按下,p1=xx10 xx11b上页上页下页下页回目录回目录8155键盘接口键盘接口pa0pa7 pc0pc3 8155ad0ad7 aleresetio/mcerdwr012345678910111213141516171819202122232425262728293031+5vpa0p
38、a1pa2pa3pa4pa5pa6pa7pc0 pc1 pc2 pc3cpu(8 8行行4 4列列 = 32= 32键键)小键盘)小键盘pa口作输出:作键盘的行扫描线口作输出:作键盘的行扫描线pc口输作入:作键盘的列回扫线口输作入:作键盘的列回扫线从从c口读入的是列编码口读入的是列编码key:k1:clr aacall ks ;扫描键盘扫描键盘jz nk ;无键返回无键返回acall dlay ; ;延时消抖延时消抖clr aacall ks ;再扫键盘再扫键盘jz nk ;无键返回无键返回mov a, #0feh ; ;从最低行从最低行mov r4,#0 ; ;行计数行计数mov r2,a
39、; ;暂存行码暂存行码acall ks ;再扫键盘再扫键盘jnz find ;有键转移有键转移inc r4 ; ;行计数加行计数加1 1mov a,r2rl a ; ;行码左移行码左移cjne a, #0feh, k1;8;8行扫完行扫完find:nk:ks:mov a,#0sjmp nk ; ;没找到没找到swap a ; ;列码高列码高4 4add a,r4 ; ;列列 + + 行行ret ; ;返回返回mov dptr,#pamovx dptr,amov dptr,#pcmovx a,dptrcpl aanl a,#0fhret ; ;a=0,=0,无键无键上页上页下页下页回目录回目录(
40、a)= 列编码列编码 + 行编码行编码 键的特征码键的特征码(a) 0,读入的是列编码读入的是列编码pa0pa7 pc0pc3 8155ad0ad7 aleresetio/mcerdwr012345678910111213141516171819202122232425262728293031d7 d6 d5 d4 d3 d2 d1 d0行编码行编码列编码列编码0 0 0 pa0 行有键闭合行有键闭合0 0 1 pa1 行有键闭合行有键闭合. . . 1 1 1 pa7 行有键闭合行有键闭合pc3 pc2 pc1 pc0对对应应列列1 有键闭合有键闭合0 无键闭合无键闭合0键键的的特特征征码码
41、上页上页回目录回目录pa0pa1pa2pa3pa4pa5pa6pa7pc0 pc1 pc2 pc3专用可编程的键盘专用可编程的键盘/显示接口:显示接口:1、intel 8279并行接口键盘、显示器接口芯片并行接口键盘、显示器接口芯片2、hd7279串行接口键盘、显示器接口芯片串行接口键盘、显示器接口芯片*可驱动可驱动8位共阴极位共阴极led显示器;显示器;*同时可连接多达同时可连接多达64键的键盘矩阵;键的键盘矩阵;*内含译码器,可将内含译码器,可将bcd或二进制码直接译成或二进制码直接译成7段码;段码;*具有消隐、闪烁、左移、右移及段寻址等多种具有消隐、闪烁、左移、右移及段寻址等多种控制指令
42、。控制指令。1、键入软件结构、键入软件结构是否有键按下?是否有键按下?延时延时10ms,去抖动,去抖动是否有键按下?是否有键按下?查键号查键号yy退出键盘扫描,退出键盘扫描,进行其它操作进行其它操作nnjmp a+dptr0号按号按键处理键处理程序程序1号按号按键处理键处理程序程序n号按号按键处理键处理程序程序键盘程序设计中应注意的问题键盘程序设计中应注意的问题键盘编码和功能定义键盘编码和功能定义键盘有两种编码方式:一是键值,一是键号键盘有两种编码方式:一是键值,一是键号1)键值)键值:通过键盘扫描得到的各键的编码,离散度很大。:通过键盘扫描得到的各键的编码,离散度很大。2)键号)键号:对键盘
43、中各键按一定顺序进行编码和定义。:对键盘中各键按一定顺序进行编码和定义。按键名称按键名称 键值键值键号键号feh00hfdh01hfbh02hf7h03hefh04hvcc803110kp1.4p1.02、按键处理方式、按键处理方式根据实际应用系统要求,键可有以下按键处理方式:根据实际应用系统要求,键可有以下按键处理方式:1)键一按下,执行按键处理程序,执行完毕等待按键抬起键一按下,执行按键处理程序,执行完毕等待按键抬起2)键按下并抬起,执行按键处理程序键按下并抬起,执行按键处理程序3)键按住在一定时间内不释放,重复执行按键处理程序,键按住在一定时间内不释放,重复执行按键处理程序,直到该键释放
44、为止;直到该键释放为止;4)复合键功能处理:复合键利用两个以上按键同时按下复合键功能处理:复合键利用两个以上按键同时按下进行功能操作的方式。利用复合键可扩展键盘功能,也可进行功能操作的方式。利用复合键可扩展键盘功能,也可提高操作的安全性。可以在键盘设计时,定义一些提高操作的安全性。可以在键盘设计时,定义一些“引导引导”键,这些键单独按下无任何意义,和其它键同时按下形成键,这些键单独按下无任何意义,和其它键同时按下形成一个复合键。(如微机中一个复合键。(如微机中“shift”、”ctrl”、”alt”键)键)应用系统监控程序设计应用系统监控程序设计系统监控程序系统监控程序是控制单片机系统按预定操
45、作方式运转的是控制单片机系统按预定操作方式运转的程序。是单片机系统程序的框架。程序。是单片机系统程序的框架。监控程序的任务监控程序的任务:完成系统自检、初始化、处理键盘命:完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件触发并完成显示功能。令、处理接口命令、处理条件触发并完成显示功能。习惯上监控系统程序指习惯上监控系统程序指键盘解析程序键盘解析程序,其它任务分散,其它任务分散在某些特定的功能模块中。在某些特定的功能模块中。1、系统监控程序的定义和任务、系统监控程序的定义和任务开 始保护现场选择工作寄存器区中断处理 (若需主程序处理则置位标志)恢复现场返 回图 10-9 中断处理程序结
46、构开 始扩展 i/o 口初始化 软件标志、指针、计数器等初始化堆栈、定时器、串行口、中断等初始化图 10-10 主程序程序结构事件处理,清事件标志事件需处理?事件处理,清事件标志事件需处理?事件 处理,清 标志事件 需处理?nnnynynyn是否有通信请求?是否有通信请求?是否有按键操作?是否有按键操作?调通信处理子程序调通信处理子程序调按键处理子程序调按键处理子程序ynn是否到采样时间?是否到采样时间?调数据采集子程序调数据采集子程序yn初始化程序初始化程序一种主程序结构一种主程序结构yy调数据显示子程序调数据显示子程序是否到显示刷新时间?是否到显示刷新时间?nok,over2、监控程序结构
47、、监控程序结构系统监控程序结构主要取决于系统功能的复杂性和键盘系统监控程序结构主要取决于系统功能的复杂性和键盘的操作方式。的操作方式。 不同设计者对同一系统会设计出风格不同的程序来。不同设计者对同一系统会设计出风格不同的程序来。常见结构主要有:常见结构主要有:1、作业顺序调度型、作业顺序调度型系统运行后按一个预定顺序依次执行一系列的作业,循系统运行后按一个预定顺序依次执行一系列的作业,循环不已。常见于环不已。常见于各类无人值守的单片机系统各类无人值守的单片机系统。这类单片机系统的主要完成信息采集、预处理、存储、这类单片机系统的主要完成信息采集、预处理、存储、发送、报警等发送、报警等功能功能。作
48、业触发的方式有三种:作业触发的方式有三种:1)接力方式)接力方式:上一道作业完成后触发下一道作业。:上一道作业完成后触发下一道作业。如某数显压力表的监控程序流程:如某数显压力表的监控程序流程:启动启动a/d转换,转换,采集压力传感器传来的压力信号采集压力传感器传来的压力信号进行中值法数据滤波,去除干扰进行中值法数据滤波,去除干扰进行工程量转换进行工程量转换显示当前压力值显示当前压力值2)定时方式)定时方式:预先安排好每一道作业的运行时刻表,由系:预先安排好每一道作业的运行时刻表,由系统时钟来顺序触发对应的作业。统时钟来顺序触发对应的作业。如某数显压力表的监控程序流程:如某数显压力表的监控程序流
49、程:整整1秒?秒?压力数据采集、处理、存储压力数据采集、处理、存储整整5秒?秒?更新显示数据更新显示数据yynn3)外部信息触发方式)外部信息触发方式:当外部信息满足一定条件时触:当外部信息满足一定条件时触发一系列作业。发一系列作业。如某数显压力表的监控程序流程:(主要进行压力报警如某数显压力表的监控程序流程:(主要进行压力报警)启动启动a/d转换,转换,采集压力传感器传来的压力信号采集压力传感器传来的压力信号进行中值法数据滤波,去除干扰进行中值法数据滤波,去除干扰进行工程量转换,显示当前压力值进行工程量转换,显示当前压力值当前压力值当前压力值报警压力设定值?报警压力设定值?启动报警信号启动报警
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年辽宁省本溪市全国计算机等级考试C语言程序设计测试卷(含答案)
- 建筑装饰与旅游度假区的设计与规划考核试卷
- 发动机的转速调节与稳定化考核试卷
- 卫生材料的安全性和风险评估考核试卷
- 摩托车的动力传动与离合器技术考核试卷
- 南京信息工程大学《系统工程学》2022-2023学年第一学期期末试卷
- 煤炭产业的变革与转型趋势考核试卷
- 南京信息工程大学《仪器分析Ⅰ》2022-2023学年第一学期期末试卷
- 《基于情感分析的化工污染事件舆情分析研究》
- 《中蒙俄经济走廊建设中的影响因素及贸易效应研究》
- 2024美团商家入驻合作协议
- 2023年10月广东深圳市光明区马田街道办事处招聘一般专干21人笔试历年典型考题及考点剖析附答案带详解
- 《中国噬血细胞综合征诊断与治疗指南(2022年版)》解读
- 2024年社区工作者考试必背1000题题库附完整答案(全优)
- 2024-2030年中国口腔CBCT行业竞争格局分析及市场需求前景报告
- 湖南省建筑工程定额
- 人教版六年级数学上册《全册完整》课件
- 整本书阅读《平凡的世界》教案-2023-2024学年中职高一语文新教材同步教学讲堂(高教版2023·基础模块上册)
- 智慧农业鱼菜共生智能温室大棚项目可行性研究报告
- 浙江省杭州市小升初数学真题重组卷
- 肠瘘护理查房
评论
0/150
提交评论