版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 单片机接口技术 第第7章章 单片机接口技术单片机接口技术7.1 单片机与键盘接口单片机与键盘接口 7.1.1 键盘工作原理键盘工作原理 1按键的分类按键的分类 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 第7章 单片机接口技术 按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。 全编码键盘能够由硬
2、件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。下面将重点介绍非编码键盘接口。 第7章 单片机接口技术 2键输入原理键输入原理 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。 对于一组键或一个键盘,总有一个接口电路与
3、CPU相连。CPU可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。第7章 单片机接口技术 3按键结构与特点按键结构与特点 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图7.2所示,抖动时间的长短与开关的机械特性有关,一般为510 ms。第7章 单片机接口技术
4、图7.2 按键触点的机械抖动 闭合稳定键按下前沿抖动后沿抖动第7章 单片机接口技术 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。 在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。图7.3是一种由R-S触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。第7章 单片机接口技术图7.3 双稳态去抖电路&VCC(5
5、 V)Qab4.7 k4.7 k第7章 单片机接口技术 电路工作过程如下:按键未按下时,a = 0,b = 1,输出Q = 1。按键按下时,因按键的机械弹性作用的影响,使按键产生抖动。当开关没有稳定到达b端时,因与非门2输出为0反馈到与非门1的输入端,封锁了与非门1,双稳态电路的状态不会改变,输出保持为1,输出Q不会产生抖动的波形。当开关稳定到达b端时,因a = 1,b = 0,使Q = 0,双稳态电路状态发生翻转。当释放按键时,在开关未稳定到达a端时,因Q = 0,封锁了与非门2,双稳态电路的状态不变,输出Q保持不变,消除了后沿的抖动波形。当开关稳定到达a端时,因a = 0,b = 0,使Q
6、 = 1,双稳态电路状态发生翻转,输出Q重新返回原状态。由此可见,键盘输出经双稳态电路之后,输出已变为规范的矩形方波。 第7章 单片机接口技术 软件上采取的措施是:在检测到有按键按下时,执行一个10 ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。 4. 按键编码按键编码 一组按键或键盘都要通过I/O口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应
7、的键值,以实现按键功能程序的跳转。第7章 单片机接口技术 5. 编制键盘程序编制键盘程序 一个完善的键盘控制程序应具备以下功能: (1) 检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。 (2) 有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。 (3) 准确输出按键值(或键号),以满足跳转指令要求。第7章 单片机接口技术 7.1.2 独立式按键独立式按键 单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。 1. 独立式按键结构独立式按键结构 独立式按键是直接用I/O口
8、线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图7.4所示。 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。第7章 单片机接口技术图7.4 独立式按键电路P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031VCC第7章 单片机接口技术 2. 独立式按键的软件结构独立式按键的软件结构 独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按
9、下,然后,再转向该键的功能处理程序。图7.4中的I/O口采用P1口,请读者自行编制相应的软件。 第7章 单片机接口技术 7.1.3 矩阵式按键矩阵式按键 单片机系统中,若使用按键较多时,通常采用矩阵式(也称行列式)键盘。 1. 矩阵式键盘的结构及原理矩阵式键盘的结构及原理 矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图7.5所示。 由图可知,一个44的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。第7章 单片机接口技术图7.5 矩阵式键盘结构0123456789101112131415001231235
10、V第7章 单片机接口技术 矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。第7章 单片机接口技术 2. 矩阵式键盘按键的识别矩阵式键盘按键的识别 识别按键的方法很多,其中,最常见的方法是扫描法。下面以图7.5中8号键的识别为例来说明扫描法识别按键的过程。 按
11、键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平。只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平。然而,第2行为低电平时,能否肯定是8号键按下呢?第7章 单片机接口技术 回答是否定的,因为9、10、11号键按下,同样会使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在
12、低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察8号键按下时的工作过程,当第0列处于低电平时,第2行处于低电平,而第1、2、3列处于低电平时,第2行却处在高电平,由此可判定按下的键应是第2行与第0列的交叉点,即8号键。 第7章 单片机接口技术 3. 键盘的编码键盘的编码 对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图7.5中的8号键,它位于第2行,第0列,因此,其键盘编码应为20H。采用上述编码对于不
13、同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对按排进行编码。以图7.5中的44键盘为例,可将键号编码为:01H、02H、03H、0EH、0FH、10H等16个键号。编码相互转换可通过计算或查表的方法实现。 第7章 单片机接口技术 4. 键盘的工作方式键盘的工作方式 对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。 1) 编程扫描方式编程扫描方式 编程扫描方式是利用CPU完成其它工
14、作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。第7章 单片机接口技术键盘扫描程序一般应包括以下内容:(1) 判别有无键按下。(2) 键盘扫描取得闭合键的行、列值。(3) 用计算法或查表法得到键值。(4) 判断闭合键是否释放,如没释放则继续等待。(5) 将闭合键键号保存,同时转去执行该闭合键的功能。第7章 单片机接口技术 图7.6是一个48矩阵键盘电路,由图可知,其与单片机的接口采用8155扩展I/O芯片,键盘采用编程扫描方式工作。8155C口的低4位输入行扫描信号,A口输出8位列扫描信号,二者均为低电平有效。81
15、55的IO/ 与P2.0相连, 与P2.1相连, 、 分别与单片机的 、 相连。由此可确定8155的口地址为 命令/状态口:0100H(P2未用口线规定为0) A 口:0101H B口:0102H C口:0103H MCSWRRDWRRD第7章 单片机接口技术图7.6 8155扩展I/O口组成的矩阵键盘01234567891617182425262728293031P2.7P2.0RDWRALECSIO/MRDWRALEPA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3+5 V8155D0D7P0.0P0.7MCS-51单片机1920212223151413121110第
16、7章 单片机接口技术 图7.6中,A口为基本输出口,C口为基本输入口,因此,方式命令控制字应设置为43H。在编程扫描方式下,键盘扫描子程序应完成如下几个功能: (1) 判断有无键按下。其方法为:A口输出全为0,读C口状态,若PC0PC3全为1,则说明无键按下;若不全为1,则说明有键按下。 (2) 消除按键抖动的影响。其方法为:在判断有键按下后,用软件延时的方法延时10 ms后,再判断键盘状态,如果仍为有键按下状态,则认为有一个按键按下,否则当作按键抖动来处理 第7章 单片机接口技术 (3) 求按键位置。根据前述键盘扫描法,进行逐列置0扫描。图7.6中,32个键的键值分布如下(键值由4位十六进制
17、数码组成,前两位是列的值,即A口数据,后两位是行的值,即C口数据,X为任意值):FEXE FDXE FBXE F7XE EFXE DFXE BFXE7FXE FEXD FDXD FBXD F7XD EFXD DFXD BFXD 7FXD FEXB FDXB FBXB F7XB EFXB DFXB BFXB 7FXB FEX7 FDX7 FBX7 F7X7 EFX7 DFX7 BFX7 7FX7第7章 单片机接口技术 按键键值确定后,即可确定按键位置。相应的键号可根据下述公式进行计算:键号=行首键号+列号。图7.6中,每行的行首可给以固定的编号0(00H),8(08H),16(10H),24(1
18、8H),列号依列线顺序为07。 (4) 判别闭合的键是否释放。按键闭合一次只能进行一次功能操作,因此,等按键释放后才能根据键号执行相应的功能键操作。 键盘扫描程序流程图请参阅图7.1中的主程序流程图。 键盘扫描程序请参阅实训7源程序中的键盘查询程序、键盘扫描程序和按键查询子程序三部分。第7章 单片机接口技术 实训7是矩阵式键盘的一种典型应用,与图7.6相比,8155入口地址不同,矩阵键盘列数不同,再就是为兼顾键盘和显示,防抖所用的延时子程序由显示子程序替代。 2) 定时扫描方式定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时
19、,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。定时扫描方式的硬件电路与编程扫描方式相同,程序流程图如图7.7所示。 第7章 单片机接口技术图7.7 定时扫描方式程序流程图开始有键闭合标志11标志21标志21识别按键执行按键功能返回标志10标志20标志11NYNYYN第7章 单片机接口技术 图7.7中,标志1和标志2是在单片机内部RAM的位寻址区设置的两个标志位,标志1为去抖动标志位,标志2为识别完按键的标志位。初始化时将这两个标志位设置为0,执行中断服务程序时,首先判别有无键闭合,若无键闭合,将标志1和标志2置0后返回;若有
20、键闭合,先检查标志1,当标志1为0时,说明还未进行去抖动处理,此时置位标志1,并中断返回。由于中断返回后要经过10 ms后才会再次中断,相当于延时了10 ms,因此,程序无须再延时。第7章 单片机接口技术 下次中断时,因标志1为1,CPU再检查标志2,如标志2为0说明还未进行按键的识别处理,这时,CPU先置位标志2,然后进行按键识别处理,再执行相应的按键功能子程序,最后,中断返回。如标志2已经为1,则说明此次按键已做过识别处理,只是还未释放按键。当按键释放后,在下一次中断服务程序中,标志1和标志2又重新置0,等待下一次按键。 3) 中断扫描方式中断扫描方式 采用上述两种键盘扫描方式时,无论是否
21、按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态。第7章 单片机接口技术 为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。 图7.8是一种简易键盘接口电路,该键盘是由8051 P1口的高、低字节构成的44键盘。键盘的列线与P1口的高4位相连,键盘的行线与P1口的低4位相连,因此,P1.4P1.7是键输出线,P1.0P1.3是扫描输入线。图中的4输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电
22、源,输出端接至8051的外部中断输入端。 第7章 单片机接口技术 具体工作如下:当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。图7.8 中断扫描键盘电路P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT08031&第7章 单片机接口技术7.2 单片机与显示器接口单片机与显示器接口 7.2.1 LED显示和接口显示和接口 常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,
23、用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。本节重点介绍LED七段显示器。 例7.1 用定时/计数器模拟生产线产品计件,以按键模拟产品检测,按一次键相当于产品计数一次。检测到的产品数送P1口显示,采用单只数码管显示,计满16次后从头开始,依次循环。系统采用12 MHz晶振。第7章 单片机接口技术图7.9 模拟生产线产品计件数码管显示电路解:根据题意可设计出硬件电路如图7.9所示。agdefbcdpabcdefgdpDPY12345678510 8P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.3MCS-51单片机5 V第7章 单片机接口技术 其源
24、程序可设计如下: ORG1000H MOV TMOD,#60H ;定时器1工作在方式2 MOV TH1,#0F0H ;定时器1置初值 MOV TL1,#0F0H SETB TR1 ;启动定时器1MAIN: MOV A,#00H ;计数显示初始化 MOV P1,#0C0H ;数码管显示0第7章 单片机接口技术 DISP:JBP3.3,DISP;监测按键信号 ACALL DELAY;消抖延时 JB P3.3,DISP;确认低电平信号 DISP1:JNB P3.3,DISP1 ;监测按键信号 ACALL DELAY;消抖延时NB P3.3,DISP1;确认高电平信号CLRP3.5 ;T0引脚产生负跳
25、变NOP NOP第7章 单片机接口技术 SETBP3.5 ;T0引脚恢复高电平 INCA ;累加器加1MOV R1,A ;保存累加器计数值 ADDA,#08H ;变址调整 MOV CA,A+PC ;查表获取数码管显示值 MOVP1,A ;数码管显示查表值 MOVA,R1 ;恢复累加器计数值 JBC TF1,MAIN ;查询定时器1计数溢出 SJM P DISP ;16次不到继续计数第7章 单片机接口技术 TAB: DB 0C0H,0F9H,0A4H;0,1,2 DB 0B0H,99H,92H;3,4,5DB 82H,0F8H,80H;6,7,8DB 90H,88H,83H,;9,A,BDB 0
26、C6H,0A1H,86H;C,D,EDB8EH;F第7章 单片机接口技术 DEALY: MOV R2,#14H;10 ms延时 DELAY1:MOV R3,#0FAH DJNZR3,$ DJNZR2,DEALY1 RET END第7章 单片机接口技术 比较例5.4和例7.1可知,同样是显示数字信息,例5.4是通过P1口每一位状态的显示来获取信息,例7.1是直接通过数码管显示的数字来获取信息,显然,后者更加直观、快捷。从获取信息的角度来看,例7.1优于例5.4。由例7.1可具体剖析数码管的结构,分析其工作原理。 1. 数码管简介数码管简介 1) 数码管结构数码管结构 数码管由8个发光二极管(以下
27、简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F、H、L、P、R、U、Y、符号“”及小数点“”。数码管的外形结构如图7.10(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图7.10(b)和图7.01(c)所示。 第7章 单片机接口技术图7.10 数码管结构图(a) 外型结构;(b) 共阴极;(c)共阳极agdfecb10 9876gf GND abedGND c dp12345VDVD5 V(a)(b)(c)dp第7章 单片机接口技术 2) 数码管工作原理数码管工作原理 共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它
28、管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 第7章 单片机接口技术 共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 例7.1
29、采用共阳极数码管与单片机P1口直接连接,其电路连接如图7.9所示。数码管公共阳极接+5 V电源,其它管脚分别接P1口的8个端口,限流电阻为510 ,数码管字段导通电流约为6 mA(额定字段导通电流一般为5 20 mA)。第7章 单片机接口技术 3) 数码管字形编码数码管字形编码 要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。对照图7.10(a),字型码各位定义为:数据线D0与a字段对应,D1与b字段对应,依此类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数
30、码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推,可求得数码管字形编码如表7.1所示。第7章 单片机接口技术表7.1 数码管字型编码表显显示示字字符符字字型型共共 阳阳 极极共共 阴阴 极极dpgfedcba字型字型码码dpGfedcba字型字型码码0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011
31、016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FHAA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139H第7章 单片机接口技术 续表显示显示字符字符字字型型共共 阳阳 极极共共 阴阴 极极 dpgfedcba字型字型码码dpGfedcba字型字型码码DD10100001A1H010111105EHEE1000011086H0111100179HFF1000
32、11108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY1001000191H011011106EH 10111111BFH0100000040H.011111117FH1000000080H熄熄灭灭灭灭11111111FFH0000000000H第7章 单片机接口技术 例7.1采用共阳极数码管,因此,应采用表7.1中的共阳极字型码。具体实施是通过编程将需要显示的字型码存放
33、在程序存储器的固定区域中,构成显示字型码表。当要显示某字符时,通过查表指令获取该字符所对应的字型码。 LED七段数码管有静态显示和动态显示两种方式,下面分别加以叙述。 2. 静态显示接口静态显示接口 1) 静态显示概念静态显示概念 静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。 第7章 单片机接口技术 这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。采用静态显示方式,较小的电流即可获得较高的亮度,且占用CP
34、U时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。 2) 多位静态显示接口应用多位静态显示接口应用 例7.1是数码管静态显示方式的一种典型应用,其硬件及软件都非常简单,但其只能显示一位,如要用P1口显示多位,则每位数码管都应有各自的锁存、译码与驱动器,还需有相应的位选通电路。位选通电路输出位码。第7章 单片机接口技术 例7.2 将例7.1中的单位数码管显示改为6位显示,具体要求如下: (1) 右边第一位进行正常计数,显示当前计数状态,其功能与例7.1完全一样。 (2) 左边5位分别显示前5次计数状态,当连续计数时,会产生计数数据从左至右
35、移动的感觉。 解:整体设计思路如下: P1口控制段码输出,P3口控制位码输出,每个数码管接一个锁存器。锁存器除用来锁存待显示段码外,还兼作显示驱动器直接驱动共阳极数码管。在单片机内部RAM设置待显示数据缓冲区,由查表程序完成显示译码(俗称软件译码),将缓冲区内待显示数据转换成相应的段码,再将段码送P1口显示。第7章 单片机接口技术 硬件电路设计如下: P1口的段码输出直接接至锁存器的输入端,锁存器采用74LS373(或74LS273、74LS374)。锁存器的输出接至数码管的各段,同时还经300 上拉(或限流)电阻接至电源。位选通电路由P3口的P3.0(RXD)、P3.1(TXD)和P3.2(
36、INT0)与3-8译码器74LS138连接组成。74LS138输出的位码经倒相器74LS04后接至74LS373的使能端LE(或74LS273、74LS374的时钟端),以此来控制相应显示位段码数据的刷新。模拟生产线计数的按键信号接至P3.3(INT1)口,具体电路如图7.11所示。 第7章 单片机接口技术图7.11 六位数码管静态显示电路D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE74LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE
37、74LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE74LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE74LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE74LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE74LS373A1B2C3E14E25E36Y015Y1
38、14Y213Y312Y411Y510Y69Y7774LS138EA/VP31X119X218RESET9RD17WR16INT012INT113T014T1151234567839383736353433322122232425262728PSEN29ALE/P30TXD11RXD108031abfcgdeDPYabcdefgdpdpabfcgdeDPYabcdefgdpdpabfcgdeDPYabcdefgdpdpabfcgdeDPYabcdefgdpdpabfcgdeDPYabcdefgdpdpabfcgdeDPYabcdefgdpdp74LS04 5 V12345689101112131
39、A1Y2A2Y3A3Y4A4Y5A5Y6A6Y123456781234567812345678123456781234567812345678300 8300 8300 8300 8300 8300 8P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 5 V111111111111第7章 单片机接口技术 软件设计如下: 以单片机内部RAM的30H35H单元作为显示数据缓冲区。六位数码管段码的获取及显示控制由显示子程序完成。单片机每接收一次按键信号(即模
40、拟生产线计数信号),显示缓冲区的待显示数据就被刷新一次,然后再调用一次显示子程序。如连续按键,即可产生计数数据从左至右循环移动的效果。软件流程图如图7.12所示。 源程序设计(略)。 第7章 单片机接口技术图7.12 六位数码管静态显示软件流程图主 程 序开 始初 始 化显 示 缓 冲 区 清 0显 示 全 0有 否 按 键 (P3.3)计 数显 示 缓 冲 区 数 据 左 移计 数 值 16(TF1)缓 冲 区 右 边 第 一 位(30H) 130H显 示0030H显 示 子 程 序开 始LED显 示 位 数 R6右 边 第 1位 缓 冲 地 址选 中 右 边 第 1位位 码 P3右 边 第
41、 1位 显 示 数 A查 表 取 段 码段 码 送 P1口 显 示下 一 位 位 码 P3下 一 位 缓 冲 区地 址 R0下 一 位 显 示 数 A6位 显 示 完 了返 回NYYNNY第7章 单片机接口技术 3动态显示接口动态显示接口 1) 动态显示概念动态显示概念 动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选
42、通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。第7章 单片机接口技术 采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。 用8051系列单片机构建数码管动态显示系统时,常采用8155可编程I/O扩展接口,其典型应用如图7.13所示。 图中,数码管采用共阴极LED,8155的A口线经过8路驱动电路后接至数码管的各段。当A口线输出“1”时,驱动数码
43、管发光。8155的C口线经过6路驱动电路后接至数码管的公共端。当C口线输出“0”时,选通相应位的数码管发光。 第7章 单片机接口技术图7.13 8155构成的六位数码管动态显示电路abcdefgdp81558 路驱动器6 路驱动器PA1PA2PA3PA4PA5PA6PA7PA0C5C4C3C2C1C0PC0PC1PC2PC3PC4PC5第7章 单片机接口技术 A口、C口应定义为基本输出,分别控制数码管的段码(段驱动端)和位码(公共端),B口未用,可定义为基本输入。此时,命令寄存器中的PA=1,PB=0,PC1=1,PC2=1。因不用A、B口中断,也不用定时/计数器,故IEA=0,IEB=0,T
44、M1=1,TM2=0。由此可得命令字为:01001101B=4DH。编程时的步骤如下: MOVDPTR,#CWR;选中8155的命令寄存器 MOVA,#4DH;命令字送A MOV DPTR,A;命令字写入命令寄存器第7章 单片机接口技术 2) 多位动态显示接口应用采用8051与8155接口,再采用8155的I/O口控制数码管的段码和位码,同时,采用动态扫描方式依次循环点亮各位数码管,即可构成多位动态数码管显示电路。 例7.3 用动态显示方式实现例7.2的所有功能。 解:整体设计思路如下: 由8155的A口控制段码输出,C口控制位码输出。采用定时器中断方式实现动态扫描,每隔20ms扫描一次,每位
45、数码管点亮的时间为1ms。在单片机内部RAM设置待显示数据缓冲区,由查表程序完成显示译码。 第7章 单片机接口技术 将缓冲区内待显示数据转换成相应的段码,再将段码通过8051的P0口送至8155的A口;位码数据由累加器循环左移指令产生,再通过P0口送至8155的C口。 硬件电路设计如下: 图7.14为数码管动态显示电路。其中,8路驱动采用74LS244总线驱动器,6路驱动采用74LS07 OC门驱动器。74LS244输出经300 上拉(或限流)电阻后接至电源,同时,接至数码管的各段,控制数码管的显示字符。74LS07输出经1 k上拉电阻接至电源,同时接至各位数码管的公共端,控制每位数码管的显示
46、时间,实现动态扫描。模拟生产线计数的按键信号接至P3.3口。第7章 单片机接口技术图7.14 六位数码管动态显示电路EA/VPX1X2RESETRDWRINT0INT1T0T1PSENALE/PTXDRXD8031AD0PA0AD1PA1AD2PA2AD3PA3AD4PA4AD5PA5AD6PA6AD7PA7PB0CEPB1RDPB2WRPB3IO/MPB4ALEPB5PB6PB7TMROUTPC0PC1TMRINPC2PC3PC4RESETPC581551A11A21A31A42A12A22A32A41Y1181Y2161Y3141Y4122Y192Y272Y352Y431G2G74LS24
47、4abfcgdeabcdefgdpabfcgdeabcdefgdpabfcgdeabcdefgdpabfcgdeabcdefgdpabfcgdeabcdefgdpabfcgdeabcdefgdp74LS0712345689101112131A1Y2A2Y3A3Y4A4Y5A5Y6A6Y5 V300 81 k65 V1 k311918917161213141512345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7DPYDPYDPYDPYDPYD
48、PYdpdpdpdpdpdp12345678123456781234567812345678123456781234567824681113151711921222324252627282930313233343536373839125121314151617181989107116343938373635343332212223242526272829301110第7章 单片机接口技术 软件设计如下: 以单片机内部RAM的30H35H单元作为显示数据缓冲区,六位数码管段码的获取及每位数码管的显示时间均由显示子程序完成。采用定时器中断方式实现动态扫描,每隔20 ms扫描一次,每位数码管点亮的时
49、间为1 ms。单片机每接收一次按键信号(即模拟生产线计数信号),显示缓冲区的待显示数据被刷新一次,数码管相应的显示数值也就随之发生变化。如连续按键,即可产生计数数据从左至右循环移动的效果。根据图中IO/、与单片机的连接可知,可以确定命令/状态字A口、B口、C口、计数值低8位寄存器及高6位和方式寄存器地址分别为:0100H、0101H、0102H、0103H、0104H、0105H 。第7章 单片机接口技术图7.15 六位数码管动态显示软件流程图 软件流程图如图7.15所示。主程序开始初始化显示缓冲区清0有按键计数显示缓冲区数据左移计数值16(30H)130H0030HNYNY中断响应置定时器初
50、值保护现场置8155显示位数R6延时初值R5位码R2显示数据A查表取段码段码8155A口位码8155C口点亮LED延时1 ms下一位位码R26位显示完了关显示恢复现场返回NY第7章 单片机接口技术ORG0000HMAIN:MOVSP,#40HMOV30H,#123ACALLBINBCDMOVR0,#31H ;数码首地址MOVR2,#03H ; 显示3位MOVR3,#00000100B;先显百位DIS:ACALLDISPACALLDELAY;自己编沿时1msINCR0;指向下一字节MOVA,R3RRAMOVR3,ADJNZR2,DISAJMPMAIN第7章 单片机接口技术DISP:MOVA,R0
51、MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,#8004H; 字段端口地址MOVXDPTR,AMOVA,R3MOVDPTR,#8002H;位码端口MOVXDPTR,A RETTAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHEND第7章 单片机接口技术 源程序设计(略) 比较例7.2与例7.3可知,二者功能完全一样。前者数码管较亮,且显示程序占用CPU的时间较少,但其硬件电路复杂,占用单片机口线多,成本高;后者硬件电路相对简单,成本较低,但其数码管显示亮度偏低,且采用动态扫描方式,显示程序占用CPU的时间较多。具体应用时,应根据
52、实际情况,选用合适的显示方式。 比较实训7与例7.3可知,同样都是动态扫描显示,前者是采用不断调用子程序的方式实现动态扫描显示,亮度相对较高,CPU效率较低;后者是采用定时器中断(20 ms中断一次)的方式实现动态扫描显示,亮度较低,CPU效率相对较高。第7章 单片机接口技术 例7.3中针对数码管显示亮度偏低的情况,可采用提高扫描速度(如由20 ms改为10 ms),或适当延长单只数码管导通的时间(如导通延时时间由1 ms改为2 ms)等措施来弥补,但其带来的后果是显示程序占用CPU的时间更多,导致CPU利用率更低。 4典型的键盘、显示接口电路典型的键盘、显示接口电路 在单片机应用系统中,键盘
53、和显示器往往需同时使用,为节省I/O口线,可将键盘和显示电路做在一起,构成实用的键盘、显示电路。图7.16是用8155并行扩展I/O口构成的典型的键盘、显示接口电路。键盘、显示器共用一个接口电路的设计方法除上述方案外,还可采用专用的键盘、显示器接口的芯片8279。 第7章 单片机接口技术图7.16 8155构成的键盘、显示接口电路0123456789101112131415161718192021222324252627282930318路驱动器8路驱动器+5 V+5 Vabcdefgdp8155CEIO/MALERDWRD0D7+ 5 V8031P2.7P2.0ALEP0RDWR8RESET
54、PB7PB6PB5PB4PB3PB2PB1PB0PC0PC1PC2PC3PA7PA6PA5PA4PA3PA2PA1PA05.1 k100 8第7章 单片机接口技术 由图可知,LED显示器采用共阴极数码管。8155的B口用作数码管段码输出口;A口用作数码管位码输出口,同时,它还用作键盘列选口;C口用作键盘行扫描信号输入口。当其选用4根口线时,可构成48键盘,选用6根口线时,可构成68键盘。LED采用动态显示软件译码,键盘采用逐列扫描查询工作方式,LED的驱动采用74LS244总线驱动器。 在本书附录的实训电路板中,就采用了这样的接口方法。实训7是利用这部分电路完成的一个项目,读者通过实训可以了解
55、键盘、显示综合应用编程的方法。由于键盘与显示共用一个接口电路,因此,在软件设计中应综合考虑键盘查询与动态显示,通常可将键盘扫描程序中的去抖动延时子程序用显示子程序代替。关于这点,读者可以参考实训7程序。第7章 单片机接口技术7.3 D/A转换器接口转换器接口 7.3.1 D/A转换器概述转换器概述 D/A转换器输入的是数字量,经转换后输出的是模拟量。有关D/A转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或BCD码)等。 1) 分辩率分辩率 分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果数字量的位数为n,
56、则D/A转换器的分辨率为2-n。这就意味着数/模转换器能对满刻度的2-n输入量作出反应。第7章 单片机接口技术 例如,8位数的分辨率为1/256,10位数的分辨率为1/1024等。因此,数字量位数越多,分辨率也就越高,亦即转换器对输入量变化的敏感程度也就越高。使用时,应根据分辨率的需要来选定转换器的位数。DAC常可分为8位、10位、12位三种。 2) 建立时间建立时间建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。通常以建立时间来表示转换速度.第7章 单片机接口技术 转换器的输出形式为电流时,建立时间较短;输出形式为电
57、压时,由于建立时间还要加上运算放大器的延迟时间,因此建立时间要长一点。但总的来说,D/A转换速度远高于A/D转换速度,快速的D/A转换器的建立时间可达1 s。 3) 接口形式接口形式 D/A转换器与单片机接口方便与否,主要决定于转换器本身是否带数据锁存器。有两类D/A转换器,一类是不带锁存器的,另一类是带锁存器的。对于不带锁存器的D/A转换器,为了保存来自单片机的转换数据,接口时要另加锁存器,因此这类转换器必须在口线上;而带锁存器的D/A转换器,可以把它看作是一个输出口,因此可直接在数据总线上,而不需另加锁存器。第7章 单片机接口技术 7.3.2 典型典型D/A转换器芯片转换器芯片DAC083
58、2 DAC0832是一个8位D/A转换器。单电源供电,从+5 V+15 V均可正常工作。基准电压的范围为10 V;电流建立时间为1 s;CMOS工艺,低功耗20 mW。 DAC0832转换器芯片为20引脚,双列直插式封装,其引脚排列图如图7.29所示。DAC0832内部结构框图如图7.30所示。 该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时,数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。 第7章 单片机接口技术图7.29 DAC0832引脚图 DAC083212345678910CSVCCILEWR2XFERDI4D
59、I5DI6DI7Iout2Iout1WR1AGNDDI3DI2DI1DI0VrefRfbDGND11121314151617181920第7章 单片机接口技术图7.30 DAC0832内部结构框图DI0DI78位寄存器DAC8位D/A转换器8位输入寄存器&ILECSWR1WR2XFERLE1LE2Iout1Iout2VrefRfbAGNDDGNDVCC第7章 单片机接口技术 此外,由三个与门电路组成寄存器输出控制逻辑电路,该逻辑电路的功能是进行数据锁存控制,当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。 D/A转换电路是一个R-2R T型电阻网络,实现8位数据的转换。对各引脚
60、信号说明如下: (1)DI7DI0:转换数据输入。 (2) :片选信号(输入),低电平有效。 (3) ILE:数据锁存允许信号(输入),高电平有效。 (4) :第1写信号(输入),低电平有效。1WRCS第7章 单片机接口技术 上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式,当ILE=1和 =0时,为输入寄存器直通方式;当ILE=1和 =1时,为输入寄存器锁存方式。 (5) :第2写信号(输入),低电平有效。 (6) :数据传送控制信号(输入),低电平有效。 上述两个信号控制DAC寄存器是数据直通方式还是数据锁存方式,当 =0和 =0时,为DAC寄存器直通方式;当 =1和 =0时,为D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年团购网站合作运营协议2篇
- 三轮车买卖合同样本
- 2024年度艺术展览合作协议范本版B版
- 边防安检系统施工合同
- 2024年企业间劳务合作合同样本一
- 酒店桩基工程承包协议
- 2024年度煤矿工伤保险合同3篇
- 信息技术设施工程承包合同
- 2024年度艺人经纪合同(含演出活动及肖像权使用)
- 医疗保健租赁居间协议
- 水稻收购合同范本
- 五级养老护理员职业鉴定理论考试题库(核心400题)
- 猪肉定点屠宰委托合同范本
- 高中生物必修一-非常知识点总结
- 2024年秋季新人教版七年级上册英语全册教案设计
- 广东广州2023年中考语文现代文阅读真题及答案
- 《科技创新引领未来》主题班会
- 2024至2030年中国猫砂行业市场全景监测及投资前景展望报告
- 食品购销协议书范本
- 部编版一年级语文上册小书包作业练习设计附答案(校本班本作业)
- 办公楼无线WIFI竣工验收报告
评论
0/150
提交评论