单片机原理及接口技术结课报告键盘输入及显示.docx

单片机原理及接口技术结课报告键盘输入及显示.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术结课报告键盘输入及显示

单片机原理及接口技术结课报告——键盘输入及显示小组成员:第一章总体设计原理本设计是一个实现加、减、乘、除的计算器,它的硬件主要由四部分组成,一个AT89C51单片机芯片,一个八位共阳极的数码管,一个4*4的键盘,一个排阻(10K)做P0口的上拉电阻,它可以实现结果低于65535的加、减、乘、除运算。显示部分:采用动态显示,由八位共阳极数码管通过P0口,P2口与单片机相连,数码管的A,B,C,D,E,F,G,DP分别依次与单片机的P0.0—P0.7相连,P0口做为单片机的字码控制端,数码管的1,2,3,4,5,6,7,8各引脚分别与单片机的P2.0—P2.7相连,P2口作为数码管的位控制端。按键部分:采用4*4键盘。采用软件识别键值并执行相应的操作,键盘的第0行到第3行依次与单片机的P3.4—P3.7管脚相连,键盘的第0列到第3列依次与单片机的P1.0—P1.3管脚相连,程序运行时依次扫描各行,查询是否有键按下,如果有则进入键盘识别处理程序,实现相应的运算,然后通过数码管输出结果,如果没有按键就调用显示程序显示一个0,等待按键按下,在进入按键扫描程序。执行过程:开机即显示0,等待键入数值,当键入数字,将通过数码管显示出来,在键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当在键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。注:结果不能超出65535。按键控制显示电路系统的总体原理框图为:矩阵键盘输入LED按键监控单片机提取转换数码管显示数字第二章硬件设计2.1 系统所选芯片介绍AT89C51芯片是一种带有4K字节闪存的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。AT89C51单片机模块是整个电路的核心,时钟信号与复位信号的产生以及程序的处理等任务都是由单片机来完成的。时钟信号用来提供单片机片内各种微操作的时间基准,复位信后用来初始化单片机内部的某些特殊功能寄存器,使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。图1 AT89C51单片机2.2显示器介绍LED(Light Emiting Diode)是发光二极管的缩写。通常所说的LED显示器由7个发光二极管组成,因此也称为七段LED显示器,其排列形状如下图所示。显示器还有一个圆点型发光二极管(图中dp),用于显示小数点。通过其个发光二极管亮暗的不同组合,就可以显示多种数字、字母以及其他符号。其中发光二极管有两种接法:共阳极接法(低电平导通点亮)和共阴极接法(高电平导通点亮),数码表的字形编码表如下。LED显示器的字形代码正好是一个字节。各代码的对应关系如表1,2所示,数码管结构如图1所示:表1 数码表的字形编码表代码位D7D6D5D4D3D2D1D0显示段dpgfedcba表2 字符对应编码键码键值键码键值EE7BE1 ED8BD2 EB9BB3 E7/B7- DE47ECL DD57D0 DB67B= D7*77+ 图2LED数码管结构2.3系统工作原理图及实现方法图3系统工作原理图单片机选择AT89C51,数码管选择共阳机八位数码管,键盘5*4矩阵键盘,P0口接上拉电阻,数码管的A,B,C,D,E,F,G,DP分别依次与单片机的P0.0—P0.7管脚相连,P0口做为单片机的字码控制端,数码管的1,2,3,4,5,6,7,8各引脚分别与单片机的P2.0—P2.7管脚相连,键盘的第0行到第4行依次与单片机的P3.3—P3.7,键盘的第0列到第3列依次与单片机的P1.0—P1.3,AT89C51接12MHZ晶振。P3.2接风鸣器。第三章软件设计3.1本系统的主要功能模块设计及其对应流程图3.1.1显示程序设计(1)显示程序具有通用性,在不进行输入时显示0,输入时显示输入的数字或运算结果,而且要使8个数码管同时显示不同的数字,选用动态显示。将30H-37H单元设置成数码管显示缓冲区,分别存放数码管各个位要显示的数据,40H单元作为输入数据的计数单元。因为运算结果超出范围时应报错,使数码管显示“ERROR”即可,将数码管的0-9的代码和“ERROR”代码存于LABLE1列表中。当调用显示程序时,显示程序根据40H单元的记录的个数决定数码管显示的位数。如果输入错误将在数码管上显示“ERROR”。显示程序的入口:30H-37H,依次存放个位-千万位。 40H,存放输出的数字位数。 出口:数码管,P0输出字段码 P2输出位选码。(2)流程图见附录1:3.1.2键盘识别程序设计(1)将P3口送0FOH,将P1口先送1在读P1口的数据当P1口低四位全一时说明没有键按下,在扫描下一行,如果P1口不全一,则有键按下,将P3口高四位与P1口

文档评论(0)

weizhent2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档