版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 存档(cn dng)编号 XX水利水电大学(dxu) 毕 业 设 计题目(tm) 简易计算器的制作 学 院 信息工程学院 专 业 通信工程 姓 名 XX 学 号 2XXXX 指导教师 XX 完成时间 2014.5.14 教务处制独立完成与诚信(chn xn)声明本人郑重声明:所提交的毕业设计(论文)是本人在指导教师的指导下,独立工作所取得的成果并撰写完成的,郑重确认没有剽窃、抄袭等违反学术道德、学术规范的侵权行为。文中除已经标注引用的内容(nirng)外,不包含其他人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确的说明并表示了谢意。本人完全意识到本
2、声明的法律后果由本人承担。毕业设计(论文)作者(zuzh)签名: 指导导师签名: 签字日期: 签字日期:毕业设计(b y sh j)(论文)版权使用授权书本人完全了解华北水利水电大学有关保管、使用毕业设计(论文)的规定。特授权华北水利水电大学可以将毕业设计(论文)的全部或部分内容公开和编入有关数据库提供检索,并采用影印、缩印或扫描等复制手段复制、保存、汇编以供查阅和借阅。同意(tngy)学校向国家有关部门或机构送交毕业设计(论文)原件或复印件和电子文档(涉密的成果在解密后应遵守此规定)。毕业设计(b y sh j)(论文)作者签名: 导师签名:签字日期: 签字日期:目 录 TOC h z t
3、样式(yngsh)1,1,样式2,2,样式3,3 HYPERLINK l _Toc388354637 摘 要 基于(jy)AT89C51单片机的简易计算器的设计摘 要计算器在人们(rn men)的日常生活(shnghu)中是较为常见的电子产品之一。初期的计算器仅仅能实现简单的加减乘除运算,而现在人们所广泛使用的科学计算器功能已不再停留于此,除了加减乘除运算外,它还能进行乘方,开方,指数,对数,三角函数,反三角函数等的存储和运算。而且计算器的种类和模式也在逐渐多样化,如使用太阳能电池的计算器,使用ASIC制作的计算器,使用纯软件设计的计算器和被集成到手机、平板电脑等电子产品中的计算器。可以说计算
4、器还正在发展之中而且还将有很大的发展空间,未来必将出现功能更加强大的计算器。基于这样的理念,本设计以AT89C51单片机为核心,以软硬件结合的方式设计了一个简易计算器。该计算器以4*4矩阵键盘为输入方式,可以进行4位带符号数的加减乘除运算,并在LCD1602液晶显示器上显示操作过程。该论文详细介绍了整个系统的硬件组成结构、工作原理和软件设计思想与流程。关键词: 计算器 AT89C51 LCD1602 矩阵键盘Simple calculator designed based on AT89C51Abstract The calculator in Peoples Daily life is on
5、e of the most common electronic products. Early computing calculator can only implement simple addition, subtraction, multiplication, and division, but now the scientific calculator which widely used by peoples functions are no longer stay, operation besides addition, subtraction, multiplication, an
6、d division, it can also power, prescribe, index, logarithmic, trigonometric function, inverse trigonometric function such as storage and computation. And the types of the calculator and pattern has also been gradually diversified, such as using solar calculator, using ASIC production calculator, usi
7、ng pure software design of the calculator and be integrated into mobile phones, tablets, and other electronic products in the calculator. We can say that calculators are under development and will also have very big development space, the future will appear more powerful calculators. Based on this i
8、dea, I design a simple calculator which use AT89C51 single-chip microcomputer as the core, and use the way that combine the hardware and software. The calculator use 4 * 4 matrix keyboard as input mode, it can carry out four signed several operations of addition,subtraction, multiplication, and divi
9、sion, and it display operation process on the LCD1602 . The paper introduces in detail the system structure, working principle of the hardware and the software design idea and process.key words: calculator AT89C51 LCD1602 matrix keyboard华北水利水电大学毕业设计绪论(xln)1.1 开发(kif)背景计算器是日常生活中比较(bjio)常见的电子产品之一,它已在数
10、十年间遍布千家万户。计算器(calculator ;counter)一般是指“ HYPERLINK /view/907728.htm t _blank 电子计算器”,该名词由日文传入中国。它是能进行 HYPERLINK /view/1284.htm t _blank 数学运算的手持机器,拥有集成电路 HYPERLINK /view/26651.htm t _blank 芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的 HYPERLINK /view/6373.htm t _blank 电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的 HYPERLI
11、NK /view/89398.htm t _blank 办公用品之一。除显示 HYPERLINK /view/280138.htm t _blank 计算结果外,还常有溢出指示、错误指示等。对于计算器的百年历史,1946年2月15日,在美国宾夕法尼亚大学,世界上第一台电子计算器ENIAC正式投入了运行。在隆重的揭幕仪式上,ENIAC表演了它的“绝招”:在1秒钟内进行5000次加法运算;在1秒钟内进行500次乘法运算。这比当时最快的电器计算器的运算速度要快1000多倍。全场起立欢呼,欢呼科学技术进入了一个新的历史发展时期。电子计算器不仅是一种工具,它与其它的工具都不相同:电子计算器是人脑的一个侧
12、面的延伸。因为电子计算器不仅具有非凡的计算能力,速度之快令人望尘莫及,而且还能够仿真人的某些思维功能,按照一定的规则进行逻辑判和逻辑推理,代替人的部分脑力劳动。1976年,数学家凭借电子计算器去证明四色定理,“依靠机器完成了人没有能够完成的事情”,轰动了整个国际数学界。随着社会的发展和科学技术的进步,电子产品变得越来越先进,功能变得越来越强大,集成化程度也变得越来越高,其更新速度令人吃惊。对于计算器人们也在不断地对它进行改进,然而技术的进步是无止境的,如何让计算器技术更加的成熟,充分利用现有的软件和硬件条件,制作出更加好用的计算器,让我们更方便的使用它,让它更好的为我们的生活服务,始终是当今电
13、子领域的重要研究课题。而另一方面,近年来,单片机以其体积小、价格廉、面向控制等诸多优点,在各种工业控制、仪器仪表、产品、设备的自动化、智能化方面获得了极为广泛的应用。与此同时,单片机系统的可靠性成为人们越来越关注的重要课题。影响系统可靠性的因素是多方面的,如构成系统的各种元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中抗干扰性能是系统可靠性的重要指标。本设计采用AT89C51芯片和LCD1602液晶显示器,实现了利用(lyng)单片机来设计一个简易计算器的目的。该计算器允许对四位输入数据进行带符号加减乘除运算,用C语言编写程序驱动整个系统的运行,便于移植和升级。如果所要设计的对象是
14、更为复杂的计算器系统,其实际原理和实现方法与本设计基本相同。本设计关键在于必须非常(fichng)熟悉单片机的原理与结构,并能熟练的运用51C语言来编写程序,同时还要对整个系统的设计流程有很好的把握,从而将单片机和其他模块完整的衔接。在现今的日常生活中,计算器毫无疑问是人们的最重要工具之一,它的身影遍布在社会的各个角落,例如商店,学校等等。所以设计一款简单但却极其实用的计算器具有(jyu)很大的实际意义,而本文中利用单片机和LCD1602液晶结合设计的计算器充分利用了以上所讲的单片机的诸多优点,具有很好的实用价值。1.2 设计目的本设计旨在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件
15、设计,加强对实际应用系统设计的能力。通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。方案(fng n)论证与设计设计(shj)指标本次设计(shj)的简易计算器的基本性能如下:能够进行4位整数的加减乘除运算(yn sun)(除法的结果中可以有小数)。能够将计算结果输出到LCD1602液晶显示屏中以便于观察。能够实现清除数据的功能。能够进行错误提示(比如当输入数据除数为0时会在LCD1602上显示error)。方案论证与设计根据功能和以上对设计指标的描述,本系统采
16、用AT89C51单片机为控制芯片,LCD1602为显示芯片,辅以其他电路所需基本器件,完成对简易计算器的设计。具体的设计考虑如下:由于本次所要设计的是一个简易计算器, 要求能够进行4位整数的加减乘除运算,功能较为简单,所编写程序不会太长,故使用AT89C51单片机即可满足需求。由于LCD1602液晶显示器相比于8段数码管而言,拥有更大的显示量,更好的显示效果,更全面的显示字符类型,因此这里选用LCD1602液晶显示器作为显示模块。根据计算器的功能要求,键盘包括数字键(0-9)、符号键(+、*、)、清除键(CE)和等号键,故需要16个按键(4*4键盘)。系统模块图如图2.1所示:4*4矩阵键盘(
17、输入模块)LCD1602液晶显示器(显示模块)AT89C51单片机运算模块(编程实现)图2.1 系统(xtng)模块图为了更好的实现系统的功能,硬件电路(dinl)的设计应该遵循以下原则:1、优化硬件(yn jin)电路采用软件设计与硬件设计相结合的方法;尽管采用软件来实现硬件系统的功能时,也许响应时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。所以,在设计本系统得时候,在满足可靠性和实时性的前提下,尽可能的通过软件来实现硬件功能。2、可靠性及抗干扰设计根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越
18、长。而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。因此,系统的设计思想是在满足功能的情况下力争使用较少数量的芯片。3、灵活的功能扩展功能扩展是否灵活是衡量一个系统优劣的重要指标。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。对于本系统而言,就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩展。而在软件方面根据设计需要我们可以采用自上而下的程序设计方法,这种方法先从主程序开始设计,之后再编制各从属程序和子程序,层层细化逐步求精,最后完成一个复杂程序
19、的设计。这种设计方法比较符合人们的日常思维,但是缺点是一级的程序错误将会对整个程序产生影响。计算器的程序流程图如图2.2所示:结束(断开电源)是否按下CE键输入数据LCD显示按下功能键计算结果LCD显示是否结束按下功能键LCD显示输入数据LCD显示初始值启动计算器(接通电源)图2.2 程序(chngx)流程图硬件模块(m kui)介绍 主控及运算(yn sun)模块 AT89C51单片机是将微处理器(CPU),数据(shj)存储器(RAM)、程序(chngx)存储器(4KB Flash ROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)这些一台计算机所需要的基
20、本功能部件集成在了一块芯片上,它靠程序运行,并可以修改程序以通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过单片机及其程序可以实现高智能,高效率,以及高可靠性!所以设计采用单片机作为该计算器的主控及运算模块,可以很好的实现控制和运算功能。AT89C51单片机引脚图如图3.1,其实际外观图如图3.2:图3.1 AT89C51单片机引脚图图3.2 AT89C51单片机实际(shj)外观图其各引脚功能(gngnng)如下:电源(dinyun)引脚Vcc: 正电源脚,接+5V电源。GND: 接地端。外接晶体引脚外接晶体引脚图如图3.3所示:图3.3 外接晶体管引脚XTAL1:片内振荡器反
21、相放大器和时钟发生器电路的输入端。使用片内振荡器时,该引脚连接外部石英晶体和微调电容。XTAL2:片内振荡器反相放大器和时钟发生器电路的输出端,当使用片内振荡器时,该引脚连接外部石英晶体和微调电容。当采用外部时钟源时,引脚XTAL1接收外部时钟振荡器的信号,XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,比如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择,而电容则取30PF左右。型号同样是AT89C51的芯片,在其后面还会有频率编号,有12,16,20,24MHz可选,在购买和选用时需注意。比如AT89C51 24PC就是最高振荡频率24MHz,40
22、P封装的普通商用芯片。控制(kngzh)引脚RST复位信号输入端,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期(zhuq)(24个时钟振荡周期)的高电平时,就可以对单片机完成复位操作且只要这个脚保持高电平,51芯片便循环(xnhun)复位。在单片机复位后P0P3口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当RST脚电平由高变低时,单片机开始从ROM的0000H处开始运行程序。在单片机正常工作时,此引脚应为=data_b)data_c=data_a-data_b; /* - S=2 */减 elsedata_c=data_b-data_a;W_lcd
23、(5,1,-); /负数符号 break; case 3:data_c=(data_a*data_b);break; /* * S=3 */乘case4:if(data_b=0)LCD_Write_String(0,1,Error !);elsedata_c=(data_a*10000)/data_b;break; /* / S=4 */除/溢出时显示错误case 0:break; 仿真(fn zhn)及调试在本设计中使用keil C软件对程序进行编译,然后再将其编译连接后所生成(shn chn)的执行文件放入已搭建好的proteus仿真图中的AT89C51单片机上进行仿真。其仿真图如图5.1
24、所示:图5.1 简易(jiny)计算器仿真图 首先输入第一个数据,然后再输入功能键(+,-,*,/)和另一个数据,最后按等号键就可以看到LCD显示屏的第二行显示出相应的结果。如上图中输入“222/5=”,就在第二行显示出结果“44.4000”,从这个结果可以看出,当计算结果为小数时,计算器能够显示小数,小数位为四位。另外,在计算除法时,如果输入除数为0,可以看到LCD的第二行显示出“Error 0.0000”的字样。结束语在硬件的制作过程中我走了好多的弯路,主要是在系统还没有设计很有把握就开始动手制作了。后来发现与设计的要求还有偏差,反复的改过了几次,浪费了大量的时间和体力。感受到设计人员要有
25、耐心,要认真的从要求开始研究。软件的编写过程中费了很大的力气,因为软件的编写要求很高,要很细心,一不小心就会调用错误,很深刻的体会到作为软件编程人员是绝不能粗心大意的。一个程序的完成的速度和质量高低与细心与否有着很大联系。编程时,我充分使用了结构化的思想。这样因为语句较少,程序调试比较方便,功能模块可以(ky)逐一的调试,充分体现了结构化编程的优势。当每个模块都完成时,将其功能加到一起就完成了整体的设计。致 谢本次毕业设计得到导师张帆老师的热心指导,在这里对张帆老师表示最衷心的感谢。张帆老师平易近人,对学生的设计进度和学习很关心。在毕业设计的前期,首先给我们介绍了不少有用的资料和书籍;在硬件设
26、计等方面给予悉心(xxn)的指导;在调试的过程中张帆老师给每个出现的问题给予及时的指导。在写毕业设计论文的阶段,张帆老师让我们提前给他评审,不论内容字体,还是格式上的问题都一一指出。待人平和、工作认真、治学严谨他的给我留下很深刻的印象。更重要的是,他善于与学生沟通,不仅在毕业设计上给我及时的指导,更为我大学最后阶段的学习提出了许多宝贵的意见。这一切都在潜移默化地影响着我,为我以后进入工作岗位树立了良好的榜样。最后向所有帮助(bngzh)和关心过我的人表示衷心感谢!参考文献1 张毅刚 彭喜元. 单片机原理与应用(yngyng)设计M. 北京:电子工业出版社2 张义和 王敏男 许宏昌等. 例说51
27、单片机(第3版)M. 北京(bi jn):人民邮电出版 3 恰汗合孜尔. C语言程序设计(第三版)M. 北京(bi jn):中国铁道出版社,2010年第三版4 陈雷. C51单片机应用实训M. 北京:中国电力出版社,2011年第一版5 张欣 孙宏昌 尹霞. 单片机原理与C51程序设计基础教程M. 北京:清华大学出版社,2010年第一版6 王巧芝 郑锋 刘瑞国等. 51单片机开发应用从入门到精通M. 北京:中国铁道出版社7 张靖武 周灵杉.单片机系统的PROTEUS设计与仿真M.北京:北京电子工业出版社8 靳达 求是科技.单片机应用系统开发实例导航M.:人民邮电出版社,20069 刘守义. 单片
28、机应用技术M.:西安电子科技大学出版社,200110 林志琦.基于PROTEUS的单片机可视化软硬件仿真M.北京:北京航空航天大学出版社,200611 胡汉才.单片机原理及接口技术.清华大学出版社,199612 徐江海.单片机实用教程M.北京:机械工业出版社,2007.13 肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.814 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 200115 谭浩强. C语言程序设计M.北京:清华大学出版社,2000.16 刘福基. C语言程序设计与实训教程M.北京:科学出版社,2004.17 张磊. C语言程序设计M.北京
29、:高等教育出版社,2005.18 严桂兰. C语言程序设计M.厦门:厦门大学出版社,2006附录一:硬件实物图(图6.1和图6.2):图6.1 正面图图6.2 背面(bimin)图附录二:系统(xtng)程序#include#define uint unsigned int#define uchar unsigned charsbit rs=P27; /指令(zhlng)or数据sbit wela=P26; /读or写sbit lcden=P25; /使能信号(xnho)uchar code table= ;long int data_a,data_b; /第一个数和第二个数long int
30、data_c;/计算结果uchar dispaly10; /显示(xinsh)缓冲/*/ 延时t us函数/*/void LCD_Delay_us(unsigned int t)while(t-); /t=0,退出/*/ 延时t ms函数/*/void LCD_Delay_ms(unsigned int t)unsigned int i,j;for(i=0;it;i+) /执行(zhxng)t次循环for(j=0;j999)write_date(0+dispaly3); /显示千位if(data_a99)write_date(0+dispaly2); /显示百位if(data_a9)write
31、_date(0+dispaly1); /显示十位 write_date(0+dispaly0); /显示个位void display_b() /显示数据bwrite_com(0 x80+7); /第一行dispaly3=data_b%10000/1000; /千dispaly2=data_b%1000/100; /百dispaly1=data_b%100/10; /十dispaly0=data_b%10; /个 if(data_b999)write_date(0+dispaly3); /显示千位 if(data_b99) write_date(0+dispaly2); /显示百位 if(dat
32、a_b9) write_date(0+dispaly1); /显示十位 write_date(0+dispaly0); /显示(xinsh)个位/计算结果void display_c(x)if(data_c-1)/溢出时显示(xinsh)错误dispaly8=data_c%1000000000/100000000; /万万(wnwn)dispaly7=data_c%100000000/10000000; /千万(qinwn)dispaly6=data_c%10000000/1000000; /百万dispaly5=data_c%1000000/100000; /十万dispaly4=data_
33、c%100000/10000; /万dispaly3=data_c%10000/1000; /千dispaly2=data_c%1000/100; /百dispaly1=data_c%100/10; /十dispaly0=data_c%10; /个 write_com(0 x80+6+0 x40); /第一行if(x=4) if(data_c99999999)write_date(0+dispaly8); /显示万万if(data_c9999999)write_date(0+dispaly7); /千万if(data_c999999)write_date(0+dispaly6); /百万if(
34、data_c99999)write_date(0+dispaly5); /十万write_date(0+dispaly4); /万write_date(.);write_date(0+dispaly3); /千write_date(0+dispaly2); /百write_date(0+dispaly1); /十write_date(0+dispaly0); /个 elseif(data_c99999999)write_date(0+dispaly8); /显示(xinsh)万万if(data_c9999999)write_date(0+dispaly7); /千万(qinwn)if(data
35、_c999999)write_date(0+dispaly6); /百万(bi wn)if(data_c99999)write_date(0+dispaly5); /十万if(data_c9999)write_date(0+dispaly4); /万if(data_c999)write_date(0+dispaly3); /千if(data_c99)write_date(0+dispaly2); /百if(data_c9)write_date(0+dispaly1); /十write_date(0+dispaly0); /个 else /溢出时显示错误write_com(0 x80+11+0
36、x40); /第一行write_date(E); /显示(xinsh) E write_date(r); /显示(xinsh)Rwrite_date(r); /显示(xinsh)Rwrite_date(o); /显示Owrite_date(r); /显示Evoid eql(uchar x)/加减乘除运算switch(x)/*功能键选择(xunz)*/ case 1:data_c=data_a+data_b;break; /加 /* + S=1 */ /* 数值转换(zhunhun)函数 */case 2:if(data_a=data_b)data_c=data_a-data_b; /* - S
37、=2 */减 elsedata_c=data_b-data_a;W_lcd(5,1,-); /负数(fsh)符号 break; case 3:data_c=(data_a*data_b);break; /* * S=3 */乘case4:if(data_b=0)LCD_Write_String(0,1,Error !);elsedata_c=(data_a*10000)/data_b;break; /* / S=4 */除/溢出时显示错误case 0:break; void main()uchar key=0 xff; /键值初始化uchar n=0; /第1个数可以按1-4次uchar m=
38、5; /第2个数可以按1-4次uchar x=0; data_a=0; /前一个(y )数data_b=0; /后一个(y )数data_c=0; /结果(ji gu)init_lcd(); /1602液晶(yjng)初始化display_a(); while(1) key=keycheckdown();/*动态扫描键盘(jinpn),返回按键对应值,赋给j key=0到f */if(0 xff!=key)/*若返回值有效,进入(jnr)内部处理程序*/ if(key10) if(n4)data_a=data_a*10+key;m=5;display_a();n+; /首先输入第一个数 if(
39、m4)data_b=data_b*10+key;n=5;display_b();m+; /必须按了+-*/才能输入第二个数 else switch(key)/*功能键选择*/case 0 xa:n=5;m=0;x=1;W_lcd(5,0,+);break; /加 /* + S=1 */ /* 数值转换函数 */case 0 xb:n=5;m=0;x=2;W_lcd(5,0,-);break; /* - S=2 */减case 0 xc:n=5;m=0;x=3;W_lcd(5,0,*);break; /* * S=3 */乘case 0 xd:n=5;m=0;x=4;W_lcd(5,0,/);b
40、reak; /* / S=4 */除case 0 xe:n=5;m=5;eql(x);W_lcd(12,0,=);display_c(x);break; /* = */case 0 xf:n=0;x=0;m=5; data_a=0;data_b=0;data_c=0;LCD_Write_String(0,0,table);LCD_Write_String(0,1,table);W_lcd(0,0,0);break; /* C*/ doP1=0 xf0;while(P1!=0 xf0);/*等待按键(n jin)松开*/ 附录(fl)三:任务书毕业设计(b y sh j)(论文)任务书简易(ji
41、ny)计算器的制作一、毕业设计(论文(lnwn))目的1、让学生更深入的认识和理解89C51单片机的结构和工作原理,并让其掌握单片机的一些简单开发方法。为以后可能从事的单片机工作打下铺垫。2、让学生对LCD1602液晶显示器有一个初步的认识并对其工作原理和各引脚功能加以理解,达到用LCD1602这个显示模块来设计自己想做的东西的目的。3、对C语言有个更深入的理解,尤其是结合实际的理解,而不再单单是知道它的语法而已。这无论是对以后可能进行的软件开发还是硬件开发都有好处。4、让学生对实际进行一个设计的步骤和注意事项有个认识,从而促使他们学以致用。二、主要内容以AT89C51单片机为核心,LCD16
42、02液晶显示器为显示模块,4*4矩阵键盘为输入模块来制作一个简易计算器。能实现基本的加减乘除运算,并能将运算结果显示在LCD1602液晶显示器上。三、重点研究问题1、如何用软件来实现按键的扫描。2、如何用软件来驱动LCD1602液晶显示器的数据显示。3、如何实现输入数据的加减乘除运算。4、如何识别输入错误并进行错误提示。主要技术指标或主要参数1、能够进行4位整数的加减乘除运算(除法的结果中可以有小数)。2、能够将计算结果输出到LCD1602液晶显示屏中以便于观察。3、能够实现清除数据的功能。4、能够进行错误提示(比如当输入数据除数为0时会在LCD1602上显示error)。五、基本(jbn)要
43、求1、设计需制作出实物(shw),而不是只停留在设计方案或者prote仿真图阶段。2、设计需由学生独立完成,不得抄袭他人(trn)成果(包括简易计算器的制作和其论文撰写。3、需对设计中出现的问题不断反思,直至完全弄清原因为止。4、对于不懂的地方要耐心查询相关资料,或者虚心请教他人。六、其它(包括选题来源)选题由指导老师提供。附录四:开题报告华北(Hubi)水利水电大学(dxu)本科生毕业设计(论文(lnwn))开题报告 2014年 4 月 1日学生姓名黄炎学号201014026专业通信工程题目名称基于单片机的简易计算器设计课题来源自选主要内容课题意义本次设计是以51单片机为核心应用单片机应用基
44、础等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的系统设计有一个更加深入的认识,并具备一定程度的设计能力。相关背景随着社会的不断发展,科技的不断创新。计算器已在数十年间遍布千家万户,数学家把聪明给了电子计算器,电子计算器将使数学家变得更加明。而且电子计算器不仅是一种工具,它与其它的工具都不相同:电子计算器是人脑的一个侧面的延伸。因为电子计算器不仅具有非凡的计算能力,速度之快令人望尘莫及,而且还能够仿真人的某些思维功能,按照一定的规则进行逻辑判和逻
45、辑推理,代替人的部分脑力劳动。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。而这次我要做的是用51单片机设计一个简易计算器。这次设计的价值和核心就在于倡导自己把所学知识运用到现实生活,为现实生活服务,把自己的知识转化为实物哪怕是很简单的物件,很简单的功能,但真真切切的让自己感受到创造的快乐,为自己今后的工作做好铺垫,往后通过更多的学习,更多的尝试,把知识的作用真正发挥出来,改变大家的生活。可行性分析51单片机可以进行加减乘除等运算,并且可以与键盘和L
46、CD1602液晶显示器连接,以供输入数据以及将计算结果直观的显示到LCD1602液晶显示器上,这符合简易计算器的基本特性,因此用51单片机与键盘和LCD1602液晶显示器等配合来设计简易计算器是可行的。目标任务分析本次设计的简易计算器的基本性能如下:能够进行4位整数的加减乘除运算(除法的结果中可以有小数)。能够将计算结果输出到LCD1602液晶显示屏中以便于观察。能够实现清除数据的功能。能够进行错误提示(比如当输入数据除数为0时会在LCD1602上显示error)。本设计需要利用Proteus软件实现电路的仿真,完成简易计算器的仿真实现,测试其是否能够完成各种功能然后用硬件电路做出实物。采取的
47、主要技术路线或方法本简易计算器的设计主要有以下模块:键盘扫描识别模块计算器输入数字以及其他功能按键要用到很多按键,假如采用独立按键的方式,编程当然会很简单,但是问题是键盘会占用大量的I/O 口资源,所以这里不采用这种方式,而采用矩阵键盘的方案。矩阵键盘使用四条I/O 线作为行线,四条I/O 线作为列线,在行线和列线的每一个交叉点上设置一个按键。这样键盘上按键的个数就为44共16个。 计算器的键盘布局如图7.1所示:一般有16个键组成,在单片机中恰好可用一个P口实现16个按键功能。图7.1 键盘布局图矩阵式键盘的按键识别方法有扫描法和线反转法两种,由于线反转法更加简单实用所以这里采用线反转法来识
48、别按键。单片机在忙于各种工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。而键盘的工作方式有三种:编程扫描,定时扫描和中断扫描,由于在这个设计中使用编程扫描比较方便,所以这里采用编程扫描的方式。LCD1602液晶显示器模块:LCD1602显示器如图7.2所示:图7.2 LCD1602液晶显示器对LCD1602的编程分为初始化部分和数据显示部分,具体编写时处理,这里不再叙述。计算模块主要由编程实现,不牵扯硬件电路,这里不加叙述。原理图如图7.3所示:4*4矩阵键盘(输入模块)LCD1602液晶显示器(显示模块)AT89C51单片机运算模块(编程实现)图7.3 简易计算器模块设计图时间安排35
49、周:查找资料69周:方案的设计(主要是程序的编写)以及proteus仿真调试10周-11周 :购买元器件制作硬件电路并调试 12周:根据自己前期的设计制作和调试撰写论文13周:准备毕业答辩指导教师意见签 名:年 月 日备注无附录(fl)五:外文原文与外文译文singlechip temperature system1.MCUA microcontroller (or MCU) is a computer-on-a-chip. It is a type of microprocessor emphasizing self-sufficiency and cost-effectiveness, i
50、n contrast to a general-purpose microprocessor (the kind used in a PC). The majority of computer systems in use today are embedded in other machinery, such as telephones, clocks, appliances, vehicles, and infrastructure. An embedded system usually has minimal requirements for memory and program leng
51、th and may require simple but unusual input/output systems. For example, most embedded systems lack keyboards, screens, disks, printers, or other recognizable I/O devices of a personal computer. They may control electric motors, relays or voltages, and read switches, variable resistors or other elec
52、tronic devices. Often, the only I/O device readable by a human is a single light-emitting diode, and severe cost or power constraints can even eliminate that. In contrast to general-purpose CPUs, microcontrollers do not have an address bus or a data bus, because they integrate all the RAM and non-vo
53、latile memory on the same chip as the CPU. Because they need fewer pins, the chip can be placed in a much smaller, cheaper package. Integrating the memory and other peripherals on a single chip and testing them as a unit increases the cost of that chip, but often results in decreased net cost of the
54、 embedded system as a whole. (Even if the cost of a CPU that has integrated peripherals is slightly more than the cost of a CPU + external peripherals, having fewer chips typically allows a smaller and cheaper circuit board, and reduces the labor required to assemble and test the circuit board). Thi
55、s trend leads to design. A microcontroller is a single integrated circuit, commonly with the following features: central processing unit - ranging from small and simple 4-bit processors to sophisticated 32- or 64-bit processors input/output interfaces such as serial ports (UARTs) other serial commun
56、ications interfaces like IC, Serial Peripheral Interface and Controller Area Network for system interconnect peripherals such as timers and watchdog RAM for data storage ROM, EPROM, EEPROM or Flash memory for program storage clock generator - often an oscillator for a quartz timing crystal, resonato
57、r or RC circuit many include analog-to-digital converters .This integration drastically reduces the number of chips and the amount of wiring and PCB space that would be needed to produce equivalent systems using separate chips and have proved to be highly popular in embedded systems since their intr
58、oduction in the 1970s. Some microcontrollers can afford to use a Harvard architecture: separate memory buses for instructions and data, allowing accesses to take place concurrently. The decision of which peripheral to integrate is often difficult. The Microcontroller vendors often trade operating fr
59、equencies and system design flexibility against time-to-market requirements from their customers and overall lower system cost. Manufacturers have to balance the need to minimize the chip size against additional functionality. Microcontroller architectures are available from many different vendors i
60、n so many varieties that each instruction set architecture could rightly belong to a category of their own. Chief among these are the 8051, Z80 and ARM derivatives.citation needed A microcontroller (also MCU or C) is a functional computer system-on-a-chip. It contains a processor core, memory, and p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品开发工程技术人员转正工作总结
- 新生儿ARDS的护理标准操作规程
- 气管插管患者的呼吸机参数设置
- 护理技能提升:静脉输液技巧详解
- 护理人员职业安全与缺陷预防
- 提升半月板自我修复能力的途径
- 2026年工贸危险源辨识考试试题及答案解析
- 员工岗位安全风险告知培训记录表
- 2025年中储粮试题含答案
- 人防工程消防管理措施
- 公司对讲机使用管理制度
- 鸿业市政道路软件常见问题与解答
- 电泳涂装生产线安全操作规程2025
- 《工程造价指标分类及编制指南》附录A 房屋建筑工程
- 自闭症儿童早期识别
- 《西游记》与中国传统文化学习通超星期末考试答案章节答案2024年
- 民法典与生活同行宣传手册
- GB/T 15822.3-2024无损检测磁粉检测第3部分:设备
- 医共体信息化项目建设方案(技术方案)
- DB11T 500-2024 城市道路城市家具设置与管理规范
- 耳鼻喉科普小知识问答
评论
0/150
提交评论