单片机课程设计模拟计算器Word格式文档下载.docx
- 文档编号:19169863
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:10
- 大小:981.99KB
单片机课程设计模拟计算器Word格式文档下载.docx
《单片机课程设计模拟计算器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计模拟计算器Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
四.整体设计
根据简易计算器的功能和指标要求,本设计系统选用MCS-51系列单片机AT89C51为主控机。
通过扩展必要的外围接口电路,实现对简易计算器的设计。
计算器电路包括三个部分:
显示电路、4*4键扫描电路、单片机微控制电路。
具体设计如下:
(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用七段数码管显示数据和结果。
(2)另外键盘包括数字键(0~9)、符号键(+、-)、清除键和等号键,故只需要16个按键即可。
(3)执行过程:
开机显示零,等待键入数值,当键入数字,通过数码管显示出来,当键入+、-运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。
4.1.电路设计原理
4.2.键盘接口电路
矩阵键盘采用四条I/O线作为行线,四条I/O线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。
这样键盘上按键的个数就为4×
4个。
这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
矩阵键盘的工作原理:
计算器的键盘布局如图所示:
一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。
4.3.显示模块
本设计采用简单数码管来显示输出数据。
通过D0-D7引脚向数码管写指令字或写数据以使数码管实现不同的功能或显示相应数据。
管脚图如图所示。
4.4.运算模块(单片机控制)
MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。
如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!
因此我们采用单片机AT89C51作为计算器的主要功能部件,可以很快地实现运算功能。
五.仿真调试
六.测试结果截图
加法计算
七.程序:
ORG0000H
LJMPSTART
ORG0040H
START:
;
赋初值,显示0
MOVA,#0
MOVR3,#0
LCALLDISP
IN1:
MOVR0,#10;
输入第一个数
LCALLKEY
MOVR0,A
CJNER0,#10,NEXT
SJMPIN1
NEXT:
输入运算符号
MOVR1,#0
PAD:
CJNER1,#10,PSU
SJMPIN2
PSU:
CJNER1,#11,IN1
IN2:
MOVR2,#10;
输入第二个数
MOVR2,A
CJNER2,#10,JI
JI:
LCALLKEY
CJNER3,#12,IN2
MOVA,R0;
计算结果
CJNER1,#10,SUB1
ADDA,R2
SJMPRES
SUB1:
SUBBA,R2
RES:
MOVR1,#0
MOVR0,#10
MOVR2,#10
LCALLDISP;
显示结果
SJMPIN1;
返回进行下一次运算
KEY:
CLRP3.0;
判断键盘
SETBP3.1
SETBP3.2
SETBP3.3
JNBP3.4,L0
JNBP3.5,L1
JNBP3.6,L2
JNBP3.7,AD
SETBP3.0
CLRP3.1
JNBP3.4,L3
JNBP3.5,L4
JNBP3.6,L5
JNBP3.7,SU
CLRP3.2
JNBP3.4,L6
JNBP3.5,L7
JNBP3.6,L8
JNBP3.7,QU
CLRP3.3
JNBP3.4,L9
RET
L0:
MOVA,#0
L1:
MOVA,#1
L2:
MOVA,#2
L3:
MOVA,#3
L4:
MOVA,#4
L5:
MOVA,#5
L6:
MOVA,#6
L7:
MOVA,#7
L8:
MOVA,#8
L9:
MOVA,#9
RET
AD:
MOVR1,#10;
SU:
MOVR1,#11;
-
QU:
MOVR3,#12;
=
RET;
键盘判断结束
DISP:
PUSHACC
MOVP2,#7FH
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
POPACC
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
八.总结
这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。
这次课程设计通过我们小组的努力终于顺利完成了,非常感谢老师和同学们的帮助。
《单片机》课程设计说明书
课题:
基于单片机设计简单运算器
班级:
2012级电信4班
成员:
刘成,张涛,杨清宇
学号:
080212143,080212152,170212028
指导老师:
王陈宁
时间:
2014年6月9日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 模拟 计算器