8位四则运算计算器设计报告

上传人:碎****木 文档编号:235773391 上传时间:2022-01-06 格式:DOCX 页数:18 大小:442.23KB
返回 下载 相关 举报
8位四则运算计算器设计报告_第1页
第1页 / 共18页
8位四则运算计算器设计报告_第2页
第2页 / 共18页
8位四则运算计算器设计报告_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《8位四则运算计算器设计报告》由会员分享,可在线阅读,更多相关《8位四则运算计算器设计报告(18页珍藏版)》请在金锄头文库上搜索。

1、单片机应用课程设计报告设计题目姓 名学 号年 级专 业指导教师考核成绩8 位四则运算计算器胡成、柏壮壮、王庆安、杜威、孙润Z11414107、Z11414039 Z11414075、Z11414101、Z114141052014 级自动化张道信、张德祥电气工程与自动化学院2017 年 6 月 28 日第 1 页 共 19 页8 位四则运算计数器8 位四则运算计数器摘要随着时代的发展,单片机在生活中应用越来越广泛。而生活中,用到计算的场合十分之多,有时候计算较复杂时,人工计算远远不及计算器的快速性、准确性。因此计算器的出现大大便捷了人类生活。本文介绍用 STC89C52RC 单片机来设计简单四则

2、运算计算器。关键词:STC89C52RC、硬件电路、软件程序8 Bit Arithmetics CalculatingAbstractWith the development of the era, MCU becomes more and more general in life.And calculation applies to many occasions in life, sometimes calculate by self can not be comparable to calculating in complex occasions, especially in the as

3、pect of rapidity and accuracy. So, the appearance of calculating has convenient peoples lives. This writings introduces how to design simple arithmetics calculating with STC89C52RC MCU.Keywords: MCU、Hardware circuit、Software program第 17 页 共 19 页目录摘要2第 1 章 单片机的基本概述41.1基本概述4第 2 章 单片机应用课程设计的目的和意义52.1设计

4、的目的和意义5第 3 章 系统的硬件电路设计63.1 系统的整体设计框架63.2 系统的硬件设计模块63.2.1 晶振电路63.2.2 复位电路73.2.3 矩阵键盘电路73.2.4 蜂鸣器电路83.2.5 LCD 显示电路8第 4 章 系统的软件设计94.1 矩阵键盘扫描程序94.2 LCD 程序11第 5 章 功能分析145.1 功能分析14第 6 章 个人心得体会156.1 胡成的心得体会156.2 柏壮壮的心得体会156.3 王庆安的心得体会156.4 杜威的心得体会156.5 孙润的心得体会15参考文献16附录一 硬件电路图17附录二 系统硬件电路照片18第 1 章 单片机的基本概述

5、1.1基本概述单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。经过 40 多年的发展,单片机以其成本低、体积小、可靠性高、系统结构简单、性能价格比高的特点,在工业测控、仪器仪表、航天航空、武器准备、家用电器等领域中得到了广泛应用。本次课设所采用的 STC89C52 单片机是 STC 公司生产的一种低功耗、高性能CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。STC89C52 使用经典的MCS

6、-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置4KB EEPROM, MAX810 复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统51 的 5 向量 2 级中断结构),全双工串行口。另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模

7、式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。第 2 章 单片机应用课程设计的目的和意义2.1设计的目的和意义为了进一步巩固学习的理论知识,增强我们对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期 5 至 14 天的单片机课程设计。单片机课程设计中,通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个简单 8 位计算器的设计编程应用。使我们不但能够将理论与实践结合,且能够进一步认识电子

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.0P3.

9、7,这样扫描 P3 口就可以完成对矩阵键盘的扫描,通过对 16 个按键进行编码,从而得到键盘按键地址,对比 P3 口的扫描结果和各按键的地址,我们就可以得到是哪个键按下。如图 3.4 所示。图 3.4 矩阵键盘电路3.2.4 蜂鸣器电路蜂鸣器电路就是在计算结果出现错误(溢出)时或输入数据出现错误时,发出声音警报,提示使用者错误出现。在编写程序时,报警电路实现的功能是:当计算正常时使 P2.3 口输出高电平时,蜂鸣器不会响应。当计算出现错误(例如0 作为被除数时)此时给 P2.3 输出低电平,使蜂鸣器响应,达到报警功能。如图 3.5 所示。图 3.5 蜂鸣器电路3.2.5 LCD 显示电路本设计

10、采用 LCD 液晶显示器来显示输出数据通过 D0-D7 引脚向 LCD 写指令字或写数据以使 LCD 实现不同的功能或显示相应数据。如图 3.6 所示。图 3.6 LCD 显示电路第 4 章 系统的软件设计4.1 矩阵键盘扫描程序扫描键盘看是否有键输入,先消除抖动,然后确认是否真的有按键按下,最后确认哪个键被按下得出键值。流程图如图 4.1 所示。图 4.1 键盘扫描流程图这里采用行扫描的方法来完成对键盘的扫描。行扫描就是逐行扫描键盘,看是哪一行有键按下,再通过返回的键码来确定究竟是哪个按键按下。如对第一行扫描就令 P3.0 为低,P3 口其余为高,这样若第一行有键按下,则 P3 口的值就会由

11、 0xfe 变为其他值,再由这个值来确定是哪个键按下。部分程序如下(此处为扫描第一行键盘):void keyscan()uchar temp; P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0)delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0)temp=P3; switch(temp)case 0xee:num=0; break;case 0xde:num=1; break;case 0xbe:num=2; break;case 0x7e:num=3; break;while(temp!=

12、0xf0) temp=P3; temp=temp&0xf0;4.2 LCD 程序LCD 显示流程图如图 4.2 所示:图 4.2 LCD 显示流程图部分程序:初始化程序:void write_com(uchar com)RS=0; RW=0; E=1;P0=com; delay(5); E=0;void write_dat(uchar dat)RS=1;RW=0;E=1;P0=dat; delay(5); E=0;void init()delay(15); write_com(0x38); delay(6); write_com(0x38); delay(6); write_com(0x38)

13、; 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(c99999999)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)write_dat(0x30+c%10); c=c/10;else if(ab)c=b-a;if(c99999999)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)write_dat(0x30+c%10); c=c/10;write_dat(0x2d);write_dat(0x3d); a=0;b=0;flag=0;fuhao=0;第 5 章 功能分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号