- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
科研训练论文
题 目:基于单片机的计算器的设计
姓 名: _ __ _______
专 业: __机械电子工程_
班 级: _ __ ____
学 号: ___ ____
院(系): _ 机械与电子工程学院
指导教师: _卢文华__ __
完成日期: _2009.12.06____
成 绩: __________
目录
一、概述 2
1.1设计任务及要求 2
1.2设计原理 2
二、系统总体方案及硬件设计 3
2.1计算器总体思想 3
2.2硬件的选择与连接-----------------------------------------------------------------------------------4
三、软件设计
3.1显示程序设计 6
3.2键盘识别程序设计 8
3.3运算程序设计 9
四、设计体会与总结 10
五、参考文献 11
附录 源程序代码 11
基于单片机的计算器的设计
摘 要: 本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。
显示部分:采用LED动态显示。
按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。
关 键 词:LED接口;键盘接口;8255A;汇编语言
概述
1.1设计要求及任务:
(1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、 “/”、“=”、和“C”键;
(2)设计两位LED接口电路;
(3)实现1位数的简单运算
1.2设计原理:
(1)LED显示器接口技术
LED显示器有共阴极和共阳极两种。共阴极就是把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地,某端接高电平时才发亮。共阳极则是把发光二极管的阳极连在一起构成公共阳极,使用时公共阳 接十5V端。某端接低电平时才发亮。
在此次设计中采用共阴极接法。
LED动态显示接口技术:动态显示中,任意时刻虽只有一位显示器被点亮,但当一个循环周期小于人的视觉暂留时间时,看上去与全部显示器持续点亮的效果相同。从而提高数码管的利用效率,所以采用LED动态显示接口技术。
多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示),另一个用于输出位控线,位控线的数目等于显示器的位数。
(2)键盘显示技术
1、测试是否有键按下:
① 单片机I/O 口向所有列线输出低电平。即向列口 写入00H。
② 然后输入各行线状态,即读输入口的字。
③ 比较:若行线状态全为高电平,则表明无键按下;若行线状态中有低电
平,则表明有键按下。
2、消抖动
3、扫描键盘以确定被按键的物理位置
4、 计算键码
如果键号是按从左到右,从上到下的顺序编排的,按这种编排规律,各行的首 键号依次是 00H、08H、10H、18H,如列线按0~7的顺序编号,则可选用键码的计算公式为:
键码= 首键号 十 列号
5、 等待键释放
(3)输入输出口的扩展:
在扩展输入/输出端口时,要求输入口能够缓冲,,输出口能够锁存。常用小规模集成电路芯片74LS244或74LS245等扩展输入端口,用74LS273、74LS373、 74LS377扩展输出端口。这种扩展方法的特点是电路简单,但功能单一、灵活性差。因而常采用中规模的可编程并行接口芯片8255A或8155扩展输入/输出端口。
二、系统总体方案及硬件设计
2.1计算器总体思想
显示部分:采用LED动态显示。
按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。
执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算
文档评论(0)