《毕业答辩基于单片机的多功能计算器讲述》由会员分享,可在线阅读,更多相关《毕业答辩基于单片机的多功能计算器讲述(22页珍藏版)》请在金锄头文库上搜索。
1、指导教师:袁建华指导教师:袁建华论文题目论文题目 基于单片机的多功能计算器基于单片机的多功能计算器n班级:浦电子班级:浦电子09040904n学生:于颖学生:于颖n学号:学号:2626论文的结构和主要内容论文的结构和主要内容u第一局部第一局部 计算器的总体功能描述计算器的总体功能描述u第二局部第二局部 计算器的硬件系统设计计算器的硬件系统设计u第三局部第三局部 计算器的软件系统设计计算器的软件系统设计u第四局部第四局部 计算器系统的组装与调试计算器系统的组装与调试 计算器的总体功能描述计算器的总体功能描述1、进行整数的、进行整数的“加、加、“减、减、“乘、乘、“除四那么运算;除四那么运算;2、
2、进行根本的四那么运算,键盘只需、进行根本的四那么运算,键盘只需16个个键即可,包括数字键键即可,包括数字键09,符号键,符号键“+、“-、“*、“/、“=和一个清零和一个清零键;键;3、运算时所键入的数字,符号、运算时所键入的数字,符号+、-、*、/均需要在显示器上显示,当键下均需要在显示器上显示,当键下“=号键时,显示计算所得的结果;号键时,显示计算所得的结果;4、可以进行屡次连续运算,即上次计算所、可以进行屡次连续运算,即上次计算所得的结果可以作为下次运算的第一个值;得的结果可以作为下次运算的第一个值; 5、可以进行错误提示,如当除数为零,或、可以进行错误提示,如当除数为零,或者结算结果大
3、于计算器所能运算的范围时者结算结果大于计算器所能运算的范围时(溢出溢出),在显示器上提示错误并内部归零;,在显示器上提示错误并内部归零;6、附加功能:在计算器顺利完成的根底上、附加功能:在计算器顺利完成的根底上对系统进行简单的扩展,如加时钟芯片,对系统进行简单的扩展,如加时钟芯片,让系统既可以作为计算器,同时也可作为让系统既可以作为计算器,同时也可作为电子表,电子表应具备调时功能。电子表,电子表应具备调时功能。计算器电路原理图计算器电路原理图计算器的硬件系统设计计算器的硬件系统框架计算器的硬件系统框架最小系统的设计最小系统的设计u单片机最小系片机最小系统是指用最少的元件是指用最少的元件组成的成
4、的单片机可以工作的片机可以工作的系系统。对51系列系列单片机来片机来说,最小系最小系统一般一般应该包括:包括:单片片机、晶振机、晶振电路、复位路、复位电路。分路。分为以下几个局部:以下几个局部:u1.单片机的片机的选择u2.晶振晶振电路的路的设计u3.复位复位电路的路的设计键盘接口电路的设计键盘接口电路的设计u 键盘是一种按是一种按键的集合,它是的集合,它是单片机片机应用系用系统中最常用的中最常用的人机人机对话输入入设备,用,用户通通过键盘向向单片机片机输入数据或指令。入数据或指令。键盘中每个按中每个按键都是一个常开开关都是一个常开开关电路。本路。本设计是基于是基于单片机的片机的简易易计算器的
5、算器的设计,不需要,不需要进行复行复杂的运算,因此,采用的运算,因此,采用44矩矩阵式式键盘16个个键来来实现根本的根本的“加加 、“减减 、“乘乘 、“除运算除运算即可。即可。键盘的硬件的硬件结构比构比较简单,有行,有行输出口和列出口和列输出口构成行出口构成行列式列式键盘,按,按键设置在行、列的交点上。置在行、列的交点上。u44矩矩阵式式键盘具体按具体按键安排如下:安排如下:u u 第第0列列 第第1列列 第第2列列 第第3列列u第第0行行01 23u第第1行行4567u第第2行行89+-u第第3行行*/=复位复位显示电路的设计显示电路的设计本本设计进行的是行的是计算器算器设计,如果用液晶作
6、,如果用液晶作为显示器,示器,两行就足两行就足够了,一行了,一行显示算式,一行示算式,一行显示示结果,所以本果,所以本设计采用采用TC1602字符型液晶模字符型液晶模块进行行显示。示。 TC1602显示模示模块采用点采用点阵图形来形来显示字符,示字符,显示分示分为2行、每行行、每行16个字符或个字符或1行行16个字符两种模式,常用模个字符两种模式,常用模式式为2行行16个字符。它有个字符。它有16个引脚个引脚。DS1302实时时钟电路的设计实时时钟电路的设计 在本在本设计中,中,DS1302时钟电路属于一个系路属于一个系统扩展模展模块,是一个附加功能,它跟,是一个附加功能,它跟计算器是算器是别
7、离开来的,在离开来的,在时间和硬件条件的允和硬件条件的允许下,我决定添加下,我决定添加这个模个模块,让我的我的计算算器除了能器除了能进行行计算外,算外,还能当能当电子表使用,使系子表使用,使系统功能更功能更加完善。加完善。计算器和算器和电子表两种模式通子表两种模式通过一个独立按一个独立按键来来进行切行切换,在同一,在同一块液晶屏上液晶屏上显示。示。一般的一般的电子表都具有子表都具有设置置时间的功能,我的也不例外。的功能,我的也不例外。在此模在此模块中,我中,我选择使用使用4个独立式按个独立式按键,分,分别是:是:“设置置 、“确确认 、“+ 、“- ,用来,用来对时间进行行设置。置。设置置方法
8、是:按方法是:按设置置键1下,可按下,可按“+、“-对“小小时进行行设置,置,设置完置完毕按确按确认键退出;同理,按退出;同理,按设置置键2下下对“分分进行行设置,按置,按设置置键3下下对“秒秒进行行设置。置。主模块程序的设计主模块程序的设计 主主模模块块是是系系统统软软件件的的主主框框架架。结结构构化化程程序序设设计计一一般般有有“自自上上而而下下和和“自自下下而而上上两两种种方方式式,“自自上上而而下下法法的的核核心心就就是是主主框框架架的的构构建建。本本设设计计的的主主模模块的程序流程图如下图:块的程序流程图如下图:键盘扫描模块程序的设计键盘扫描模块程序的设计 矩矩阵按按键扫描程序是一描
9、程序是一种种节省省I/O口的方法口的方法,按按键数目越多数目越多节省省I/O口口就越可就越可观。键盘扫描模描模块程序的流程序的流程程图如下如下图:运算模块程序的设计运算模块程序的设计在在此此模模块中中,要要实现“加加、“减减、“乘乘、“除除四四种种整整数数的的运运算算,我我们需需要要定定义三三个个数数:a、b、c ,类型型为长 整整 型型 -2147483648+2147483647 ; 其其 中中 a为第第一一个个数数,b为第第二二个个数数,c为两两数数运运算算的的结果果。本本设计还要要求求可可以以根根据据需需要要进行行连续屡屡次次的的运运算算,即即把把c的的值赋给a,输入入运运算算符符,再
10、再输入入b,按按下下“=号号,再再得得到到c,再再赋给a,以以此此反反复复。运运算算模模块程程序序流流程程图如下如下图:显示模块程序的设计显示模块程序的设计 在本在本设计中,中,液晶只用液晶只用显示字符,不示字符,不需要需要显示示汉字或字或图形,形,且需要且需要显示示的字符在的字符在TC1602液液晶模晶模块内置内置的字符的字符发生生存存储器里都器里都有,在有,在编写写程序程序时,只,只要要查表就可表就可得到相得到相应字字符的代符的代码,比比较方便。方便。显示程序的示程序的流程流程图如下如下图:DS1302实时时钟模块程序的设计实时时钟模块程序的设计 从从前前面面已已经经了了解解到到了了时时钟
11、钟芯芯片片的的功功能能很很强强大大,设设计计这这局局部部程程序序前前,我我必必须须对对DS1302有有关关日日历历、时时间间的的存存放放器器进进行行深深入入的的了了解解。在在本本设设计计中中,我我只只用用到到了了时时间间,所所以以我我在在这这里里就就只只对对时时间间存存放放器器进进行行解解释释,时时 85H、84H、分分83H、 82H 、秒秒 81H、82H存存放放器器及及控控制制存存放放器器8FH、8EHDS1302时时钟钟程程序序流流程程图图如下图:如下图:计算器系统的组装与调试u软件系件系统的的调试与仿真与仿真u 在本次在本次设计中,中,C程序是在程序是在Keil软件中件中编写并写并编
12、译的,的,在程序在程序编写中主要出写中主要出现了以下了以下问题:u1由于程序由于程序过长过复复杂,容易出,容易出现少了或多了一个少了或多了一个“的的现象。象。u2有的有的变量所定量所定义的的类型型错误,虽然程序无然程序无错误,但一仿真但一仿真结果果错误。u3事先未被定事先未被定义的被的被调函数放在了主函数放在了主调函数的后面,函数的后面,导致致错误。u4所定所定义的芯片引脚与仿真的芯片引脚与仿真图中引脚不匹配。中引脚不匹配。u 5仿真的仿真的结果有果有时正确有正确有时是乱是乱码Protues仿真如图仿真如图硬件系统的组装与调试硬件系统的组装与调试焊接完毕后就要进行调试了,此过程中出现了以下问题
13、:焊接完毕后就要进行调试了,此过程中出现了以下问题: 1通过通过STC-ISP软件把在软件把在Keil中生成的中生成的.hex文件加载文件加载到单片机中,开机,进行运算,发现液晶屏点亮但不显示到单片机中,开机,进行运算,发现液晶屏点亮但不显示任何数据,经过对电路的检查,发现本应接地液晶第任何数据,经过对电路的检查,发现本应接地液晶第3脚脚VL接到了电源端,改正后液晶可以显示。接到了电源端,改正后液晶可以显示。 2液晶虽然可以显示了,但在进行计算时并不能正确显液晶虽然可以显示了,但在进行计算时并不能正确显示,经过屡次检查,发现硬件并无错误,断定为软件的错示,经过屡次检查,发现硬件并无错误,断定为
14、软件的错误,最后发现软件中液晶初始化不完整,可是在仿真时是误,最后发现软件中液晶初始化不完整,可是在仿真时是正确的,这充分说明了仿真与实际硬件的区别。正确的,这充分说明了仿真与实际硬件的区别。计算器进行各种运算的截图计算器进行各种运算的截图计算器实物如图计算器实物如图u大学本科的学习生活即将结束。在此,我大学本科的学习生活即将结束。在此,我要感谢所有曾经教导过我的老师和关心过要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我我的同学,他们在我成长过程中给予了我很大的帮助。本文能够顺利完成,要特别很大的帮助。本文能够顺利完成,要特别感谢我的导师袁建华老师,感谢各位系的感谢我
15、的导师袁建华老师,感谢各位系的老师的关心和帮助。老师的关心和帮助。u最后向所有关心和帮助过我的人表示真心最后向所有关心和帮助过我的人表示真心的感谢。的感谢。致谢致谢论文题目论文题目 基于单片机的多功能计算器基于单片机的多功能计算器辩论人辩论人: : 于颖于颖 专业专业: : 电子信息工程电子信息工程 指导老师指导老师: :袁建华袁建华南京工业大学南京工业大学南京工业大学南京工业大学2021202120212021届本科生届本科生届本科生届本科生学位论文辩论学位论文辩论学位论文辩论学位论文辩论人有了知人有了知识识,就,就会会具具备备各各种种分析能力,分析能力,明辨是非的能力。明辨是非的能力。所以我所以我们们要勤要勤恳读书恳读书,广泛,广泛阅读阅读,古人古人说说“ “书书中自有中自有黄黄金屋。金屋。通通过阅读过阅读科技科技书书籍,我籍,我们们能丰富知能丰富知识识,培培养养逻辑逻辑思思维维能力;能力;通通过阅读过阅读文文学学作品,我作品,我们们能提高文能提高文学学鉴赏鉴赏水平,水平,培培养养文文学学情趣;情趣;通通过阅读报过阅读报刊,我刊,我们们能增能增长见识长见识,扩扩大自己的知大自己的知识识面。面。有有许许多多书书籍籍还还能培能培养养我我们们的道德情操,的道德情操,给给我我们们巨大的精神力量,巨大的精神力量,鼓舞我鼓舞我们们前前进进。