您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机技术课程设计报告- 简易计算器
题目:简易计算器班级:姓名:学号:指导老师:日期:2013年10月11日课设报告目录一.前言........................................................................................................................1二.课程设计的目的和要求........................................................................................12.1课程设计的目的...........................................................................................12.2课程设计要求..................................................................................................1三.总体设计................................................................................................................23.1基本工作原理..................................................................................................23.2系统组成单元..................................................................................................2四.硬件设计键盘输入部分........................................................................................44.1简易计算器的电路原理图..............................................................................44.2系统选用的主要元器件..................................................................................54.2.1AT89C51简介.....................................................................................54.2.2LCD显示器(1602)...............................................................................54.2.3其他.......................................................................................................6五.软件设计................................................................................................................6六.心得体会..............................................................................................................6七.源程序....................................................................................................................7单片机课程设计报告简易计算器福建工程软件学院第1页共16页一.前言单片机课程设计是单片机原理课程的实践性环节。是在我们学习了《单片机原理》等课程的基础上进行的综合性训练,我们组这次训练的课题是基于单片机简易计算器。此次课程设计的课题是针对我们学习《单片机原理》这门课程的基础上,并在其辅助下完成的。此次进行的综合性训练,不仅培养了我如何合理运用课本中所学到的理论知识与实践紧密结合,独立解决实际问题的能力二.课程设计的目的和要求2.1课程设计的目的首先,综合运用单片机原理与接口技术课程中所学到的理论知识来独立完成此次设计课题,培养我们查阅手册和文献资料的良好习惯,以及培养我们独立分析和解决实际问题的能力。其次,在学习了理论知识的基础上进一步熟悉常用电子器件的类型和特征,并掌握合理选用的原则。再次,就是学会电子电路的安装与调试技能,以及与同组的组员的团结合作的精神。2.2课程设计要求利用89c51作为主控器组成一个四则运算的计算器。单片机课程设计报告简易计算器福建工程软件学院第2页共16页三.总体设计3.1基本工作原理本设计利用AT89C51单片机来控制液晶显示器和矩阵式键盘,实现了简易的计算器功能。通过键盘输入需要计算的计算式子,该式子会显示在液晶的第一行,当键入等于号后,计算结果会显示在液晶的第二行。本设计中液晶选用1602字符型液晶显示器,显示参与运算的数字以及最终的运算结果,键盘采用4*4矩阵式键盘。3.2系统组成单元中央处理单元CPU选用AT89C—51对整个系统进行控制:它将数据输出到显示屏,实现键入、输出的显示;根据键盘输入调用相应键处理子程序,实现数据的计算;单片机的管脚如下所述:AT89C51的管脚分布如下:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。单片机课程设计报告简易计算器福建工程软件学院第3页共16页P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN3信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。电源电路部分在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子设备唯一能量来源,它的设计思路是根据我们以前学过的模电电子技术,要想得到我们所要的+6V输出电压,就需将交流220V的电压经过变压器、整流电路、滤波电路和稳压电路四个部分。LCD输出显示部分1602采用标准的16脚接口,其管脚功能介绍如下:1:VSS为电源地2:VDD接5V电源正极3:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电单片机课程设计报告简易计算器福建工程软件学院第4页共16页源时对比度最高。4:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6:E(或EN)端为使能(enable)端。7~14:D0~D7为8位双向数据端。15~16:空脚或背灯电源。15脚背光正极,16脚背光负极。四.硬件设计键盘输入部分矩阵式键盘由行线和列线组成,按键位于行和列的交叉点上,很明显,在所需按键数量较多时能节省很多的I/O口。4.1简易计算器的电路原理图单片机课程设计报告简易计算器福建工程软件学院第5页共16页4.2系统选用的主要元器件4.2.1AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。4.2.2LCD显示器(1602)工业字符型液晶,能够同时显示单片机课程设计报告简易计算器福建工程软件学院第6页共16页16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。4.2.3其他按钮开关(SW-PB),排阻(9管脚,1k),电阻、电容、晶振、发光二极管等若干。五.软件设计该计算器系统的软件设计分为以下几个模块:(1)主程序模块,(2)键盘扫描及识别子程序,(3)显示子程序,(4)计算程序。六.得体会此次课程设计我和同学通过团队合作完成,从中知道以及团队合作的重要性。本次课程设计用到了单片机的多块模块,团队分工完成彼此的模块,从而提高团队合作的效率。实验的完成让我更加了解单单片机课程设计报告简易计算器福建工程软件学院第7页共16页片机的编程和单片机的各个模块的工作方式。七.源程序如下:#includereg51.h#includeintrins.h#defineint8unsignedchar#defineint16unsignedintsbitEN=P2^3;//定义引脚sbitRS=P2^4;sbitRW=P2^0;sbitbusy=P0^7;charcodenum[]={7,8,9,'*',4,5,6,'/',1,2,3,'-','c',0,'=','+'};charcodenum1[]={'0','1','2','3','4','5','6','7','8','9'};staticcharckey;//当前按键字符longa,b;//前后两数charflag;//是否有符号键按下charf;//判断按下的是什么符号键(+,-,*,/)longresult;//运算结果staticint16c=0;//字符显示位置voiddelay_ms(int8z);//延迟函数voidwait_busy();//忙等待voidwrite_cmd(int8cmd);//写指令voidwrite_data(int8dat);//写数据voidInitialize_LCD();//1602初始化voidLCD_ShowString(int8r,int8c,int8*str);//在指定位置显示字符串voidkeyboard();//键盘按键扫描单片机课程设计报告简易计算器福建工程软件学院第8页共16页voiddigit_a();//加减乘除处
本文标题:单片机技术课程设计报告- 简易计算器
链接地址:https://www.777doc.com/doc-4397717 .html