基于单片机控制的简单计算器设计方案(DOC 30页)

上传人:s9****2 文档编号:548276349 上传时间:2023-10-23 格式:DOCX 页数:32 大小:370.73KB
返回 下载 相关 举报
基于单片机控制的简单计算器设计方案(DOC 30页)_第1页
第1页 / 共32页
基于单片机控制的简单计算器设计方案(DOC 30页)_第2页
第2页 / 共32页
基于单片机控制的简单计算器设计方案(DOC 30页)_第3页
第3页 / 共32页
基于单片机控制的简单计算器设计方案(DOC 30页)_第4页
第4页 / 共32页
基于单片机控制的简单计算器设计方案(DOC 30页)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《基于单片机控制的简单计算器设计方案(DOC 30页)》由会员分享,可在线阅读,更多相关《基于单片机控制的简单计算器设计方案(DOC 30页)(32页珍藏版)》请在金锄头文库上搜索。

1、基于单片机控制的简单计算器设计方案第 1章 绪 论单片机诞生于1971年,经历了SCMMCUSoC三大阶段,早期的SC单片机都是8位或 4位的。其中最成功的是INTE啲8051,此后在8051上发展出了 MCS5系列MC系统。基于 这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出 现了16位单片机,但因为性价比不理想并未得到很广泛的应用。 90年代后随着消费电子 产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARMS列的 广泛应用, 32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,

2、处理能力比起 80年代提高了数百倍。 高端的32位Soc单片机主频已经超过300MHz性能直追90年代中期的专用处理器,而普通 的型号出厂价格跌落至 1美元,最高端的型号也只有 10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统 被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至 可以直接使用专用的Window和Linux操作系统。单片机作为计算机发展的一个重要分支领域,根据发展情况,从不同角度,单片机 大致可以分为通用型 /专用型、总线型/非总线型及工控型/家电型。通用型与专用型这是按单片机适用范围来区分的。例如,80C5是通用型单片

3、机,它不是为某种专门 用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足 电子体温计的要求,在片内集成AD接口等功能的温度测量控制电路线型这是按单片机是否提供并行总线来区分的。 总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接, 另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可 以不要并行扩展总线, 大大减省封装成本和芯片体积, 这类单片机称为非总线型单片机。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电 话、计算器、家用电器、电子玩具、掌上电脑以及鼠

4、标等电子产品中都含有单片机。 汽 车上一般配备 40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工 作!单片机的数量远远超过PC机和其他计算机的总和。本设计采用80S52芯片,实现了利用单片机进行了一个简单计算器设计。允许对输 入数据进行加减乘除运算及 LED 显示。第 2 章 设计方案2.1 设计方案本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算 器的设计,具体设计如下:(1)由于设计的计算器要进行四则运算, 为了得到较好的显示效果,经综合分析后, 最后采用LCD显示数据和结果。(2)采用键盘输入方式,键盘包括数字键(09)、符号键(+、-、X

5、、十)、清 除键(onc)和等号键(=),故只需要16个按键即可,设计中采用集成的计算键盘。(3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来, 当键入 +、 - 、 * 、 / 运算符,计算器在内部执行数值转换和存储,并等待再次键入数值, 当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如: 当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在 LCD上提示 overflow ;当除数为0时,计算器会在LCD上提示error。为了满足计算器的基本要求,可以基本的运算(

6、加减乘除),数据归零和出错警告 提示,我们采用基于单片机设计计算器,并用LED数码管显示数据,4*4的矩阵键盘实 现数据输入。设计仿真和调试要用到 Protues 、 Keil 等软件。2.2 模块设计一、系统模块图2-1 系统模块图二、算数运算流程图、系统总流程图2-3系统总流程图第 3 章 AT89C52 单片机的简单介绍3.1 AT89C52 单片机的简单介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PERO)和256 bytes的随机存取数据存储器 (RAM,器件采用ATMEL公司的高密度、非易失性存

7、储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU和Flash存储单元, 功能强大AT89C52单片机适合于许多较为复杂控制应用场合。3-1 AT89C52 实物图3-2 AT89C52 实物引脚图主要性能参数:与 MCS-51 产品指令和引脚完全兼容8k 字节可重擦写 Flash 闪速存储器1000 次擦写周期全静态操作: 0Hz24MHz三级加密程序存储器256X 8字节内部RAM32 个可编程 I O 口线3 个 16 位定时计数器8 个中断源可编程串行UART通道低功耗空闲和掉电模式功能特性概述:AT89C52提供以下标准功能:8k字节Fla

8、sh闪速存储器,256字节内部RAM32个 I O 口线, 3 个 16 位定时计数器,一个 6 向量两级中断结构,一个全双工串行通 信口,片内振荡器及时钟电路。同时,AT89C52可降至OHz的静态逻辑操作,并支持两 种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM定时/计数器, 串行通信口及中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁 止其它所有部件工作直到下一个硬件复位。AT89C5单片机引脚介绍:VCC: 供电电压。GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P0 口的 管脚第一次写1时,被定

9、义为高阻输入。P0能够用于外部程序数据存储器,它可以被定 义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验 时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出 4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为 低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为 第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出4 个TTL门电流,当P2 口被写“ T时,

10、其管脚被内部上拉电阻拉高,且作为输入。并因 此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口 当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八 位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信 号和控制信号。P3口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。 当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下 拉为低电平,P3口将输出电流(ILL

11、)这是由于上拉的缘故。P3口也可作为AT89C5的些特殊功能口:P3.0 RXD(串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断0)P3.3 /INT1 (外部中断 1) P3.4 T0 (记时器 0 外部输入) P3.5 T1 (记时器 1 外 部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在FLASH编程期间

12、,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于 定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想 禁止ALE的输出可在SFR8E地址上置0。此时,ALE只有在执行MOV,MOV指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无 效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期 两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则

13、在此期间外部程序存储器(0000H-FFFFH,不 管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET当/EA端保持 高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源( VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 来自反向振荡器的输出。3.2 MM94C22芯片介绍MM94C2是 一个16位的译码器,4X4的键盘,在单片机系统中,是很常见的。一 般都是占用一个单片机的 8位接口。对于这种输入设备,通常是由单片机来识别某 行某列的按键是否按下,还需要延时消抖等等。为了节省单片机的 10 接口,也可以 使用外接

14、芯片来驱动 4X4的键盘。MM74C922就是一块较好的 4X4的键盘编码 芯片。它能够自己独立地进行键盘检测、消抖,以 8421码给出键值。它还能给出按 键是否按下的标志,其数据线还具有三态输出的功能,便于进行总线连接Pin Assignment for DIP1U11RQWY1 一血DAJAOUI Anaw Y丄OAFA DUT 8H0WY4 2DATA (|UT c$U?CrLLATOR f旦 data dut aGurplnTN顾TC0LUW1 K4 丄DATAVAILLECOLUMN X3 上J-C0IUWIUX1逊丄fQ一伽 LUHIMJUTop ViewMM94C9223-3 M

15、M94C22硬 件图MM74C92引脚说明:(1) Y1Y4 (脚1脚4): 4*4键盘第一列至第四。(2) X1X4 (脚11、10、8、7): 4*4键盘第一行至第四行。(3) D0A DOD(Dataout AD,脚 1417):按键之 BCD码输出,其中 DO/为 LSB DOE为 MSBVCC (脚18):电源脚,+3V+15V ab126计算公式大全(5) GND(脚9):接地管脚。新艺图库OSC (Oscillator,脚5):键盘扫描电路之频率所需外加电容的连引脚。(7) KBM ( Keyboard Mask脚6):内部消除开关弹跳电路所外加电容的引脚。(8) OE (Output Enable,脚13):芯片使能脚,接低电位可使芯片使能。(9) DA (Data Available,脚12):数据有效输出脚。任一按键按下时,此脚位会 输出高电位,按键释放后此脚又会恢复为低电位。MM74C92对各按键的响应如下表所示:Truth Tables(Pms D tfirougti 11)S

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

当前位置:首页 > 建筑/环境 > 施工组织

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