基于单片机的计算器推荐.docVIP

  • 2
  • 0
  • 约1.37万字
  • 约 17页
  • 2018-04-28 发布于湖北
  • 举报
基于单片机的计算器推荐

PAGE “简易计算器”设计、调试报告 2010年6月 一、设计目标陈述 计算器是人们在日常生活中很常见的电子产品。本次是基于Keil uVision调试编译软件和单片机AT89C51来设计简易计算器,实现正常的键盘扫描、LED显示、任意两个4位整数的连续加、减、乘、除运算以及计算器复位等基本功能。 二、完成情况简述 本次设计的简易计算器完成了进行正常的键盘扫描,任意两个4位整数的输入和LED循环显示,连续的加、减、乘、除四则运算,结果的正常显示,以及计算器的复位等预期目标。此外,在设计中还解决了键盘的抖动、长久按键时间所引起的键盘扫描问题、LED显示的亮度等细节问题。 三、系统总体描述及系统框图 该设计系统是基于单片机AT89C51,其中 P1口作为输入端,外接4X4的键盘,P0口为LED段选信号输出端,P2口为LED位选信号输出端,通过键盘扫描来读取运算数和运算符,再通过单片机进行相应的运算,将输出结果用LED显示。 系统框图: 键盘输入 键盘输入 驱动电路 数码显示 AT89C51 四、各模块说明 1.键盘设计 4X4的键盘(16个开关),与AT89C51芯片P1口相连,高四位作为输入,低四位作为输出。低四位逐位变低分别对各列进行扫描,一旦有键按下,则对应输入口为低电平,否则输入为高电平,通过这样可以判断按下什么键。在键按下后,要有一定的延时,防止由于键盘的抖动而引起误操作。 2.控制中心用AT89C51来实现 AT89C51单片机参数如下: Vcc正常的运行电压是5v的电源,Vss 为地端。I/O总线,P0口,P1口,P2口,P3口。AT89C51是MCS-51产品的兼容型,ROM、128字节ROM,32根I/O引线,每根都可以独立的使用。每个的端口包含一个8位的数据锁存和一个输入缓冲器。输出时,数据可以锁存;输入时,数据可以缓冲。作为一般的I/O口使用时,在指令的控制下,可以有三种基本的方式:输入输出和读—修改—写。在AT89C51用作输入端时,将首先向引脚写“1”而使内部MOS管截止以便引脚处于悬浮状态,从而可获得高阻抗输入。 3. 驱动电路部分是用三极管和电阻来实现。AT89C51的P0口用于数码管的段选,由NPN管和限流电阻来驱动;P2口用于数码管的位选,由PNP管来驱动。所用数码管为4个共阳LED,段选端为低电平有效,位选端为高电平有效。 4. 显示是用4个共阳的LED来完成。采用动态循环显示方式,全部数码管共用一套段选驱动电路,各位数码管的同段引脚短接后再接到对应段选的驱动线上。显示时通过位选信号采用扫描的方法逐位地循环点亮各位数码管。动态显示虽然在任一时刻只有一位数码管点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。 五、调试流程 1.测试电源 调节直流电压源输出+5V电压,并用万用表检测无误后接入电路板。 2.LED测试 编写LED调试程序如下: #include reg51.h #include intrins.h unsigned char code showcode[]={0xB7,/*0*/0xA0,/*1*/0xD3,/*2*/0xF1,/*3*/0xE4,/*4*/0x75,/*5*/0x77,/*6*/0xA1,/*7*/0xF7/*8*/,0xF5/*9*/}; void main() // 单步调试 { P0=0xB7;//显示0 P2=0xfe; P2=0xfd; P2=0xfb; P2=0xf7; P0=0xf7;//显示8 P2=0xfe; P2=0xfd; P2=0xfb; P2=0xf7; } 进行单步运行,LED逐位显示,显示结果正常。 3.整体调试 将主程序通过仿真器下载到电路板,检测键盘与LED的功能是否正常。 4.功能优化 根据硬件显示的结果进行程序优化,调节LED的亮度与显示的稳定性,以及提高键盘读取数据的正确性和灵敏度。 六、遇到的问题及解决方法 1.问题:上电后四个LED中第四位无法显示 解决方法:先用万用表的二极管档进行LED电路测试,发现该为LED的位选信号线虚接。重新焊接后显示正常。 2.问题:发现四位LED均显示8,改变输入码字后显示不变 解决方法:用万用表直接测试仿真器的P0口(码字输出端口),发现电平正常,但是接入电路后就显示错误。在老师的指导下,知道由于仿真器的内部结构与AT89C51的差异性和P0的特殊性,需要将外加电源接入仿真器的VCC端进行供电。进行修改后,LED能够根据输入码字的变化正常显示。 3.问题:LED的显示亮度不稳定,位数较长时显示不清晰(比较闪) 解决方法:修改LED显示程序,将原先的8位LED

文档评论(0)

1亿VIP精品文档

相关文档