您好,欢迎访问三七文档
第10章MCS-51的键盘、显示器的接口设计一.LED显示器接口扩展1.LED数码管的结构:①共阳与共阴hgfedcbaabcdgefhhgf……a低电平点亮接高电平hgf……a高电平点亮接地公共极共阳极共阴极一.LED显示器接口原理1.LED数码管的结构:①共阳与共阴一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,须外加限流电阻。公共阳极hgfedcbaabcdgefhhgf……a低电平点亮接高电平dpgfedcbaD7D6D5D4D3D2D1D02.LED数码管的译码:硬件译码与软件译码(2)硬件译码特点:采用专用的译码/驱动器件,驱动功率较大;增加了硬件的开销;软件编程简单;字型固定(比如:只有七段,只可译数字,字型不好看…)。共阴LEDabcdgefhgfedcbaDCBAP1.3P1.2P1.1P1.0CD45118051(1)74LS48/CD4511是“BCD码→七段共阴译码/驱动”IC;74LS47是“BCD码→七段共阳译码/驱动”IC一.LED显示器接口原理例4—11十六进制数转换成七段显示码。设:将R1中的一位十六进制数(R0中的低4位)转换成七段显示代码,并从P1口输出进行显示。设七段显示器为共阳极接法。源程序如下:ORG3000HSTART:MOVDPTR,#TABLE;置表首地址MOVA,R1;取十六进制数ANLA,#0FH;处理低4位MOVCA,@A+DPTR;查表MOVP1,ATABLE:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,90H,88H,83HDB0C6H,A1H,86H,84HEND程序设计举例一.查表程序设计(3)软件译码特点:不用专用的译码/驱动器件,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵(比如:有八段,只可译多种字符,字型好看……)。共阳LEDabcdgefhP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V8051一.LED显示器接口原理2.LED数码管的译码:硬件译码与软件译码八段LED数码管段代码编码表(连线不同可有多种表):字形0123456789黑共阳0C00F90A40B09992820F880900FF共阴3F065B4F666D7D077F6F00图10-24位LED显示器的构成abcdgefh8a~dpabcdgefh8a~dpabcdgefh8a~dpabcdgefh8a~dp段码线位选线3.LED数码管的显示方式:静态与动态一.LED显示器接口原理3.LED数码管的显示方式:静态与动态动态显示特点:有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出)静态显示特点:无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。(1)静态显示各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。一.LED显示器接口原理(2)动态显示:各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。•例如,要求显示“EE0-20”时,I/O口1和I/O口2轮流送入段选码、位选码及显示状态如图所示。段选码、位选码每送入一次后延时1ms,因人眼的视觉暂留时间为0.1s(100ms),所以每位显示的间隔不必超过20ms,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。这种方式称为软件扫描显示。图6位动态扫描显示状态ABCLKhgfedcbaCLRABCLKCLRABCLKCLRVCCTxDRxD8051单片机74LS16474LS16474LS164hgfedcbahgfedcba+5V共阳LED数码管LED数码管静态显示举例有几个LED就要几个74LS164,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。要求:根据上图编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H—09H)已放在35H—30H单元中(分别对应十万位→个位),DSPLY:MOVDPTR,#TABLE;共阳LED数码管译码表首址MOVR0,#30H;待显数据缓冲区的个位地址REDO:MOVSCON,#00HMOVA,@R0;通过R0实现寄存器间接寻址MOVCA,@A+DPTR;查表MOVSBUF,A;经串行口发送到74LS164JNBTI,$;查询送完一个字节的第8位?CLRTI;为下一字节发送作准备INCR0;R0指向下一个数据缓冲单元CJNER0,#06H,REDO;判断是否发完6个数?RET;发完6个数就返回TABLE:DB0C0H,0F9H,0A4H,0B0H,99H;共阳LED译码表DB92H,82H,0F8H,80H,90H图10-44位8段LED动态显示电路abcdgefh8a~dpabcdgefh8a~dpabcdgefh8a~dpabcdgefh8a~dp段码线8位I/O位选线4位I/O一.LED显示器接口原理3.LED数码管的显示方式:动态010.13.002显示字符段码01013.0023FH06HBFH06HCFH3FH3FH5BH显示器显示状态(微观)2003.1010人眼看到的结果以8位LED动态显示2003.10.10为例LED数码管动态显示举例工作原理:从P0口送段代码,P1口送位选信号。段码虽同时到达6个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个……循环扫描即可。P1.5P1.4P1.3P1.2P1.2P1.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.07406OC门X3上拉电阻×14+5V8051共阴数码管位选线段代码初始化查字段码字段码送A口位选送B口延时1ms指向下一个待显数据是否显示完8个字符?修改位选信号返回是否初始化:段码表首地址,首个待查数据地址,初始位选地址DPTR段码表首地址;R0待查数据首地址;R3位地址。DIS:MOVA,#03H;写命令字MOVDPTR,#7F00H;指向命令寄存器MOV@DPTR,AMOVR0,#78HMOVR3,#7FHMOVA,R3LD0:MOVDPTR,#7F02H;指向B口MOV@DPTR,ADECDPL;指向A口MOVA,@R0ADDA,#0DHMOVCA,@A+PC;查表MOV@DPTR,AACALLDL1;调延时1ms子程序INCR0;R0指向下一字节MOVA,R3A口输出段代码,B口输出位选信号。待显数据已经放在:78H—7FH单元使用共阴译码表。•JNBACC.0,LD1;判是否发完8个数?•RRA;R1指向下一个位•MOVR3,A;位选信号存回R1•SJMPLD0;跳去再显示下一个数•LD1:RET;发完8个数就返回•DSEG:DB3FH,06H,5BH,4FH,67H;共阴译码表•DB6DH,7DH,07H,7FH,6FH•DB77H,7CH,39H,5EH,79H,71H•DL1:MOVR7,#02H;延时1ms子程序•DL0:MOVR6,#F9H•DL10:DJNZR6,DL10•DJNZR7,DL0•RET•扩展键盘接口1.键盘原理单片机系统中完成控制参数输入及修改的基本输入设备,是最简单的单片机输入设备。二.键盘接口原理+5V输出行线列线列线的电平决定行线电平,即行线电平为按键闭合的判断依据断开断开闭合t0t1t2t3t4t0t4——断开期t1t3——抖动期5~10mst2——闭合期由按键动作决定二.键盘接口原理延时10ms入口NYNY键闭合行线为低电平?行线为低电平?键未闭合判断按键是否闭合断开断开闭合t0t1t2t3t4t0t4——断开期t1t3——抖动期5~10mst2——闭合期由按键动作决定二.键盘接口原理延时10ms入口NYNY键松开行线为高电平?行线为高电平?键未松开判断按键是否松开二.键盘接口原理2.键盘分类@(1)按键值编码方式分(硬件)编码键盘与非(硬件)编码键盘。@(2)按键组连接方式分独立式键盘与行列式键盘。①编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。特点:增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。②非编码键盘:单片机系统多采用此类键盘采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。特点:不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂,占CPU时间,还须软件“消颤”。(1)按键值编码方式:编码键盘与非编码键盘√(2)按键组连接方式:独立式键盘与行列式键盘①独立式键盘:每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。特点:占I/O口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。②行列式键盘:键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。特点:键多时占用I/O口线少,但判键速度慢,多用于设置数字键。适用于键数多的场合。3.键盘的工作方式(1)编程扫描方式——当单片机空闲时,调用键盘扫描子程序,等待用户从键盘上输入命令或数据。如:MAIN:……LCALLKEYIN……(2)定时扫描方式——利用单片机内的定时器,产生10ms的定时中断,在中断服务子程序中进行键盘扫描。如:ORG000BHLJMPTIME0……TIME0:LCALLKEYIN……RETI3.键盘的工作方式(3)中断工作方式——采用中断扫描,可提高扫描键盘的效率。如:P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT0与门+5V8031查询方式中断方式图10-7独立式键盘接口P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT0与门+5V8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V80313.键盘的工作方式——按键盘的分类(1)独立式键盘接口——直接式独立连接式键盘例1特点:@此子程序采用中断查询不会漏判,省时。@键的优先级由指令顺序决定。@为防止一次按键多次中断,在功能子程序里应安排“关/开中断指令”。P1.0P1.1P1.2P1.3ORG0003HLJMPKEY…………KEY:JNBP1.0,FUNC1;逐键判别JNBP1.1,FUNC2JNBP1.2,FUNC3JNBP1.3,FUNC4RETI;无任何键按下由此返回FUNC1:……;做P1.0要求的“功能1”RETIFUNC2:……;做P1.1要求的“功能2”RETIFUNC3:……;做P1.2要求的“功能3”RETIFUNC4:……;做P1.3要求的“功能4”RETIINT0&(上拉)8051独立连接式键盘例2:特点:此子程序需不断(或定时)调用,否则可能漏判。4个键的优先级由指令顺序决定。P1.0P1.1P1.2P1.3KEY:JNBP1.0,FUNC1;逐键判别JNBP1.1,FUNC2JNBP1.2,FUNC3JNBP1.3,FUNC4RET;无任何键按下由此返回FUNC1:……;做P1.0要求的“功能1”RETFUNC2:……;做P1.1要求的“功能2”RETFUNC3:……;做P1.2要求的“功能3”RETFUNC4:……;做P1.3要求的“功能4”RET805112341234+5VRRRR0123456789101112131415(b)4×4键盘123123+5VRRR(a)3×3键盘工作原理:行线通过上拉电阻接到+5V;无按键按下,行线处于高电平;有按键按下,行线电平由与此行线相连的列线电平决定。√√√(2)行列式键盘2.键盘分类12341234+5VRRRR0123456
本文标题:单片机数码管显示
链接地址:https://www.777doc.com/doc-3174909 .html