第7章AT89S51单片机与数码管、键盘接口_第1页
第7章AT89S51单片机与数码管、键盘接口_第2页
第7章AT89S51单片机与数码管、键盘接口_第3页
第7章AT89S51单片机与数码管、键盘接口_第4页
第7章AT89S51单片机与数码管、键盘接口_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要内容:主要内容: 1. 数码管显示原理及接口设计 2. 键盘接口原理与设计 重点理解:重点理解:1. 数码管接口设计3. 键盘接口设计第第7章章 AT89S51单片机与输入单片机与输入/输出外设的接口输出外设的接口大多数单片机应用系统,都要配置输入和输出外设。常用的输入外设输入外设键盘BCD码拨盘等输出外设输出外设LED数码管LCD显示器打印机等7.1 LED数码管的显示原理数码管的显示原理7.1 LED数码管的显示原理数码管的显示原理有共阳极和共阴极两种结构一、一、 LED数码管的结构数码管的结构图7-1 8段LED数码管结构及外形由7段或8段发光二极管组成,在平面上排成8字型。为使数码

2、管显示不同的符号或数字,需把某些段点亮,这就需要为LED数码管提供段码(字型码)。一、一、 LED数码管的结构(续)数码管的结构(续)各段与字节中各位对应关系如表7-1所示:LED数码管共计8段。正好是一个字节。习惯上是以以“a”段段对应段码字节的对应段码字节的最低位最低位。一、一、 LED数码管的结构(续)数码管的结构(续)按照上述对应关系,显示各种字符的8段LED数码管的段码如表7-2所示。二、二、 LED数码管的工作原理数码管的工作原理(以4位LED数码管为例介绍)图图7-2 4位LED数码管的结构原理图 位选线:位选线:4条,控制该显示位的LED数码管的亮或暗。 段码线:段码线:8 4

3、条,控制显示字型。二、二、 LED数码管的工作原理(续)数码管的工作原理(续)有静态显示和动态显示两种显示方式1LED静态显示方式静态显示方式图7-3 4位LED静态显示电路4位LED数码管,同时处于显示状态。二、二、 LED数码管的工作原理(续)数码管的工作原理(续)2LED动态显示方式动态显示方式图7-4 4位LED动态显示电路在任何时刻只有一个在任何时刻只有一个LEDLED数码管处于显示状态数码管处于显示状态优点优点:硬件电路简单,显示器越多,优势越明显。缺点缺点:显示亮度不如静态显示的亮度高。若“扫描”速率较低, 会出现闪烁现象。1. I/O口驱动数码管口驱动数码管动态动态显示显示(独

4、立方式)三、三、 LED数码管接口设计实例数码管接口设计实例(1)硬件电路连接如图MAIN: MOV 60H,#1 MOV 61H,#2 MOV 62H,#3 MOV 63H,#4ORG0000HAJMP MAINORG 0100H; ;显示缓冲区初始化显示缓冲区初始化1. I/O口驱动数码管口驱动数码管动态动态显示显示(独立方式)(续)(续)4位共阴极数码管动态显示1234 ACALL DELAYCJNE R0,#64H,DIS1RET; ;显示子程序显示子程序START: ACALL DIS AJMP START ; ;显示主程序显示主程序DIS: MOVR0,#60H MOVR3,#0F

5、EHMOVA,R3MOVP2,ADIS1:MOVA,R3RL AMOVR3,AMOVDPTR,#TABMOVA,R0MOVC A,A+DPTRMOVP0,AINC R0(2)程序清单:TAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH ;0;09 9的段码表的段码表 ; ;延时子程序延时子程序DELAY: MOV 6AH,#20HDELAY1: MOV 6BH,#20H DJNZ 6BH,$ DJNZ 6AH,DELAY1 RET END1. I/O口驱动数码管口驱动数码管动态动态显示(续)显示(续)2. 总线驱动数码管总线驱动数码管动态动态显

6、示显示(总线方式)(1)硬件电路连接如图位码地址:位码地址:9000H9FFFH段码地址:段码地址:8000H8FFFH2. 总线驱动数码管总线驱动数码管动态动态显示显示(总线方式)MAIN: MOV 70H,#2 MOV 71H,#0 MOV 72H,#1 MOV 73H,#4ORG0000HAJMP MAINORG 0100H; ;显示缓冲区初始化显示缓冲区初始化上述电路中4位共阴极数码管动态显示 2014ACALL DELAYCJNE R0,#74H,DIS1RET; ;显示子程序显示子程序START: ACALL DIS AJMP START ; ;显示主程序显示主程序DIS: MOV

7、R0,#70H MOV79H,#0FEHMOVA,79HMOVDPTR,#9FFFHMOVX DPTR,ADIS1:MOVA,79HRL AMOV79H,AMOVDPTR,#TABMOVA,R0MOVC A,A+DPTRMOVDPTR,#8FFFHMOVX DPTR,AINC R0(2)程序清单:2. 总线驱动数码管总线驱动数码管动态动态显示(续)显示(续); ;延时子程序延时子程序DELAY: MOV 7AH,#20HDELAY1: MOV 7BH,#20HDELAY2: DJNZ 7BH,DELAY2 DJNZ 7AH,DELAY1 RET END2. 总线驱动数码管总线驱动数码管动态动态

8、显示(续)显示(续)TAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH ; 0 09 9的段码表的段码表 7.2 键盘接口原理键盘接口原理一、键盘输入应解决的问题一、键盘输入应解决的问题1键判断:键判断:3键处理:键处理:2键识别:键识别:4消除按键的抖动:消除按键的抖动:判别是否有键按下?根据键值,找到相应键值的处理程序入口图7-6 键盘开关及其行线波形为确保对一次按键动作只确认一次有效,必须消除 抖动期t1和t3的影响。若有,识别哪一个键,求出相应的键值。二、键盘的工作原理二、键盘的工作原理1非编码键盘非编码键盘键盘可分为两类:非编码键盘和

9、编码键盘常见两种结构:独立式键盘和矩阵式键盘。图7-7 独立式键盘接口电路图7-8 矩阵式键盘接口一键一线,各键相互独立识别键按下编写程序简单适用于按键数目较少场合按键位于行、列的交叉点识别键按下编写程序复杂适用于按键数目较多场合2. 2. 矩阵式键盘矩阵式键盘行、列线为多键共用,须行、列线信号配合,才能确定闭合键位置。矩阵式键盘按键的识别方法: 扫描法扫描法 线反转法线反转法 让行线编程为输入线,列线编程为输出线让行线编程为输入线,列线编程为输出线,并使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。 再把行线编程为输出线,列线编程为输入线,再把行线编程为输出线,列线编程为输

10、入线,并使输出线输出为全低电平,则列线中电平由高变低所在列为按键所在列。使所有列为低电平所有列为低电平,检查各行线电平有否变化,有,则有健按下有健按下;依次使某列为低电平某列为低电平,其余各列为高电平,再检查各行线电平的变化,直至检查到某行线电平变低,则可确定此行此列交叉点处的按键被按下可确定此行此列交叉点处的按键被按下。(一)(一)I/O口驱动数码管显示及矩阵键盘口驱动数码管显示及矩阵键盘三、键盘三、键盘/显示器接口设计实例显示器接口设计实例(一)(一)I/O口驱动数码管显示及矩阵键盘(续)口驱动数码管显示及矩阵键盘(续); ;* * * * * * * * * * * * * *键盘扫描子

11、程序键盘扫描子程序* * * * * * * * * * * * * * * *KEYSCAN:CLR 30HMOV A,#0FHMOV P3,ANOPMOV A,P3CPL AANL A,#0FH JZ KEYS SETB 30HKEYS: RETNY开 始键扫描有键按下?返回置位按键标志JUDGE:ANL A,#0FH MOV 63H,A MOV A,61H ANL A,#0F0H ORL A,63H;键值存入62H单元 MOV 62H,A NOP (一)(一)I/O口驱动数码管显示及矩阵键盘(续)口驱动数码管显示及矩阵键盘(续); ;* * * * * * * * * * * * *判断键盘子程序(扫描法)判断键盘子程序(扫描法)* * * * * * * * *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论