精品单片机计算器崔祥通毕业论文Word格式文档下载.docx
- 文档编号:14712699
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:21
- 大小:116.72KB
精品单片机计算器崔祥通毕业论文Word格式文档下载.docx
《精品单片机计算器崔祥通毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《精品单片机计算器崔祥通毕业论文Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
2011年9月26号~2011年11月11号
毕业设计报告(论文)摘要
摘要:
计算器(calculator;
counter)一般是指“电子计算器”,该名词由日文传入中国。
计算器能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。
本任务是个简单的多位数四则运算,程序是根据教材和网络中的程序参考编写而成,在功能上还不是很完善,限制也不较多。
本任务重在设计结构和自我锻炼,让我们用专业的知识专业的技能分析和解决问题,全面系统的锻炼。
报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计计算器将完成的功能有整数的加、减、乘、除等。
关键词:
MCS-518051单片机,计算器,加减乘除
目录
摘要2
1.绪论5
2.系统软件设计方案6
2.1设计目标和实现方法6
2.2整体方案论证6
3.系统硬件的设计与介绍7
3.1复位电路的设计与运用7
3.2时钟振荡器电路的设计与运用7
3.3输入电路的设计7
3.4输出电路的设计10
4.系统软件的设计与介绍12
4.1LED显示程序流程图设计12
4.2读键输入程序流程图设计14
4.3主程序流程图设计16
4.4仿真与调试17
5.结论19
致谢20
参考文献21
附录1简易计算器源程序22
1.绪论
中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多是用竹子制成,也有用木头,兽骨充当材料的。
大约二百七十枚一束,放在布袋里可以随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠算盘已经与现代的珠算盘几乎没有差别。
17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的"
纳皮尔算筹"
,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的快速发展,也为实现现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。
1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外一个窗口中,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。
此后,一直要到20世纪50年代末才有了电子计算器的出现。
2.软件设计方案
2.1设计目标和实现方法
为了满足简易计算器的基本要求,可以进行基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于51单片机设计计算器,并用七段共阴级LED数码管显示数据,4*4的矩阵键盘实现数据的输入。
2.2整体方案论述
根据简单计算器的功能和本方案中的设计指标要求,本系统选用了MCS51单片机为主控机。
通过扩展必要的外围接口电路,实现对简单计算器的设计。
具体设计考虑如下:
①由于要设计的是简单的计算器,可以进行基本的四则运算,对数字的大小范围要求不高,故我们采用可以进行四位数字的运算,选用8个LED数码管显示数据和运算结果。
②另外键盘包括数字键(0~9)、符号键(+、-、×
、÷
)、清除键和等号键,故只需要16个按键即可。
系统模块图:
图2-1系统模块图
3.系统硬件的设计
3.1复位电路的设计
上电复位的原理:
VCC上电时,C充电,在10K电阻上出现了电压,使单片机复位;
几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。
手动复位的原理:
工作期间,按下S,C放电。
S松手,C又充电,在10K电阻上出现电压,使得单片机复位。
几个毫秒后,单片机进入工作状态。
如SW复位键按下时:
RST经1k电阻接VCC,获得10k电阻上所分得电压,形成高电平,进入“复位状态”。
当SW复位键断开时:
RST经10k电阻接地,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
对于成熟产品,从降低成本角度,可以使用上电复位。
另外,作为产品,最好使用上电复位。
因为使用者通常没有专业知识,就知道断电通电,对他们来说,按键复位成了摆设。
按键复位比较适合样品制作或者实验室调试场合,上电复位电路成本也低一些。
综上所述我们在本方案中选用了上电自动复位电路。
上位自动复位电路图和手动复位电路图如下图
两种复位方式如图3—1:
3.2时钟振荡电路的设计
能够产生振荡电流的电路叫做振荡电路。
一般由电阻、电感、电容等元件和电子器件所组成。
由电感线圈l和电容器c相连而成的lc电路是最简单的一种振荡电路,其固有频率为f=[sx(]1[]2πlc。
§
一种不用外加激励就能自行产生交流信号输出的电路。
它在电子科学技术领域中得到广泛地应用,如通信系统中发射机的载波振荡器、接收机中的本机振荡器、医疗仪器以及测量仪器中的信号源等。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用此振动器。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
使用片内振荡器,可以节省IO引脚,减少成本,但是内部振荡器使用阻容震荡,导致它的精度不高,如果使用了串口、或者PWM等对时钟比较敏感的功能,最好还是使用外部晶体振荡。
在本方案中我们选择了内部时钟方式,如下图:
两种时钟方式如图3—2:
3.3输入电路的设计
每一个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:
确定有无键按下,判断哪一个键按下,键的功能是什么?
还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地;
另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
当无按键闭合时,P10~P13与P14~P17之间开路;
当有键闭合时,与闭合键相连的两条IO口线之间短路。
判断有无按键按下的方法是:
第一步,置列线P14~P17为输入状态,从行线P10~P13输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。
第二步,行线轮流输出低电平,从列线P14~P17读入数据,若有某一列为低电平,则对应行线上表示有键按下。
综合一二两步的结果,可以确定按键编号。
但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
键盘是单片机系统中常用的人机对话输入设备,用户通过键盘向单片机输入数据或者指令。
键盘控制程序需要完成的任务有:
监测是否有键按下,有键按下时,在无硬件去抖的动电路时,应用软件延时方法消除按键抖动影响;
当有多个键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。
矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观,思路:
先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。
但是,在程序的写法上,采用了最简单的方法,使得程序的效率最高。
本程序中,如果检测到了某个键按下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的CPU时间。
本键盘扫描程序的优点在于:
不使用专门的按键延时程序,提高了CPU效率,也不用中断来扫描键盘,节省了硬件资源。
另外,本键盘扫描程序,每次扫描占用CPU时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。
本键盘扫描子程序名叫key,每次要扫描时用lcallkey调用即可。
键盘可分为两类:
编码键盘和非编码键盘。
编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。
通用PC机使用的标准键盘就是编码键盘。
在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可以在相关资料中得到。
当系统功能比较复杂,案件数量很多时,采用编码键盘可以简化软件设计。
但大多数智能仪器和电子产品的按键数目都不很多(20个以内),为了降低成本和简化电路通常采用非编码键盘。
非编码键盘的电路由设计者根据需要自己决定,按键信息通过接口软件来获取。
本课题需要16个按键,故选择非编码键盘,为了减少所占用的端口,由P1口采用4*4矩阵式键盘。
图3-3键盘样式
3.4输出电路设计
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳级数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳级数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,对应的字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,对应的字段就不亮。
LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:
图3-4LED段码
为了显示数字或符号,要为LED显示器提供代码,即字形代码。
七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
简易计算器用到的数字0~9的共阴极字形代码如下表3-1所示:
显示字型
g
f
e
d
c
B
a
段码
1
3fh
06h
2
5bh
3
4fh
4
66h
5
6dh
6
7dh
7
07h
8
7fh
9
6fh
表3-50~9七段数码管共阴级字形代码
由于数值单元存放的是二进制数,而我们大家熟悉的是十进制数,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 单片机 计算器 崔祥通 毕业论文