基于单片机的键盘和LED数码管工作原理_第1页
基于单片机的键盘和LED数码管工作原理_第2页
基于单片机的键盘和LED数码管工作原理_第3页
基于单片机的键盘和LED数码管工作原理_第4页
基于单片机的键盘和LED数码管工作原理_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的键盘和 LED数码管工作原理摘要 :键盘和显示器是微机最常见的输入输出设备。 本文介绍键盘和 LED显示器的基本工作 原理,并给出在 8051 基础上的电路结构及 C语言代码。关键字 : 键盘, LED,单片机键盘是微型计算机系统中最基本、最常见的输入设备。在各种工业过程的计 算机控制和监视系统中, 广泛应用发光二极管向用户提供提示。 由发光二极管可 以构成 7段/8 段 LED显示器,用于显示工作状态、参数数值和故障位置。 一. 键盘的工作原理键盘实际上是一组按键开关的集合, 平时按键开关总是处于断开状态, 当按 下键时它才闭合。(一)键盘的基本介绍1. 键盘的功能键盘接口必须具

2、有 4 个基本功能:1. 去抖动2. 防串键3. 识别被按键并产生与之对应的键码4. 释放键 而键码产生后如何去实现按键的特定功能,是操作系统和应用程序的任务2. 键盘的分类根据按键开关的排列方式,键盘可分为线性键盘和矩阵键盘。线性键盘: 硬件连接和接口程序都很简单, 只适用于按键少的场合, 因为线 性键盘有多少按键,就需要有多少根连线与微机输入端口相连。矩阵键盘:将按键排成 n行 m列,每个按键占据行列的一个交点, 需要的外 连接线数目是 m+n,而容许的最大按键数是 m*n,显然可以减少微机接口的连线, 是一般微机常采用的键盘结构。3. 键盘与单片机的连接方式矩阵键盘的连接方法有多种。 可

3、直接连接于单片机的 I/O 口线;可利用扩展 的并行 I/O 口连接;也可利用可编程的键盘、显示接口芯片(如 8297)进行连 接等等。其中, 利用扩展的并行 I/O 口连接方便灵活, 在单片机应用系统中比较 常用。下图就是通过 8255A 芯片扩展的并行 I/O 口连接的矩阵键盘。图 1 微处理器和键盘接口接线示意(二)键盘的工作过程 被按键的识别和键码的产生是键盘接口要解决的主要问题, 可以通过软硬结合的方法来解决。通常识别被按键有两种方法:行扫描法和线反转法。 实际微型计算机系统中以行扫描法应用最广, 其基本思想是: 由程序对键盘 进行逐行扫描, 通过检测到的列状态来确定闭合键, 需要输

4、出端口、 输入端口各 1 个。下面由以并行接口芯片 8255A 组成的微机与键盘接口来说明非编码键盘采 用行扫描法进行按键识别并产生编码的原理。设 8255 的端口地址为:4043H,键盘的行线接在 PA0PA3上,列线接在 PB0PB3 上,接口示意如图 1,PA端口定义为输出端口, PB 端口定义为输入端口。扫描 的步骤如下:( 1)快速检查是否有键按下。使 PA0PA3 输出全为 0,读取 PB0PB3 上数据,只要 有一位为 0,必定有某键被按下。( 2)去抖动。延时 20ms左右,等待按键通、断引起的抖动消失,然后再判断具 体按下的到底是哪个键。( 3)确定被按下的键。从 0 行开始

5、,顺序逐行扫描,即该行输出 0。每扫描一 行,读入列线数据,从 0 列开始,逐列检查,判断是否有输入为 0的列,若无, 则顺序扫描下一行,并检查各列;若检查到某列线为 0,则该行、列交点上的按 键为被按下的键。具体控制程序请见附录 1。.LED数码管显示器的工作原理(一) LED显示器的基本介绍一般 8 段 LED显示器的内部结构和外部引脚如图 2所示。每段都是一个发光 二极管,通过点亮不同的字段, 可显示 09和AF等不同字符。 其内部各发光二 极管之间的连接方法有共阴极和共阳极两种。如图 2 所示。图 2 LED 显示器内部结构(二) LED显示器工作过程 为了达到显示某一波形的目的, 需

6、要从接口中输出不同的数码, 这些数码称 为字形码或段码。采用共阳极接法时,得到低电平信号的引脚对应的段被点亮; 采用共阴极接法时, 得到高电平信号的引脚对应的段被点亮。 所以对于共阴极和 共阳极两种不同的接法,为了显示同一个字符,对应的显示段码是不同的。在 8 段和 8 位字节数有如下对应关系时, ag 分别接数据线 D0D5,dp 接 D7,图 3 给出了这两种接法的 8 段 LED显示器字符段码表。图 3 8 段 LED 显示器字符段码表比如,为了显示 5,采用共阴极接法( 1 是亮),应该使 D7D0=01101101;B 采用共阳极接法, D7D0=10010010。B实际使用的 LE

7、D数码管 LED数码显示器位数较多, 为了简化线路,降低成本, 对于多位 LED数码显示器, 通常采用动态扫描显示方法, 即逐个地循环点亮各位 显示器。这样虽然在任意时刻只有一位显示器被点亮, 但是由于人眼具有视觉残 留效应,看起来与全部显示器持续点亮的效果基本一样(在亮度上有差别) 。图 4 8 段动态 LED 显示器接口原理三. 键盘和显示器与单片机 8051 的连接图 5 矩阵键盘与 8051 芯片连接原理图6LED 显示器与 8051 连接原理附录 1:矩阵键盘与数码管显示控制程序排线连接方法: JP8(P1)与 JP4(矩阵键盘接口)连接; P0与 JP3(静态数码管 ) 连接。矩阵

8、键盘定义: P1.1-P1.4 为列线; P1.4-P1.7 为行线;程序:#include #include #define uchar unsigned char#define uint unsigned intuchar dis_buf; / uchar temp;uchar key; /显示缓存键顺序吗void delay0(uchar x); /x*0.14MS#define delayNOP(); _nop_();_nop_();_nop_();_nop_();/ 此表为 LED 的字模 0 1 2 3 4 5 67 8 9 a b c d e funsigned char cod

9、e LED7Code 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0 x7C,0x39,0x5E,0x79,0x71;/*/* 延时子程序/*/*/*/void delay(uchar x) uchar j;while(x-)!=0) for(j=0;j4)|0xF0); if(temp=1) / p1.4 key=0;else if(temp=2) / p1.5 key=1;else if(temp=4) / p1.6 key=2;else if(temp=8) / p1.7 key=3;elsekey=16;*/*/*/*/

10、* 判断键是否按下/*void keydown(void)P1=0xF0;if(P1!=0xF0) / 端口keyscan(); /判断按键是否按下 如果按钮按下 会拉低 P1 其中的一个调用按键扫描程序/*/* 主程序/*/*/*/*main()P0=0xFF;P1=0xFF;delay(10);/置 P0 口/置 P1 口/延时while(1)keydown();/ 调用按键判断检测程序P0 = LED7Codedis_buf%16&0x7f; /LED7 0x7f 为小数点 共阴和 共阳此处也是不一样 ; %16 表示输出 16 进制附录 2:8051 单片机引脚功能介绍8051 芯片管

11、脚图单片机的 40 个引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。 电源: VCC - 芯片电源,接 +5V; VSS - 接地端; 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线 : 控制线共有 4 根, ALE/PROG:地址锁存允许 / 片内 EPROM编程脉冲 ALE 功能:用来锁存 P0口送出的低 8 位地址 PROG功能:片内有 EPROM的芯片,在 EPROM编程期间,此引脚输入编程 脉冲。 PSEN:外 ROM读选通信号。 RST/VPD:复位/ 备用电源。 RST( Reset )功能:复位信号输入端。 VPD功能:在 Vcc 掉电情况下,接备用电源。 EA/Vpp: 内外 ROM选择 / 片内 EPROM编程电源。 EA 功能:内外 ROM选择端。 Vpp 功能:片内有 EPROM的芯片,在 EPROM编程期间,施加编程电源 Vpp。 I/O 线80C51 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3口,共 32个引脚。 P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 。P0 口有三个功能:1、外部扩展存储器时, 当做数据总线(如图 1中的 D0D7为数据总线接口)2、外部扩展

温馨提示

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

评论

0/150

提交评论