- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机技能培训报告单片机技能培训报告精选
单片机技能与认证培训设计报告
题目:简易计算器
姓 名:
学 号:
系别专业:
班 级:
完成时间:
华南理工大学广州学院电子信息工程学院
目录
一、性能指标 2
二.设计方案 2
方案论证与对比 2
三、硬件设计及说明 2
1、主控电路设计 2
2、单片机最小系统 3
3、LCD1602显示电路 4
4、键盘电路设计 4
5、控制单元: 5
四、软件设计及说明 6
五、测试方法与测试结果 6
六、拓展功能 7
七、总结 8
八、附录 9
简易计算器
一、性能指标
A.至少能正常显示8位数;
B.能对整数进行加、减、乘、除运算;
C.能对小数进行加、减运算;
D.运算结果如果超出可显示位数时能进行出错提示;
键盘只有16个按键,安排如下:
| 1 | 2 | 3 | + |
| 4 | 5 | 6 | - |
| 7 | 8 | 9 | / |
| * | 0 | = | . |
二.设计方案
按照系统设计的功能的要求,确定设计系统由主控模块、显示模块、按键提示模块、键扫描接口电路、扩张功能模块共五个模块组成,主控芯片使用51系列STC89C52单片机。
键盘电路采用4*4矩阵键盘电路。
显示模块采用LCD1062。
提示电路采用5V扬声器。
方案论证与对比
方案1:使用89C52单片机计算和LED数码管显示。
成本最为低廉,因显示的位数的限制,计算的数字位数较少,不方便支持小数显示。
方案2:使用89C52单片机计算和1602LCD显示。
成本相对使用数码管要高一点,但能支持更多位数的显示计算。
方案论证:因为简易计算器对硬件要求不高,所以两个方案的区别主要在于显示单元的不同。用LCD显示的话能显示的位数比数码管的要多,理论能达成的计算能力比用数码管来显示要好。
方案选定:因考虑到做出的作品可以不仅是作为简易计算器,通过刷写新的程序还可以实现更复杂的计算功能,经过组内讨论后达成一致意见,方案2相对方案1更为灵活,同时也能最大限度的利用现有的硬件资源,所以最后采用方案2.
三、硬件设计及说明
1、主控电路设计
STC89C52是一个低功耗,高性能CMOS 8位单片机。
具有如下特点:40个引脚(引脚图如图1所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不尌产品的需求。
图1 STC89C52芯片引脚图
2、单片机最小系统
单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。
晶振选取11.0592MHz,晶振旁电容选取20pF。
采用按键复位电路,电阻分别选取100Ω和10K,电容选取0.1μF。
以下为单片机最小系统硬件电路图。
3、LCD1602显示电路
1602采用标准的16脚接口,其中:
显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
第1脚:VSS为电源地
第2脚:VDD接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最
(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
第6脚:E(或EN)端为使能(enable)端。
第7~14脚:D0~D7为8位双向数据端。
第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极
4、键盘电路设计
键盘输入采用4*4的矩阵键盘。
5、控制单元:
四、软件设计及说明
程序流程:首先初始化参数和屏幕显示,调用键值扫描函数扫描输入的键值。如果扫描到输入的值为数字“0~9”部分,对输入的连续的数值进行储存处理并显示在LCD上,超出限定位数自动清屏。如果扫描到的键值为定义的“加减乘除”功能,判定输入的功能信号,进行相关函数处理,如果出现非法操作,进行清屏操作。如果扫描到的键值为定义的“等于”功能,对先后输入储存的值进行对应的运算,并在LCD上显示出运算结果。如果扫描到输入的值为定义的“归零”功能,进行归零操作,初始化储存的运算数值,清空屏幕,使显示归零。程序流程图如下图显示
文档评论(0)