




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用课程设计报告课题名称带温度显示的红外遥控数字钟专业电气自动化班级学号姓名XX指导教师XX目录1设计题目及要求12设计方案121主控制器型122DS1302实时显示时间的软硬件223显示方案224报警方案225键盘接口的选择326红外通信的基本原理3261红外通信接口的硬件电路设计3262红外发送器及原理3263红外遥控电路原理分析43主要电路与程序设计531系统硬件的结构框图532单片机最小系统设计533温度电路设计634显示电路设计635声光报警电路636实时时钟模块737红外线接收电路74软件设计841总模块的流程图842部分主要模块的流程图943温度转换核心及其算法11431DS18B20的内部结构11432DS18B20的内存结构11433DS18B20的测温功能11434温度转换算法及分析125调试结果记录及分析1551数码管显示的测试方法和结果1552DS18B20的测试方法和结果1653键盘程序的测试方法和结果1654RS232模块的测试方法和结果1655产品最终调试166结论167参考文献171设计题目及要求11设计题目带温度显示的红外遥控数字钟12要求用数码管实现显示,DS1302实现计时,遥控键盘实现控制(1)能显示当前时间,用按键切换可以显示日期,星期等情况。(2)能设定时间,能根据设定的日期自动计算星期几。2设计方案本系统要求完成对时间和环境温度的采集,对时间及温度数据的处理问题,因此,首要解决的采用何种微控制器以及何种传感器来对时间及温暖进行采集处理包括计算,其次是采集到的时间及温暖将通过何种方式去显示或通过何钟方式表达出来让人一目了然,最后要解决的是当检测到的温度超出正常或低于正常值时该做出报警反应或对外部设备作相应的控制。21主控制器选型当今单片机厂商琳琅满目,MCU品种繁多、产品性能各异。不同型号的单片机功能各异、开发装置也不兼容。常用的单片机也有很多种,我们今年所学的是ATMEL的AT89系列单片机,所以我们选用了ATMEL公司的AT89S51单片机,AT89S51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的只读程序存储器(PEROM)和256BYTES的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89S51单片机适用于许多较为复杂控制应用场合。AT89S51单片机具有低电压供电和体积小等特点,四个端口只需要其中一个或两个口就能满足系统的设计需要,很适合便携手持式产品的设计使用;系统可用二节电池供电。尽管AT89S51单片机现在并不是最完善最先进的单片机,但是就其功能及相关资料在市面上非常丰富,编译器已经比较优化我们对其开发环境及开发语言也相当熟悉,对于本设计来说我们完全可以选择AT89S51单片机作为主控制器。22DS1302实时显示时间的软硬件DS1302与CPU的连接需要三条线,即SCLK7、I/O6、RST5。,其中,时钟的显示用LCD。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的36V充电电池。如果断电时间较短几小时或几天时,就可以用漏电较小的普通电解电容器代替。100F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。23显示方案直接要数码管或者7段数码管加驱动显示。驱动7段数码管采用低电压扫描驱动具有可以节约单片机I/O口,耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点;但是显示单一,只能显示数字和几个字母。就本设计而言需要显示很多的操作提示信息和报警信息,数码管是难以达到的;且本设计需要单片机I/O口并不多,就AT89S51的资源来说不必要考虑单片机I/O不必要考虑I/O口资源不足的问题。24报警方案采用单片机产生不同的频率信号来驱动蜂鸣器和发光二极管产生声光提示,不同的温度报警值对应不同的频率,此方案能完成声音提示功能,同时给人以提示可以类似电脑主机的蜂鸣报警,而且易于实现。25键盘接口的选择在实际应用中,要求设定的上下限温度温值会随着实际情况的需要变化而变化,因此,就要根据实际的情况来改变系统的温度设定值。作为一个系统,一旦做成产品后,就很难通过对程序的修改来完成对各项初值的设定,因而只有用按键的方式来重新对温度值进行设置。键盘有独立式和行列式两种,独立式键盘适用于简单的键盘设置中,行列式键盘适用于复杂的键盘设置中。对于该系统中只需要简单的对温度进行上、下限值设置,因而我们选用独立式键盘,这样的键盘编程简单、可靠26红外通信的基本原理红外通信是利用950NM近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制PPM方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大。滤波等处理后送给解调电路进行解调,还为二进制数字信号后输出。261红外通信接口的硬件电路设计单片机本身并不具备红外通信接口,但可以利用单片机的串行接口与片外的红外发射和接收电路,组成一个应用于单片机系统的红外串行通信接口。262红外发送器及原理简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。红外发送器电路包括脉冲振荡器。驱动管T1和T2红外发射管D1和D2等部分。其中脉冲振荡器由NE555定时器。电阻R1R2和电容C1C2组成,用以产生38KHZ的脉冲序列作为载波信号;红外发射管D1和D2选用VISHAY公司生产的TSAL6238,用来向外发射950NM的红外光束。红外发送器的工作原理为串行数据由单片机的串行输出端TXD送出并驱动T1管,数位“0”使T1管导通,通过T2管调制成38KHZ的载波信号,并利用两个红外发射管D1和D2以光脉冲的形式向外发送。数位“1”使T1管截止,红外发射管D1和D2不发射红外光。若传送的波特率设为1200BPS,则每个数位“0”对应32个载波脉冲调制信号的时序,如图21所示。图21遥控连发信号波形红外接收接收模块是一个三端元件,使用单电源5V电源,具有功耗低。抗干扰能力强,灵敏度高。其内部结构框图如图22所示。图22红外遥控系统框图用于红外线遥控电子钟的遥控器包括至少一个按键、红外线发射部分以及分别与按键和红外线发射部分相连的遥控器控制电路,其中所述按键分别表示电子钟的各调节功能。受红外线遥控的电子钟包括显示面、电子钟控制电路,还包括接收上述遥控器发来的各种发光信号并将发光信号传递给电子钟控制电路的红外线接收部分,而且电子钟控制电路还设有检测来自红外线接收部分的信号并执行信号所表示的电子钟的各调节功能的程序。263红外遥控电路原理分析当红外遥控器按下时,红外接收头接收到红外信号,单片机产生中断,在中断程序进行红外解码,再按解码值判断哪个按键按下。通过按键值对时间进行设置。单片机通过读取时钟芯片1302,数据完成时间显示功能,显示部分采用数码管显示,可以分别显示年,月,日,时,分,秒,星期及温度。3主要电路与程序设计31系统硬件的结构框图根据时间和红外遥控电子钟设计的实际要求和设计方案的论证,系统主要由AT89S51及相关的复位电路组成的单片机最小系统、由DS18B20构成感温测温模块、由液晶显示屏LED12864显示模块、由蜂鸣器及LED发光二级管组成声光报警单元、独立式键盘输入模块5部分电路组成。另外为了不浪费单片机剩余资源,同时显示出采集器采集温度实时性,在此特增加了DS1302实时时钟模块与用于上位机电脑通信的MAX232电平转换驱动模块。综上述实际总体方案电路关系框图如图31所示图31总体方案电路关系框图32单片机最小系统设计单片机作为主控制器,主要是处理各个部分重要的数并据协调各个模块正常工作的关键部件。AT89S51单片机具有4个8为I/O口;本设计中主要是用了P0口显示模块的数据接口;P2口的P25、P26、P27位作为液晶屏的使能接口;P1口的P10、P11、P12位分别接实时钟DS1302的复位、时钟、数据引脚;P1口P13位作为集成数字温度传感器DS18B20的数据接口,用来对DS18B20进行读写操作;在此特别说明虽然P0内部没有上拉电阻,但是在本设计中只是做为液晶显示屏的数据总线或地址总线;可以省去上拉电阻不接。AT89S51单片机接上相应的电源和时钟,组成单片最小系统系统如图32所示。图32单片最小系统33温度电路设计DS18B20采用一线传输协议,可以使用外部电源工作方式也可以采用寄生电源工作方式,本设计中采用外部电源工作模式,具体电路如图33图33外部电源工作模式34显示电路设计数码管显示电路如图3435声光报警电路本电路由发光二极管和蜂鸣器构成如图25图34数码管显示图35声光报警电路36实时时钟模块本模块由DS1302时钟芯片加晶振组成具体电路如图36所示37红外线接收电路如图37所示是电路的红外线接收电路。图36实时时钟电路图37红外线接收电路4软件设计本系统的执行方法是循环查询加中断执行来显示和控制时间和温度的。键盘扫描程序是用循环查询的办法,与上位机通信采用中断的方法;这样可以进一步节省单片机的CPU资源,也可以保证实时响应外部输入。41总模块的流程图总模块流程图如41所示、18B20、1302、ENTER、图41总模块的流程图42部分主要模块的流程图读取温度DS18B20模块的流程如图42所示图42读取温度流程图43温度转换核心及其算法431DS18B20的内部结构DS18B20的内部结构功能模块如图33所示,主要有四部分组成,64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。R0M中的64位序列号是出厂前被光刻好的,他可以看作是该DSISB20的地址序列码,每个DSI8B20的64位序列号均不相同。高低温报警触发器TH和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对TH,TL或配置寄存器写入。配置寄存器中R1,R0决定温度转换的精度位数R1R000,9位精度,最大转换时间为9375MS;R1R001,10位精度,最大转换时间为1875MS;R1R010,11位精度,最大转换时间为375MS;R1R011,12位精度,最大转换时间为750MS;未编程时默认为12位精度。本系统采用的也是12位的精度。432DS18B20的内存结构DSI8B20温度传感器的内部存储器包括一个高速暂存RAM(便笺式的内部存储器)和一个非易失性的可电擦除的EEPROM,后者存放高温和低温触发器TH,TL和结构寄存器。便笺存储器包含了9个连续字节(08),前两个字节是测得的温度信息,字节0的内容是温度的低8位,字节1是温度的高8位,字节2是TH(温度上限报警),字节3是TL(温度下限报警),字节4是配置寄存器,用于确定输出分辨率9到12位。第5、6、7个字节是预留寄存器,用于内部计算。字节8是冗余检验字节,校验前面所有8个字节的CRC码,可用来保证通信正确。433DS18B20的测温功能当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以00625LSB形式表示。温度值格式,其中“S”为标志位,对应的温度计算当符号位S0时,直接将二进制位转换为十进制;当S1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与TH做比较,若TTH或TROM操作命令存储器操作命令处理数据1初始化单总线上的所有处理均从初始化开始2ROM操作品令总线主机检测到DSL820的存在便可以发出ROM操作命令之一这些命令如指令代码READROM读ROM33HMATCHROM匹配ROM55HSKIPROM跳过ROMCCHSEARCHROM搜索ROMF0HALARMSEARCH告警搜索ECH3存储器操作命令指令代码WRITESCRATCHPAD写暂存存储器4EHREADSCRATCHPAD读暂存存储器BEHCOPYSCRATCHPAD复制暂存存储器48HCONVERTTEMPERATURE温度变换44HRECALLEPROM重新调出B8HREADPOWERSUPPLY读电源B4H434温度转换算法及分析由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MSBYTE)高5位是用来保存温度的正负(标志为S的BIT11BIT15),高字节(MSBYTE)低3位和低字节来保存温度值(BIT0BIT10)。其中低字节(LSBYTE)的低4位来保存温度的小数位(BIT0BIT3)。由于本程序采用的是00625的精度,小数部分的值,可以用后四位代表的实际数值乘以00625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留一位小数即可。也就说,本系统的温度精确到了01度。算法核心首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LSBYTE)取反加一变成原码。处理过后把DS18B20的温度COPY到单片机的RAM中,里面已经是温度值的HEX码了,然后转换HEX码到BCD码,分别把小数位,个位,十位,百位的BCD码存入RAM中。由于百位没有用,默认情况是置为0A,在显示屏上没有任何显示。温度算法核心代码/DS18B20SBITDQP17/定义通信端口/延时函数VOIDDELAYUNSIGNEDINTIWHILEI/初始化函数INIT_DS18B20VOIDUNSIGNEDCHARX0DQ1/DQ复位DELAY8/稍做延时DQ0/单片机将DQ拉低DELAY80/精确延时大于480USDQ1/拉高总线DELAY14XDQ/稍做延时后如果X0则初始化成功X1则初始化失败DELAY20/读一个字节READONECHARVOIDUNSIGNEDCHARI0UNSIGNEDCHARDAT0FORI8I0IDQ0/给脉冲信号DAT1DQ1/给脉冲信号IFDQDAT|0X80DELAY4RETURNDAT/写一个字节WRITEONECHARUNSIGNEDCHARDATUNSIGNEDCHARI0FORI8I0IDQ0DQDATDELAY5DQ1DAT1/DELAY4/读取温度READTEMPERATUREVOIDUNSIGNEDCHARA0UNSIGNEDCHARB0UNSIGNEDINTT0INIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0X44/启动温度转换INIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0XBE/读取温度寄存器等(共可读9个寄存器)前两个就是温度AREADONECHARBREADONECHARTBT8TT|ATT0625/有效位到小数点后1位RETURNT/DS18B20结束5调试结果记录及分析为了提高调试的效率和成功率,我采用了先分别调试各单元模块,再进行整机调试的方法来调试。51数码管显示的测试方法和结果把编写的程序通过单片机仿真软件进行测试,如果在测试过程中,能够通过数码管显示屏正常显示读取时间的信息,那么说明子程序编写正确;如果测试中,显示的结果与我们要求的不一致,那说明程序在编写中出现错误,就应该修改子程序,直到能正确读取时间信息为止。52DS18B20的测试方法和结果利用仿真软件不断修改DS18B20仿真元件的温度实际值,结果显示的与之相同,说明读温度显示程序编写正确。53键盘程序的测试方法和结果把编写的键盘程序通过单片机仿真软件进行测试,在测试过程中,能够实现时间的调整自加、自减功能,那么说明该子程序编写正确;如果测试的结果与要求的不一致,那么就应该修改该子程序,直到正确为止,在修改过程中,不必去改动其它部分程序。54RS232模块的测试方法和结果将RS232的发送与接收端相互短接起来;利用串口调试助手发送一串字符,如果马上在调试助手的接收窗口中接收到刚才发送的字符,说明通信正确可以进行通信。55产品最终调试在分别调试成功每一个部分的程序后,我们就可以把整个系统的程序进行调试,还是用单片机仿真软件调试,在调试中,该程序能按照系统预定的步骤运行,那么说明程序编写正确;如果在调试中出现了我们不需要的结果,那么说明程序出现错误,这时就应该检查主程序在调有子程序及子程序与子程序之间有没有出现错误,其次就检查仿真图的硬件连接正确与否。最后将整个项目的程序写入单片机中进行产品环境测试。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 面试签约协议书
- 高安离婚协议书
- 跳绳培训协议书
- 提升村集体经济管理效能的专业化路径与行动方案
- 汽车以旧换新推动行业转型与绿色升级
- 2025年网络管理 政策法规及试题及答案
- 资本市场改革与经济发展的关系试题及答案
- 行政法学教育模式与试题答案共享
- VB考试高效学习方法与试题答案
- 理解企业软件实施的阶段与策略试题及答案
- 群众文化知识试题及答案
- 2024+ESC指南解读:血压升高和高血压的管理课件
- 2025年-重庆市建筑安全员B证考试题库附答案
- 结肠癌科普知识
- 2024国际物流师考试内容试题及答案
- 2025-2031年中国核电用钛合金管道行业发展前景预测及投资方向研究报告
- 政府项目投资合作框架协议书范本
- 具身智能项目建设规划方案(参考模板)
- 科学小实验手摇发电机
- 三类人员安全教育
- 2024电能存储系统用锂蓄电池和电池组安全要求
评论
0/150
提交评论