毕业设计:基于单片机的简单计算器设计与仿真

上传人:aa****6 文档编号:38380213 上传时间:2018-05-01 格式:DOC 页数:24 大小:384KB
返回 下载 相关 举报
毕业设计:基于单片机的简单计算器设计与仿真_第1页
第1页 / 共24页
毕业设计:基于单片机的简单计算器设计与仿真_第2页
第2页 / 共24页
毕业设计:基于单片机的简单计算器设计与仿真_第3页
第3页 / 共24页
毕业设计:基于单片机的简单计算器设计与仿真_第4页
第4页 / 共24页
毕业设计:基于单片机的简单计算器设计与仿真_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计:基于单片机的简单计算器设计与仿真》由会员分享,可在线阅读,更多相关《毕业设计:基于单片机的简单计算器设计与仿真(24页珍藏版)》请在金锄头文库上搜索。

1、东北大学秦皇岛分校自动化工程系东北大学秦皇岛分校自动化工程系自动控制系统课程设计自动控制系统课程设计基于单片机的简易计算器设计与仿真基于单片机的简易计算器设计与仿真专业名称专业名称自自动动化化班级学号班级学号学生姓名学生姓名张张爽爽指导教师指导教师王王宏宏伟伟设计时间设计时间2011.6.272010.7.8东北大学秦皇岛分校自动化工程系自动控制系统自动控制系统课程设计任务书课程设计任务书专业:专业: 自动化自动化 班级:班级:50805 姓名:姓名:张爽张爽 设计题目:基于单片机的简易计算器设计与仿真设计题目:基于单片机的简易计算器设计与仿真 一、设计实验条件:一、设计实验条件:地 点:自动

2、化系实验室实验设备:PC机( 装有Keil;Protues;Word ;Visio )二、设计任务:二、设计任务:本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下:(1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。(2)采用键盘输入方式,键盘包括数字键(09)、符号键(+、-、)、清除键(onc)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。(3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数

3、值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示overflow;当除数为0时,计算器会在LCD上提示error。设计要求:分别对键盘输入检测模块;LCD显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真分析其设计结果。三、设计时间与设计时间安排:三、设计时间与设计时间安排:1、设计时间:、设计时间:6月27日7月8日2、设计时间安排:、

4、设计时间安排: 熟悉课题、收集资料: 3天(6月27日 6月29日) 具体设计(含上机实验): 6天(6月30日 7月5日)编写课程设计说明书: 2天(7月6日 7月7日)答辩: 1天(7月8日)四、设计说明书的内容:四、设计说明书的内容:1、前言:、前言:(自己写,自己写,组员之间不能相同,写完后将组员之间不能相同,写完后将红字红字删除,排版时注意对齐删除,排版时注意对齐)本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*

5、4键盘的扫描IC读取键盘上的输入;显示采用字符LCD静态显示;软件方面使用C语言编程,并用PROTUES仿真。2、设计题目与设计任务:、设计题目与设计任务:现实生活中人们熟知的计算器,其功能主要如下:(1)键盘输入;(2)数值显示;(3)加、减、乘、除四则运算;(4)对错误的控制及提示。针对上述功能,计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;(2)LCD显示模块;(3)算术运算模块;(4)错误处理及提示模块。3、主体设计部分:、主体设计部分:(1)、)、系统模块图:系统模块图:单片机运算模块显示模块输入模块(2 2)、算术运算程序流程图:)、算术运算程序流程图:加加开开始始判

6、判断断运运算算符符?乘乘除除减减判判断断结结果果溢溢出出?除除数数为为0?错错误误信信息息送送显显示示缓缓冲冲数数值值送送显显示示缓缓冲冲YNNY(3 3)、)、系统总流程图:系统总流程图:开开始始初初始始化化参参数数初初始始化化LCD显显示示本本次次功功能能键键?读读取取键键码码数数字字键键清清零零键键功功能能键键键键入入数数值值状状态态清清零零根根据据上上次次功功能能键键和和输输入入 的的数数据据计计算算结结果果结结果果送送显显示示缓缓冲冲LCD显显示示有有否否有有键键值值?数数值值送送显显示示缓缓冲冲结结果果送送显显示示缓缓冲冲等等待待数数值值键键入入等等待待数数值值键键入入结结果果送送

7、显显示示缓缓冲冲等等待待数数值值键键入入YNYN(4 4)、硬件设计:)、硬件设计: (一)、(一)、总体硬件设计:总体硬件设计:本设计选用AT89C51单片机为主控单元; 显示部分:采用LCD静态显示;按键部分:采用4*4键盘;用MM74C922为4*4键盘扫描IC,读取输入的键值。总体设计效果如下图:(二)、单片机接口电路说明:1 1、手动上电复位电路:、手动上电复位电路:当VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S,C放电。S松手,C又充电,在10K电阻上出现电压,使得单片

8、机复位。几个毫秒后,单片机进入工作状态。 2 2、内部时钟模式电路:、内部时钟模式电路:当单片机工作于内部时钟模式的时候,只需在XTAL1和XTAL2引脚连接一个晶体振荡器或者陶瓷振荡器,并接两个电容后接地即可,在使用时对于电容的选择有一定的要求:当外接晶体振荡器的时候,电容值一般选择C1=C2=30+10pF或30-10pF;当外接陶瓷振荡器的时候,电容值一般选择C1=C2=40+10pF或40-10pF;3 3、AT89C51AT89C51单片机引脚介绍:单片机引脚介绍:V VC CC C: 供电电压。 G GN ND D:接地。 P P0 0口口:P0口为一个8位漏级开路双向I/O口,每

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

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

11、P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 R RS ST T:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 A AL LE E/ /P PR RO OG G:当访问外部存储器时,地

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

13、时,这两次有效的/PSEN信号将不出现。 / /E EA A/ /V VP PP P:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 X XT TA AL L1 1:反向振荡放大器的输入及内部时钟工作电路的输入。 X XT TA AL L2 2:来自反向振荡器的输出。4 4、单片机与复位、时钟电路连接电路图:、单片机与复位、时钟电路连接电路图:(三)、键盘接口电路:(三)、键盘接口电路:

14、计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。矩阵键盘的工作原理:计算器的键盘布局如图1所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。图 1 矩阵键盘布局图矩阵键盘内部电路图如图2所示:为了进一步节

15、省单片机I/O口资源,我们在设计中使用了MM74C922芯片。MM74C922是一款4*4键盘扫描IC,它可检测到与之相连的4*4键盘的按键输入,并通过数据输出口将按键相应的编码输出。其引脚图如图3所示:图3 MM94C22硬件图MM74C922引脚说明:(1) Y1Y4(脚1脚4):4*4键盘第一列至第四。(2) X1X4(脚11、10、8、7):4*4键盘第一行至第四行。(3) DOA DOD(Dataout AD,脚1417):按键之BCD码输出,其中DOA为LSB,DOD为MSB。(4) VCC(脚18):电源脚,+3V+15V。ab126计算公式大全(5) GND(脚9):接地管脚。

16、新艺图库(6) OSC(Oscillator,脚5):键盘扫描电路之频率所需外加电容的连引脚。(7) KBM(Keyboard Mask,脚6):内部消除开关弹跳电路所外加电容的引脚。(8) OE(Output Enable,脚13):芯片使能脚,接低电位可使芯片使能。(9) DA(Data Available,脚12):数据有效输出脚。任一按键按下时,此脚位会输出高电位,按键释放后此脚又会恢复为低电位。MM74C922对各按键的响应如下表所示:如下图4所示,在本设计中,计算器输入键盘的4条行线、列线分别连接到MM74C922的X1-X4、Y1-Y4引脚,MM74C922的数据输出口与单片机的P2口相连,MM74C922的DA引脚经过一个非门连接到单片机的/INT0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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