单片微机原理及应用显示器键盘打印机接口教案

上传人:博****1 文档编号:568635315 上传时间:2024-07-25 格式:PPT 页数:95 大小:1.51MB
返回 下载 相关 举报
单片微机原理及应用显示器键盘打印机接口教案_第1页
第1页 / 共95页
单片微机原理及应用显示器键盘打印机接口教案_第2页
第2页 / 共95页
单片微机原理及应用显示器键盘打印机接口教案_第3页
第3页 / 共95页
单片微机原理及应用显示器键盘打印机接口教案_第4页
第4页 / 共95页
单片微机原理及应用显示器键盘打印机接口教案_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《单片微机原理及应用显示器键盘打印机接口教案》由会员分享,可在线阅读,更多相关《单片微机原理及应用显示器键盘打印机接口教案(95页珍藏版)》请在金锄头文库上搜索。

1、单片微机原理及应用显示器键盘打印机接口Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望9.1.1LED显示器显示器1LED显示器结构与原理显示器结构与原理LED显示器是由发光二极管显示字段的显示器显示器是由发光二极管显示字段的显示器件。件。在微机应用系统中通常使用的是七段在微机应用系统中通常使用的是七段LED。这。这种显示块有共阴极与共阳极两种,如图种显示块有共阴极与共阳极两种,如图9-1所示。所示。七段显示器与微机接口非常容易。如表七段显示器与微机接口非常容易。如表9-1所示。所示

2、。 图图9-1 9-1 七段七段LEDLED显示器显示器 使用使用LED显示器时,要注意区分这两种不同的接法。为了显显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计个小数点,共计8段。因此为段。因此为LED显示器提供的编码正好是一个字显示器提供的编码正好是一个字节。用节。用LED显示器显示显示器显示16进制数的编码已列在表进制数的编码已列在表9-1所示。所示。 为了实现为了实现LED显示器的动态扫描,除了要给显示器提供显示器的动态扫描,除了要给显示器提供段码(字形编码)的输

3、入之外,还要对显示器加位的控制段码(字形编码)的输入之外,还要对显示器加位的控制(控制(控制LED显示器亮灭),这就是通常所说的显示器亮灭),这就是通常所说的位控和段控。位控和段控。表表9-1LED显示器显示器16进制数编码进制数编码 P229表9-1 七段LED的段选码 2LED显示器与显示方式显示器与显示方式在在微微机机应应用用系系统统中中使使用用LED显显示示块块构构成成N位位LED显示器。图显示器。图9-11是是N位显示器的构成原理。位显示器的构成原理。LED显示器有两种显示方式:显示器有两种显示方式:(1)LED静态显示方式(如图静态显示方式(如图9-12所示)所示)(2)LED动态

4、显示方式(如图动态显示方式(如图9-13所示)所示)图图9-11N位位LED显示器显示器图图9-12四位静态四位静态LED显示器电路显示器电路静静态态显显示示即即由由单单片片机机一一次次输输出出显显示示后后,就就能能保保持持,直到下次送新的显示模式为止。直到下次送新的显示模式为止。优点:优点:显示可靠,占用机时少。显示可靠,占用机时少。缺点:缺点:使用元件多,线路比较复杂。使用元件多,线路比较复杂。适适用用于于显显示示位位数数少少的的情情况况。每每个个显显示示器器需需8位位输输出出口口控制。控制。动动态态显显示示即即单单片片机机定定时时对对显显示示器器扫扫描描。此此时时,显显示示器件分时工作,

5、每次只能有一个器件显示。(仿真器)器件分时工作,每次只能有一个器件显示。(仿真器)优点:优点:硬件少,价格低。硬件少,价格低。缺缺点点:占占用用机机时时多多,只只要要单单片片机机不不执执行行显显示示程程序序,显显示示就立即停止。就立即停止。3LED显示器接口显示器接口从从LED显显示示器器的的原原理理可可知知,为为了了显显示示字字母母与与数数字字,必必须须最最终终转转换换成成相相应应的的段段选选码码。这这种种转转换换可可以通过以通过硬件译码器或软件进行译码硬件译码器或软件进行译码。l l 硬件译码器硬件译码器LED显示器接口(如图显示器接口(如图9-14所示)所示)l l 软软件件译译码码LE

6、D显显示示器器接接口口(如如图图9-159-16所所示)示)硬件译码:硬件译码:锁存器锁存器译码驱动器译码驱动器显示器显示器CD4511图图9-14利用硬件译码器的七段利用硬件译码器的七段LED接口电路接口电路 MC14495为七段码显示器译码驱动器为七段码显示器译码驱动器图图9-15 通过通过8155扩展扩展I/O口控制的口控制的8位位LED动态显示接口动态显示接口8155的的A口作为位控口,经反相驱动器接显示口作为位控口,经反相驱动器接显示器的公共阴极;器的公共阴极;8155的的B口作为段码控制口,经同相驱动器接口作为段码控制口,经同相驱动器接显示器的各个阳极。显示器的各个阳极。软件译码程

7、序设计思想:软件译码程序设计思想:1 1、将段码表(显示数据)存放在将段码表(显示数据)存放在RAM的的(79H7EH)中。)中。2、根据要显示的数字或字符去查相应的段码。、根据要显示的数字或字符去查相应的段码。3、然后将段码输出到七段、然后将段码输出到七段LED的驱动器上。的驱动器上。4、采用扫描的方式控制、采用扫描的方式控制LED的点亮顺序。的点亮顺序。显示数据显示数据79H7EH8155的口地址:的口地址:7F00H7F05H偏移量偏移量ROM表首地址当前表首地址当前PC地址地址MOVCA,A+PC是以是以PC为基址寄存器的单字节指令。为基址寄存器的单字节指令。执行过程是:执行过程是:C

8、PU读取本指令后,读取本指令后,PC的值自动的值自动加,累加器加,累加器A的内容作为无符号数与新的的内容作为无符号数与新的PC的的内容相加形成一个内容相加形成一个16位地址,再将该地址指出的位地址,再将该地址指出的程序存储器单元的内容送累加器程序存储器单元的内容送累加器A。指令执行后。指令执行后PC指向下一条指令继续执行。指向下一条指令继续执行。显示缓冲区在显示缓冲区在RAM中中7EH 7DH 7CH 7BH 7AH 79HLED6 LED2 LED1存放要显示的数据和字符的段码存放要显示的数据和字符的段码程序清单:程序清单:DIR:MOVR0,#79H;置缓冲器指针初值置缓冲器指针初值MOV

9、R3,#01H;置扫描位初值置扫描位初值MOVA,R3LD0:MOVDPTR,#7F01H;A口地址口地址MOVXDPTR,AINCDPTR;B口地址口地址MOVA,R0;取显示数据;取显示数据ADDA,0DH;加偏移量;加偏移量MOVCA,A+PC;查表取段码查表取段码DIR1:MOVXDPTR,A;段数据送段数据送B口口ACALLDL1;延时;延时msINCR0MOVA,R3JBA.5,LD1RLAMOVR3,ASJMPLD0LD1:RETDSEG:DB3FH,06H,5BH,.DSEG1:DB7DH,07H,7FH,.DSEG2:DB39H,5EH,79H,.DSEG3:DB31H,6E

10、H,1CH,.DSEG4:DB18H,00H,00H,.DL1:MOVR7,#02HDL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET图图-16动动态态显显示示子子程程序序流流程程图图返回本节P23199.1.2LCD显示器接口显示器接口1LCD的基本结构及工作原理的基本结构及工作原理图图9-17液晶显示器基本结构液晶显示器基本结构特点是体积小、重量轻、功耗极低、抗干扰能力强。特点是体积小、重量轻、功耗极低、抗干扰能力强。2 2LCDLCD的驱动方式的驱动方式 LCD LCD七段显示器除了七段显示器除了agag七个笔划之外还有一个公共七个笔划之外还有一个公共极极C

11、OMCOM。可。可采用采用静态驱动方式(加直流信号)和动态驱动静态驱动方式(加直流信号)和动态驱动方式(加交流信号)。方式(加交流信号)。静态驱动回路及波形如图静态驱动回路及波形如图9-18所示,图中所示,图中LCD表示表示某个液晶显示段。某个液晶显示段。当当显显示示字字段段增增多多时时,为为减减少少引引出出线线和和驱驱动动回回路路数数,需需要要采采用用时时分分割割驱驱动动法法。时时分分割割驱驱动动方方式式通通常常采采用用电电压压平平均均化化法法,其其占占空空比比有有1/2,1/8,1/11,1/16,1/32,1/64等,偏比有等,偏比有1/2,1/3,1/4,1/5,1/7,1/9等。等。

12、(a)驱动回路;()驱动回路;(b)真值表;()真值表;(c)驱动波形)驱动波形图图9-18静态驱动回路及波形静态驱动回路及波形CA为显示频率信号为显示频率信号B为显示控制信号为显示控制信号LCD两端相对电压为两端相对电压为0不显不显示,两端的方波信号相位相反时,显示。示,两端的方波信号相位相反时,显示。3LCD接口实例接口实例硬硬件件接接口口电电路路:图图8-19为为六六位位液液晶晶静静态态显显示示电电路。路。典典型型显显示示子子程程序序:设设显显示示缓缓冲冲区区为为8031片片内内RAM的的22H27H六六个个单单元元依依次次放放置置六六位位分分离离的的BCD码。码。点点阵阵液液晶晶显显示

13、示模模块块能能显显示示的的字字符符多多,并并且且还还能能显示汉字。显示汉字。图图9-19六位六位LED静态显示电路静态显示电路返回本节八八段段数码数码管显示管显示一、实验一、实验要求要求利利用实验用实验仪提供的仪提供的显示电显示电路路,动动态态显示一行数据显示一行数据.二二、实验目的、实验目的1 了了解解数码管动数码管动态态显示显示的的原原理理。2 了了解解用用总线总线方方式式控制数码管显示控制数码管显示1本本实验实验仪提供了仪提供了6 位位8 段码段码LED 显示电显示电路,学生路,学生只要只要按按地址地址输出输出相相应应数据数据,就就可以可以实实现对现对显示器显示器的的控制控制。显显示器示

14、器共共有有6个个,用动用动态态方方式式显示显示。8 位位段码、段码、6位位位位码码是是由两由两片片74HC374输出输出。位。位码码经经MC1413倒倒相相驱驱动动后后,选选择相择相应应显示显示位。位。2.2.本本实验实验仪仪中中 8 位位段码输出段码输出地址地址为为0X004H,位,位码输出码输出地址地址为为 0X002H。此处此处X 是是由由KEY/LED CS 决决定定,参见参见地址地址译译码码。做。做键盘和键盘和LED实验时实验时,需需将将KEY/LED CS 接接到到相相应的应的地址地址译译码上码上。以。以便便用用相相应的应的地址地址来来访访问问。例如例如,将将KEY/LED CS

15、接接到到CS0 上上,则则段码段码地址地址为为08004H,位位码码地址地址为为08002H。OUTBIT equ 08002h ; 位位控控制口制口OUTSEG equ 08004h ; 段控段控制口制口LEDBuf equ 60h ; 显示缓冲区显示缓冲区Num equ 70h ; 显示显示的数据的数据DelayT equ 75h ; Org 0000h ljmp StartLEDMAP: ; 八段管显示代八段管显示代码(码(1-F)1-F)db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 7

16、9h, 71hDelay: mov r7, #0 ; 延时子延时子程序程序DelayLoop:djnz r7, DelayLoop djnz r6, DelayLoop retDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共共6个个八段管八段管 mov r2, #00100000b ; 从左边从左边开始开始显显示示Loop: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管关所有八段管 mov a, r0 mov dptr, #OUTSEG movx dptr,a mov dptr, #OUTBIT mov

17、a, r2 movx dptr, a ; 显示显示一位一位八段八段管管 mov r6, #01 call Delay mov a, r2 ; 显示显示下一位下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管关所有八段管 retStart: mov sp, #40h mov Num, #0MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBufFillBuf: mov a, b anl a, #0fh mov dptr, #L

18、EDMap movc a, a+dptr ; 数字转换数字转换成显示成显示码码 mov r0,a ; 显示在显示在码码填填入入显示缓冲显示缓冲 inc r0 inc b cjne r0, #LEDBuf+6, FillBuf mov DelayT,#30DispAgain: call DisplayLED ; 显示显示 djnz DelayT,DispAgain ljmp MLoop end9.2键盘接口电路键盘接口电路编编码码键键盘盘:由由硬硬件件自自动动提提供供与与被被按按键键对对应应的的ASCII码码或或其其它它编编码码。如如标标准准计计算算机机(不不是是本本章章讨论的内容)讨论的内容)

19、非编码键盘:非编码键盘:软件方式产生编码。软件方式产生编码。优点:优点:结构简单、成本低廉。结构简单、成本低廉。非非编编码码键键盘盘接接口口技技术术的的主主要要内内容容是是如如何何确确定定被被按按键键的的行行、列列位位置置,即即键键码码(值值)识识别别是是接接口口技技术术的关键问题。的关键问题。按键识别:常用行扫描法。按键识别:常用行扫描法。键盘工作原理键盘工作原理行行列列式式键键盘盘电电路路原原理理如如图图8-3所所示示。按按键键设设置置在在行行列列式式交交点点上上,行行列列线线分分别别连连接接到到按按键键开开关关的的两两端端。当当行行线线通通过过上上拉拉电电阻阻接接+5伏伏时时,被被钳钳位

20、位在在高高电平状态。电平状态。键键盘盘中中有有无无按按键键按按下下是是由由列列线线送送入入全全扫扫描描字字、行行线线读读入入行行线线状状态态来来判判断断的的。键键盘盘中中哪哪一一个个键键按按下下可可由由列列线线逐逐列列置置低低电电平平后后,检检查查行行输输入入状状态态来来判断。判断。图图9-3行列式键盘原理电路行列式键盘原理电路输出口输出口输入口输入口0 1 1 11 0 1 121 1 0 1111111011111按键识别:按键识别:1、测试有无键按下;、测试有无键按下;检查输入端,是否有端口为低电平。检查输入端,是否有端口为低电平。2、去抖动、去抖动软软件件方方法法:采采用用延延时时躲躲

21、过过抖抖动动,时时间间一一般般为为1020ms。(也有硬件去抖动电路。(也有硬件去抖动电路P233)3、确定键的物理位置(行、列),计算键码。、确定键的物理位置(行、列),计算键码。4、等待键释放,通过时间延迟实现。、等待键释放,通过时间延迟实现。如键码编排为:如键码编排为:00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH键码计算公式:键码计算公式:键码键码=行首键号行首键号+列号列号0004+(0,1,2,3)080C 单片机的键盘接口处理单片机的键盘接口处理单片机的键盘接口处理的内容包括以下几个方面:单片机的键盘接口处理的内容包括以下几个方面

22、:1、键扫描、键扫描2 2、去抖动、去抖动3、键码计算、键码计算4、等待键释放、等待键释放计算键码后,再以延时后进行行扫描的方法等待键计算键码后,再以延时后进行行扫描的方法等待键释放。等待释放是为了保证键的一次闭合仅进行一次处释放。等待释放是为了保证键的一次闭合仅进行一次处理。理。9.2.1非编码键盘的接口非编码键盘的接口键盘处理程序的关键是如何识别键码。单片键盘处理程序的关键是如何识别键码。单片机对键盘进行控制的方法分为程控扫描法(连续机对键盘进行控制的方法分为程控扫描法(连续扫描)、定时扫描法和中断扫描法。扫描)、定时扫描法和中断扫描法。一、程序控制扫描方式一、程序控制扫描方式+5V815

23、5PA7PA6.PA0PC0PC1PC2PC35.1K4CEIO/MWRRDALEP0WRRDALEP2.7P2.080310 12 34 5 678 9 10 11 12 1314 1516 17 18 19 20 2122 2324 25 26 27 28 2930 318155扩展扩展I/O口组成的行列式键盘口组成的行列式键盘8155PA口地址口地址7F01HPC口地址口地址7F03H81558155:PAPA口输入列状态信号口输入列状态信号 PC PC口输出行扫描信号口输出行扫描信号.判断有无键按下PCPC口输出口输出00H00H PAPA口输入列状态信号,若口输入列状态信号,若PA0

24、PA7PA0PA7FFHFFH,有,有键按下按下.去抖动 延时510ms后再判断有无键按下,如果有,键处于稳定闭合期.再确认哪个键被按下及其键号8155的PC口依次输出下列扫描字:PC3 PC2 PC1 PC0 1 1 1 0 读入列值,读入列值,若若PA0PA7PA0PA7=FFH=FFH,无键按下1 1 0 1 若若PA0PA7PA0PA7FFHFFH,有,有键按下,按下,求出求出键值0 1 1 1 求键值时,采用行值、列值两个寄存器。求键值时,采用行值、列值两个寄存器。每扫描一行后,如无键按下,则行值寄存器加每扫描一行后,如无键按下,则行值寄存器加08H;如有键按下,则行值寄存器保持原值

25、,并转向求相应如有键按下,则行值寄存器保持原值,并转向求相应的列值。的列值。首先将列值读数右移(到进位位),每移位一次列值首先将列值读数右移(到进位位),每移位一次列值寄存器加寄存器加1,直到有键按下(低电平)为止。,直到有键按下(低电平)为止。最后将行值和列值相加,即得到键值。最后将行值和列值相加,即得到键值。9.2.1非编码键盘非编码键盘的接口的接口键盘的工作方式:键盘的工作方式:程程控控扫扫描描方方式式、定定时时扫扫描描方方式式、中中断断扫扫描描方方式式三种。三种。一、程控扫描方式一、程控扫描方式P233 键盘扫描显示键盘扫描显示实验实验一、实验一、实验要求要求在在上一上一个个实验实验的

26、的基基础础上上,利利用实验用实验仪提供的仪提供的键盘扫描电键盘扫描电路路和显示电和显示电路路,做做一一个个扫描键盘和数码显示实验扫描键盘和数码显示实验,把把按按键输键输入入的的键码键码在在六位六位数码管上显示出数码管上显示出来来。实验程序实验程序可分可分成三成三个模个模块块。键输入键输入模模块块:扫描键盘、读扫描键盘、读取取一一次次键盘并键盘并将将键键值值存入存入键键值值缓缓冲冲单单元元。显示显示模模块块:将将显示单显示单元元的的内内容容在在显示器上动显示器上动态态显示显示。主主程序程序:调调用键输入用键输入模模块和显示块和显示模模块块。二二、实验目的、实验目的1、掌握掌握键盘和显示器键盘和显

27、示器的接的接口方法和口方法和编编程方法程方法。2、掌握掌握键盘扫描和键盘扫描和LED八段码显示器八段码显示器的工的工作原作原理理。三、实验三、实验电路及电路及连连线线这这里里只是只是键盘键盘草草图图,详细原详细原理理参见下图参见下图本本实验实验仪提供了仪提供了一一个个64的的小小键盘键盘,向向列扫描码列扫描码地址地址(0X002H)逐逐列输出列输出低低电电平,平,然然后后从从行码行码地址地址(0X001H)读读回回。如果有如果有键键按按下下,则则相相应应行行的的值值应为应为低低,如果无如果无键键按按下,下,由由于于上上拉拉的的作作用用,行码行码为高。为高。这这样样就就可以可以通通过过输出输出的

28、的列列码和读码和读取取的的行码行码来判来判断断按按下的下的是什么是什么键键。在在判判断断有有键键按按下下后后,要要有有一定一定的的延延时时,防防止止键盘键盘抖抖动动。地址地址中中的的X 是是由由KEY/LED CS 决决定定,参见参见地址地址译译码码。做。做键盘和键盘和LED实实验时验时,需需将将KEY/LED CS 接接到到相相应的应的地址地址译译码上码上。以。以便便用用相相应的应的地址地址来来访访问问。例如例如将将KEY/LED CS信号接信号接CS0 上上,则则列扫描列扫描地址地址为为08002H,行码行码地址地址为为08001H。列列扫描码扫描码还还可以分可以分时用时用作作LED的位的

29、位选选通通信号。信号。2键盘工作方式键盘工作方式(如图(如图8-48-7所示)所示)键盘的工作方式:键盘的工作方式:编编程程扫扫描描方方式式、定定时时扫扫描描方方式式、中中断断扫扫描描方方式式三种。三种。在键盘扫描子程序中完成下述几个功能。在键盘扫描子程序中完成下述几个功能。(1)判断键盘上有无键按下)判断键盘上有无键按下(2)去键的机械抖动影响。)去键的机械抖动影响。(3)求按下键的键号。)求按下键的键号。(4)键闭合一次仅进行一次键功能操作。)键闭合一次仅进行一次键功能操作。a.程序控制扫描方式以8155扩展I/O口组成的行列式键盘为例+5V8155PA7PA6.PA0PC0PC1PC2P

30、C35.1K4CEIO/MWRRDALEP0WRRDALEP2.7P2.080310 12 34 5 678 9 10 11 12 1314 1516 17 18 19 20 2122 2324 25 26 27 28 2930 318155扩展I/O口组成的行列式键盘8155PA口地址7F01HPC口地址7F03H8155:PA口输入列状态信号 PC口输出行扫描信号.判断有无键按下PC口输出00H PA口输入列状态信号,若PA0PA7FFH,有键按下.去抖动 延时510ms后再判断有无键按下,如果有,键处于稳定闭合期.再确认哪个键被按下及其键号8155的PA口依次输出下列扫描字:PA7 PA

31、6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 FEH1 1 1 1 1 1 0 1 FDH0 1 1 1 1 1 1 1 7FH8155的PC口输入行状态,可能为下列之一:PC5 PC4 PC3 PC2 PC1 PC0 1 1 1 0 EH 1 1 0 1 DH 1 0 1 1 BH 0 1 1 1 7H则每个键的键值(列行组合)FE E 、FD E 、 FB E 、 F7 E 、EF E、DE E、BF E、 7F E FE D 、FD D 、 FB D 、 F7 D 、EF D、DE D、BF D、 7F D FE B 、FD B 、 FB B 、 F

32、7 B 、EF B、DE B、BF B、 7F B FE 7 、 FD 7 、 FB 7 、 F7 7、 EF 7、 DE 7、 BF 7、 7F 7 每个键的键号(自己安排)N=行首键号+列号.判断按键是否抬起(以防止重复进行键处理)等待键释放后再进行进一步处理。键扫描程序框图入口有键按下?延时12ms有键按下?NYNY键号入栈保存按键抬起?NY键号送A返回ORG 1000HKEY1:ACALL KS1 ;调用判断有无键按下子程序JNZ LK1 ;有键按下,转去抖动AJMP KEY1 ;无键按下,返回LK1:ACALL TM12S ;延时12msACALL KS1 ;再查有无键按下JNZ L

33、K2 ;确实有键按下,逐行扫描,确定具体键AJMP KEY1 ;无键按下,返回LK2:MOV R2,#0FEH ;首列扫描字送R2 MOV R4,#00H ;首列号R4LK4:MOV DPTR,#7F01H ;首列扫描字送8155的PA口MOV A,R2 ;第一列扫描MOVX DPTR,A ;使第i 列为0(R2中Di位为0)INC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;读入行状态JB ACC.0, LONE ;0行无键按下,转查1行LONE:JB ACC.1, LTWO ;1行无键按下,转查2行MOV A,#00H ;0行有键按下,行首键号#00H送AAJ

34、MP LKP ;求键号LTWO:JB ACC.2, LTHR ;2行无键按下,转查3行MOV A,#08H ;1行有键按下,行首键号#08H送AAJMP LKP ;求键号LTHR:JB ACC.3, NEXT ;3行无键按下,转查下一列MOV A,#10H ;2行有键按下,行首键号#10H送AAJMP LKP ;求键号MOV A,#18H ;3行有键按下,行首键号#18H送ALKP: ADD A,R4 ;求键号=行首键号+列号PUSH ACC ;键号入栈LK3:ACALL KS1 ;等待键释放JNZ LK3 ;未释放,继续等待POP ACC ;已释放,键号送ARETNEXT:INC R4 ;指

35、向下一列,列号加1MOV A, R2 ;判断8列扫描完没有JNB ACC.7,KND ;8列扫描完,返回RL A ;没扫描完,置下一列扫描字MOV R2, A ;扫描字送AAJMP LK4 ;继续下列扫描KND:AJMP KEY1 ;8列扫描完,返回KS1:MOV DPTR, #7F01H ;查有无键按下子程序MOV A,#00HMOVX DPTR,A ;8155 PA口输出全扫描字#00HINC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;读入行状态,若有键按下,则A0FFHCPL A ;改成正逻辑,若有键按下,则A00HANL A ,#0FH ;屏蔽高四位RE

36、T ;子程序返回,当有键按下时,AA00HT12sm:MOV R7, #18H ;12sm延时子程序TM:MOV R6,#0FFH TM6:DJNZ R6, TM6DJNZ R7,TMRET;td=1+(1+255*2+2)*24+2*MCd.键操作及功能处理求出键号后要进行键处理:先判断是何种键,然后:对数字键-送显示缓冲区显示;对功能键-执行相应的功能键处理程序。设图5.36中,015号键为数字键,即键号键号10H10H的是数字键的是数字键;1631号键为功能键,即键号键号10H10H的是功能键的是功能键,其功能键处理程序入口地址分别为:AAA、BBB、CCC、PPP。则转入功能键处理程序

37、清单如下:ORG 8000HKEYADR:MOV A ,BUFF ;键号送ACLR CSUBB A,#10H ;Y与10H比较JC DIGPRO ;10H,数字键,转AJMP A+DPTRRL A ;使键值为0、2、4、6、偶数KEYTBL:MOV DPTR,#JMPTBLJMPTBL:AJMP AAA ;2 字节指令散转到16个功能键处理 AJMP BBB ; 程序入口AJMP CCCAJMP DDDAJMP EEEAJMP FFFAJMP GGGAJMP HHHAJMP IIIAJMP JJJAJMP KKKAJMP LLLAJMP MMMAJMP NNNAJMP OOOAJMP PPP图

38、图9-48155扩展扩展I/O口组成的行列式键盘口组成的行列式键盘图图9-5键键扫扫描描子子程程序序框框图图图9-6 定时扫描方式程序框图图9-7 中断方式键盘接口3键盘扫描方式键盘扫描方式 (a)线反转法第一步 (b)线反转法第二步图9-8 线反转法原理4行列式键盘接口(行列式键盘接口(如图如图8-9所示)所示)通用并行扩展通用并行扩展I/O口键盘接口口键盘接口8031串行串行I/O口扩展的键盘接口口扩展的键盘接口图9-9 8031串行I/O口扩展的行列式键盘接口 返回本节图9-19 六位LED静态显示电路 返回本节9.2.3典型键盘典型键盘/显示器接口实例显示器接口实例18155扩展扩展I

39、/O口的键盘口的键盘/显示器接口显示器接口接接口口电电路路:LED显显示示器器采采用用共共阴阴极极如如图图8-20所所示示;LED采采用用动动态态显显示示软软件件译译码码,键键盘盘采采用用逐逐行行扫扫描描查查询询方方式式;LED的的驱驱动动采采用用北北京京集集成成电电路路设设计中心生产的集电极开路输出八位驱动器计中心生产的集电极开路输出八位驱动器8718。软软件件设设计计:由由于于键键盘盘与与显显示示做做成成一一个个接接口口电电路路,因因此此在在软软件件设设计计中中合合并并考考虑虑键键盘盘查查询询与与动动态态显显示示,键盘消颤的延时子程序用显示程序代替。键盘消颤的延时子程序用显示程序代替。图9

40、-20 8155扩展I/O口的键盘/显示器接口电路2串行口扩展的键盘串行口扩展的键盘/显示器接口显示器接口接接口口电电路路:图图中中使使用用一一片片74LS164和和2根根行行线线扩扩展展16键键盘。电路原理如图键键盘。电路原理如图9-21所示。所示。软软件件设设计计:在在图图9-21中中,设设显显示示器器位位数数存存于于R7,显显示示缓缓冲冲区区首首址址存存于于R0,显显示示字字符符以以BCD码码形形式式存存放放,8031RAM中中20H为为键键码码缓缓冲冲区区,无无键键输入时,输入时,20H中为中为80H。图9-21 串行口扩展的键盘/显示器接口38279键盘键盘/显示器接口显示器接口82

41、79是专用键盘是专用键盘/显示器控制芯片,能对显示器显示器控制芯片,能对显示器自动扫描,能识别键盘上按下键的键号;可充分自动扫描,能识别键盘上按下键的键号;可充分提高提高CPU的工作效率。的工作效率。8279与与MCS-51接口方便,由它构成的标准键盘接口方便,由它构成的标准键盘/显示器接口在微机应用系统中使用越来越广泛。显示器接口在微机应用系统中使用越来越广泛。48279接口和编程的一般方法接口和编程的一般方法接口电路的一般连接方法接口电路的一般连接方法8279的的键键盘盘/显显示示器器电电路路与与8031接接口口的的一一般般连连接方法如图接方法如图8-22所示。所示。ALE可可直直接接与与

42、8279CLK相相连连,由由8279设设置置适适当当的分频数,分频至的分频数,分频至100KHz。图9-22 8279的键盘/显示器电路及与8031接口8279键盘、显示接口应用特性:键盘、显示接口应用特性:(1)8279操作命令(表操作命令(表8-2所示)所示)(2)8279的的FIFO状态查询状态查询(3)8279的数据输入的数据输入/输出输出(4)显示器的填入)显示器的填入/移位方式移位方式(5)8279的内部译码与外部译码的内部译码与外部译码(6)键盘键值的给定)键盘键值的给定表9-2 8279命令功能键一览表(续表)8031和和8279键盘键盘/显示器接口的编程方法显示器接口的编程方

43、法对对于于图图8-22所所示示的的一一般般接接口口电电路路,键键盘盘的的读读出出既既可用中断方式,也可用查询方式。可用中断方式,也可用查询方式。设若设若16位位LED显示,显示,16个按键,键盘采用查询个按键,键盘采用查询方式读出。方式读出。16位显示数据的段选码存放在位显示数据的段选码存放在8031片片内内RAM的的30H3FH单元;单元;16个键的键值读出后个键的键值读出后存放在存放在40H4FH中。中。8031晶振为晶振为8MHz。图9-23 88键盘的键值与键号返回本节9.3打印机接口打印机接口9.3.1TPP-40A主要性能、接口要求及时序主要性能、接口要求及时序9.3.2字符代码及

44、打印命令字符代码及打印命令9.3.3TPP-40A/16A与与MCS-51单片机接口单片机接口9.3.4打印程序实例打印程序实例返回本章首页9.3.1TPP-40A主要性能、接口要求及时序主要性能、接口要求及时序1TPP-40A的主要技术性能的主要技术性能(1)采采用用单单片片机机控控制制,具具有有2KB监监控控程程序序及及标标准的准的Centronic并行接口。并行接口。(2)具具有有较较丰丰富富的的打打印印命命令令,命命令令代代码码均均为为单单字节,格式简单。字节,格式简单。(3)可可产产生生全全部部标标准准的的ASCII代代码码字字符符,以以及及128个非标准字符和图符。个非标准字符和图

45、符。(4)可打印出)可打印出8240点阵的图样。点阵的图样。(5)字字符符、图图符符和和点点阵阵图图可可以以在在高高和和宽宽的的方方向向放大为放大为2、3、4倍。倍。(6)每每行行字字符符的的点点行行数数可可用用命命令令更更换换,即即字字符符行间距空点行在行间距空点行在0256间任选。间任选。(7)带有水平和垂直制表命令,便于打印表格。)带有水平和垂直制表命令,便于打印表格。(8)具具有有重重复复打打印印同同一一字字符符命命令令,以以减减少少输输送送代码的数量。代码的数量。(9)带有命令格式的检错功能。)带有命令格式的检错功能。2接口要求接口要求TPP-40A微微型型打打印印机机与与计计算算机

46、机应应用用系系统统通通过过机机箱箱后后部部的的20芯芯扁扁平平电电缆缆及及插插件件相相连连。打打印印机机箱箱后后部接插件引脚信号如图部接插件引脚信号如图8-24所示。所示。DB0DB7:数据线,单向由计算机输入打印机。:数据线,单向由计算机输入打印机。(STROBE):数据选通信号。):数据选通信号。BUSY:打印机:打印机“忙忙”状态信号。状态信号。(ACKNOWLEGE):打印机的应答信号。):打印机的应答信号。(ERROR):出错信号。):出错信号。图9-24 TPP-40A/16A插脚安排(从打印机背视)3接口信号时序接口信号时序图9-25 TPP-40A/16A接口信号时序4主计算机

47、端推荐接口电路主计算机端推荐接口电路图8-26 TPP-40A/16A推荐接口电路图返回本节9.3.2字符代码及打印命令字符代码及打印命令1字符代码字符代码字符代码串实例如下:字符代码串实例如下:l l打印字符串打印字符串“3265.37”输送代码串为:输送代码串为:24,33,32,36,35,2E,33,37,0D。l l打印打印“ThisisMicro-Printer”输输送送代代码码串串为为:54,68,69,73,20,69,73,20,4D,69,63,72,6F,2D,70,72,69,6E,74,65,72,2E,0D。l l打印打印“32.8cm2”输送代码为:输送代码为:3

48、3,32,2E,38,63,6D,9D,0D2打印命令打印命令命令代码命令功能01H打印字符、图等,增宽(1,2,3,4)02H打印字符、图等,增高(1,2,3,4)03H打印字符、图等,宽和高同时增加(1,2,3,4)04H字符行间距更换/定义05H用户自定义字符点阵06H驻留代码字符点阵式样更换07H水平(制表)跳区08H垂直(制表)跳区09H恢复ASCII代码和清输入缓冲区命令0AH一个空位后回车换行 0BH0CH无效0DH回车换行 0EH重复打印同一字符命令0FH打印位点阵图命令表8-3 TPP-40A打印命令代码及功能3命令非法时的出错提示命令非法时的出错提示图8-27 出错代码信息

49、打印格式返回本节9.3.3TPP-40A/16A与与MCS-51单片机接口单片机接口TPP-40A/16A没没有有读读写写信信号号线线,只只有有一一对对握握手手线、线、BUSY,接口如图,接口如图8-28所示。所示。图图9-29是是通通过过单单片片机机应应用用系系统统中中的的扩扩展展I/O口口连连接的打印机接口电路。接的打印机接口电路。图图9-28、图图9-29中中打打印印机机的的口口地地址址由由地地址址线线P2口线决定,使用时,口地址设为口线决定,使用时,口地址设为7FFFH。图9-28 TPP-40A/16A与8031数据总线接口电路图图9-29 TPP-40A/16A与8031扩展I/O

50、口连接的接口电路图返回本节9.3.4打印程序实例打印程序实例下下面面以以图图8-29作作为为打打印印机机接接口口,介介绍绍一一种种使使用用TPP-16A打打印印机机打打印印1616点点阵阵汉汉字字“作作业业”的的程程序序。程程序序清清单如下:单如下:HZDY:MOVDPTR,#TAB2 ;置字型表首址;置字型表首址MOVR6,#02HDY1: MOVB,#20HLCALLSUB2;调用打印机控制子程序;调用打印机控制子程序DJNZR6,DY1RETSUB1:PUSHDPH;DPTR入栈入栈MOVDPTR,#TAB1 ;置打印机控制字表首址;置打印机控制字表首址MOVR5,#05H;送打印控制字

51、串到打印机;送打印控制字串到打印机SB11:LCALL DAY2LCALL DAY1DJNZR5,SB11MOVA,BLCALL DAY1MOVA,#00HLCALL DAY1POPDPL;DPTR出栈出栈POPDPHRETSUB2: MOVR5,B;送由;送由B设置个数的汉字字型码到打印机设置个数的汉字字型码到打印机SB21: LCALL DAY2LCALL DAY1DJNZR5,SB21MOVA,#0DH;回车换行;回车换行LCALL DAY1RETDAY1: PUSHDPHPUSHDPLMOVDPTR,#7F01H;将字型码送;将字型码送8155PA口口MOVXDPTR,AMOVDPTR

52、,#7F03H;用;用8155PC口模拟打印机信号口模拟打印机信号MOVA,#00HMOVXDPTR,AMOVA,#01HMOVXDPTR,AJBP3.3,$ ;打印机忙等待;打印机忙等待POPDPLPOPDPHRETDAY2: CLRA;取字型码子程序;取字型码子程序MOVXA,A+DPTRINCDPTRRETTAB1:DB1BH,31H,00H,1BH,4BH;打印机控制字符串;打印机控制字符串TAB2:DB00H,00H,00H,0FFH,0FEH,00H,00H;汉汉字字“作作”的下半部字形码的下半部字形码DB00H,0FFH,0FFH,20H,20H,20H,60H,20HDB00H

53、,02H,02H,0E2H,0C2H,0FEH,0FEH,02H;汉字;汉字“业业”下半部字形码下半部字形码DB02H,0FEH,0FEH,62H,0C2H,02H,06H,02HDB00H,01H,06H,1FH,0F7H,60H,02H,0CH;汉字;汉字“作作”的上半部字形码的上半部字形码DB38H,0FFH,5FH,12H,12H,16H,32H,10HDB00H,08H,07H,03H,00H,0FFH,7FH,00H;汉字;汉字“业业”的上半部字形码的上半部字形码DB00H,0FFH,7FH,00H,03H,1FH,0CH,00H返回本节THANKYOUVERYMUCH!本章到此结束,本章到此结束,谢谢!谢谢!结束放映返回本章首页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号