单片机键盘显示接口电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中北大学

单片机及其接口技术

课程设计说明书

学生姓名:苏瑞学号:0805054218

学院:信息与通信工程学院

专业:自动化

题目:单片机键盘显示接口电路设计

指导教师:沈小林职称: 副教授

2011年6月19日

中北大学

单片机及其接口技术

课程设计任务书

10/11 学年第二学期

学院:信息商务学院

专业:自动化

学生姓名:苏瑞学号:0805054218 课程设计题目:单片机键盘显示接口电路设计

起迄日期:6月13日~6月19日

课程设计地点:中北大学

指导教师:沈小林

系主任:王忠庆

下达任务书日期: 2011年06月13日

第一章、绪论

89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。在本次课程设计中,便采用89C51单片机。

第二章、设计内容

一、4×4键盘

原理:4×4

图1

电路原理图见附图一

本次设计为4×4的矩阵键盘,这样的设计可以有效的减少键盘与单片机接口时所占用的I/O接口。在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。

首先判断有无按键按下。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。

判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。

在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码,本次设计中采用软件实现键值的译码,译码方式如下:

第0行键值为:0行×4+列号(0~3)为0、1、2、3;

第1行键值为:1行×4+列号(0~3)为4、5、6、7;

第2行键值为:2行×4+列号(0~3)为8、9、A、B;

第3行键值为:3行×4+列号(0~3)为C、D、E、F;

译码程序如下:

MOV A,R0 ;取行号送A

MOV B,#04 ;每一行按键个数

MUL AB ;行号×按键数

ADD A,R2 ;R2中存放列号,行号×按键数+列好=键值,在A中键盘行扫描流程图如下:

图2

二、8位LED七段数码管显示

原理:

在显示电路中,需要使用到74LS48与74LS138两块集成芯片。74LS48用作七段数码管数值显示译码器,将P0.0-P0.3输出的数值BCD码译码后得到的段选码送给七段数码管,使得数码管能够正确显示数值。74LS138做选位段译码器,将P0.4-P0.6输出的位选BCD码转化为二进制反码,进行选位。

在本次设计中,8为LED七段数码管均采用共阳极接法。通过八个非门对74LS138输出的电平进行取反,与74LS48共同实现共阳极接法对七段LED数码管的显示驱动。具体电路原理见附图二。

74LS48芯片的电路结构原理及引脚图:引脚图中的大写字母A、B、C、D为BCD码输入端,小写字母a、b、c、d、e、f、g为字型码输出端,LT为灯测试输入端,RBI为消隐输入,RBO为消隐输出。表1为74LS48 BCD-7段锁存/译码/驱动器作为段驱动器的输入输出信号的对应关系。在使用时,将芯片的输入端引脚A、B、C、D与单片机的P0口相连接,该芯片的输出端七个管脚,与LED显示器的七个段码引脚相连接。74LS48的作用是接受来自单片机的BCD码型的输入信号,经锁存、译码和放大后,输出七段字型码到LED显示器,完成对BCD码到七段字型码的锁存、译码和驱动的功能。

74LS48 BCD-7段译码器输入/输出端信号对照表

表1

74LS138 为3 线-8 线译码器工作原理如下:

当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。其输入输出真值表如表2.

表2

此电路可以实现静态与动态显示两种方:。

1、静态显示可实现一位显示。既选位段选中一位,数据段输出数值,使得数码管显示数值。静态显示器的亮度较高。这种显示方式

编程容易,管理也较简单,但占用I/O口线资源较多。在显示位数较多的情况下,一般都采用动态显示方式。

2、动态显示可以实现八位同时显示不同数值。段选码与位选码没送入一次后延时1ms,因为人眼的视觉暂留时间为100ms,所以,每次每次显示的时间不超过20ms,并保持一段时间,易造成视觉暂留效果,给人看上去每个数码管总在亮。这种方式称作软件扫描显示。例如要显示“0123”,必须对P0口进行如下编辑:

MOV P0,#80H

LCALL DYI

MOV P1,#41H

LCALL DYI

MOV P1,#22H

LCALL DYI

MOV P1,#13H

LCALL DYI

相关文档
最新文档