您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的数字计算器设计
课程设计成绩操作报告总成绩指导教师签名湖南理工学院南湖学院单片机应用系统设计报告基于单片机的数字计算器设计姓名学号同组者系别专业电子信息工程班级09电信1班完成时间2012年5月23日湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计1设计题目:单片机数字计算器硬软件设计摘要本设计是基于51系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用5位7段共阴极LED静态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。引言简易计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,数字计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。关键词:单片机计算器AT89c51芯片74LS164湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计2目录单片机应用系统设计报告--------------------------------------------------------------------------------------0一、方案设计----------------------------------------------------------------------------------------------------31.1单片机系统开发与应用工程实习计报告--------------------------------------------------------31.2系统分析------------------------------------------------------------------------------------------------31.3系统设计------------------------------------------------------------------------------------------------4二、系统的硬件设计---------------------------------------------------------------------------------------------52.1主控制器------------------------------------------------------------------------------------------------52.2键盘电路------------------------------------------------------------------------------------------------92.3其他电路设计----------------------------------------------------------------------------------------10三、系统的软件设计------------------------------------------------------------------------------------------123.1主程序--------------------------------------------------------------------------------------------------123.2读键子程序设计-------------------------------------------------------------------------------------123.3定时查键的程序设计-------------------------------------------------------------------------------133.4LED显示程序设计-----------------------------------------------------------------------------------143.5数字送显示缓冲程序设计-------------------------------------------------------------------------15四、系统的测试------------------------------------------------------------------------------------------------154.1KeilC51单片机软件开发系统------------------------------------------------------------------154.2proteus的操作--------------------------------------------------------------------------------------154.3软件的可靠性设计----------------------------------------------------------------------------------16五、总结----------------------------------------------------------------------------------------------------------17六、同组分工---------------------------------------------------------------------------------------------------18七、参考文献-----------------------------------------------------------------------------------------------------18附录1原理图---------------------------------------------------------------------------------------------------19附录2源程序清单--------------------------------------------------------------------------------------------19湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计3一、方案设计1.1单片机系统开发与应用工程实习计报告1.设计要求本次课程设计,我选择的课题是单片机数字计算器设计,设计任务为:1.扩展4*4键盘,其中10个数字,5个功能键,1个清零2.使用五位数码管接口电路3.完成十进制的四则运算(加、减、乘、除);4.实现低于三位小于255数字的连续运算;5.使用keilC软件编写程序;6.最后用ptoteus仿真;7.具有较强的抗干扰能力;8.体积小、功耗低,便于嵌入其他系统。2.项目要求基于AT89S52单片机的简易计算器,采用12MHZ晶振。设计要求如下:(1)计算器至少能正常显示8位数。(2)卡机时,显示0。第一次按下时,显示D1;第二次按下时,显示D1D2。(3)计算器能对整数进行简单的加、减、乘、除四则运算,在做除法时能自动舍去小数部分。(4)运算结果超过可显示的位数时能进行出错提示。1.2系统分析1.总体设计计算器以AT89S52单片机为核心芯片,通过扫描键盘来得到数据,另外通过CPU将得到的数据按要求进行运算并将结果送到显示电路进行显示。2.框图设计基于AT89S52单片机的简易计算器由电源电路、单片机主控电路、按键电路、显示电路和复位电路几部分组成,框图组成如图2-1所示。图2.1基于AT89S52单片机的简易计算器系统框图湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计43.知识点本项目需要通过学习和查阅资料,掌握和了解如下知识:○1电源原理及设计。○2单片机复位电路工作原理及设计。○3单片机晶振电路工作原理及设计。○4按键电路的设计。○5驱动电路的设计。○6七段数码管的特性及使用。○7AT89S52单片机引脚。○8单片机C语言及程序设计。1.3系统设计1.电路原理图如下:图1.1电路原理图湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计5二、系统的硬件设计2.1主控制器1.单片机简介在该课程设计中,主要用到一个AT89c51芯片和串接的五个74LS164芯片。作为该设计的主要部分。下面将对这两个芯片原理及功能做已详细介绍和说明。图2.1AT89c51芯片芯片AT89c51的外形结构和引脚图如2.1所示。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1)主要特性:8051CPU与MCS-51兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环)全静态工作:0Hz-24KHz三级程序存储器保密锁定湖南理工南湖学院机电系09电信罗树英基于单片机数字计算器设计6128*8位内部RAM2条可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路(2)管脚说明:VCC:供电电压(图中未画出)GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。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口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程
本文标题:基于单片机的数字计算器设计
链接地址:https://www.777doc.com/doc-3675133 .html