单片微机原理及应用显示器键盘打印机接口.ppt
《单片微机原理及应用显示器键盘打印机接口.ppt》由会员分享,可在线阅读,更多相关《单片微机原理及应用显示器键盘打印机接口.ppt(95页珍藏版)》请在三一文库上搜索。
1、第9章 显示器、键盘、打印机接口,9.1 显示器接口电路 9.2 键盘接口电路 9.3 打印机接口电路,9.1.1 LED显示器,1LED显示器结构与原理 LED显示器是由发光二极管显示字段的显示器件。 在微机应用系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图9-1所示。七段显示器与微机接口非常容易。如表9-1所示。,图9-1 七段LED显示器 使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。用LED显示器显示16进制数的编码已列在表9-1所示。,为
2、了实现LED显示器的动态扫描,除了要给显示器提供段码(字形编码)的输入之外,还要对显示器加位的控制(控制LED显示器亮灭),这就是通常所说的位控和段控。,表9-1 LED显示器16进制数编码,P229,表9-1 七段LED的段选码,2LED显示器与显示方式 在微机应用系统中使用LED显示块构成N位LED显示器。图9-11是N位显示器的构成原理。 LED显示器有两种显示方式: (1)LED静态显示方式(如图9-12所示) (2)LED动态显示方式(如图9-13所示),图9-11 N位LED显示器,图9-12 四位静态LED显示器电路,静态显示即由单片机一次输出显示后,就能保持,直到下次送新的显示
3、模式为止。 优点:显示可靠,占用机时少。 缺点:使用元件多,线路比较复杂。 适用于显示位数少的情况。每个显示器需8位输出口控制。 动态显示即单片机定时对显示器扫描。此时,显示器件分时工作,每次只能有一个器件显示。(仿真器) 优点:硬件少,价格低。 缺点:占用机时多,只要单片机不执行显示程序,显示就立即停止。,3LED显示器接口 从LED显示器的原理可知,为了显示字母与数字,必须最终转换成相应的段选码。这种转换可以通过硬件译码器或软件进行译码。 l 硬件译码器LED显示器接口(如图9-14所示) l 软件译码LED显示器接口(如图9-15 9-16所示) 硬件译码: 锁存器 译码驱动器 显示器
4、CD4511,图9-14 利用硬件译码器的七段LED接口电路,MC14495为七段码显示器译码驱动器,图9-15 通过8155扩展I/O口控制的8位LED动态显示接口,8155的A口作为位控口,经反相驱动器接显示器的公共阴极; 8155的B口作为段码控制口,经同相驱动器接显示器的各个阳极。 软件译码程序设计思想: 1、将段码表(显示数据)存放在RAM的 (79H7EH)中。 2、根据要显示的数字或字符去查相应的段码。 3、然后将段码输出到七段LED的驱动器上。 4、采用扫描的方式控制LED的点亮顺序。,显示数据 79H7EH 8155的口地址:7F00H7F05H 偏移量ROM表首地址当前PC
5、地址 MOVC A,A+PC 是以PC为基址寄存器的单字节指令。 执行过程是:CPU读取本指令后, PC的值自动加,累加器A的内容作为无符号数与新的PC的内容相加形成一个16位地址,再将该地址指出的程序存储器单元的内容送累加器A。指令执行后PC指向下一条指令继续执行。,显示缓冲区在RAM中,7EH 7DH 7CH 7BH 7AH 79H,LED6 LED2 LED1,存放要显示的数据和字符的段码,程序清单:,DIR: MOV R0,#79H;置缓冲器指针初值 MOV R3,#01H;置扫描位初值 MOV A, R3 LD0: MOV DPTR ,#7F01H;A口地址 MOVX DPTR,A
6、INC DPTR ; B口地址 MOV A,R0 ;取显示数据 ADD A,0DH ;加偏移量 MOVC A,A+PC;查表取段码 DIR1:MOVX DPTR,A;段数据送B口 ACALL DL1 ;延时ms INC R0 MOV A,R3 JB A.5,LD1 RL A,MOV R3,A SJMP LD0 LD1: RET DSEG: DB 3FH,06H,5BH,. DSEG1:DB 7DH,07H,7FH,. DSEG2:DB 39H,5EH,79H,. DSEG3:DB 31H,6EH,1CH,. DSEG4:DB 18H,00H,00H,. DL1: MOV R7,#02H DL:
7、 MOV R6,#0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL RET,图-16 动态显示子程序流程图,返回本节,P231,9,9.1.2 LCD显示器接口,1LCD的基本结构及工作原理,图9-17 液晶显示器基本结构,特点是体积小、重量轻、功耗极低、抗干扰能力强。,2LCD的驱动方式 LCD七段显示器除了ag七个笔划之外还有一个公共极COM。可采用静态驱动方式(加直流信号)和动态驱动方式(加交流信号)。 静态驱动回路及波形如图9-18所示,图中LCD表示某个液晶显示段。 当显示字段增多时,为减少引出线和驱动回路数,需要采用时分割驱动法。时分割驱动方式通常采用电压平均化法,
8、其占空比有1/2,1/8,1/11,1/16,1/32,1/64等,偏比有1/2,1/3,1/4,1/5,1/7,1/9等。,(a)驱动回路;(b)真值表;(c)驱动波形 图9-18 静态驱动回路及波形,C,A为显示频率信号,B为显示控制信号 LCD两端相对电压为0不显示,两端的方波信号相位相反时,显示。,3LCD接口实例 硬件接口电路:图8-19为六位液晶静态显示电路。 典型显示子程序:设显示缓冲区为8031片内RAM的22H27H六个单元依次放置六位分离的BCD码。 点阵液晶显示模块能显示的字符多,并且还能显示汉字。,图9-19 六位LED静态显示电路,返回本节,八段数码管显示,一、实验要
9、求 利用实验仪提供的显示电路,动态显示一行数据. 二、实验目的 1 了解数码管动态显示的原理。 2 了解用总线方式控制数码管显示,1本实验仪提供了6 位8 段码LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示器共有6个,用动态方式显示。8 位段码、6位位码是由两片74HC374输出。位码经MC1413倒相驱动后,选择相应显示位。 2.本实验仪中 8 位段码输出地址为0X004H,位码输出地址为 0X002H。此处X 是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KE
10、Y/LED CS 接到CS0 上,则段码地址为08004H,位码地址为08002H。,OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 LEDBuf equ 60h ; 显示缓冲区 Num equ 70h ; 显示的数据 DelayT equ 75h ; Org 0000h ljmp Start LEDMAP: ; 八段管显示代码(1-F) db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h Delay: mov r7, #0 ;
11、 延时子程序 DelayLoop:djnz r7, DelayLoop djnz r6, DelayLoop ret DisplayLED: 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 a, r2 movx dptr, a ; 显示一位八段管 mov r6, #01 call
12、Delay mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 ret,Start: mov sp, #40h mov Num, #0 MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBuf FillBuf: mov a, b anl a, #0fh mov dptr, #LEDMap,movc a, a+dptr ; 数字转换成显示码 mov r0,a ; 显示在码填入显示缓冲 inc r0
13、inc b cjne r0, #LEDBuf+6, FillBuf mov DelayT,#30 DispAgain: call DisplayLED ; 显示 djnz DelayT,DispAgain ljmp MLoop end,9.2 键盘接口电路,编码键盘:由硬件自动提供与被按键对应的ASCII码或其它编码。如标准计算机(不是本章讨论的内容) 非编码键盘:软件方式产生编码。 优点:结构简单、成本低廉。 非编码键盘接口技术的主要内容是如何确定被按键的行、列位置,即键码(值)识别是接口技术的关键问题。 按键识别:常用行扫描法。,键盘工作原理 行列式键盘电路原理如图8-3所示。按键设置在行
14、列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。 键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。,图9-3 行列式键盘原理电路,输出口,输入口,0 1 1 1 0 1 1 1 1 0 1,111 111 011 111,按键识别: 1、测试有无键按下; 检查输入端,是否有端口为低电平。 2、去抖动 软件方法:采用延时躲过抖动,时间一般为1020ms。(也有硬件去抖动电路P233) 3、确定键的物理位置(行、列),计算键码。 4、等待键释放,通过时间延迟实现。,如键码
15、编排为: 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 键码计算公式: 键码= 行首键号+列号 00 04 +(0,1,2,3) 08 0C,单片机的键盘接口处理 单片机的键盘接口处理的内容包括以下几个方面: 1、键扫描 2、去抖动,3、键码计算 4、等待键释放 计算键码后,再以延时后进行行扫描的方法等待键释放。等待释放是为了保证键的一次闭合仅进行一次处理。,9.2.1非编码键盘的接口 键盘处理程序的关键是如何识别键码。单片机对键盘进行控制的方法分为程控扫描法(连续扫描)、定时扫描法和中断扫描法。,一、程序控制扫
16、描方式,8155扩展I/O口组成的行列式键盘,8155 PA口地址7F01H PC口地址7F03H,8155:PA口输入列状态信号 PC口输出行扫描信号,.判断有无键按下,PC口输出00H,PA口输入列状态信号,若PA0PA7FFH,有键按下,.去抖动,延时510ms后再判断有无键按下,如果有,键处于稳定闭合期,.再确认哪个键被按下及其键号,8155的PC口依次输出下列扫描字:,PC3 PC2 PC1 PC0,1 1 1 0 读入列值,若PA0PA7=FFH,无键按下,1 1 0 1 若PA0PA7FFH,有键按下,求出键值,0 1 1 1,求键值时,采用行值、列值两个寄存器。 每扫描一行后,
17、如无键按下,则行值寄存器加08H; 如有键按下,则行值寄存器保持原值,并转向求相应 的列值。 首先将列值读数右移(到进位位),每移位一次列值 寄存器加1,直到有键按下(低电平)为止。 最后将行值和列值相加,即得到键值。,9.2.1 非编码键盘的接口 键盘的工作方式: 程控扫描方式、定时扫描方式、中断扫描方式三种。 一、程控扫描方式 P233,键盘扫描显示实验 一、实验要求 在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。 实验程序可分成三个模块。 键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。 显
18、示模块:将显示单元的内容在显示器上动态显示。 主程序:调用键输入模块和显示模块。,二、实验目的 1、掌握键盘和显示器的接口方法和编程方法。 2、掌握键盘扫描和LED八段码显示器的工作原理。 三、实验电路及连线 这里只是键盘草图,详细原理参见下图,本实验仪提供了一个64的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X 是由KEY/LED CS 决定,参见地址译码。做
19、键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如将KEY/LED CS信号接CS0 上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号。,2键盘工作方式(如图8-48-7所示) 键盘的工作方式: 编程扫描方式、定时扫描方式、中断扫描方式三种。 在键盘扫描子程序中完成下述几个功能。 (1)判断键盘上有无键按下 (2)去键的机械抖动影响。 (3)求按下键的键号。 (4)键闭合一次仅进行一次键功能操作。,a.程序控制扫描方式以8155扩展I/O口组成的行列式键盘为例,8155扩展I/O口组成的行列式键盘,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微机 原理 应用 显示器 键盘 打印机 接口
链接地址:https://www.31doc.com/p-2309018.html