欢迎来到天天文库
浏览记录
ID:9531500
大小:809.00 KB
页数:32页
时间:2018-05-02
《单片机课程设计--简易计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、32信息与通信工程学院简易计算器3232目录一、设计任务和性能指标21.1设计任务21.2性能指标2二.设计方案2三.系统硬件设计33.1单片机最小系统33.2键盘接口电路33.3数码管显示电路43.4错误报警电路5四、系统软件设计64.1键盘扫描子程序设计64.2移位子程序及结果计算子程序设计104.3显示子程序设计124.4主程序设计13五、调试及性能分析135.1调试步骤135.2性能分析14六、心得体会14参考文献14附录1系统硬件电路图15附录2程序清单163232一、设计任务和性能指标1.1设计任务印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程利用单片机及外围接口
2、电路(键盘接口和显示接口电路)设计制作一个计算器,用LED显示计算数值及结果。要求用Protel画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。1.2性能指标1.加法:四位加法,计算结果若超过四位则显示计算错误2.减法:四位减法,计算结果若小于零则显示计算错误3.乘法:个位数乘法4.除法:整数除法5.有清零功能,计算错误报警二.方案总体设计按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、错误报警模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示。主控芯片使用51系列A
3、T89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。键盘电路采用4*4矩阵键盘电路。显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。错误报警电路采用5V蜂鸣器。系统选用以STC89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。3232显示电路4×4矩阵键盘单片机 复位电路晶振图2.1基本结构三.系统硬件设计3.1单片机最小系统单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。主控芯片选取STC89C5
4、2RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。晶振选取11.0592MHz,晶振旁电容选取30pF。采用按键复位电路,电阻分别选取100Ω和10K,电容选取10μF。以下为单片机最小系统硬件电路图。3232图3.1单片机最小系统3.2键盘接口电路计算器所需按键有:数字键:’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’功能键:’+’,’-‘,’*’,’/’,’=’,’C(清零)’共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0~P1.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键
5、进行编码,从而得到键盘的口地址,对比P1口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。以下为键盘接口电路的硬件电路图3232图3.2矩阵键盘内部电路3.3LCD显示模块:本设计采用LCD液晶显示器来显示输出数据.通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据.在与单片机最小系统连接时,采用并行连接方式,此方式的特点是传输速度快。并行接口的输入由p0.0-p0.7进行控制,传输信息。LCD显示使用了两片极化材料,在它们之间是液体水晶溶液。电流通过该液体时会使水晶重新排列,以使光线无法透过它们。因此,每个水晶就像百叶窗,既能允许光线
6、穿过又能挡住光线。LCD也就显示具有直角显示、低耗电量、体积小、还是零辐射等优点。3232图3.3LCD显示电路3.4错误报警电路错误报警电路就是在计算结果出现错误时或输入数据出现错误时,发出声音警报,提示使用者错误出现。这里就采用5V蜂鸣器作为报警设备,利用PNP三极管对蜂鸣器进行驱动,有P2.2对其进行控制,这样在出现错误的同时用P2.2输出低,就可以使蜂鸣器工作,完成报警任务。在编写程序时,报警电路实现的功能是:当计算正常时使p2.2口输出高电平时,蜂鸣器不会响应。当计算出现错误(例如0作为被除数时)此时给p2.2输出低电平,使蜂鸣器响应,达到报警功能。以下为报警电路硬件电路图3232
7、图3.4报警电路四.系统软件设计首先初始化参数;然后扫描键盘看是否有键输入,若有,读取键码;判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=”),是数值键则送数码管显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送数码管显示,若是其它功能键则不显示。(其中里面包含了延时去抖动程序)。 3232开始初始化清零键和功能键输入是否是数字键?是否否否
此文档下载收益归作者所有