单片机课程设计模拟计算器.docx

上传人:b****3 文档编号:4907223 上传时间:2022-12-11 格式:DOCX 页数:10 大小:264.13KB
下载 相关 举报
单片机课程设计模拟计算器.docx_第1页
第1页 / 共10页
单片机课程设计模拟计算器.docx_第2页
第2页 / 共10页
单片机课程设计模拟计算器.docx_第3页
第3页 / 共10页
单片机课程设计模拟计算器.docx_第4页
第4页 / 共10页
单片机课程设计模拟计算器.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机课程设计模拟计算器.docx

《单片机课程设计模拟计算器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计模拟计算器.docx(10页珍藏版)》请在冰豆网上搜索。

单片机课程设计模拟计算器.docx

单片机课程设计模拟计算器

一.引言

当今时代,是一个新技术层出不穷的时代。

在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。

本设计是由单片机实现的模拟计算器,它不仅能实现数据的加减乘除运算,而且还能使数据及其运

算结果在数码管上显示出来,能够实现0-256的数字四则运算。

本设计是用单片机AT89C51来控制,采用LCD显示。

二.设计任务

利用键盘和LCD设计一个简单的数学计算器,可以完成简单的加法运算,并将运算结果在数码管上显示出来。

三.方案论证

根据计算器的功能要求,选择AT89C51为主控机,通过扩展必要的外围接口电路,实现对计算器的设计。

外部主要由4*4矩阵键盘和一个数码管构成,内部由一块AT89C51单片机构成。

计算器电路包括四个部分:

选用数码管作为显示部分,矩阵键盘作为输入部分,运算模块,单片机控制部分。

四.整体设计

根据简易计算器的功能和指标要求,本设计系统选用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;输入第一个数

MOVR3,#0

LCALLKEY

MOVR0,A

CJNER0,#10,NEXT

SJMPIN1

NEXT:

;输入运算符号

MOVR1,#0

LCALLKEY

PAD:

CJNER1,#10,PSU

SJMPIN2

PSU:

CJNER1,#11,IN1

SJMPIN2

IN2:

MOVR2,#10;输入第二个数

LCALLKEY

MOVR2,A

CJNER2,#10,JI

SJMPIN2

JI:

LCALLKEY

CJNER3,#12,IN2

MOVA,R0;计算结果

CJNER1,#10,SUB1

ADDA,R2

SJMPRES

SUB1:

SUBBA,R2

RES:

MOVR1,#0

MOVR0,#10

MOVR2,#10

LCALLDISP;显示结果

MOVA,#0

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

SETBP3.2

SETBP3.3

JNBP3.4,L3

JNBP3.5,L4

JNBP3.6,L5

JNBP3.7,SU

SETBP3.0

SETBP3.1

CLRP3.2

SETBP3.3

JNBP3.4,L6

JNBP3.5,L7

JNBP3.6,L8

JNBP3.7,QU

SETBP3.0

SETBP3.1

SETBP3.2

CLRP3.3

JNBP3.4,L9

RET

L0:

MOVA,#0

LCALLDISP

RET

L1:

MOVA,#1

LCALLDISP

RET

L2:

MOVA,#2

LCALLDISP

RET

L3:

MOVA,#3

LCALLDISP

RET

L4:

MOVA,#4

LCALLDISP

RET

L5:

MOVA,#5

LCALLDISP

RET

L6:

MOVA,#6

LCALLDISP

RET

L7:

MOVA,#7

LCALLDISP

RET

L8:

MOVA,#8

LCALLDISP

RET

L9:

MOVA,#9

LCALLDISP

RET

AD:

MOVR1,#10;

RET

SU:

MOVR1,#11;-

RET

QU:

MOVR3,#12;=

RET;键盘判断结束

DISP:

PUSHACC

MOVP2,#7FH

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

POPACC

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

八.总结

这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。

不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。

这次课程设计通过我们小组的努力终于顺利完成了,非常感谢老师和同学们的帮助。

《单片机》课程设计说明书

 

课题:

基于单片机设计简单运算器

班级:

2012级电信4班

成员:

刘成,张涛,杨清宇

学号:

080212143,080212152,170212028

指导老师:

王陈宁

时间:

2014年6月9日

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1