8位四则运算计算器设计报告.docx
- 文档编号:9788362
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:13
- 大小:142.73KB
8位四则运算计算器设计报告.docx
《8位四则运算计算器设计报告.docx》由会员分享,可在线阅读,更多相关《8位四则运算计算器设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
8位四则运算计算器设计报告
单片机应用课程设计报告
设计题目
8位四则运算计算器
姓名
胡成、柏壮壮、王庆安、杜威、孙润
学号
Z11414107、Z11414039
Z11414075、Z11414101、Z11414105
年级
2014级
专业
自动化
指导教师
张道信、张德祥
考核成绩
电气工程与自动化学院
2017年6月28日
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);
temp=P3;
temp=temp&0xf0;
while(temp!
=0xf0)
{
temp=P3;
switch(temp)
{
case0xee:
num=0;
break;
case0xde:
num=1;
break;
case0xbe:
num=2;
break;
case0x7e:
num=3;
break;
}
while(temp!
=0xf0)
{temp=P3;
temp=temp&0xf0;
}
}
}
4.2LCD程序
LCD显示流程图如图4.2所示:
图4.2LCD显示流程图
部分程序:
初始化程序:
voidwrite_com(ucharcom)
{
RS=0;
RW=0;
E=1;
P0=com;
delay(5);
E=0;
}
voidwrite_dat(uchardat)
{
RS=1;
RW=0;
E=1;
P0=dat;
delay(5);
E=0;
}
voidinit()
{
delay(15);
write_com(0x38);
delay(6);
write_com(0x38);
delay(6);
write_com(0x38);
write_com(0x38);
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(0x52);
write_dat(0x45);
}
while(c!
=0&&c<=99999999&&c>=-99999999)
{
write_dat(0x30+c%10);
c=c/10;
}
}
elseif(a
{
c=b-a;
if(c<99999999)
{
bg=0;
delay(100);
bg=1;
write_dat(0x52);
write_dat(0x4f);
write_dat(0x52);
write_dat(0x52);
write_dat(0x45);
}
while(c!
=0&&c<=99999999&&c>=-99999999)
{
write_dat(0x30+c%10);
c=c/10;
}
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孙润的心得体会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四则运算 计算器 设计 报告