8位四则运算计算器设计报告解析Word文档格式.docx

上传人:b****1 文档编号:1440876 上传时间:2023-04-30 格式:DOCX 页数:13 大小:143.06KB
下载 相关 举报
8位四则运算计算器设计报告解析Word文档格式.docx_第1页
第1页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第2页
第2页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第3页
第3页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第4页
第4页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第5页
第5页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第6页
第6页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第7页
第7页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第8页
第8页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第9页
第9页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第10页
第10页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第11页
第11页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第12页
第12页 / 共13页
8位四则运算计算器设计报告解析Word文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

8位四则运算计算器设计报告解析Word文档格式.docx

《8位四则运算计算器设计报告解析Word文档格式.docx》由会员分享,可在线阅读,更多相关《8位四则运算计算器设计报告解析Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

8位四则运算计算器设计报告解析Word文档格式.docx

8位四则运算计数器

摘要

随着时代的发展,单片机在生活中应用越来越广泛。

而生活中,用到计算的场合十分之多,有时候计算较复杂时,人工计算远远不及计算器的快速性、准确性。

因此计算器的出现大大便捷了人类生活。

本文介绍用STC89C52RC单片机来设计简单四则运算计算器。

关键词:

STC89C52RC、硬件电路、软件程序

8BitArithmeticsCalculating

Abstract

Withthedevelopmentoftheera,MCUbecomesmoreandmoregeneralinlife.Andcalculationappliestomanyoccasionsinlife,sometimescalculatebyselfcannotbecomparabletocalculatingincomplexoccasions,especiallyintheaspectofrapidityandaccuracy.So,theappearanceofcalculatinghasconvenientpeople’slives.ThiswritingsintroduceshowtodesignsimplearithmeticscalculatingwithSTC89C52RCMCU.

Keywords:

MCU、Hardwarecircuit、Softwareprogram

第1章单片机的基本概述

1.1基本概述

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。

经过40多年的发展,单片机以其成本低、体积小、可靠性高、系统结构简单、性能价格比高的特点,在工业测控、仪器仪表、航天航空、武器准备、家用电器等领域中得到了广泛应用。

本次课设所采用的STC89C52单片机是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,

MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

第2章单片机应用课程设计的目的和意义

2.1设计的目的和意义

为了进一步巩固学习的理论知识,增强我们对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期5至14天的单片机课程设计。

单片机课程设计中,通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个简单8位计算器的设计编程应用。

使我们不但能够将理论与实践结合,且能够进一步认识电子电路、电子元器件、PCB板。

同时提高自己软件编程,出错调试等技巧。

通过实训使我们在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

第3章系统的硬件电路设计

3.1系统的整体设计框架

图3.1系统总体设计框架

3.2系统的硬件设计模块

3.2.1晶振电路

本系统采取11.0592MHz晶振为振荡源,为单片机提供时钟信号,如图3.2所示。

图3.2晶振电路

3.2.2复位电路

系统复位电路如图3.3所示

图3.3复位电路

3.2.3矩阵键盘电路

共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P3.0~P3.7,这样扫描P3口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘按键地址,对比P3口的扫描结果和各按键的地址,我们就可以得到是哪个键按下。

如图3.4所示。

图3.4矩阵键盘电路

3.2.4蜂鸣器电路

蜂鸣器电路就是在计算结果出现错误(溢出)时或输入数据出现错误时,发出声音警报,提示使用者错误出现。

在编写程序时,报警电路实现的功能是:

当计算正常时使P2.3口输出高电平时,蜂鸣器不会响应。

当计算出现错误(例如0作为被除数时)此时给P2.3输出低电平,使蜂鸣器响应,达到报警功能。

如图3.5所示。

图3.5蜂鸣器电路

3.2.5LCD显示电路

本设计采用LCD液晶显示器来显示输出数据.通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据。

如图3.6所示。

图3.6LCD显示电路

第4章系统的软件设计

4.1矩阵键盘扫描程序

扫描键盘看是否有键输入,先消除抖动,然后确认是否真的有按键按下,最后确认哪个键被按下得出键值。

流程图如图4.1所示。

图4.1键盘扫描流程图

这里采用行扫描的方法来完成对键盘的扫描。

行扫描就是逐行扫描键盘,看是哪一行有键按下,再通过返回的键码来确定究竟是哪个按键按下。

如对第一行扫描就令P3.0为低,P3口其余为高,这样若第一行有键按下,则P3口的值就会由0xfe变为其他值,再由这个值来确定是哪个键按下。

部分程序如下(此处为扫描第一行键盘):

voidkeyscan()

{

uchartemp;

P3=0xfe;

temp=P3;

temp=temp&

0xf0;

while(temp!

=0xf0)

{

delay(5);

switch(temp)

case0xee:

num=0;

break;

case0xde:

num=1;

case0xbe:

num=2;

case0x7e:

num=3;

}

{temp=P3;

}

}

4.2LCD程序

LCD显示流程图如图4.2所示:

图4.2LCD显示流程图

部分程序:

初始化程序:

voidwrite_com(ucharcom)

RS=0;

RW=0;

E=1;

P0=com;

E=0;

voidwrite_dat(uchardat)

RS=1;

P0=dat;

voidinit()

delay(15);

write_com(0x38);

delay(6);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

显示程序(以执行减法为例):

if(fuhao==2)

write_com(0x80+0x4f);

write_com(0x04);

if(a>

=b)

{

c=a-b;

if(c>

99999999)

{

bg=0;

delay(100);

bg=1;

write_dat(0x52);

write_dat(0x4f);

write_dat(0x52);

write_dat(0x45);

}

while(c!

=0&

&

c<

=99999999&

c>

=-99999999)

write_dat(0x30+c%10);

c=c/10;

elseif(a<

b)

c=b-a;

if(c<

{

bg=0;

delay(100);

bg=1;

write_dat(0x52);

write_dat(0x4f);

write_dat(0x45);

}

write_dat(0x2d);

write_dat(0x3d);

a=0;

b=0;

flag=0;

fuhao=0;

第5章功能分析

5.1功能分析

加:

结果8位内加法运算,结果超出8位蜂鸣器报警,LCD显示ERROR。

减:

结果8位内减法运算,结果可为负(负数显示带负号),超出8位蜂鸣器报警,LCD显示ERROR

乘:

结果8位内乘法运算,结果超出8位蜂鸣器报警,LCD显示ERROR。

除:

结果带四位小数除法运算,0为除数或溢出时蜂鸣器报警。

清屏:

按清屏键可清屏。

第6章个人心得体会

6.1胡成的心得体会

6.2柏壮壮的心得体会

6.3王庆安的心得体会

6.4杜威的心得体会

6.5孙润的心得体会

参考文献

[1]李朝青.单片机原理及接口技术.北京航空航天大学出版社,1998

[2]丁璞杨一雄.简易计算器.大连民族学院.2012

[3]郭天祥.新概念51单片机C语言教程.电子工业出版社.2013

附录一硬件电路图

附录二系统硬件电路照片

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2