




免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密级: nanchang university学 士 学 位 论 文(设 计)thesis of bachelor(20112015年)中文题目:基于单片机的简易计算器英文题目:simple calculator based on single chip microcomputer 学 院:南昌大学共青学院系 别:电子信息工程专业班级:11级电子信息工程学生姓名:学 号:指导教师:二 一 五 年 六 月学士学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。本人签名: 日期: 摘 要 近年来随着科技的飞速发展,以单片机技术为基础的电子产品在不断推广和应用,单片机技术的发展也带来了传统计算方式的改变。在目前市场上采用的计算器大部分都是基于单片机技术设计的,采用单片机结合软件编程技术实现的电子计算器,可以控制多种显示单元,同时可以根据需要方便对产品功能的升级和完善。考虑到价格成本的约束,本系统中央处理器由市场上较为成熟的51单片机来承担,51单片机价格低廉操作简单,外围接口丰富,可以很好的实现系统的各项功能要求,键盘输入部分采用4*4矩阵键盘来实现,16个按键分别完成0-9数字的输入和加、减、乘、除、等号、5个计算键的功能,最后一个按键实现清除计算内容的功能,显示 单元采用lcd1602液晶显示屏显示,液晶显示效果相比数码管更加稳定,无闪烁同时显示字符内容丰富。关键词: 单片机 计算器 液晶显示器 simple calculator design base on mcu abstract in recent years with the rapid development of technology, scm technology-based electronic products continue to spread and the application of scm technology development has also brought a change in the traditional method of calculation. in the current calculator market, most of which are microcontroller-based, which is designed by single-chip combination of software programming technology of electronic calculators, you can control a variety of display units, at the same time also easily to upgrade and improve product functionality required. taking into account constraints of the cost price, the central processor of the system take use of the more mature microcontroller 51 in the market, which has low price and rich peripheral interfaces, also simple to operate, so it can be very good to achieve the functional requirements of the system, the keyboard input part 4 * 4 matrix keypad, or 16 keys are 0-9 complete input and processing, subtraction, multiplication, division, equals, five key functions to calculate, calculate the final key to achieve clear content features, the display unit using lcd1602 display, lcd digital effects compared to more stable, flicker-free display rich character content simultaneously.keyword : mcu calculator lcd display目 录第一章 前 言51.1课题背景51.2课题研究的目的和意义51.3计算器设计的任务和要求6第二章 简易计算器的方案设计72.1系统设计方案论述72.2系统设计方案比较与论证82.2系统设计方选择9第三章 系统硬件电路设计103.1系统电源接口电路设计103.2 单片机最小系统设计113.2.1系统单片机选型113.2.2系统单片机最小系统电路设计123.3 系统显示电路设计133.3.1 系统显示器件选择133.3.2 系统显示电路设计143.4 系统矩阵键盘输入电路设计153.5 系统整体电路设计分析16第四章 计算器的软件系统设计184.1系统软件编程环境介绍184.2系统主程序流程图184.3系统子程序介绍20第五章 系统的仿真与调试225.1系统仿真软件介绍225.2系统仿真结果分析22第六章 实物的制作与调试256.1电路的安装过程256.2系统的调试及问题25总结27致 谢27参考文献29附录a 系统源程序30附录b 系统电路图38附录c系统仿真图39附录d系统实物图39基于单片机的简易计算器设计论文42第一章 前 言1.1课题背景在人们的日常生活中,计算器的使用已经和人们的生活密切相关,当今人们对日常生活的便利性要求越来越高,传统的口算和珠算的计算方式由于诸多的不便已经不能满足人们对便利性的要求,携带方便,使用便捷的简易计算器是目前市场上最受消费者亲睐的产品。计算是我们日常生活中不可避免的一个环节,小到市场买菜,大到买房置家,计算都会如影随形,因而计算器的开发具有广阔的应用市场,目前市场上的计算器种类已经很多,但是大多数计算器功能相对较多,体积较大,价格相对较贵,不利于家庭的推广和使用。本文正是基于携带方便,功能简易,成本低廉为应用背景进行开发和设计,最终设计完成一款能够实现简单计算功能的廉价计算器。1.2课题研究的目的和意义计算是伴随人们日常生活的一个概念,计算工具是一个从古至今一直存在而又不断发展的。在遥远的古代人们用简单的数字的多少来计算,这种计算在我们如今的日常生活中还能看到,当我们问三四岁的小孩简单的加法运算时,我们会发现大部分儿童还是会伸出手指来数数的多少来进行简单的加减运算,虽然计算的方式古老,但是却简单可行。在后来,中国珠算的发明与使用使得计算的速度和准确性得到很大的提高,珠算在中国的计算领域有这悠久的历史,直到上个世纪80年代之前珠算还是大多从事会计与相关计算领域方面较为常用的工具,然而随着科技的进步,电子计算器的发明与使用是计算领域内的又一次革新,电子计算器无论在计算速度还是可靠性方面相比珠算都有了很大的提高,另外电子计算器操作简单,不需要专业的学习和培训即可操作,因而随着电子计算器的发明和使用,珠算很快便从中国一千多年的应用历史中退出了市场。在现实生活中,我们总是会被各种繁琐的计算问题而烦心,由于生活节奏的提高,面对突然来到的计算问题,我们已经没有足够的时间和耐心拿上笔和纸进行计算了,计算器已经成为我们日常生活中不可或缺的计算工具了,在大多的工作场合我们会发现每个人的办公工具中,计算器已经是必不可少的了,因而如何结合所学电子知识,开发一款价格低廉,操作简单,计算准确可靠性高的计算器具有和好的开发价值和应用前景,设计完成一款价格低廉、操作方便的简易计算器对自己不仅具有很好的锻炼意义,同时也具有很好的市场需求,适当的进行完善即可推广到市场上应用。1.3计算器设计的任务和要求本设计采用宏晶科技公司生产的stc89c52单片机作为系统的核心控制单元,然后以此单片机为基础结合外围所需的硬件电路,最后在硬件设计平台上完成软件代码的验证,最终完成简易数字计算器各项功能要求。此简易数字计算器主要电路模块包括:单片机最小系统、矩阵键盘电路、液晶lcd显示电路、系统电源电路等单元组成。系统所使用的主要元器件包括:stc89c52单片机、4*4矩阵键盘、液晶显示屏lcd1602、dc直流电源等。本设计主要实现的功能和要求包括:(1)实现100000000以内的加法运算功能;(2)实现100000000以内的减法运算功能;(3)实现100000000的乘法运算功能;(4)实现100000000的除法运算功能;(5)系统计算时输入数字和符号以及运算结果显示功能;(6)系统输入错误时具有清除的功能。 第二章 简易计算器的方案设计2.1系统设计方案论述本次设计所要实现的功能主要有加减乘除的运算,能够实现上述运算的设计方案进行简要的介绍。 方案一:以51单片机为基础,结合键盘输入电路、电源转换电路、单片机复位电路和晶体振荡电路以及液晶显示电路进行设计完成。其硬件设计框图如图21所示。stc89c52单片机lcd液晶显示电路矩阵键盘输入电路单片机复位电路系统电源转换电路晶体振荡电路图21 方案二:以51单片机为基础,结合键盘输入电路、电源转换电路、单片机复位电路和晶体振荡电路以及led数码管显示电路进行设计完成。其硬件设计框图如图22所示。stc89c52单片机led数码管显示电路矩阵键盘输入电路单片机复位电路系统电源转换电路晶体振荡电路图22方案三:以arm为平台,结合电源转换电路以及液晶lcd显示电路进行设计完成。其硬件设计框图如图23所示。stm3的arm平台矩阵键盘输入电路lcd液晶显示电路系统电源转换电路图23 2.2系统设计方案比较与论证方案一以51单片机为核心结合液晶显示电路来实现具有以下优点:1、 stc89c52单片机是目前市场上主流的51单片机型号,其价格低廉、io端口丰富,在很多中低端的电子产品上具有很广泛的应用。2、 以stc89c52单片机作为方案设计的控制核心,开发相对容易,开发周期相对较短,可以有效的节约开发时间。3、 采用液晶lcd作为系统的显示界面,液晶显示效果稳定,显示字符数相对较多,而且能够很好的显示运算符号。方案二相比方案一来讲,采用led数码管显示界面代替lcd液晶,相比方案一成本价格更为低廉,开发费用和周期更短,不足之处是数码管显示效果存在一定的闪烁现象,同时显示字符数有限,如果计算的位数较多就需要级联较多个数的数码管才能实现,同时市场上通用的数码管一般不能直接显示运算符,如需要直观的显示运算符则需要单独定做,这样又会使得设计成本得到提高。 方案三相比前两个方案讲,外围电路更加简单,由于arm芯片内部已经集成了晶体振荡电路和看门狗复位电路,因而不需要在单独外接复位电路和晶振电路,这样使得外围电路更加简单,可以有效的缩减线路板的体积,使得整个设计体积更小,携带更为方便,除此之外,arm处理器处理速度相比51单片机更为快捷,以arm为控制核心的计算器反应灵敏度更高;方案三的不足之处是arm处理器价格相对较高,开发难度大、开发周期长。2.2系统设计方选择基于本文是以价格低廉、开发容易和使用方便为开发背景的前提下,经过对上述3种方案的论证和比较,方案一更能符合课题开发的背景,因而本文设计方案最终以方案一为基础进行设计。第三章 系统硬件电路设计3.1系统电源接口电路设计系统电源电路主要完成供电系统的稳压滤波和开关控制功能,此部分电路如图3-1所示。图3-1系统电源管理电路图3-1为系统5v输出电压管理电路,其中j1为dc005电源输入接口,用于连接dc9v直流电源,sw1为系统电源开关,用于控制整个系统的电源的开启与关闭,c1为电解电容,一般取值在220uf到680uf之间,此电解电容是用于滤除电源线上存在的高频干扰,u1为三端稳压芯片lm7805,lm7805输入电压范围在7-16v情况下,稳定输出直流5v电压,输出稳定度在5v正负0.05mv的波动内变化,能够很好的保证单片机系统电压的稳定性,电容c1和c4分别用于滤除输出电压上存下的低频干扰和高频干扰,led为电源指示灯,当系统电源输出正常的情况下led灯点亮,电阻r1为1k阻值的限流电阻,保证led在允许的工作电流下工作,避免led被电流过高造成的损坏,d0为整理二极管,在此是为了防止输入电源极性反接造成后续电路器件的烧坏,当电源极性反接时,二极管d0的反向截止功能可以对后续电路进行有效的保护。3.2 单片机最小系统设计3.2.1系统单片机选型单片机为整个系统的控制核心,单片机型号的选择好坏直接会影响到整个系统设计的成败,因而选择一款合适的单片机对整个系统设计的成功与否起着至关重要的作用,目前市场上单片机种类型号千差万别,从基础的8位单片机到高端的64位单片机,价格从几元到上百元不等,选择单片机要首先要考虑价格因素,由于本系统设计是简易型计算器,因而功能相对较少,不需要较多的io端口以及强大的存储空间,所以不需要选择价位较高的高端的单片机,考虑到目前市场上应用较为广泛的51位单片机完全能够达到设计的功能要求,因而本设计首选单片机是51单片机。宏晶科技公司生产的stc89c52单片机是目前国产单片机中性价比较高的型号,此单片机价格低廉,端口丰富完全兼容国外大品牌atmel公司的at89s52单片机,价格相比atmel公司的单片机只有其价格的一般,鉴于以上分析,本文最终选择宏晶科技的stc89c52单片机作为简易计算器的主控单片机,stc89c52单片机的引脚图如图3-2所示。图3-2 stc89c52引脚图stc89c52单片机具有以下标准功能: l 与mcs-51单片机产品兼容l 8k字节在系统可编程flash存储器l 1000次擦写周期l 全静态操作:0hz33hzl 三级加密程序存储器l 32个可编程i/o口线l 三个16位定时器/计数器l 八个中断源l 全双工uart串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符3.2.2系统单片机最小系统电路设计单片机最小系统电路是整个计算器系统的核心,单片机最小系统电路设计的好坏直接决定整个系统的设计成败,因而在设计单片机最小系统电路之前一定要对单片机的工作原理有一个系统的学习,要知道单片机正常工作所需的必备条件,要了解单片机系统电路的组成以及各部分的主要功能。单片机最小系统电路一般由单片机、晶振电路、复位电路组成,此部分设计完成的电路如图3-3所示。图3-3 单片机最小系统电路图如图3-3所示,其中y1为11.0592m的晶体振荡器,选择11.0592m是为了便于计算单片机运行的周期,y1两端的电容 c7,c8 接在放大器的反馈回路中构成并联振荡电路。电容c7和c8应选择瓷片电容,至于电容容值的大小没有严格的限定,只是电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性。如果使用石英晶体,推荐电容使用30pf士l0pf。stc89c52单片机为高电平复位使能,在单片机最小系统电路设计中需要保证上电的时候能够复位单片机,同时当系统运行 过程中出现跑飞或者进入死循环的时候能够通过相应的按键实现单片机的复位,因而单片机复位需要有上电复位和按键复位两种复位方式,复位电路设计如图3-3所示,其中 s0为复位按键。上电复位的工作原理为:通电时,电容两端相当于短路,于是单片机的复位引脚上为高电平,然后电源通过电阻对电容c6充电,单片机复位引脚端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作;按键复位的工作原理为:当s0被按下后,电容c6迅速放电,使单片机复位引脚为高电平,从而实现复位。当s0弹起后,电源通过10k的电阻r5放电,电平变为低电平,复位停止。3.3 系统显示电路设计3.3.1 系统显示器件选择目前市场上的计算器显示屏主要包括以下几种:1、 oled段码液晶屏,此种液晶屏只能显示固定的数字和字符,由于简易计算器的运算符号种类较少,因而考虑到oled段码液晶屏的价格相对较低,在一些简单的计算器上应用较多。2、 led数码管显示屏,近年来随着led技术的发展,led数码管应用场合也逐渐增多,led数码管显示亮度较高,同时led颜色种类较多,客户可以根据自己的喜好选择自己喜欢的颜色,不足之处是led数码管功耗较高,显示效果会有轻微的闪烁,长时间观看不利于眼睛的保护。3、 lcd液晶屏,目前市场上主要用到的液晶屏分为字符型液晶屏和中文汉字液晶屏, 字符型 lcd 液晶显示,液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件;中文汉字液晶屏体积尺寸较大,同时价格较贵,考虑到价格和体积因素,字符型lcd液晶更适合本系统设计的需要,采用lcd液晶显示价格适中,显示效果稳定,不足是亮度效果会相对降低。综合以上几种显示器件的优缺点,系统最终采用lcd液晶显示器做系统的显示器件,系统选用字符型lcd1602作为显示部分。3.3.2 系统显示电路设计系统显示电路主要包括单片机控制器、单片机p0口上拉电阻、lcd1602液晶显示器和对比度调节电阻器组成,此部分电路如图3-4所示。图3-4 系统显示器件电路图由图3-4所示:液晶lcd1602的1脚为接地端,2脚为电源引脚,此款液晶显示器采用dc5v电压供电,此处vcc接5v电压,3脚为液晶显示器的对比度调节引脚,通过电阻r6接地,r6阻值可以选择2.2k到4.7k之间的电阻,也可以接4.7k的可调电位器接地,可通过改变此电阻的阻值大小来调节液晶的对比度;4脚、5脚、6脚为液晶片选控制引脚,分别连接到单片机的p25、p26、p27端口,714脚为数据接口,与单片机的p0口相连实现数据的传输,15、16、脚为液晶的背光控制脚,分别接到电源和地,如果悬空不接则不使用背光。3.4 系统矩阵键盘输入电路设计按键输入电路用来完成密码的输入和修改,按键输入电路采用4*4矩阵键盘实现,矩阵键盘电路如图3-5所示。图3-5系统矩阵键盘输入电路系统矩阵键盘对应按键功能如图3-6所示。图3-6系统矩阵键盘按键功能说明如上表所示,0-9位数字键,当运算时按下对应数字的按键即可输入相应数字,符号键“”“-”“*”“/”“=”号对应计算器的运算功能键,当输入完相应的数字后按下对应的运算符后即可执行相应的计算操作,清除键指的是当运算过程中如果操作错误可以按下清除键完成对本次运算的清除功能,按下清除键以后即可进行再次运算操作。3.5系统整体电路设计分析当系统各部分电路设计完成后,需要对各部分电路进行总体汇总,然后对完整的电路进行可行性分析论证,在保证系统电路的完整性和可靠性的前提下方可进行下一步的软件设计以及成品组装,系统汇总完成的总体电路如图3-7所示。图3-7 系统整体电路图图3-7为系统整体电路图,主要包括电源部分电路,矩阵键盘输入电路,单片机最小系统电路以及液晶显示电路4大部分组成,系统电源电路用了完成系统电压的稳压和滤波作用,因为单片机系统需要在比较稳定的5v电压系统下工作,因而要想保证整个系统能够稳定可靠的运行,首先要保证系统电源电路稳定可靠,所以增加稳压滤波电路是必不可少的环节;考虑到计算器输入键盘部分由0-9共10个数字键,5个运算符号键,一个清除键,共需要16个按键,因而系统设计键盘输入部分采用4*4的矩阵键盘,共16个按键完成;显示界面采用lcd1602字符型液晶显示屏,lcd1602液晶能够显示2行32个字符,可以很好的满足系统设计的要求。第四章 计算器的软件系统设计4.1系统软件编程环境介绍系统软件设计采用c语言编程,编译环境为keil。keil c51 是美国keil software 公司出品的51 系列兼容单片机c 语言软件开发系统,和汇编相比,c 在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。keil c51 可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide 本身或其它编辑器编辑c 或汇编源文件,然后分别有c51 及a51 编辑器编译连接生成单片机可执行的二进制文件(.hex),然后通过单片机的烧写软件将hex 文件烧入单片机内。软件主要三个方面:一是初始化系统;二是数据采集;三是数据处理并进行显示。这三个方面的操作分别在主程序中来进行。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。4.2系统主程序流程图系统主程序主要包括系统的初始化、键盘扫描、运算的执行以及液晶的显示等,系统主程序流程图如图4-1所示。判断是否有按键按下?按键扫描开始系统初始化否是液晶显示输入数字和运算符是否判断是否按下“=”号键?是执行运算操作显示计算结果是否判断是否按下清除键?是图4-1 系统主程序流程图系统主程序流程如图4-1所示,当系统上电后首先完成各个组件的初始化,一个系统的初始化是程序运行必不可少的环节,系统初始化部分主要包括:单片机初始化、液晶显示初始化、矩阵键盘初始化等;初始化完成以后系统首先要扫描矩阵键盘,通过判断矩阵键盘对应的单片机io端口是否发生变化来判断是否进入有效的运算操作,当按键扫描到有按键输入时,单片机通过键盘键值的判断来确定输入的是数字还是运算符,同时通过控制液晶屏实时显示输入的运算数字和运算符,当单片机判断到有“=”键按下后开始执行运算符前后数字的相应运算,然后把运算的结果显示在液晶屏的“=”符之后。此时如果系统检测到清除功能键按下则系统返回到按键扫描状态,如果没有清除键按下,则一直保留此次运算的状态。4.3系统子程序介绍系统子程序主要包括按键扫描子程序和液晶显示子程序,按键扫描子程序是通过检测矩阵键盘所接的单片机io端口的电平变化来实现。矩阵键盘电路设计成4x4矩阵式,在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。液晶显示子程序主要完成在显示字符发生变化时,通过单片机控制液晶的读写操作来完成显示字符的更新。按键扫描子程序流程图如图4-2所示。判断是否有按键按下?按键扫描开始键盘端口电平初始化行列端口扫描判断行端口电平是否发生变化?否是否判断列端口电平是否发生变化?是得出对应行列交叉线处按键码值图4-2 系统按键扫描子程序流程图系统按键扫描是通过对矩阵键盘行列扫描的方式实现的,系统首先对行进行扫描,检测出4行当中是否有一行对应的端口电平发生变化,如果有则进行列的扫描,同样如果4列中的一列端口电平发生了变化,则电平发生变化的行列交叉处的按键码值即可检测出来,此时单片机就可以通过对端口电平的变化来判断出所按下的按键具体位置,然后即可记录下对应按键所对应的数字或者符号,如此循环检测即可完成按键的扫描工作。第五章 系统的仿真与调试5.1系统仿真软件介绍proteus软件是英国lab center electronics公司出版的eda工具软件。proteus不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda仿真工具,从原理图布图、代码调试到单片机与外围电路协同仿真。它是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等多种型号的单片机。5.2系统仿真结果分析系统完成加法运算的仿真运行效果图如图5-1所示。图5-1系统运行仿真效果图系统完成加法运算的运行效果图5-1所示,加数分别为123和56,完成运算符为加法运算,运算得出的结果为179,经验证运算结果正确,液晶显示内容和实际运算输出数字及运算符完全一致,系统加法运算仿真运行正确无误。系统完成减法运算的仿真运行效果图如图5-2所示。图5-2 系统减法运算仿真效果图系统完成减法运算的运行效果图5-2所示,减数和被减数分别为456和123,完成运算符为减法运算,运算得出的结果为333,经验证运算结果正确,液晶显示内容和实际运算输出数字及运算符完全一致,系统减法运算仿真运行正确无误。系统完成乘法运算的仿真运行效果图如图5-3所示。图5-3 系统乘法运算仿真效果图系统完成乘法运算的运行效果图5-3所示,乘数和被乘数分别为45和2,完成运算符为乘法运算,运算得出的结果为90,经验证运算结果正确,液晶显示内容和实际运算输出数字及运算符完全一致,系统乘法运算仿真运行正确无误。系统完成除法运算的仿真运行效果图如图5-4所示。图5-4 系统除法运算运行仿真图系统完成除法运算的运行效果图5-4所示,除数和被除数分别为10000和5,完成运算符为除法运算,运算得出的结果为2000,经验证运算结果正确,液晶显示内容和实际运算输出数字及运算符完全一致,系统除法运算仿真运行正确无误。第六章 实物的制作与调试6.1电路的安装过程元件在安装时,注意事项如下:1) 晶振要紧挨单片机的晶振引脚,晶振引线的太长会直接影响到晶振的起震效果,引线太长会造成晶振不起震的情况出现。2) 装配时,应该先安装那些需要安装底座的器件,比如说单片机、液晶显示屏等,由于这些器件价格较贵,如果直接装配到板子上,一旦系统安装出现意外情况不得不重新焊接的时候,这些主要器件就没法再次利用了。3) 各种元器件的安装时应尽量留出较大的空间,这样既可以避免器件太近存在的短路隐患也利于元器件的散热。4)在元器件焊接之前应该先用纱布将元器件的引脚打磨一遍,这样可以将元件引脚氧化的部分去除掉,以便于焊接;在焊接过程中还要注意焊锡的量要得当,过多可能造成电路短路,过少有可能造成虚焊;最后可以在板子的四个角上安装四个固定柱,一方面可以增加整个结构的美观,另一方面也可以使避免电路板放在导电体上发生短路的危险。通过以上步骤,一个完整的电路硬件部分就制作完成了,这时可以再检查一下是否有元器件漏焊、焊错的情况,以确保电路的正确。6.2系统的调试及问题在调试过程中,曾遇到以下问题:1) 当硬件连接无误,在系统启动后液晶不显示,系统没有反应,经过分析这种情况有以下几种可能:第一,硬件电路中存在虚焊,或电路接线焊错;第二,芯片插反了导致电路短路;第三,液晶电路焊接错误。遇到这种情况首先要用万用表检查芯片的供电电压是否为5v,如果不是就检查供电电路有没有问题。如果两端有电压就检查一下单片机有没有插反,通过逐步排查最终找到问题是因为单片机供电引脚虚焊造成的。2) 键盘输入显示乱码,和设计的键值不符,经检查发现矩阵键盘的行列端口定义与仿真接口定义不一致引起的,后重新修改端口问题得以解决。3) 初期系统显示不稳定,这有可能是系统电压不稳定,或者stc89c52芯片的31引脚ea引脚没有接高电平,经过排查发现系统电源电路中未加滤波电容,由于仿真电路不存在电源干扰问题,所以在仿真中可以稳定运行的情况下,根据仿真电路制作出的实物可能会出现由于外界干扰带来的系统工作不稳定情况,这种情况一般是由电源的干扰造成,可以通过增加电源端的滤波电容来解决这种问题。总结本文采用stc89c52单片机设计完成了一款简易计算器的制作, 经过实际测试,功能稳定操作方便,能够达到计算器的基本功能要求,通过适当的包装和完善即可得到很好的推广和应用,此次设计对我具有很好的锻炼效果,同时也是对自己所学知识的一次综合检验。在整个毕业设计过程中,我对大学四年所学的知识有了一个系统的认识和理解,尤其是对本课题所用到的单片机及其相关知识有了进一步的掌握,对单片机相关软件的使用水平得到了提高,为今后的工作奠定了坚实的基础。本课题软件和硬件相结合,有相当大的难度,同时也有很大的实用性。在做毕业设计的过程中,我的理论和实践水平都有了较大的提高。在课题的设计与制作过程中,遇到了不少问题,在老师和同学的指导和帮组下最终得到逐一的解决,通过此次毕业设计制作不仅使我的实际动手能力得带了提高,也使我和同学老师之间的沟通和协作能力得到了提高,这些都为我今后进入公司工作打下了很好的基础,为我今后的生活和工作积累了宝贵的财富,同时由于时间和费用的限制,此款计算器只是实现了计算器的基础功能,诸如开方等一些常用功能未能够实现。致 谢四年的本科学习生涯即将结束,在本人做毕业设计中,得到了我的导师的悉心指导和无私帮助。他严谨的治学态度和谦和的为人给我留下了深刻的印象。本课题在选题及研究过程中得到谭老师的悉心指导。谭老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。谭老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,让我受益终身。 通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我对单片机的基本原理以及单片机编程技巧的掌握方面都能向前迈了一大步,为日后迈入职场打下了良好的基础。在我毕业设计的过程中,我在谭老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电了领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习传感器方面的知识有极人的帮助。在此,我衷心感谢谭老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报老师。 在此,我还要感谢在一起愉快的度过我大学生活的全体老师和同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。最后再次对各位评委老师表示衷心的感谢,感谢你们能给我提出宝贵的指导意见,让我顺利通过毕业答辩,谢谢! 参考文献1 李朝青单片机原理及接口技术m北京:北京航空航天大学出版社,20052 康华光电子技术基础模拟部分(第五版) m北京:高等教育出版社, 20053 阎石数字电子技术基础(第四版)m北京:高等教育出版社,20054 白延敏51单片机典型系统开发实例精讲m北京:电子工业出版社,20095 张齐,杜群贵. 单片机应用系统设计技术m. 北京:电子工业出版社,2007.6 杨金岩等. 8051单片机数据传输接口扩展技术与应用实例m北京:人民邮电出版社,20057 求是科技单片机通信技术与工程实践m北京:人民邮电出版社,2005.8 郭永贞主编. 数字电子技术m. 西安电子科技大学出版社,2000.9 李广弟. 单片机基础m.北京:北京航空航天大学出版社,2001.10 张洪润. 电子线路与电子技术m.清华大学出版社m,2005.11 张齐,杜群贵. 单片机应用系统设计技术m.电子工业出版社,2004.12 张伟基于8051单片机的无线温控系统设计j北京:中国高新技术企业,2010,34(7)13徐爱钧.智能化测量控制仪表原理与设计(第二版)北京航天航空大学出版社,2004.914孙育才等.mcs-51系列单片微型计算机及其应用(第4版)东南大学出版社,2004.3 15李萍等.智能仪器实验指导书大连交通大学,2007.9 16单片机应用技术(c语言).中国劳动社会保障出版社,2006.6 17武庆生,仇梅等著.单片机原理与应用.电子科技大学出版,1998.12 18朱定华著.单片机原理与接口技术.电子工业出版社,2001.4 19王宜怀,刘晓升等著.嵌入式应用技术基础教程.北京清华大学出版社,2005.7 20王威著.hcs12微控制器原理及应用.北京航空航天大学出版社,2007.10附录a 系统源程序#include #include #include #include #include #include lcd1602.hvoid shortdelay(uchar i)/短延时 for(;i0;i-);void longdelay(uint i) /长延时 uint j; for(;i0;i-) for(j=100;j0;j-);void delay(int i) /延时程序int j; for(;i0;i-) for(j=0;j100;j+);void io_init()/初试状态p1=0xff;/?-键盘扫描部分-/ unsigned char key_scan() unsigned char key; unsigned char temp; uint flag; io_init(); p1=0xf0; flag=0;loop: temp=p10xf0; while(temp) p1=0xfe; delay(1); if(p1&0xfe)!=0xfe) switch(p1) case 0xee: key=0x11;flag=1;break; case 0xde: key=0x12;flag=1;break; case 0xbe: key=0x13;flag=1;break; case 0x7e: key=0x14;flag=1;break; if(flag) goto exit; else p1=0xfd; delay(1); if(p1&0xfd)!=0xfd) switch(p1) case 0xed: key=0x21;flag=1;break; case 0xdd: key=0x22;flag=1;break; case 0xbd: key=0x23;flag=1;break; case 0x7d: key=0x24;flag=1;break; if(flag) goto exit; else p1=0xfb; delay(1); if(p1&0xfb)!=0xfb) switch(p1) case 0xeb: key=0x31;flag=1;break; case 0xdb: key=0x32;flag=1;break; case 0xbb: key=0x33;flag=1;break; case 0x7b: key=0x34;flag=1;break; if(flag) goto exit; else p1=0xf7; delay(1); if(p1&0xf7)!=0xf7) switch(p1) case 0xe7: key=0x41;flag=1;break; case 0xd7: key=0x42;flag=1;break; case 0xb7: key=0x43;flag=1;break; case 0x77: key=0x44;flag=1;break; exit: return key; if(temp=0) goto loop; /-键盘扫描完-/-显示初始化?-/void initpindata(bit i) /p0口初始化 if(i=1) pindata=0xff; else pindata=0x00;void setrs(bit i) /寄存器选择信号 if(i=1) pinrs=1; else pinrs=0;void setrw(bit i) /读写操作控制 if(i=1) pinrw=1; else pinrw=0;void sete(bit i) /使能信号 if(i=1) pine=1; else pine=0;uint read_bf_ac()/读bf以及ac的值 uint temp; initpindata(1); setrs(0); setrw(1); sete(1); shortdelay(1); temp=pindata; shortdelay(10); sete(0); return(temp); bit statuscheck()/判忙 return(bit)(read_bf_ac()&0x80);void writeinstruc(uint instruc) /写指令函数 wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建体彩招聘考试题及答案
- 药品偏方知识培训总结课件
- 2025年河北省辅警招聘考试题题库(含参考答案)
- 汽修基础常识培训课件
- 药厂微生物安全知识培训课件
- 农业用地承包流转合同书
- 采购管理成本控制综合分析工具
- 地球在哭泣观2012有感500字14篇
- 销售技巧培训课件
- 勇于尝试800字高二作文11篇范文
- 员工个人职业健康监护档案
- 《护理伦理学》教学大纲
- 老年学概论(第3版)PPT完整全套教学课件
- (完整版)Hamilton汉密尔顿焦虑量表
- 浙江大学高分子化学第章课件绪论
- 大学体育:轮滑教案
- DB31-T 1380-2022 社会消防技术服务机构质量管理要求
- 景观生态学课件
- 常见天气系统课件
- 丁苯橡胶乳液聚合生产工艺
- 深基坑钢板桩支护方案
评论
0/150
提交评论