与键盘、显示器的接口设计.ppt
《与键盘、显示器的接口设计.ppt》由会员分享,可在线阅读,更多相关《与键盘、显示器的接口设计.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 MCS-51与键盘、显示器与键盘、显示器的接口设计的接口设计 在单片机应用系统中,使用的显示器主要有LEDLED(发光二极管显示器)和LCDLCD(液晶显示器)。一、一、一、一、LEDLEDLEDLED显示器的结构显示器的结构显示器的结构显示器的结构 LEDLED显示器是由发光二极管来显示字段的器件。显示器是由发光二极管来显示字段的器件。1 2 3 4 5 6 7 8 9 10 a b c d e f g dp abcdefgdpR8abcdefgdpR8+5V(a)外形(b)共阴极(c)共 阳极图图10 1七段发光显示器结构图七段发光显示器结构图10.1 LED10.1 LED
2、显示器及接口原理显示器及接口原理COMP1.01.7MCS-51afbge cdhabh代码位代码位D7D6D5D4D3D2D1D0显示段显示段hgfedcba共阴极与共阳极的段选码互为共阴极与共阳极的段选码互为反码。反码。显示字符显示字符共阴极段选码共阴极段选码共阳极段选码共阳极段选码显示字符显示字符共阴极段选码共阴极段选码共阳极段选码共阳极段选码03FHC0HC39HC6H106HF9Hd5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8HY6EH91H87FH80H8.FFH0
3、0H96FH90H“灭灭”00HFFHA77H88H b7CH83H1 1、设置显示缓冲区设置显示缓冲区,存放待显示数据和字符(位置码)。,存放待显示数据和字符(位置码)。2 2、显显示示译译码码:程程序序存存储储器器中中建建立立字字形形码码常常数数表表,查查表表得得出出对应数据和字符的字形码。对应数据和字符的字形码。3 3、输出显示:输出显示:输出输出字形码字形码到显示端口。到显示端口。例:例:MOV DPTR,#WTAB ;指向字形码表首地址;指向字形码表首地址MOV A,R0 ;取显示缓冲区中数据;取显示缓冲区中数据MOVC A,A+DPTR ;查表显示译码;查表显示译码MOV P1,A
4、 ;输出显示;输出显示WTAB:DB3FH,06H,5BH ;字形代码表(共阴极);字形代码表(共阴极)二、显示器的显示方式二、显示器的显示方式二、显示器的显示方式二、显示器的显示方式 (1 1 1 1)、静态显示方式)、静态显示方式)、静态显示方式)、静态显示方式 静态显示方式就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止恒定地导通或截止,直到显示另一个字直到显示另一个字符为止符为止。静态显示时的亮度较高亮度较高,编程容易,管理也较简单,但占用占用I/OI/O口资源较多口资源较多,因此在显示位数较多时,一般采用动态显示方式。设8255的PA、PB、PC三个8位I/O口输出分别
5、显示字符“1”、“2”、“3”的程序如下(设8255控制口地址为7FFFH):MOV DPTR,#7FFFH ;8255控制口MOV A,#80HMOV DPTR,A ;设8255 PA、PB、PC都为输出口MOV DPTR,#7FFCH ;指向8255 PA口地址MOVA,#0F9HMOVX DPTR,A;显示字符“1”MOVDPTR,#7FFDH;指向8255 PB口地址MOVA,#0A4HMOVX DPTR,A;显示字符“2”MOVDPTR,#7FFEH;指向8255 PC口地址MOVA,#0B0HMOVX DPTR,A;显示字符“3”RETa b c d e f g dpPC0PC7C
6、OMa b c d e f g dpPB0PB7COMa b c d e f g dpPA0PA7COM+5V8255MCS 51图图2 23位静态七段位静态七段LED显示器接口显示器接口例:例:显示显示80C51片内片内RAM中以中以30H为首地址的为首地址的8位位字形数的程序:字形数的程序:静态显示电路静态显示电路“0”程序:程序:DIRDIR:PUSHPUSHACCACC;保护现场;保护现场 PUSH PUSHDPHDPH PUSH PUSHDPLDPL MOV MOVR2R2,#08H#08H;显示;显示8 8个数个数 MOV MOVR0R0,#30H#30H;显示缓冲区地址送入;显示
7、缓冲区地址送入R0R0DL0DL0:MOVMOVA A,R0R0;取要显示的数作查表偏移量;取要显示的数作查表偏移量 MOV MOVDPTRDPTR,#TAB#TAB;指向字形码表首;指向字形码表首 MOVC MOVCA A,A+DPTRA+DPTR;查表得字形码;查表得字形码 MOV MOVSBUFSBUF,A A;发送显示;发送显示DL1DL1:JNBJNBTITI,DL1DL1;等待发送完一桢数据;等待发送完一桢数据 CLR CLRTITI;清标志,准备继续发送;清标志,准备继续发送 INC INCR0R0;更新显示单元;更新显示单元 DJNZ DJNZR2R2,DL0DL0;重复显示所
8、有数码管;重复显示所有数码管 POP POPDPLDPL;恢复现场;恢复现场 POP POPDPHDPH POP POPACCACC RET RETTABTAB:DBDB0C0H0C0H,0F9H0F9H,0A4H0A4H,0B0H0B0H,99H 99H ;0 0,1 1,2 2,3 3,4 4 DBDB92H92H,82H82H,0F8H0F8H,80H80H,90H90H,88H 88H ;5 5,6 6,7 7,8 8,9 9,A A DBDB83H83H,0C6H0C6H,0A1H0A1H,86H86H,8EH 8EH ;B B,C C,D D,E E,F F共阳极共阳极共阳极共阳极
9、(2 2)、动态显示方式)、动态显示方式)、动态显示方式)、动态显示方式在多位LED显示时,为了节节省省I/O口口线线,一般采用动态显示方式。动态显示方式是是一一位位一一位位地地分分时时轮轮流流点点亮亮各各位位显显示示器器,对每一位显示器来说,每每隔隔一一段段时时间间轮轮流流点点亮亮一一次次。显显示示器器的的亮亮度度既既与与导导通通电电流流有有关关,也也与与点点亮亮和和熄熄灭灭时时间间的的比比例例有有关关。调整导通电流和时间参数,可实现亮度较高较稳定的显示。这种显示方式将七段LED显示器的所有段段选选位位并并联联在在一一起起,由由一一个个8位位I/O口口控控制制,而共阴极或共阳极的公公共共端端
10、分分别别由由相相应应的的I/O口口控制控制,实现各位显示器的分时选通分时选通。1008用用8155I/O口的口的6位动态显示器接口位动态显示器接口8155+5VCOM0COM1COM2COM3COM4COM5共共阴阴极极显显示示器器PA5PA4PA3PA2PA1PA0PB0PB1PB2PB3PB4PB5PB6PB7MCS5174LS0774LS06图中设6位显示器的显示缓冲器单元为内部RAM 79H7EH,分别存放6位显示器的显示数据。显示程序如下:DIR6:MOV R0,#79H ;置显示缓冲区首地址 MOV DPTR,#7F00H;设8155的命令字寄存器地址;为7F00H MOVMOV
11、A A,#03H#03H MOVX DPTR MOVX DPTR,A A;设;设8155 PA8155 PA、PBPB口为输出口口为输出口 MOV R3,#01 MOV A,R3;为PA口输出准备数据LD0:MOV DPTR,#7F01H;指向8155 PA口地址 MOVX DPTR,A;设一个一个显示器的公共端为0 INC DPTR;指向8155 PB口地址 MOVMOV A A,RR0 0;取显示缓冲区的数据;取显示缓冲区的数据 ADD ADD A A,#0DH#0DH MOVC A MOVC A,A+PCA+PC;查查表表找找出出与与该该显显示示器器显显示示缓缓;冲区对应的字符数据;冲区
12、对应的字符数据DIR1:MOVX DPTR,A;从8155 PB口输出输出数据 ACALL delay;进行适当的延时,延时程序从略从略 INC R0;指向下一个显示缓冲区地址 MOV A,R3 JB ACC.5,LD1;是否显示到第6个显示器?RL A;为显示下一个数据准备PA口数据 MOV R3,A SJMP LD0;6个数据未显示完,则继续显示 LD1:RET DSEG:DB 3FH,06H,5BH,4FH,66H,6DH;0、1、2、3、4、5 DSEG1:DB 7DH,07H,7FH,6FH,77H,7CH;6、7、8、9、A、b DSEG2:DB 39H,5EH,79H,71H,7
13、3H,3EH;C、D、E、F、P、U DSEG3:DB 31H,6EH,1CH,23H,40H,03H;、y、;、DSEG4:DB 18H,00,00,00;、10.2 10.2 键盘及接口原理键盘及接口原理键盘是由若干个按键组成的开关矩阵,是实键盘是由若干个按键组成的开关矩阵,是实现人机会话或人机通信的常用工具。由硬件识别现人机会话或人机通信的常用工具。由硬件识别键的闭合键的闭合编码键盘编码键盘,由软件识别键的闭合,由软件识别键的闭合未未编码键盘编码键盘。在由单片机组成的测控系统及智能化。在由单片机组成的测控系统及智能化仪器中,仪器中,用得较多的是未编码键盘用得较多的是未编码键盘。通常按键开
14、关为机械弹性开关,机械开关在闭通常按键开关为机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的合及断开瞬间均伴随有一连串的抖动抖动,时间一般,时间一般为为520ms。Vcc(+5V)Vcc(+5V)AB输出RS触发器消抖电路触发器消抖电路 消除键抖动可用消除键抖动可用硬件和软硬件和软件件两种方法两种方法 键按下闭合稳定前沿抖动后沿抖动释放稳定键释放图图2 7按键时的抖动按键时的抖动一、独立式未编码键盘接口及处理程序一、独立式未编码键盘接口及处理程序一、独立式未编码键盘接口及处理程序一、独立式未编码键盘接口及处理程序 独立式键盘是各按独立式键盘是各按键相互独立地接通一条键相互独立地接通一条输
15、入数据线输入数据线 。MCS 51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V独立式未编码键盘独立式未编码键盘START:MOVA,#0FFHMOVP1,A;P1口作为输入时,其口锁存口作为输入时,其口锁存;器必须保持为;器必须保持为1MOVA,P1;取;取P1口的值,即读键状态口的值,即读键状态,K0;0号键按下转号键按下转K0,K1;1号键按下转号键按下转K1,K2;2号键按下转号键按下转K2,K3;3号键按下转号键按下转K3,K4;4号键按下转号键按下转K4,K5;5号键按下转号键按下转K5,K6;6号键按下转号键按下转K6,K7;7号键按下转号键按下转K7JM
16、PSTART;无键按下返回;无键按下返回K0:LJMPPK0;转;转0号键按下处理程序号键按下处理程序K1:LJMPPK1;转;转1号键按下处理程序号键按下处理程序K7:LJMPPK7;转;转7号键按下处理程序号键按下处理程序PK0:;0号键处理程序号键处理程序JMPSTARTPK7:;7号键处理程序号键处理程序JMPSTART二、行列式未编码键盘原理及处理程序二、行列式未编码键盘原理及处理程序二、行列式未编码键盘原理及处理程序二、行列式未编码键盘原理及处理程序 对于未编码键盘一般排列成对于未编码键盘一般排列成n m矩阵形式,即由矩阵形式,即由n行行m列组列组成。成。当无键按下时,当无键按下时
17、,Xi均为高电均为高电平;平;当有键按下时,当有键按下时,Xi的电平由的电平由Yi决定决定。如果把。如果把行线接单片机的行线接单片机的输入口,列线接单片机的输出口输入口,列线接单片机的输出口,则可在单片机的控制下,先使则可在单片机的控制下,先使+5V4 4行列式未编码键盘结构图行列式未编码键盘结构图12 13 14 15Y0Y1Y2Y3X3X2X1X00 1 2 34 5 6 78 9 10 11列线列线Y0为低电平,其它列线为高电平,读行线状态,如为低电平,其它列线为高电平,读行线状态,如所有行线均为高电平,则表明所有行线均为高电平,则表明Y0这一列没有键闭合;如读出这一列没有键闭合;如读出
18、的行线状态不全为高电平,则为低电平的行线和的行线状态不全为高电平,则为低电平的行线和Y0相交的键相交的键闭合。依次类推可获得与其它列线相交的闭合键。闭合。依次类推可获得与其它列线相交的闭合键。获取键状态的方式有获取键状态的方式有:CPU空闲时扫描键盘;空闲时扫描键盘;定时扫描键盘;定时扫描键盘;中断方式扫描键盘。中断方式扫描键盘。三、行列式未编码键盘与三、行列式未编码键盘与MCS 51的接口方法的接口方法+5VVMCS 51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.00 1 2 34 5 6 78 9 10 1112 13 14 15用用P1实现口实现口4 4行列式未编码键
19、盘结构图行列式未编码键盘结构图8155+5V1008COM0COM1COM2COM3COM4COM5共共阴阴极极显示器显示器PA5PA4PA3PA2PA1PA0PB0PB1PB2PB3PB4PB5PB6PB7MCS5174LS0774LS06图图2 12用用8155I/O口口的的2 6键键盘盘和和6位位动动态态显显示示器器接接口口+5V4.7k2PC1PC0172839410511612KD1:MOV A,#03H#03HMOV DPTR,#7F00H;设;设8155命令字地址为命令字地址为7F00HMOVXDPTR,A;PA、PB为为输输出出,PC为为输输入入KEY1:ACALLKS1KS1
20、;调用判别有无键闭合子程序;调用判别有无键闭合子程序JNZLK1;有键闭合,则转;有键闭合,则转LK1ACALLdelay;无键闭合,调用显示延时;无键闭合,调用显示延时AJMPKEY1;返回继续判键是否闭合;返回继续判键是否闭合LK1:ACALLdelay;调用显示程序延时消除抖动;调用显示程序延时消除抖动ACALLdelayACALLKS1;消抖后,再次判键是否闭合;消抖后,再次判键是否闭合JNZLK2;有键闭合,则转;有键闭合,则转LK2ACALLdelayAJMPKEY1;无无键键闭闭,继继续续判判键键是是否否闭闭合合LK2LK2:MOVR2,#01H;先扫描第一列先扫描第一列MOVR
21、4,#00H;设第一列键序号为设第一列键序号为0LK4:MOVDPTR,#7F01H;指向;指向8155PA口地址口地址MOVA,R2 MOVXDPTR,A;8155PA输出输出INCDPTRINCDPTR;指向;指向PC口地址口地址MOVXA,DPTR;读;读PC口的内容口的内容,LONE;表明;表明0行无键按下行无键按下MOV A,#0;0行有键按下,行起始键号为行有键按下,行起始键号为0AJMPLKP;跳转至;跳转至LKP,计算键号,计算键号LONE:,NEXT;表明;表明1行无键按下行无键按下MOV A,#6;1行有键按下,行起始键号为行有键按下,行起始键号为6AJMPLKPLKP:A
22、DDADD AA,R R4 4;行起始键号与列号之和为键号;行起始键号与列号之和为键号PUSHACCACC;保存键号;保存键号LK3:ACALLdelay;延时;延时ACALLKS1;判键是否释放;判键是否释放JNZLK3;等待键释放;等待键释放POPACC;取键号;取键号;对应的键处理程序从略;对应的键处理程序从略RETNEXT:INCR4;指向下一列,列号加指向下一列,列号加1MOVMOVA A,R R2 2JBACC.5,KND;是否;是否6列全部扫描一遍列全部扫描一遍RLRLA A;没有,则准备扫描下一列;没有,则准备扫描下一列;没有,则准备扫描下一列;没有,则准备扫描下一列MOVMO
23、VR R2 2,A A;即准备扫描下一列;即准备扫描下一列;即准备扫描下一列;即准备扫描下一列AJMPLK4KND:AJMPKEY1;继续扫描键盘;继续扫描键盘KS1KS1:MOVDPTR,#7F01H;指向;指向8155PA口口MOVA,#0FFHMOVXDPTR,A;输出;输出0FFH,即选中全部键盘列,即选中全部键盘列INCDPTRINCDPTR;指向;指向8155PC口口MOVXA,DPTR;读;读8155PC口内容口内容CPLA;读出的内容取反;读出的内容取反ANLA,#03H;只有低位两行键;只有低位两行键RET 以上键盘扫描程序,以上键盘扫描程序,CPU需不停的扫描键盘,影响需不
24、停的扫描键盘,影响其它功能的执行,工作效率较低。在实际使用键盘时常其它功能的执行,工作效率较低。在实际使用键盘时常采用采用定时扫描键盘的方式或中断方式定时扫描键盘的方式或中断方式。图。图6 71为一个为一个4 4键盘与键盘与MCS 51采用中断方式的一种接口电路。采用中断方式的一种接口电路。当键盘上有任一个键闭合时当键盘上有任一个键闭合时P变为低电平,向变为低电平,向CPU发出发出中断请求中断请求。MCS 51+5VP3.3P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0图图2 134 4行行列列式式未未编编码码键键盘盘中中断断方方式式接接口口电电路路可假定地址:段控(可假定地
25、址:段控(PA):):0101H;位控(;位控(PC):):0103H。在内部在内部RAM中设置显示缓冲区,其单元个数与中设置显示缓冲区,其单元个数与LED显示位数相同。显示位数相同。设设6个显示器的缓冲单元是个显示器的缓冲单元是7AH7FH。3、用、用8155作作LED显示器接口显示器接口:动态显示动态显示“0”“1”LED显示程序:显示程序:DIS:MOV R0,#7AH ;指向显示缓冲区起始单元;指向显示缓冲区起始单元 MOV R3,#01H ;从右数第一位显示器开始;从右数第一位显示器开始 MOV A,R3 ;取位控码初值;取位控码初值DLP:MOV DPTR,#0103H ;指向字位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 键盘 显示器 接口 设计
限制150内