10-C51单片机(第十章MCS-51与键盘、显示器、打印机的接口设计)ppt课件.ppt
-
资源ID:29975207
资源大小:2.99MB
全文页数:92页
- 资源格式: PPT
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
10-C51单片机(第十章MCS-51与键盘、显示器、打印机的接口设计)ppt课件.ppt
新疆师范大学物理与电子工程学院新疆师范大学物理与电子工程学院刘楚湘刘楚湘主讲主讲第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.1 键盘接口原理键盘接口原理1键盘输入的特点键盘输入的特点第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计2. 按键的确认按键的确认 键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开低电平则声示键闭合,通过对行线电平高低状如果高电平表示键断开低电平则声示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保态的检测,便可确认按键按下与否。为了确保CPUCPU对一次按键动作只确认对一次按键动作只确认一次按键有效,必须消除抖动期一次按键有效,必须消除抖动期t1t1和和t3t3的影响。下面将介绍消除抖动的的影响。下面将介绍消除抖动的措施。措施。 3如何消除按键的抖动如何消除按键的抖动 常采常采用软件来消除按键抖动用软件来消除按键抖动。 采用软件来消除按键抖动的采用软件来消除按键抖动的基本思想基本思想是:在第一次检测到有键按下时,是:在第一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时该键所对应的行线为低电平,执行一段延时10 ms的子程序后,确认该的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认为该行确实有键按行线电平是否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时下。当按键松开时,行线的低电平变为高电平,执行一段延时10 ms的的子程序后,检测该行线为高电平,说明按键确实已经松开。采取以上措子程序后,检测该行线为高电平,说明按键确实已经松开。采取以上措施,躲开了两个抖动期施,躲开了两个抖动期t1和和t3,从而消除了按键抖动的影响。,从而消除了按键抖动的影响。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.2.1 键盘接口的工作原理键盘接口的工作原理 1独立式键盘接口独立式键盘接口第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计图10-9程序如下:第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 KEYIN: MOV DPTR ,BFFFH ;键盘地址BFFFH MOVX A ,DPTR ;读键盘状态 ANL A ,01FH ;屏蔽高 3位 0001 1111 MOV R3 ,A ;保存键盘状态值 LCALL DELAY10 ;调用延时10ms子程序, 软件去键盘抖动 MOVX A,DPTR ;再读键盘状态 ANL A ,01FH ;屏蔽高3位 CJNE A ,R3,RETURN ;2次结果不一样,说明是抖动引起的,转RETURN地址译码关系图地址译码关系图键盘地址BFFFH第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 CJNE A,1EH,KEY2 ;2次结果一样, 有键按下。再判是否S1键按下? S1键未按下,转KEY2 0001 1110 LJMP PKEY1 ;是S1键按下,转S1键处理 子程序PKEY1 KEY2:CJNE A,1DH,KEY3 ;S2键未按下,转 KEY3 0001 1101 LJMP PKEY2 ;S2键按下,转PKEY2处理KEY3:CJNE A,1BH,KEY4 ;S3未按下,转 KEY4 0001 1011 LJMP PKEY3 ;S3按下,转PKEY3处理第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计KEY4:CJNE A,17H,KEY5 ;S4键未按下,转键未按下,转KEY5 0001 0111 LJMP PKEY4 ;S4按下,转按下,转PKEY4处理处理KEYS:CJNE A,0FH,PASS ;S5未按下,转未按下,转RETURN 0000 1111 LJMP PKEY5 ;S5按下,转按下,转PKEY5处理处理RETURN:RET ;重键或无键按下,从子程序返回;重键或无键按下,从子程序返回 PKEY1: ; S1键处理子程序 PKEY2: ; S2键处理子程序 PKEY3: ; S3键处理子程序 PKEY4: ; S4键处理子程序第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 2行列式键盘接口行列式键盘接口行列式键盘工作原理行列式键盘工作原理( (1) )行列式键盘的结构行列式键盘的结构第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计扫描法扫描法 第第1步,识别键盘有无键被按步,识别键盘有无键被按下;下;第第2步,如有键被按下,识别步,如有键被按下,识别出具体的按键。出具体的按键。 首先把首先把所有的列线均置为低电平所有的列线均置为低电平,检查各行线电平是否有变化,如果有检查各行线电平是否有变化,如果有变化,则说明有键被接下,如果没有变化,则说明有键被接下,如果没有变化,则说明无键被按下。变化,则说明无键被按下。 其次,先把其次,先把某一列置低电平某一列置低电平,其,其余各列置为高电平,检查各行线电平余各列置为高电平,检查各行线电平的变化,如果某行线电平为低电平,的变化,如果某行线电平为低电平,则可确定此行此列交叉点处的按键被则可确定此行此列交叉点处的按键被按下。按下。 (2)按键的识别方法)按键的识别方法以图以图1010(b)中)中3号键号键被按下为例,来说明此键是如何被识别出来的。被按下为例,来说明此键是如何被识别出来的。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 第第1 1步步,让行线编程为输,让行线编程为输入线,列线编程为输出线,并入线,列线编程为输出线,并使输出线输出为全低电平,则使输出线输出为全低电平,则行线中电平由高变低的所在行行线中电平由高变低的所在行为按键所在行。为按键所在行。 第第2 2步步,再把行线编程为,再把行线编程为输出线,列线编程为输入线,输出线,列线编程为输入线,并使输出线输出为全低电平,并使输出线输出为全低电平,则列线中电平由高变低所在列则列线中电平由高变低所在列为按键所在列。为按键所在列。 结合上述结合上述2 2步的结果,可步的结果,可确定按键所在行和列,从而识确定按键所在行和列,从而识别出所按的健。别出所按的健。线反转法线反转法第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计【例】假设【例】假设3号键号键被按下,被按下,那么第那么第1步即在步即在D0D3输输出全为出全为0,然后读入,然后读入D4D7位,结果位,结果D40,而,而D5、D6和和D7均为均为1,因此,第,因此,第1行出现电平的变化,说明行出现电平的变化,说明第第1行有键按下;行有键按下;第第2步让步让D4D7输出全为输出全为0,然后读入,然后读入D0D3位,结果位,结果D0=0而而D1、D2和和D3均为均为1,因此第,因此第4列出现电平的变化,说明第列出现电平的变化,说明第4列有键按下。综合上述分析,即第列有键按下。综合上述分析,即第1行第行第4列按键被按下,此按列按键被按下,此按键即是键即是3号键。号键。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 对于对于独立式键盘独立式键盘,由于按键的数目比较,由于按键的数目比较少,可根据实际需要灵活编码。少,可根据实际需要灵活编码。 对于对于行列式键盘行列式键盘,按键的位置由行号和按键的位置由行号和列号惟一确定、所以常常采用依次排列键号列号惟一确定、所以常常采用依次排列键号的方式对键盘进行编码。以的方式对键盘进行编码。以44键盘为例,键盘为例,键号可以编码为键号可以编码为01H,02H,03H,0EH,0FH,10H共共16个。个。(3)键盘的编码键盘的编码第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.2.2 键盘的工作方式键盘的工作方式 1. 编程扫描方式编程扫描方式 这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,反复的扫描键这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计端口端口地址地址PA口口7F00HPB口口7F01HPC口口7F02H控制寄存器控制寄存器7F03H编程扫描方式的具体步骤编程扫描方式的具体步骤(1)(1)设置设置PAPA口工作于方式口工作于方式0 0输出,输出,PCPC口低口低4 4位工作位工作于方式于方式0 0输入。输入。(2)(2)判断键盘上有无键按下判断键盘上有无键按下(PA(PA口口8 8位输出全位输出全0 0,读读PCPC口低口低4 4位状态位状态) )(3)(3)延时延时10 ms10 ms来消除按键抖动来消除按键抖动(4)(4)求按下键的键号求按下键的键号(扫描法或线反转法扫描法或线反转法)。)。(5 5)等待按键释放后,再进行按键功能的处理)等待按键释放后,再进行按键功能的处理操作操作。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 单片机对键盘的扫描也可采用定时扫描方式,即每隔一定的时间对键盘扫描一次。” 在这种扫描方式中,通常利用单片机内的定时器,产生10 ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理功能程序。2定时扫描工作方式定时扫描工作方式 为进一步提高单片机扫描键盘的工作效率,可采用中断扫描方式,即只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。 3中断工作方式中断工作方式 第第1层:层:单片机如何来监视键盘的输入。体现在键盘的工作方式上就是:编程扫描工作方式;定时扫描工作方式;中断扫描工作方式。 第第2层:层:确定具体按键的键号。体现在按键的识别方法上就是:扫描法;线反转法。 第第3层:层:实现按键的功能,执行键处理程序。键盘所做的工作分为键盘所做的工作分为3 3个层次个层次第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计键盘扫描应用举例键盘扫描应用举例 (例题例题10_110_3)第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.3 键盘显示器接口设计实例键盘显示器接口设计实例 10.3.1 利用并行利用并行IO芯片芯片8155H实现键盘实现键盘/显示器接口显示器接口第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 8155H的的IO口地址为口地址为7F00H7F05H , RAM地址为地址为7E00H7EFFH 。 8155H的的PA口为输出口,控制键盘列线的扫描,口为输出口,控制键盘列线的扫描,PA口同时又是口同时又是6位共阴极显示器的位扫描口。位共阴极显示器的位扫描口。PB为输为输出口作为显示器的段码(字型码)口,出口作为显示器的段码(字型码)口,8155H的的PC口口作为键盘的行线状态的输入口,故称为键输入口。作为键盘的行线状态的输入口,故称为键输入口。 75452为反相驱动器,为反相驱动器,7407为同相驱动器。为同相驱动器。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计81558155芯片使用介绍芯片使用介绍第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 图图10101414中的中的6 6位显示器采用动态位显示器采用动态显示的方式。显示的方式。在在80518051内部内部RAMRAM中设置中设置6 6个个显示缓冲单元显示缓冲单元79H79H7EH7EH,分别存放显示,分别存放显示器要显示的器要显示的6 6位数据。位数据。8155H8155H的的PAPA口扫描口扫描输出总是只有输出总是只有1 1位高电平,经位高电平,经7545275452反相反相后,即显示器的后,即显示器的6 6位中仅有位中仅有1 1位公共阴极位公共阴极为低电平,其他位为高电平。为低电平,其他位为高电平。8155H8155H的的PBPB口输出相应位的显示数据的段码,使口输出相应位的显示数据的段码,使某一位显示某一字符,其它位为暗。依某一位显示某一字符,其它位为暗。依次的改变次的改变PAPA口输出为高的位,口输出为高的位,PBPB口输出口输出对应的段码,显示器的对应的段码,显示器的6 6位就动态地显位就动态地显示出由缓冲区中显示数据所确定的字符。示出由缓冲区中显示数据所确定的字符。显示程序的流程如图显示程序的流程如图10101515所示。所示。 0000 0001 位选码位选码R31动态显示程序设计动态显示程序设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计参考程序如下:参考程序如下:DIR: MOV R0,79H ;置缓冲器指针初值置缓冲器指针初值 MOV R3,01H ;位选码的初值送位选码的初值送 R3 MOV A ,R3 0000 0001LD0: MOV DPTR,#7F01H ;DPTR指向指向8155H PA口口 MOV DPTR ,A ;位选码位选码8155H PA口口 (PA0位)最左边位)最左边LED亮亮 INC DPTR ;数据指针指向数据指针指向 PB口口 MOV A,R0 ;缓冲区中取出显示数据缓冲区中取出显示数据A ADD A,0DH ;加偏移量(下条指令到表首间加偏移量(下条指令到表首间 所有指令占的单元数)所有指令占的单元数) MOVC A,APC ;根据显示数据来查表取段码根据显示数据来查表取段码 在在80318031内部内部RAMRAM中设置中设置6 6个显示缓冲单元个显示缓冲单元79H79H7EH7EH,分别存,分别存放显示器要显示的放显示器要显示的6 6位数据。位数据。8155H的的IO口地址为口地址为7F00H7F05H第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计DIR1: MOVX DPTR,A ;段码8155H的 PB口 ACALL DL1ms ;延时1ms,即该位显示1ms INC R0;显示数据缓冲区指针指向下一个数据单元 MOV A,R3 ;位选码送入 A中(初值R3=01H) JB ACC.5,LD1 ;判断是否扫描到最右边的LED, 如到最右边,则返回 RL A ;位选码向左移一位,准备让右边的下一位 LED亮 MOV R3,A ;位选码送R3中保存 AJMP LD0LD1: RET初始的位选码初始的位选码0000 0001第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计DSEG: ;共阴极;共阴极LED段码表段码表 DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 38H,00DL1ms:MOV R7,#02H ;延时;延时1ms子程序子程序 DL:MOV R6,#0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL RET 程序中的程序中的 ADD AADD A,0DH0DH指令中的指令中的“0DH”0DH”为偏移量(即为查表指令下一为偏移量(即为查表指令下一条指令到表首地址标号条指令到表首地址标号DESGDESG之间所有指令所占单元之和),在显示数据的基之间所有指令所占单元之和),在显示数据的基础上加上偏移量,可查到该显示数据所对应的段码。础上加上偏移量,可查到该显示数据所对应的段码。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计2键盘程序设计键盘程序设计 键盘程序的功能有以下键盘程序的功能有以下4 4个方面:个方面: (1)判别键盘上有无键闭合:判别键盘上有无键闭合:其方法为其方法为:首先把所有的首先把所有的列线列线(PA口)均置为低电平口)均置为低电平,检查各,检查各行线(行线(PC口)电平口)电平是否有变化是否有变化 (2)去除键的机械抖动:去除键的机械抖动:其方法为延迟一段时间再判别键其方法为延迟一段时间再判别键盘的状态。盘的状态。 (3)判别闭合键的键号判别闭合键的键号:方法为对键盘的列线进行逐列扫方法为对键盘的列线进行逐列扫描,扫描口描,扫描口PA0PA7依次输出下列编码,即只有依次输出下列编码,即只有1列为低电平,列为低电平,其余各列为高电平:(行列扫描法)其余各列为高电平:(行列扫描法) PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计相应地依次读相应地依次读PC口的状态,若口的状态,若PC3PC0全为全为1,则列线为,则列线为0的的这这1列上没有键闭合。闭合键的键号等于为低电平的列号加上行列上没有键闭合。闭合键的键号等于为低电平的列号加上行线为低电平的行的首键号。例如:线为低电平的行的首键号。例如:PA口输出为口输出为11111101时,时,读出读出PC3PC0为为1101,则第,则第1行第行第1列相交的键处于闭合状态,列相交的键处于闭合状态,第第1行的首键号为行的首键号为8,列号为,列号为1。因此,闭合键的键号。因此,闭合键的键号N为:为: N = 行首键号十列号行首键号十列号 = 81 = 9 (4)使)使CPU对键的对键的1次闭合仅作次闭合仅作1次处理,采用的方法为等待次处理,采用的方法为等待闭合键释放以后再作处闭合键释放以后再作处第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计键盘键盘程序程序的流的流程图程图第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 KEY1:ACALL KS1;调用判有无键闭合于程序 JNZ LK1; (A)0有键闭合,跳LK1NI: ACALL DIR ;无键闭合,调用显示子程序(调用 上页的显示程序),延迟6ms后,跳KEY1 AJMP KEY1 ;LK1: ACALL DIR ;可能有键闭合,延迟12ms, 软件去抖动 ACALL DIR ACALL KS1;延迟后再次调用判有无键闭合子程序键盘子程序如下键盘子程序如下:第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 JNZ LK2 ;经去抖动,判键确实闭合, 跳LK2去处理 ACALL DIR;调用显示子程序延迟6ms AJMP KEY1 ;抖动引起,跳KEY1LK2:MOV R2,0FEH ;列选码R2 MOV R4,00H ;R4为列号计数器LK4:MOV DPTR,7F01H ;列选码8155H 的PA口 MOV A,R2 ;列选码A MOVX DPTR,A ;从;从PA口送出列选码 INC DPTR ;数据指针增2,指向PC口8155H的的IO口地址为口地址为7F00H7F05H第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 INC DPTR ;数据指针增2,指向PC口 MOVX A,DPTR ;读8155H PC口 JB ACC.0,LONE ; 判定第0行有无键按下 MOV A,#00H ;(;(ACC.0)=0第 0行有键闭合, 首键号0A AJMP LKP ;跳LKP,计算键号LONE: JB ACC.1,LTW0 ;1行线为高,无键闭合, 跳LTW0,转判2行有无键闭合 MOV A,#08H ;1行有键闭合,首键号 8A AJMP LKP;跳LKP,计算键号第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计LTWO: JB ACC.2,LTHR;2行线为高,无键闭合,跳行线为高,无键闭合,跳LTHR, 转判转判3行行 MOV A,#10H;2行有键闭合,首键号行有键闭合,首键号10HA AJMP LKP;跳;跳 LKP,计算键号,计算键号LTHR: JB ACC.3,NEXT;3行线为高,无键闭合,跳行线为高,无键闭合,跳NEXT, 准备下一列扫描准备下一列扫描 MOV A ,#18H;3行有键闭合,首键号行有键闭合,首键号 18HALKP: ADD A ,R4;计算键号,即:行首键号列号;计算键号,即:行首键号列号=键号键号 PUSH A;键号进栈保护;键号进栈保护LK3: ACALL DIR;调用显示子程序,延时;调用显示子程序,延时 6 ms ACALL KS1;调用判有无键闭合子程序,延时;调用判有无键闭合子程序,延时6 ms JNZ LK3;判键释放否,未释放,则循环;判键释放否,未释放,则循环 POP A;键已释放,键号出栈;键已释放,键号出栈A RET第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计NEXT:INC R4;列计数器加 1,为下一列 扫描作准备 MOV A,R2 ;判是否已扫到最后一列 (最右一列) JNB ACC.7,KND ;键扫描已扫到最后一列, 跳KND,重新进 行整 个键盘扫描 RL A ;键扫描未扫到最后一列, 位选码左移一位 MOV R2,A;位选码R2 AJMP LK4KND:AJMP KEY1第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计KS1: ;判有无键闭合子程序判有无键闭合子程序 MOV DPTR,#7F01H; DPTR指向PA口 MOV A,#00H ;即列线全为低电平,全0扫描口 MOVX DPTR,A INC DPTR; DPTR增2,指向PC口 INC DPTR MOVX A,DPTR;从PC口读行线的状态 CPL A;行线状态取反,如无键 按下,则A中内容为零 ANL A,#0FH ;屏蔽无用高4位(见下一页图) RET8155H的的IO口地址为口地址为7F00H7F05H第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计103. 2 利用利用8031的串行口实现键盘显示器接口的串行口实现键盘显示器接口第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.3.3 利用通用键盘利用通用键盘/显示器接口芯片显示器接口芯片8279实现键盘实现键盘/显示器接口显示器接口18279的引脚及内部结构的引脚及内部结构第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计1 LCD1602的工作原理的工作原理2 LCD1602的控制字的控制字3 LCD1602的实际应用举例的实际应用举例【本节主要内容】10.4 LCD的原理及应用第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计10.4.1 LCD1602的工作原理的工作原理 LCD(Liquid Crystal Display)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,达到白底黑字或黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛地应用在仪器仪表和控制系统中。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计 LCDLCD显示器的分类显示器的分类 当前市场上液晶显示器种类繁多,按排列形状可分为字段型、点阵字符型和点阵图形型。 (1)字段型字段型。字段型是以长条状组成的字符显示。该类显示器主要用于数字显示,也可用于显示西文字母或某些字符,已广泛用于电子表、数字仪表、计算器中。 (2)点阵字符型点阵字符型。点阵字符型液晶显示模块是专门用来显示字母、数字、符号等点阵型液晶显示模块。它是由若干个 5 X 7或 5 X 10点阵组成,每一个点阵显示1个字符。此类显示模块广泛应用在各类单片机应用系统中。 (3)点阵图形型点阵图形型。点阵图形型是在平板上排列多行或多列,形成矩阵式的晶格点,点的大小可根据显示的清晰度来设计。这类液晶显示器可广泛应用于图形显示如游戏机、笔记本电脑和彩色电视等设备中。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计点阵字符型液晶显示模块介绍点阵字符型液晶显示模块介绍 在单片机应用系统中,常使用点阵字符型在单片机应用系统中,常使用点阵字符型LCDLCD显示器。要显示器。要使用点阵字符型使用点阵字符型LCD显示器,必须有相应的显示器,必须有相应的LCD控制器控制器、驱驱动器动器,来对,来对LCD显示器进行扫描。驱动,以及一定空间的显示器进行扫描。驱动,以及一定空间的RAM和和ROM来存储写入的命令和显示字符的点阵。来存储写入的命令和显示字符的点阵。现在人们已将现在人们已将LCDLCD控制器、驱动器、控制器、驱动器、RAM、ROM和和LCD显示器用显示器用PCB连接到一起,称为连接到一起,称为液晶显示模块液晶显示模块LCM(LCdLCd ModuleModule)。使用者只要向)。使用者只要向LCMLCM送入相应的命令和数据就可实现送入相应的命令和数据就可实现所需要的显示内容,这种模块与单片机接口简单,使用灵活所需要的显示内容,这种模块与单片机接口简单,使用灵活方便。产品分为字符和图形两种。方便。产品分为字符和图形两种。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计1 1基本结构基本结构 (1)液晶板)液晶板 在液晶板上排列着若干 5 7或 5 10点阵的字符显示位,从规格上分为每行8、16、20、24、32、40位,有1行、2行及4行3类,用户可根据需要来选择购买。(2)模块电路框图)模块电路框图 它由控制器它由控制器HD44780、驱动器、驱动器HD44100及几个电阻电容组成。及几个电阻电容组成。HD44100是扩展显示字符位用的(例如:是扩展显示字符位用的(例如:16字符字符 XI行模块就可不用行模块就可不用 HD44100, 16字符字符 X 2行模块就要用行模块就要用 1片片HD44100)。)。 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计模块上有模块上有1414个引脚(见图中左侧),其中有个引脚(见图中左侧),其中有8 8条数据线,条数据线,3 3条控制线,条控制线,3 3条条电源线,电源线, 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计LCD1602液晶显示器外形结构液晶显示器外形结构第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计LCD1602液晶显示器外形尺寸液晶显示器外形尺寸第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计LCD1602 介绍介绍 1.1.引脚功能引脚功能 第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计16021602采用标准的采用标准的1616脚接口,其中脚接口,其中: :第第1 1脚:脚:VSS为地电源为地电源第第2 2脚:脚:VDD接接5V正电源正电源第第3 3脚:脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生最高,对比度过高时会产生“鬼影鬼影”,使用时可以通过一个,使用时可以通过一个10K10K的电位器调整对比度的电位器调整对比度。第第4 4脚:脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第第5 5脚:脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当为读写信号线,高电平时进行读操作,低电平时进行写操作。当RSRS和和R/WR/W共同为低电平时可以写入指令或者显示地址,当共同为低电平时可以写入指令或者显示地址,当RSRS为低电平为低电平R/WR/W为高电平时可以读忙为高电平时可以读忙信号,当信号,当RSRS为高电平为高电平RWRW为低电平时可以写入数据。为低电平时可以写入数据。第第6 6脚:脚:E端为使能端,当端为使能端,当E E端由高电平跳变成低电平时,液晶模块执行命令。端由高电平跳变成低电平时,液晶模块执行命令。第第7 71414脚:脚:D0D0D7D7为为8 8位双向数据线。位双向数据线。第第1515:空脚(或:背光源正极):空脚(或:背光源正极)1616脚:空脚脚:空脚 (或:背光源负极)。(或:背光源负极)。 LCD1602引脚介绍引脚介绍第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计2. . 1602的操作时序介绍的操作时序介绍 ERS R/W操作操作操作时序操作时序输出输出高脉冲高脉冲0 0写入指令或者显示地址写入指令或者显示地址D0D7 =指令码指令码写指令写指令无无高电平高电平0 1读忙信号读忙信号读状态读状态状态字状态字=D0D7高脉冲高脉冲1 0写入数据写入数据D0D7 =数据数据写数据写数据无无高电平高电平1 1读数据读数据D0D7=数据数据E RS R/W联合操作所决定的功能联合操作所决定的功能第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计(1)LCD1602的读操作时序的读操作时序第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计(2)LCD1602的写操作时序的写操作时序第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计分析时序图可知操作分析时序图可知操作1602液晶的流程如下液晶的流程如下:通过通过RS确定是写数据还是写命令。写命令包括使液晶的光确定是写数据还是写命令。写命令包括使液晶的光标显示标显示/不显示、光标闪烁不显示、光标闪烁/不闪烁、需要不闪烁、需要/不需要移屏、在液不需要移屏、在液晶的什么位置显示,等等。写数据是指要显示什么内容。晶的什么位置显示,等等。写数据是指要显示什么内容。(RS=1写数据,写数据,RS=0写命令。)写命令。)读读/写控制端设置为写模式,即低电平。(写控制端设置为写模式,即低电平。(R / W=0)将数据或命令送达数据线上。将数据或命令送达数据线上。给给E一个高脉冲将数据送入液晶控制器,完成写操作。一个高脉冲将数据送入液晶控制器,完成写操作。第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计3.状态字状态字第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计4.RAM地址地址 当向当向000F、404F地址中的任一处写入显示数据时,液晶都可以立即显示出来,地址中的任一处写入显示数据时,液晶都可以立即显示出来,当写入到当写入到1027或或5067地址处时,必需通过移屏指令将它们移入可显示区域方可正地址处时,必需通过移屏指令将它们移入可显示区域方可正常显示常显示。 1602显示位置的确定方法规定为显示位置的确定方法规定为“80H+地址码(地址码(000FH,404FH)”第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计5. 1602液晶模块内部液晶模块内部的字符发生存储器的字符发生存储器 1602液晶模块内部的字符发生存储器(液晶模块内部的字符发生存储器(CGROM)已经存已经存储了储了160个不同的个不同的点阵字符图形点阵字符图形,如下表所示,如下表所示。这些字符有:阿拉伯数字、英文字母的大小写、常用的这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等符号、和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是的代码是01000001B(41H),),显示时模块把地址显示时模块把地址41H中中的点阵字符图形显示出来,的点阵字符图形显示出来,我们就能看到字母我们就能看到字母“A”第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计第十章第十章MCS-51MCS-51单片机与键盘、显示器、打印机的接口设计单片机与键盘、显示器、打印机的接口设计6. 控制指令控制指令 1602液晶模块内部的控制器共有液晶模块内部的控制器共有11条控制指令,如下表所示条控制指令,如下表所示 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:(说明:1 1为高电平、为高电平、0 0为低电平)为低电平) 指指 令令RSR/WD7D6D5D4D3D2D1D01清显示清显示00000000012光标返回光标返回000000001*3置输入模式置输入模式00000001I/DS4显示开显示开/关控制关控制0000001DCB5光标