51单单⽚⽚机机简简易易计计算算器器设设计计-51单单⽚⽚机机简简易易计计算算器器课课程程设设计计
⽬录
⼀、设计任务和要求(2)
1、设计要求(2)
2、设计⽅案的确定(2)
⼆、硬件设计(2)
1、单⽚机最⼩系(2)
2、键盘电路的设计(3)
3、显⽰电路的设计(3)
4、系硬件电路图(4)
三、软件设计(5)
1系设计(5)
2显⽰电路的设计(6)
3、程序清单(8)
四、调试与仿真(14)
五、试验箱实物图(14)
六、⼼得体会(15)
⼀、设计任务和要求
1、设计要求
利⽤单⽚机设计并制作简易计算器。具体要求如下:
1、4*4按键⽤于0~9的数字输⼊、加减乘除、等于、清零功能;
2、能实现简单的加减乘除运算;
3、输⼊数字及计算结果通过LED或LCD显⽰器显⽰。
2、设计⽅案的确定
按照设计要求,本课题需要使⽤数码管显⽰和扩展4*4键盘,由于AT89C51芯⽚的I⼝不够多,⽽且为了硬件电路设计的简单
化,故选择串⾏动态显⽰和⽤P1⼝扩展4*4键盘,扩展的4*4键盘定义⼗个数字键,六个功能键,使⽤串⾏动态显⽰显⽰运算
结果。
主程序进⾏初始化,采⽤⾏列扫描进⾏查表得出键值,每次按键后调⽤显⽰⼦程序。
⼆、硬件设计
简易数字计算器系硬件设计主要包括:键盘电路,显⽰电路以及其他辅助电路。下⾯分别进⾏设计。
1.单⽚机最⼩系
单⽚机最⼩系就是⽀持主芯⽚正常⼯作的最⼩部分,包括主控芯⽚、复位电路和晶振电路。
(1)、复位电路
复位电路
本设计采⽤上电与⼿动复位电路,电阻分别选取100和10K,电容选取10uF,
系⼀上电,芯⽚就复位,或者中途按按键也可以进⾏复位。
(2)、晶振电路
图三晶振电路
晶振电路是单⽚机的⼼脏,它⽤于产⽣单⽚机⼯作所需要的时钟信号。单⽚机的晶振选取11.0592MHz,晶振旁电容选取
30pF。
2.键盘电路的设计
键盘可分为两类:编码键盘和⾮编码键盘。编码键盘是较多按键(20个以上)和专⽤驱动芯⽚的组合,当按下某个按键时,
它能够处理按键抖动、连击等问题,直接输出按键的编码,⽆需系软件⼲预。通⽤计算机使⽤的标准键盘就是编码键盘。当
系功能⽐较复杂,按键数量很多时,采⽤编码键盘可以简化软件设计。但⼤多数智能仪器和电⼦产品的按键数⽬都不太多
(20个以内),为了降低成本和简化电路通常采⽤⾮编码键盘。⾮编码键盘的接⼝电路有设计者根据需要⾃⾏决定,按键信
息通过接⼝软件来获取。本课题需要的是16个按键,故选择⽤⾮编码键盘。
计算器输⼊数字和其他功能按键要⽤到很多按键,如果采⽤独⽴按键的⽅式,在这种情况下,编程会很简单,但是会占⽤⼤量
的I/⼝资源,因此在很多情况下都不采⽤这种⽅式,⽽是采⽤矩阵键盘的⽅案。矩阵键盘采⽤四条I/线作为⾏线,四条I/
线作为列线组成键盘,在⾏线和列线的每个交叉点上设置⼀个按键。这样键盘上按键的个数就为4×4个。这种⾏列式键盘结构
能有效地提⾼单⽚机系中I/⼝的利⽤率。
矩阵键盘的⼯作原理:计算器的键盘布局如图五所⽰:⼀般有16个键组成,在单⽚机中正好可以⽤⼀个P⼝实现16个按键功
能,这种形式在单⽚机系中也最常⽤。
具体电路连接如图所⽰:
4*4键盘接⼝电路
3.显⽰电路的设计
当系需要显⽰少量数据时,采⽤LED数码管进⾏显⽰是⼀种经济实⽤的⽅法。数码管显⽰有静态显⽰和动态显⽰两种⽅法。
为了减少端⼝的使⽤,故选择动态显⽰。电路如下图所⽰:
4、系硬件电路图
总电路原理图
三、软件设计
在⼗进制计算器的软件规划要求下,简易计算器的程序主要包括以下功能模块:
(1)主模块,为系的初始化。
(2)显⽰与读键模块,分为判键程序段、运算操作⼦程序、显⽰⼦程序等部分;
1.系设计
(⼀)系模块图
输⼊模块单⽚机
运算模块
显⽰模块
图六系模块图
此系包括输⼊、运算和显⽰模块,由单⽚机控制。其中通过输⼊键盘模块将数字0~9和运算符号“+”、“-”、“*”、“/”输⼊单⽚机
进⾏运算;运算模块分别根据输⼊的运算符进⾏加减乘除运算;显⽰模块将运算后的数值通过动态扫描使之在数码管上输出。
(⼆)系总流程图
主程序主要是⽤来进⾏初始化的,调⽤其他⼦程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回
应,主程序流程图如图六所⽰。(1)数字送显⽰缓冲程序设计
简易计算器所显⽰的数值最⼤位三位。要显⽰数值,先判断数值⼤⼩和位数,如果是超过三位或⼤于255,将不显⽰数字。可
重新输⼊数字,再次计算。(2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146110.html