




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1设计任务和性能指标 11.1设计任务 11.2性能指标 12设计方案 12.1 需求分析 12.2方案论证 13系统硬件设计 23.1总体框图设计 23.2单片机选型 23.3单片机附属电路设计 33.4 LCD液晶显示 44系统软件设计 54.1设计思路 54.2总体流程图 54.3 子程序设计 54.4 总程序清单 65仿真与调试 65.1调试步骤 65.2仿真结果及性能分析 86总结 8参考文献 8附录1系统硬件电路图 10附录2程序清单 111设计任务和性能指标1.1设计任务 电子计算器设计1、能实现4位整数的加减法和2位整数的乘法;2、结果通过5个LED码管显示(4位整数加法会
2、有进位)或通过液晶显示屏显示。1.2性能指标1 用数字键盘输入4位整数,通过LED数码显示管或液晶显示屏显示。2. 完成四位数的加减法应算。当四位数想加时产生的进位时,显示进位。3. 显示2位,并进行2位整数的乘法。4. 设计4*4矩阵键盘输入线的连接。2设计方案2.1需求分析我们日常生活的开支,大额数字或是多倍小数的计算都需要计算器的帮助,处理数字 的开方、正余弦都离不开计算器。虽然现在的计算器价格比较低廉, 但是功能过于简单的 不能满足个人需求,功能多的价格较贵,操作不便不说,很多功能根本用不到。所以,我 们想到可不可以用自己所学为自己设计开发一个属于自己的简单计算器来完成日常生活 的需求
3、。2.2方案论证使用单片机为ATME公司生产AT89C51 AT89C51提供以下标准功能:4K字节FLASH 闪速存储器,128字节内部RAM 32个I/O 口线,两个16位定时/计数器,一个向量两级 中断结构,一个全双工串行通讯口,内置一个精密比较器,片内振荡器及时钟电路,同时 AT89C51可降至OHz的静态逻辑操作,并支持两种软件可选的工作模式,空闲方式停止CPU 的工作,但允许RAM定时计数器,串行通信及中断系统继续工作。显示用LCD液晶显示屏,减少线路连接。用C言编写程序,易进行调试修改。采用4*4矩阵键盘作为输入。3系统硬件设计3.1总体框图设计电路图如附录13.2单片机选型AT
4、89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPERO Falsh Programmable and Erasable Read Only Memory 的低电压,高性能、 CMOS 8 位单片机。 该器件采用ATMEI高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输 出管脚相兼容。AT89C51的管脚图如图2.2所示。TI.O 1、一140 vccP1匚239-1 PO.O (ADD)ml3豹1 PQ.1CAT1)PL3I437斑 2 CAT2)P14匚536iFft .S (ADS)Pl.s 16邛 FCI+ AT4)I-1.6 |734|p 5 (AL3)P
5、1.7 |RST 1一933Pft.T AD7)(RM*) P5 0 110 31 ea/vpp(TX&)|1130| ALE7PR0 (5rTHTiri P3 r12茁H PSEHQNTD PS 3 11耳翻为(TO) P3:.+ 1一1427 P.ti (A14)(Tl)113監口 KJ .5阿旳恥X5 |lti2J_| P2.4 (A12)(ED j 站-T |1724 M3 (All)厂诒23 P3.2 (A10)XTAL1 119331 P2.1 刚GHD |20 21_| PJ.O 网图3-13.3单片机附属电路设计一、晶体振荡电路1 晶体振荡器的作用石英晶体振荡器也称石英晶体谐振
6、器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。2 本设计所用的晶体振荡电路如图2.3所示:图3-2晶振电路此晶振电路所选用的石英晶振频率为12MHZ一、晶体振荡电路单片机复位的条件是:必须使 RST/Vpc或RST引脚加上持续两个机器周期(即24个振荡 周期)的高电平。图3-2 复位电路该电路除具有上电复位功能外,若要复位,只需按图中的BUTTON!,此时电源VC(经电阻R1、R2分压,在RESE端产生复位高电平。3.4 4*4矩阵键盘控制电路矩阵式键盘的结构与工作原理: 在键盘中的按键数量较多时,为了减少I/O 口的占用,通常将按键排列成矩阵形式,其内 部简图如图3
7、-3在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通, 而是通过一 个按键加以连接。这样,只需要单片机的一个端口 (如P1 口)就可以构成4*4=16个按键, 比直接将端口线用于键盘多出了一倍, 而且线数越多,区别越明显,比如再多加一条线就 可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键 数比较多时,采用矩阵法来做键盘比较是合理的。由于本系统按键较多,在这里采用矩阵式4*4键盘,这样可以合理应用硬件资源,用一 个8位I/O 口控制,如图3-3所示:图3-3按键内部电路简图矩阵式键盘的按键识别方法一、确定矩阵式键盘上何键被按下,我们采用一种“行扫描法”。行扫
8、描法:行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。3.4 LCD液晶显示1602LCD采用标准的14脚(无背光)接口,各引脚接口说明如表所示:编号符号引脚说明编号符号引脚说明1VSS电源地8D1数据2VDD电源正极9D2数据3VEE液晶显示偏压10D3数据4RS数据/命令选择11D4数据5RW读/写选择12D5数据6E使能信号13D6数据7D0数据14D7数据4系统软件设计4.1设计思路1 要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的值给显示出 来。经过运算在按下等号之后显示出此次运算的结果。2就是按键程序,当一个键盘按下的时候,按键程序要判断是哪个按键按
9、下,如果 是数字键按下就要转向显示子程序来显示出这个数字,然后等待下一个键值的输入,再次 判断按下的是什么键,如果是功能键就要根据上次功能键和输入的数据来计算结果,然后 保存结果和功能键,结果送显示缓冲区显示。等待下个数值的输入,如此重复。4.2总体流程图4.3子程序设计1.读和写数据子程序void write_com(char com) /写指令函数P0=com; /com 指令付给 P0口rs=O;rw=0;lcde n=0;check();lcde n=1;void write_date(char date) /写数据函数P0=date;rs=1;rw=0;lcde n=0;check(
10、);lcde n=1;4.4总程序清单见附录25仿真与调试5.1调试步骤1.采用KEIL开发的89C51单片机应用程序调试步骤:(1)在uVision集成开发环境中创建新项目(Project ),扩展文件名为.UV2,并为该 项目选定合适的单片机 CPU器件(本设计采用ATMEL公司下的AT89C51 用uVision的文本编辑器编写源文件,可以是汇编文件(.ASM ,也可以使C语言文 件(扩展名.C),并将该文件添加到项目中去。一个项目文件可以包含多个文件,除了源 程序文件外,还可以是库文件、头文件或文本说明文件。(3)通过uVision 2的相关选择项,配置编译环境、连接定位器以及Debu
11、g调试器的功(4)对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。图5-1 Keil调试2用Proteus对于本设计的仿真操作步骤如下:(1)进入proteus ISIS集成环境,在工作前,在systerm菜单下设置界面的颜色、图 形界面大小等项目,也可采用了系统默认值。(2)通过工具栏中的I (从库中选择元件命令)命令,在 pick devices窗口中选择电 路所需的元件,放置元件到编辑区并调整其相对位置, 进行元件参数设置,元器件间连线。(3) 连线并加上设置参数,并完成仿真原理图,如图5-2所示。(
12、4) 加载程序。将编译调试完成的简易计算器机器码程序(hex文件)加载到AT89C51 单片机中。(5)单击仿真工具栏中的仿真键,观察仿真结果。可以按暂停、继续、单步、等按钮, 查看效果。ikii仁和护視底压性PD匹际升撰宅并il;中无件irklnlxXTjCZLCP1 1MJ d H=TECP1234*4331=5555Hl 9S-i SEDaiiftffisE二肓肓 j dj? ri M As t 55RV-1pF1PAP.gsa 一 ISX5 PjEufesluiiiiLL ftt直中nF VICESFO7-UN3WATT1UK74I-CSZ304CI22ri04r7D20DATB9CS
13、1BUTOMCAPCRYSTALKEYrAD C MALLCALC LM01SLAES HLSFCK-O文件(E) 歪舌徧辑V 工貝设计(J绘图咄码库调词逼)匪 3 旃您(U)示折 孺助爼)*| HE 1 +1十乓电鱼ZSSAS +R.QT氏日I A Lb 0PZ1RArzJAii 口n口口口P?TSW-PBCl3礙 lOOpFRTIKRP1 MAPinlADUJPOUPl.llADLJTO 1Pl 2(AD21P0 2113阿怦3Pl _4iAD+JPO.-IPl JPM(AD61P0 6Pl _7(ADTJPO7Pi3(WT,J呼0P3(I1TTO)g卿CA101P22P3JCT1)P3_
14、4(TO)(A1L)P23(A12JP2J (AD)F2 5ww(A1JJP2 7 XTJPL1XTAUvccEST(RM)P3 0 (TJO)P3 ML&TRO&PSEHATWUJlP0 po7P01 亟HJ3FoiP05wv-VWWV AAA_iw-J* ALCDETTIISW-PBSW-PBSW-PBSW-PBSWPEP31SlW-PBSW-PB5W-PESVT-PBSWPE101112qSW-PBBI4.PMP对SWPEOiTCSWPET30P3JTRSRWLCDENF30P11PJ2P33PJ4PISF.i6PIT1vrc14LIt附录2程序清单#i nclude / 头文件#def
15、i ne uint un sig ned int /#defi ne uchar un sig ned charsbit Icde n=P23; / 定义引脚sbit rs=P2A4;sbit rw=P2A0;sbit busy=P0A7;char i,j,temp ,num,nu m_1;int a,b,c;a,第一个数b,第二个数c,得数float a_c,b_c;uchar flag,fuhao;/flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table=7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0;uchar code table1
16、=7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30;void delay(uchar z) /延迟函数uchar y;for(z;z0;z-)for(y=0;y10000);else/ 如果按过符号键dob=b*10+table nu m;while(b10000);else / 如果按下的是/if(a10000);else/如果按过符号键dob=b*10+table nu m;while(B10000);else/如果按下的是*if(a10000);else/如果按过符号键dob=b
17、*10+table nu m;while(b10000);else if(num=11)如果按下的是-flag=1;fuhao=2;/2表示减号已按i=table1 nu m;write_date(0x30+i);P3=0xf7;if(P3!=0xf7)delay(5);if(P3!=0xf7)temp=P3&0 xf0;switch(temp)case 0xe0:num=12;break;case 0xd0:num=13;break;case 0xb0:num=14;break;case 0x70:num=15;break;while(P3!=0xf7);switch( num)按下的是”清
18、零case 12:write_com(0x01);a=0;b=0;flag=0;fuhao=0;/ break;case 13:/按下的是0if(flag=0)/没有按过符号键a=a*10;write_date(0x30);P仁0;else if(flag=1)/如果按过符号键b=b*10;write_date(0x30);break;case 14:j=1;if(fuhao=1)write_com(0x80+0x4f);按下等于键,光标前进至第二行最后一个显示处write_com(0x04); II设置从后住前写数据,每写完一个数据,光标后退一格c=a+b;while(c!=O)write_date(0x30+c%10);c=c/10;write_date(0x3d); /再写=a=0;b=0;flag=0;fuhao=0;else if(fuhao=2)write_com(0x80+0x4f);光标前进至第二行最后一个显示处write_com(0x04); /设置从后住前写数据,每写完一个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育政策在提升农村地区教学质量中的实践探索
- 教育机器人技术的伦理挑战与应对策略
- 2025届山东省济南市回民中学高一物理第二学期期末调研试题含解析
- 创新教育模式下的教育游戏设计-兼谈寓教于乐的探索与实践
- 数字化教育时代的伦理挑战学生数据隐私保护策略
- 国际教育技术合作的策略与方法探讨
- 教育游戏化提升STEM学习体验的有效途径
- 商业策略与投资视角下的干细胞教育市场分析
- 个性化教育的数字化转型-利用数据分析进行更高效的教学管理
- 基础护士眼科考试题库及答案
- GB/T 7573-2025纺织品水萃取液pH值的测定
- 肾内科护士长述职报告
- 新闻发言人培训
- 实验室安全操作培训内容
- 第五讲-铸牢中华民族共同体意识-2024年形势与政策(讲稿)
- 2025年中国城市集中供热行业市场全景分析及投资前景展望报告
- 2025年度电商直播平台主播直播内容版权购买合同3篇
- 压型机安全操作规程范文(2篇)
- 2024-2025学年部编版七年级历史第二学期期末测试卷(含答案)
- 石化应急培训课件
- 铁路运输效率评价指标体系-洞察分析
评论
0/150
提交评论