您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机课程设计报告(简易计算器)
-1-简易计算器摘要:计算器是人们的日常生活中是最常见的电子产品之一,它应用极广、发展迅猛,并且不断出现着拥有更加强大功能的计算器。为了解和研究计算器,本次课设设计制作了一个简易计算器,能够在十四位的计算范围内进行“+”、“-”、“*”、“/”的基本运算,能进行负数以及小数点后两位的精确结果显示。该计算器以AT89C51单片机芯片作为核心。采用LCD1602工业字符液晶进行显示。完成的计算器经过检验能够完整的实现预设功能,各种细节完善,具有很高的使用价值。关键词:单片机;简易计算器;AT89C51;LCD1602-2-SimpleCalculatorAbstract:CalculatorisPeople'sDailylifeisoneofthemostcommonelectronicproducts,usedverywide,developingrapidly,andconstantlyappearmorepowerfulfunctionwithhavecalculators.Inordertounderstandandstudycalculator,thisclasssetdesignmadeasimplecalculator,canthecalculationinwithin14+and-and*,/thebasiccomputing,cancarryoutnegativeandtwodecimalplacesaccurateresultsareshown.ThiscalculatorwithAT89C51chipsasthecore.UsingliquidLCD1602industrialcharactersdisplayed.Completecalculatorafterinspectioncancompleterealization,variousdetailspresetfunctionstoperfect,havehighusevalue.Keywords:MCU;Simplecalculator;AT89C51;LCD1602-3-目录中文摘要............................................................1英文摘要............................................................2单片机课程设计......................................................41课程设计任务.....................................................41.1主要功能设计................................................41.2任务目的....................................................42整体设计方案......................................................42.1方案论证....................................................42.2系统框图....................................................53硬件电路的设计...................................................63.1计算机Protel总图............................................63.2显示电路设计方案............................................93.3键盘设计方案................................................93.4复位电路设计...............................................103.5晶振电路设计...............................................104控制软件设计....................................................114.1程序时序总图...............................................114.2液晶显示软件设计...........................................124.3键盘输入软件设计...........................................134.4计算函数设置...............................................155系统调试........................................................185.1硬件调试...................................................185.2软件调试...................................................18参考文献...........................................................20个人小结...........................................................21附录...............................................................24附录1..........................................................24附录2..........................................................25-4-1课程设计任务1.1主要功能设计以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602工业字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。1.2任务目的通过本次课程设计提高我们的单片机硬件设计、软件编程能力,自主学习到更多的单片机应用知识。2整体设计方案2.1方案论证计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体如下:(1)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.(2)4*4键盘扫描电路一般常采用3种方法读取键值。一种是中断式,外两种是扫描法和反转法。中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个案件被按下。本实验采用中断式实现用户键盘接口。扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表1得到的-5-键码。因为编程的方式,本次设计采用逐行扫描来读取键值,方便程序编写。(3)单片机微控制电路:微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。2.2系统框图系统框图2.151系列单片机系统4*4键盘LCD显示晶振电路复位电路-6-3硬件电路的设计3.1计算机Protel总图简易计算器电路原理图1.13.2显示电路设计方案LCD1602型液晶-7-(1)显示特性●单5V电源电压,低功耗,长寿命,可靠性高●内置192种字符(160个5*7点阵字符和32个5*10点阵字符)●具有64个字节的自定义字符RAM,可自定义8个5*8点阵字符●或四个5*11点阵字符●显示方式:STN、半透、正显●驱动方式:1/16DUTY,1/5BIAS●视角方式:6点●背光方式:底部LED●通讯方式:4位或8位并口可选●标准的接口特性,适配MC51和M6800系列MPU的操作时序(2)接口定义引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、双向数据总线0位(最低位)8~13DB1~DB6底4位三态、双向数据总线1~6位14DB7高4位三态、双向数据总线7位(最高位)(也是busyflag)-8-(3)寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busyflag(DB7),以及读取位址计数器(DB0~DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据(4)液晶显示电路接线图本次设计中15,16号脚分别接电源接地开启背光,DB0~DB7对应P1口,2号脚接电源,1和3脚接地。-9-3.3键盘设计方案12mm*12mm*8mm规格4*4矩阵排布键盘(1)按键设置图共设置16个键,其中数字键0~9共十个,符号健有加号键、减号键、等于号、清除键。操作设备是四行四列共16键的简单键盘。其分布如图所示。(2)按键功能1~9为数字输入;ON/C为清除健;+、-、*、\、=为符号输入;(3)键盘连接图-10-键盘对应连接如图所示,接单片机P3口,在焊接过程中要注意短接虚焊,同时P3口接入510欧电阻进行上拉。3.4复位电路设计途中的RC为延时电路,只要RST端出现2个机器周期的高电平就可以使单片机复位,单片机复位后RST端出现低电平。3.5晶振电路设计单片机内部设有一个反向放大器构成的振荡器,18脚和19脚分别为振荡电路的输入和输出端,时钟由内部产生,定时器件为石英晶体和电容组成的并联谐振回路,电容C2,C3取值在5-30PF;Y1的取值在1.2~12M之间选取。-11-4控制软件设计:设计中采用C语言对单片机进行编程,采用的是自下而上的设计方式,先设计出每一个模块(子程序),然后再慢慢扩大,最后组成程序。4.1程序总时序图-12-4.2液晶显示软件设计(1)显示流程(2)1602液晶显示时序图,通过时序图,所有编程问题都可以得以解决。(3)由时序图可以写出液晶的初始化函数、功能设置函数、清屏函数、写指令函数、写数据函数。voidlcd1602_write_com(ucharcom)//向1602写入命令{P1=com;rs=0;rw=0;液晶初始化调用显示数字程序液晶显示结束开始-13-lcden=0;lcd1602_delay(10);lcden=1;lcd1602_delay(10);lcden=0;}voidlcd1602_pos(ucharx,uchary)//1602定位{ucharpos;if(x==0)x=0x80;elseif(x==1)x=0xc0;pos=x+y;lcd1602_write_com(pos);//显示地址}voidlcd1602_write_date(uchardate)//向1602写入数据{P1=date;rs=1;rw=0;lcden=0;lcd1602_delay(10);lcden=1
本文标题:单片机课程设计报告(简易计算器)
链接地址:https://www.777doc.com/doc-6073578 .html