资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
专业综合应用与工程能力实践训练 课程设计 电 子 计 算 器 院 部: 电气与信息工程学院 学生姓名: 李 旭 指导教师: 戴佳阳 职称 讲师 专 业: 自动化 班 级: 自本1001 完成时间: 2013年12月 摘 要在我们的学习生活中,常会遇到一些繁杂的计算,耗费我们的时间,而且,有些计算过程复杂,通过笔算,难以得到正确的答案,比如说ln、sin、cos、tan等,就此我们设计了一款科学计算器,便于我们平时的计算使用。我们设计的这款计算器,是具有多功能的,它除了包括了四则运算、三角函数运算、开根号、ln、阶乘、求幂、十进制与八进制转换、十进制与十六进制转换外,还添加了温度计功能,实现了多功能合与一体的设计。伴随电子行业的发展,单片机在我们的生活中占有举重轻重的地位,而这个计算器正是基于单片机来设计的,所以这次的设计真正的达到了学以致用效果,也很具有现实意义。关键字:计算器;温度计;单片机ABSTRACTWe always meet some multifarious computation in our school life which take lots of our time. Whats more, some calculation process, such as ln, sin, cos, tan and so on, is so complicated that through the manual computation, we get low efficiency and probability. Thus, we design a calculator to facilitate our usual calculation. The calculator is of multiple function and realizes Multi function in one, which adds the thermometer function, as well as the stopwatch function, except for the four operations, the operation of trigonometric function, open radical sign, LN, factorial, exponentiation, decimal and octal, decimal and hexadecimal conversion. With the development of electronics industry, single chip computer (SCM) plays a more and more important role in our life. The design of this calculator is based on SCM. That is to say, this design put what we learn into practice, and also it has practical significance. Key words: calculator;thermometer;single chip computerI目 录1 计算器任务、功能要求说明及总体方案介绍1 1.1 计算器任务1 1.2 功能要求说明1 1.3 计算器设计总体方案介绍及工作原理说明12 计算器硬件系统的设计2 2.1 计算器硬件系统各模块的简要介绍2 2.1.1 计算器键盘输入模块2 2.1.2 计算器LCD1602显示输出模块2 2.1.3 温度计模块3 2.1.4 AT89S52单片机模块42.2 电路原理图、PCB图、元器件布局图42.3 设计课题元器件清单53 计算器软件系统的设计6 3.1 计算器使用单片机资源的情况6 3.2 设计课题软件系统各模块功能简要介绍6 3.3 流程框图7 3.4 程序清单74 仿真结果、设计结论84.1 计算器模块的仿真8 4.1.1 按键输入并计算计算器基本运算加减乘除:8 4.1.2 按键输入并计算基本运算三角函数sin,cos,tan:8 4.1.3 按键输入并计算基本运算开根号9 4.1.4 按键输入并转化八进制,十六进制94.2 温度计模块的仿真94.3 计算器的使用说明94.4 设计心得10结束语11致 谢12III参考文献13附录A 电路原理图14附录B PCB图15附录C 元器件布局图16附录E 程序清单18附录F 实物图34附录G protues仿真图34I1 计算器任务、功能要求说明及总体方案介绍1.1 计算器任务 设计一个具有特定功能的计算器。该计算器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。能实现(1)基本的加、减、乘、除、平方、开方;(2)三角函数运算;(3)十进制、十六进制转换运算;(4)温度计1.2 功能要求说明能够正确无误的进行基本的四则运算、平方、开方、三角函数、十进制、十六进制等运算,并且能够进行温度的测量。1.3 计算器设计总体方案介绍及工作原理说明 以单片机作为总体核心部件,以 LCD1602液晶显示屏为输出部分以及自行设计的2*14键盘、18B20为温度测试芯片等为外围电路为辅助部分进行本次课题的设计。 从键盘进行数据的编辑输入到单片机中,以设计好的软件进行相应的运算,然后再从单片机中输出到LCD1602液晶显示屏芯片中,运算结果进行显示;对于温度模块而言,以18B20芯片对环境温度进行测量,然后通过外围电路输送到单片机进行处理,再送给LCD1602液晶显示芯片进行输出。如下图所示: 18B20温度测量 键盘输入 AT89S52单片机 1602输出 图1 原理框图2 计算器硬件系统的设计2.1 计算器硬件系统各模块的简要介绍2.1.1 计算器键盘输入模块由于计算器设计中计算器要实现sin,cos,tan等功能的计算,按传统4*4键盘按键不能达到本次的设计要求,所以利用8-3编码器74ls148来实现2*14键盘的应用。2.1.2 计算器LCD1602显示输出模块液晶屏LCD1602接线是利用10k排阻将D0D8脚与电源正极连接,在单片机p00p07口无输出时将无输出的引脚电频置“1”,以实现LCD的显示功能。LCD1602共有16个引脚,其功能如表1所示。图2 LCD1602显示屏表1 LCD1602引脚功能表2.1.3 温度计模块温度计模块用的是温度传感器DS18B20利用温度传感器温度感知送入单片机AT89S52的P3.7口(第17引脚),通过编程把结果输出到显示屏LCD1602中。如下图所示图3 DS18B202.1.4 AT89S52单片机模块 AT89S52单片机工作原理与引脚与我们所学的AT89C51基本相同,只是AT89S52的存储空间比AT89C51大了一倍,变成了8K。其引脚图如下所示:图4 AT89S52引脚图2.2 电路原理图、PCB图、元器件布局图 原理图见附录A、PCB图见附录B、元器件布局图见附录C2.3 设计课题元器件清单表2 元件清单AT89S52芯片1个DS18B20传感器1个LCD1602液晶显示屏1个按键开关29个74LS00芯片3个10K电阻14个排阻1个200欧电阻1个74LS148芯片2个20uf极性电容1个22pf电容2个晶振片1个3 计算器软件系统的设计3.1 计算器使用单片机资源的情况本次计算器的设计中,单片机的P1口和P2.0口以及P2.1口被用作了键盘的扫描和输入所占用。P0口和P2.5、P2.6以及P2.7口连接LCD1602作为信息的输出,P3.2口用作外部中断信号的输入,XTAL1与XTAL2接外部晶振电路,RST接复位电路。3.2 设计课题软件系统各模块功能简要介绍 (1)void DelayMs(uint n) ,为毫秒延时子程序,可以达到延时的功能,其中的uint n,为延时所设定的延时时间,单位为MS。 (2)void DelayUs(uchar us) 、void tmpDelay(int u),为微秒延时子程序,可以达到延时的功能,其中的uint us,为延时所设定的延时时间,单位为US。 (3)uchar Read_LCD_State(),为读LCD的子程序,将单片机的信息通过LCD1602显示输出。 (4)Void LCD_Busy_Wait(),为LCD1602的等待子程序。 (5)void Write_LCD_Data(uchar dat),为LCD1602写的子程序,将单片机的输出信息,写入到LCD的寄存器中。 (6)void LCD_Init(),为LCD的初始化子程序,用于开机及复位LCD的初始化。 (7)void SET_LCD_POS(uchar p),为LCD的位置设置子程序。 (8)void LCD_string(uchar p,uchar *s),为LCD的写程序自程序。 (9)void initial()、void inter0() interrupt 0为开中断子程序。 (10)uint keyscan(),为键盘扫描子程序,对键盘进行数据的输入。 (11)void ABC(uint t),为操作子线程。 (12)void JSQ_init(),为计算器初始化子程序。 (13)void out(),为计算器输出子程序。 (14)void Init_DS18B20(),为18B20的初始化子程序。 (15)void Readtemp(),为温度读取子程序。 (16)void TEM_BCD(),为温度转换BCD子程序。 (17)void use(),为功能选择子程序。 (18)void main(),为主程序。3.3 流程框图 见附录D所示。3.4 程序清单见附录E所示。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号