单片机课程设计——计算器设计

上传人:第*** 文档编号:55655622 上传时间:2018-10-03 格式:DOC 页数:19 大小:274.29KB
返回 下载 相关 举报
单片机课程设计——计算器设计_第1页
第1页 / 共19页
单片机课程设计——计算器设计_第2页
第2页 / 共19页
单片机课程设计——计算器设计_第3页
第3页 / 共19页
单片机课程设计——计算器设计_第4页
第4页 / 共19页
单片机课程设计——计算器设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计——计算器设计》由会员分享,可在线阅读,更多相关《单片机课程设计——计算器设计(19页珍藏版)》请在金锄头文库上搜索。

1、第 0 页目录一、设计总绪2 1.1 设计思想.2 1.2 设计说明.2 1.3 关键词:矩阵键盘,单片机,数码管显示,汇编语言2 1.4 设计目的.2 1.5 设计要求.2 二、设计方案3 2.1 硬件电路设计方案.3 2.1.1 基本结构.3 2.1.2 系统框架图.3 2.1.3 工作流程图.4 2.1.4 单片机主控制模块.5 2.2 系统功能描述.6 三、各模块功能介绍7 3.1 键盘输入模块.7 3.1.1 键盘分布图.7 3.1.2 工作原理.7 3.2 运算控制模块8 3.3 显示模块.8 3.4 振荡电路模块.9 四、仿真电路10 仿真运行结果10 五、调试过程总结12 附录

2、:13 参考文献:13 源程序代码13第 1 页一、设计总一、设计总绪绪1.11.1 设计思想设计思想近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技 术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件 来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以 完善。 计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将 出现功能更加强大的计算机,基于这样的理念,本次设计是用 AT89c51 单片机、LCD 显示 器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编程,

3、对其片资源及各个 I/O 端口的功能和基本用途的了解。掌握应用程序开发环境,常用的 LCD 显示器的使用方法和一般键盘的使用方法此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基 于单片机技术的简易计算器的方案,采用具有数据处理能力的中央处理器 CPU,随机存储器 ROM,多种 I/O 口和中断系统、定时器/计时器等功能集成到 一块硅片上构成的一个小而完善的计算机系统单片机,配以汇编语言编写 的执行程序,能更好的解决计算机计算的问题,随着数字生活的到来,单片机 在生活中越来越重要,它能将大量的逻辑功能集成与一个集成电路中,使用起 来十分方便。1.21.2 设计说明设计说明本次课程

4、设计讨论了单片机技术的计算器构思,设计方案,工作原理,主 要系统包括单片机 80C51,排阻 RESPACK8,开关,六位数码管显示器等, 主要组成部分包括:键盘输入模块,运算模块,控制模块,显示模块。通过键 盘输入数值,单片机进行运算后在数码管显示出结果。1.3 关键词关键词:矩阵键盘,单片机,数码管显示,汇编语言1.41.4 设计目的设计目的通过本次课程设计,运用单片机微型计算机原理及应用所学到的知识 及查询相关资料,完成简易计算器的设计,进一步提高单片机的系统设计和开 发能力,达到理论知识与实践更好的结合,提高综合运用所学知识和设计能力 的目的。1.51.5 设计要求设计要求要求设计一个

5、单片机应用系统,利用 keil 和 proteus 软件完成系统软硬件的 设计及模拟调试。实现五位数(可为带小数点)的加减乘除运算,通过按键输第 2 页入十进制数据。利用六位数码管显示运算结果。并实现复位操作。由于要设计 的是简单的计算器,可以进行四则运算,为了得到教好的显示效果,采用 LCD 显示数据和结果。 、另外键盘包括数字键(0-9) 、符号键(+、-、*、/) 、清除键 和等号键,故只需要16个按键即可,设计中采用集成的计算机键盘来,当键入 +、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值 后将显示键入的数值,按等号就会在 LCD 上输出运算结果,执行程序:开

6、机显 示零,等待键入数值,当键入数字,通过 LCD 显示出二、设计方案二、设计方案2.12.1 硬件电路设计方案硬件电路设计方案2.1.12.1.1 基本结构基本结构计算器一般由运算器、控制器、键盘、显示器、电源和一些可选外围设备 及电子配件通过人工或机器设备组成。键盘是计算器的输入部件,一般采用接 触式或传感式。显示器是计算器的输出部件,有发光二极管显示器或液晶显示 器等。除显示计算结果外,还常有溢出指示、错误指示等。计算器电源采用交 流转换器或电池。计算器都采用 CMOS 工艺制作的大规模集成电路。本次课程设计中我是采用了以 MCS51 系列的单片机 AT89C51 单片机 为核心构成的简

7、易计算器。该系统通过单片机控制,实现对 4*4 键盘进行实时 扫描的按键检测,并把检测数据存储下来。整个计算器系统的工作过程为:首先存 储单元初始化,显示初始值和键盘扫描,判断按键位置,查表得出按键值,单片机则对数 据进行储存与相应处理转换,之后送入数码管动态显示。整个系统可分为三个主要功能模 块:功能模块一,实时键盘扫描;功能模块二,数据转换成显示器显示;功能模块三,计 算控制模块。功能模块四:显示模块。2.1.22.1.2 系统框架图系统框架图键盘控制运算显示第 3 页图 2.1 系统总体框架图2.1.32.1.3 工作流工作流程图程图NoYes开始初始化键盘列扫描有键按下运算功能键是”

8、=”?计算最后结果数码管显示复位键数字键记忆对应键值数码管显示其他键记忆其运算符第 4 页图 2.2 系统工作流程图2.1.42.1.4 单片机主控制模块单片机主控制模块AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位 微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造, 与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁 存储器组合在单个芯片中,ATMEL 的 AT89C5

9、1 是一种高效微控制器,为很多嵌 入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与 MCS-51 兼容 ;4K 字节可编程闪烁存储器 ;1000 写/擦循;数据保留时间:10 年;全静态工作: 0Hz-24Hz;三级程序存储器锁定;128*8 位内部 RAM;32 可编程 I/O 线;两个 16 位 定时器/计数器;5 个中断源 ;可编程串行通道;低功耗的闲置和掉电模式;片内 振荡器和时钟电路74LS245是我们常用的芯片,用来驱动 led 或者其他的设备,它是8路同相 三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的

10、 P0口总线负载达到或超过 P0最大负载能力时,必须接入 74LS245等总线驱动器。当片选端/CE 低电平有效时,DIR=“0” ,信号由 B 向 A 传输;(接收)第 5 页DIR=“1” ,信号由 A 向 B 传输;(发送)当 CE 为高电平时,A、B 均为高阻态。由于 P2口始终输出地址的高8位,接口时74LS245的三态控制端1G 和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E 端接地, 保证数据线畅通。8051的/RD 和/PSEN 相与后接 DIR,使得 RD 且 PSEN 有效 时,74LS245输入(P0.1D1) ,其它时间处于输出(P0.1

11、D1) 。图 2 74LS245 引脚图2.22.2 系统功能描述系统功能描述本程序有 LCD 动态显示,键盘输入显示功能,程序启动时默认为计算器状态。 (1)计算器状态下: 按“0”“9” ,显示相应数字; 按“复位” ,恢复初始化模式; 按“加减乘除”可实现加减乘除的运算功能第 6 页三、各模块功能介绍三、各模块功能介绍3.13.1 键盘输入模块键盘输入模块3.1.13.1.1 键盘分布图键盘分布图图 3.1 计算器键盘图3.1.23.1.2 工作原理工作原理本设计采用 P3 口作为矩阵键盘输入口,开始工作后,单片机先对矩阵键盘 的行进行扫描。若无键按下,先使 P3 为 11110000,

12、然后检测外来输入,若有 输入,则可使四位的 0 其中一位置 1,即完成了按行号的输入。列扫描远离同 行扫描相同,不过 P3 初始为 00001111.检测完行号与列号后,产生一个 8 位二 进制码,即可对键盘值进行输入。第 7 页3.2 运算控制模块运算控制模块图 3.2 计算器运算控制模块控制模块控制着数字录入,数字录入是进行计算的前提,它是将从矩阵键 盘上输入的数值、运算符等录入单片机处理器进行处理,从而得出运算结果。 计算模块作为计算器的核心模块共有加、减、乘、除四个部分。其设计原 理是先将键盘输入的 BCD 码数字转换为十进制数字,然后再对其进行运算。由 于最后需要进行输出显示,所以我

13、们的最终结果以十进制的形式显示在六位的 数码显示管上。3.33.3 显示模块显示模块图 3.3 数码管显示屏第 8 页本设计采用了六位数码管,可以显示 0999999 之间的任意整数,由于 LED 数码管有 6 个,若采用静态显示,则最少需要 48 根数据线与 6 根地址线, 这对只有 40 个引脚的单片机来说是不可能实现的。所以我采用了动态扫描的显 示方法。其原理是不同时刻对不同位上的数码管进行选通,同时对其进行数码 输出。当扫描频率很高时,将不会看到数码管的闪烁。本设计应用了定时器中 断来实现间时显示。3.43.4 振荡电路模块振荡电路模块图 3,.4 振荡电路振荡电路如图所示。 图中晶振

14、的两端分别接单片机的 19 和 18 脚。时钟有内部电路产生,定时器件为石英 晶体和电容组成的并联谐振回路。3.53.5 起保护作用模块起保护作用模块图 3.5 限流电阻第 9 页这一排限流电阻,它们的作用是起保护作用,防止数码管的段位被烧坏。四、仿真电路四、仿真电路图 4.1 系统电路仿真图仿真运行结果仿真运行结果例如:运行 23*2 时,一次在键盘上输入数据和功能键,功能键不会再数码 管上显示出来,只会显示出输入的数据和运行结果。第 10 页图 4.2 输入数据 23 时图 4.3 输入数据 2第 11 页图 4.4 计算 23*2 的运行结果五、调试过程总结五、调试过程总结开始在做这个单

15、片机课设的时候,感觉无从下手,一点头绪都没有。后来 上网查了好多资料,向学长请教。终于功夫不负有心人,做出了这个单片机的 课设。调试过程中也遇到了一些问题,先是数码管显示数据不完整,经过仔细 检查发现是线路连接的错误;后来又遇到计算时会出现运算错误,经过查找发 现原来是编程的问题。在利用 keil 软件编程的过程中,会出现各种各样的问题, 有的是由于粗心而引起的,有的是因为概念模糊而导致的。再用 proteus 进行仿 真时,会出现的问题主要是线路连接问题,可能会不小心把线连错,其他的我 觉得只要元器件选择好,各引脚的功能清楚的话一般不会有太大的问题。 在这次做课程设计的过程中我深深体会到了要

16、独立完成一个作品的设计是 多么不容易。虽然我做的只是最基础的,但是从这个最小的系统中却是利用了 单片机的最基础的功能。在这个过程中,我们不仅仅是编程仿真那么简单,还 需要有极大的耐心与毅力。设计的过程中会遇到各种各样的问题,我们应该静 下心来好好研究,这对于我们以后的工作也是非常重要的。 总的来说,这次课程设计,一个礼拜的紧张忙碌终于完成了。感觉自己的 收获还是很多的,无论是对专业知识的了解还是对硬件的设计,都是需要我们 下很大的功夫去研究的。通过这次课程设计,最大的一点体会是单片机学的不 够扎实,不会的很多啊,当然这次的课程设计做计算器程序用的是汇编语言, 尽管大家都知道汇编编这个程序很困难,但还是互相学习,到处找资料看,问第 12 页同学,所以我的软件主程序才能编译成功,系统才能调试出结果。很感谢那些 热心教导我的同学和指导我的老师。附录:附录:参考文献:参考文献:【1】姜志海、刘连鑫等,单片机微型计算机原理及应用M。北京:电子工业出版社,2011【2】周润景,张丽娜。基于 PR

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

当前位置:首页 > 高等教育 > 大学课件

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