收藏 分销(赏)

单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc

上传人:精**** 文档编号:2658540 上传时间:2024-06-03 格式:DOC 页数:21 大小:205.04KB
下载 相关 举报
单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc_第1页
第1页 / 共21页
单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc_第2页
第2页 / 共21页
单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc_第3页
第3页 / 共21页
单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc_第4页
第4页 / 共21页
单片机带温度显示的红外遥控数字钟优秀课程设计优质报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、单片机原理及应用课 程 设 计 报 告 课题名称 带温度显示红外遥控数字钟 专 业 电气自动化 班 级 B1031 学 号 29 姓 名 武 X X 指导老师 谢 X X -6-4目 录1.设计题目及要求12.设计方案1 2.1 主控制器型1 2.2 DS1302实时显示时间软硬件 2 2.3 显示方案2 2.4 报警方案2 2.5 键盘接口选择3 2.6 红外通信基础原理3 2.6.1 红外通信接口硬件电路设计3 2.6.2 红外发送器及原理3 2.6.3 红外遥控电路原理分析43. 关键电路和程序设计5 3.1 系统硬件结构框图5 3.2 单片机最小系统设计5 33 温度电路设计6 3.4

2、 显示电路设计6 3.5 声光报警电路6 3.6 实时时钟模块7 3.7 红外线接收电路74.软件设计8 4.1 总模块步骤图8 4.2 部分关键模块步骤图9 4.3 温度转换关键及其算法 11 4.3.1 DS18B20内部结构11 4.3.2 DS18B20内存结构11 4.3.3 DS18B20测温功效11 4.3.4 温度转换算法及分析12 5.调试结果统计及分析15 5.1 数码管显示测试方法和结果15 5.2 DS18B20测试方法和结果 16 5.3 键盘程序测试方法和结果16 5.4 RS232模块测试方法和结果 16 5.5产品最终调试166. 结论 167. 参考文件 17

3、1.设计题目及要求 1.1设计题目:带温度显示红外遥控数字钟 1.2要求:用数码管实现显示,DS1302实现计时,遥控键盘实现控制 (1)能显示目前时间,用按键切换能够显示日期,星期等情况。 (2)能设定时间,能依据设定日期自动计算星期几。 2.设计方案本系统要求完成对时间和环境温度采集,对时间及温度数据处理问题,所以,首要处理采取何种微控制器和何种传感器来对时间及温暖进行采集处理包含计算,其次是采集到时间及温暖将经过何种方法去显示或经过何钟方法表示出来让人一目了然,最终要处理是当检测到温度超出正常或低于正常值时该做出报警反应或对外部设备作对应控制。 2.1主控制器选型 当今单片机厂商琳琅满目

4、,MCU品种繁多、产品性能各异。不一样型号 单片机功效各异、开发装置也不兼容。常见单片机也有很多个,我们今年所 学是AtmelAT89系列单片机,所以我们选择了ATMEL企业AT89S51 单片机,AT89S51是美国ATMEL企业生产低电压,高性能CMOS8位单片 机,片内含8Kbytes可反复擦写只读程序存放器(PEROM)和256bytes 随机存取数据存放器(RAM),器件采取ATMEL企业高密度、非易失性 存放技术生产,和标准MCS-51指令系统及8051产品引脚兼容,片内置通用 8位中央处理器(CPU)和FLASH存放单元,功效强大AT89S51单片机适用 于很多较为复杂控制应用场

5、所。AT89S51单片机含有低电压供电和体积小等特 点,四个端口只需要其中一个或两个口就能满足系统设计需要,很适合便携 手持式产品设计使用;系统可用二节电池供电。尽管AT89S51单片机现在 并不是最完善最优异单片机,不过就其功效及相关资料在市面上很丰富, 编译器已经比较优化我们对其开发环境及开发语言也相当熟悉,对于本设计来 说我们完全能够选择AT89s51单片机作为主控制器。 2.2 DS1302实时显示时间软硬件 DS1302和CPU连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。,其中, 时钟显示用LCD。 即使DS1302在主电源掉电后耗电很小,不过,假如要长时间确保时钟

6、 正常,最好选择小型充电电池。能够用传统电脑主板上3.6V充电电池。如 果断电时间较短(几小时或几天)时,就能够用漏电较小一般电解电容器代 替。100 F就能够确保1小时正常走时。DS1302在第一次加电后,必需 进行初始化操作。初始化后就能够按正常方法调整时间。 DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 DS1302能够用于数据统计,尤其是对一些含有特殊意义数据点统计,能 实现数据和出现该数据时间同时统计。这种统计对长时间连续测控系统 结果分析及对异常数据出现原因查找含相关键意义。传统数据统计 方法是隔时采样或定时采样,没有具体时间统计,所以,只能统计数据而 无法正

7、确统计其出现时间;若采取单片机计时,首先需要采取计数器, 占用硬件资源,其次需要设置中止、查询等,一样花费单片机资源, 而且,一些测控系统可能不许可。不过,假如在系统中采取时钟芯片DS1302, 则能很好地处理这个问题。 2.3显示方案 直接要数码管或7段数码管加驱动显示。 驱动7段数码管采取低电压扫描驱动含有:能够节省单片机I/O口,耗电 少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点; 不过显示单一,只能显示数字和多个字母。就本设计而言需要显示很多操作 提醒信息和报警信息,数码管是难以达成;且本设计需要单片机I/O口并不 多,就AT89S51资源来说无须要考虑单片机I/O

8、无须要考虑I/O口资源不足 问题。 2.4 报警方案 采取单片机产生不一样频率信号来驱动蜂鸣器和发光二极管产生声光提 示,不一样温度报警值对应不一样频率,此方案能完成声音提醒功效,同时给 人以提醒能够类似电脑主机蜂鸣报警,而且易于实现。 2.5键盘接口选择 在实际应用中,要求设定上下限温度温值会伴随实际情况需要改变而 改变,所以,就要依据实际情况来改变系统温度设定值。作为一个系统, 一旦做成产品后,就极难经过对程序修改来完成对各项初值设定,所以只 有用按键方法来重新对温度值进行设置。 键盘有独立式和行列式两种,独立式键盘适适用于简单键盘设置中,行列 式键盘适适用于复杂键盘设置中。对于该系统中只

9、需要简单对温度进行上、 下限值设置,所以我们选择独立式键盘,这么键盘编程简单、可靠 2.6红外通信基础原理 红外通信是利用950nm近红外波段红外线作为传输信息媒体,即通 信信道。发送端采取脉时调制(PPM)方法,将二进制数字信号调制成某一频率 脉冲序列,并驱动红外发射管以光脉冲形式发送出去;接收端将接收到 光脉转换成电信号,再经过放大。滤波等处理后送给解调电路进行解调, 还为 二进制数字信号后输出。 2.6.1 红外通信接口硬件电路设计 单片机本身并不含有红外通信接口,但能够利用单片机串行接口和片 外红外发射和接收电路,组成一个应用于单片机系统红外串行通信接 口。 2.6.2 红外发送器及原

10、理 简而言之,红外通信实质就是对二进制数字信号进行调制和解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道调制解调器。 红外发送器电路包含脉冲振荡器。驱动管T1和T2.红外发射管D1和D2等部分。其中脉冲振荡器由NE555定时器。电阻(R1.R2)和电容(C1.C2)组成,用以产生38kHz脉冲序列作为载波信号;红外发射管D1和D2选择Vishay企业生产TSAL6238,用来向外发射950nm红外光束。 红外发送器工作原理为:串行数据由单片机串行输出端TXD送出并驱动T1管,数位“0”使T1管导通,经过T2管调制成38kHz载波信号,并利用两个红外发射管D1和D2以光脉冲形式向外发

11、送。数位“1”使T1管截止,红外发射管D1和D2不发射红外光。若传送波特率设为1200bps,则每个数位“0”对应32个载波脉冲调制信号时序,图2-1所表示。 图2-1遥控连发信号波形 红外接收接收模块是一个三端元件,使用单电源+5V电源,含有功耗 低。抗干扰能力强,灵敏度高。其内部结构框图图2-2所表示。 图2-2红外遥控系统框图 用于红外线遥控电子钟遥控器包含最少一个按键、红外线发射部分以及分别和按键和红外线发射部分相连遥控器控制电路,其中所述按键分别表示电子钟各调整功效。受红外线遥控电子钟包含显示面、电子钟控制电路,还包含接收上述遥控器发来多种发光信号并将发光信号传输给电子钟控制电路红外

12、线接收部分,而且电子钟控制电路还设有检测来自红外线接收部分信号并实施信号所表示电子钟各调整功效程序。2.6.3红外遥控电路原理分析 当红外遥控器按下时,红外接收头接收到红外信号,单片机产生中止,在中止程序进行红外解码,再按解码值判定哪个按键按下。经过按键值对时间进行设置。单片机经过读取时钟芯片1302,数据完成时间显示功效,显示部分采取数码管显示,能够分别显示年,月,日,时,分,秒,星期及温度。3.关键电路和程序设计 3.1 系统硬件结构框图 依据时间和红外遥控电子钟设计实际要求和设计方案论证,系统主 要由 AT89S51及相关复位电路组成单片机最小系统、由DS18B20组成感 温测温模块、由

13、液晶显示器LED128*64显示模块、由蜂鸣器及LED发光二级 管组成声光报警单元、独立式键盘输入模块5部分电路组成。另外为了不浪费 单片机剩下资源,同时显示出采集器采集温度实时性,在此特增加了DS1302 实时时钟模块和用于上位机电脑通信MAX232电平转换驱动模块。综上述 实际总体方案电路关系框图图3-1所表示: 图3-1总体方案电路关系框图 3.2单片机最小系统设计 单片机作为主控制器,关键是处理各个部分关键数并据协调各个模块 正常工作关键部件。AT89S51单片机含有4个8为I/O口;本设计中关键是 用了P0口显示模块数据接口;P2口P2.5、P2.6、P2.7位作为液晶屏使 能接口;

14、P1口P1.0、 P1.1、 P1.2位分别接实时钟ds1302复位、时钟、 数据引脚; P1口P1.3位作为集成数字温度传感器ds18b20数据接口,用来 对ds18b20进行读写操作;在此尤其说明即使P0内部没有上拉电阻,不过 在 本设计中只是做为液晶显示器数据总线或地址总线;能够省去上拉电阻不 接。At89s51单片机接上对应电源和时钟,组成单片最小系统系统图3-2 所表示。 图3-2 单片最小系统 33 温度电路设计 DS18B20采取一线传输协议,能够使用外部电源工作方法也能够采取寄生电源工作方法,本设计中采取外部电源工作模式,具体电路图3-3: 图3-3 外部电源工作模式3.4显示

15、电路设计 数码管显示电路图3-4:3.5声光报警电路 本电路由发光二极管和蜂鸣器组成图2-5: 图3-4 数码管显示 图3-5声光报警电路3.6 实时时钟模块本模块由DS1302时钟芯片加晶振组成具体电路图3-6所表示:3.7 红外线接收电路 图3-7所表示是电路红外线接收电路。 图3-6 实时时钟电路 图3-7 红外线接收电路4.软件设计本系统实施方法是循环查询加中止实施来显示和控制时间和温度。键盘扫描程序是用循环查询措施,和上位机通信采取中止方法;这么能够深入节省单片机CPU资源,也能够确保实时响应外部输入。 4.1总模块步骤图 总模块步骤图如4-1所表示: 图4-1 总模块步骤图 4.2

16、 部分关键模块步骤图 读取温度DS18B20模块步骤图4-2所表示: 图4-2 读取温度步骤图 4.3温度转换关键及其算法 4.3.1 DS18B20内部结构 DS18B20内部结构功效模块图3-3所表示,关键有四部分组成,64位光 刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。R0M 中 64位序列号是出厂前被光刻好,她能够看作是该DSISB20地址序列码, 每个DSI8B2064位序列号均不相同。高低温报警触发器TH 和TL,配置寄 存器均由一个字节E2PROM组成,使用一个存放器功效命令可对 TH,TL或 配置寄存器写入。配置寄存器中R1,R0决定温度转换精度位数:

17、R1R0 00,9位精度,最大转换时间为93.75 ms;R1R0 = 01,10位精度,最 大转换时间为187.5 ms;R1R0 = 10,11位精度,最大转换时间为375 ms; R1R0 =11,12位精度,最大转换时间为750 ms;未编程时默认为12位精 度。本系统采取也是12位精度。 4.3.2 DS18B20内存结构 DSI8B20温度传感器内部存放器包含一个高速暂存RAM (便笺式内部 存放器)和一个非易失性可电擦除EEPROM,后者存放高温和低温触发器 TH,TL和结构寄存器。便笺存放器包含了9个连续字节(08),前两个字 节是测得温度信息,字节0内容是温度低8位,字节1是

18、温度高8 位,字节2是TH(温度上限报警),字节3是TL(温度下限报警),字节4 是配置寄存器,用于确定输出分辨率9到12位。第5、6、7个字节是预留寄 存器,用于内部计算。字节8是冗余检验字节,校验前面全部8个字节CRC 码,可用来确保通信正确。 4.3.3 DS18B20测温功效 当DSI8B20接收到温度转换命令后,开始开启转换。转换完成后温度值就以16位带符号扩展二进制补码形式存放在高速暂存存放器0,1字节。单片机可经过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5LSB形式表示。温度值格式,其中“S”为标志位,对应温度计算:当符号位S=0时,直接将二进制位转换为

19、十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得温度值和 TH做比较,若TTH或T ROM操作命令 - 存放器操作命令- 处理数据(1) 初始化 单总线上全部处理均从初始化开始 (2) ROM操作品令 总线主机检测到DSl820存在便能够发出ROM操作命令之一这些命令如: 指令 代码 Read ROM(读ROM) 33H Match ROM(匹配ROM) 55H Skip ROM(跳过ROM CCH Search ROM(搜索ROM) F0H Alarm search(告警搜索)ECH (3) 存放器操作命令 指令 代码 Write Scratch

20、pad(写暂存存放器) 4EH Read Scratchpad(读暂存存放器) BEH Copy Scratchpad(复制暂存存放器) 48H Convert Temperature(温度变换) 44H Recall EPROM(重新调出)B8H Read Power supply(读电源) B4H 4.3.4 温度转换算法及分析 因为DS18B20转换后代码并不是实际温度值,所以要进行计算转换。 温度高字节(MS Byte)高5位是用来保留温度正负(标志为Sbit11 bit15),高字节(MS Byte)低3位和低字节来保留温度值(bit0 bit10)。 其 中低字节(LS Byte)

21、低4位来保留温度小数位(bit0 bit 3)。因为本 程序采取是0.0625精度,小数部分值,能够用后四位代表实际数值乘 以0.0625,得到真正数值,数值可能带多个小数位,所以采取小数舍入,保 留一位小数即可。也就说,本系统温度正确到了0.1度。算法关键:首先程 序判定温度是否是零下,假如是,则DS18B20保留是温度补码值,需要对 其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20温度Copy到 单片机RAM中,里面已经是温度值Hex码了,然后转换Hex码到BCD码, 分别把小数位,个位,十位,百位BCD码存入RAM中。因为百位没有用,默 认情况是置为0A,在显示器上没

22、有任何显示。 温度算法关键代码 /*ds18b20 sbit DQ =P17; /定义通信端口 /延时函数 void delay(unsigned int i) while(i-); /初始化函数 Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /正确延时 大于 480us DQ = 1; /拉高总线 delay(14); x=DQ; /稍做延时后 假如x=0则初始化成功 x=1则初始化失败 delay(20); /读一个字节 ReadOneChar

23、(void) unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4); return(dat); /写一个字节 WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; /delay(4); /读取温度 ReadTemperature(

24、void) unsigned char a=0;unsigned char b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号操作WriteOneChar(0x44); / 开启温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;t=t*0.625;/有效位到小数点后1位return(t

25、); /ds18b20结束5.调试结果统计及分析为了提升调试效率和成功率,我采取了先分别调试各单元模块,再进行整机调试方法来调试。 5.1 数码管显示测试方法和结果 把编写程序经过单片机仿真软件进行测试,假如在测试过程中,能够 经过数码管显示器正常显示读取时间信息,那么说明子程序编写正确;假如 测试中,显示结果和我们要求不一致,那说明程序在编写中出现错误,就 应该修改子程序,直到能正确读取时间信息为止。 5.2 DS18B20测试方法和结果 利用仿真软件不停修改DS18B20仿真元件温度实际值,结果显示和之 相同,说明读温度显示程序编写正确。 5.3键盘程序测试方法和结果 把编写键盘程序经过单

26、片机仿真软件进行测试,在测试过程中,能够实 现时间调整(自加、自减)功效,那么说明该子程序编写正确;假如测试结 果和要求不一致,那么就应该修改该子程序,直到正确为止,在修改过程中, 无须去改动其它部分程序。 5.4 RS232模块测试方法和结果 将RS232发送和接收端相互短接起来;利用串口调试助手发送一串字 符,假如立即在调试助手接收窗口中接收到刚才发送字符,说明通信正确 能够进行通信。 5.5 产品最终调试 在分别调试成功每一个部分程序后,我们就能够把整个系统程序进行 调试,还是用单片机仿真软件调试,在调试中,该程序能根据系统预定步骤 运行,那么说明程序编写正确;假如在调试中出现了我们不需

27、要结果,那么 说明程序出现错误,这时就应该检验主程序在调有子程序及子程序和子程序之 间有没有出现错误,其次就检验仿真图硬件连接正确是否。最终将整个项目 程序写入单片机中进行产品环境测试。6. 结论 本系统以AT89S51为关键控制部件,利用软件编程从DS18B20读取温度信息、从DS1302中读取时间信息,然后经过数码管显示器上从读取时间信息、温度信息经过发光二极管亮灭来模拟对应外部控制过程、经过键盘操作来校对系统运行中所产生误差及在实际利用中调整时间设定,经试验测试证实用本系统用AT89S51单片机能完成温度采集及通常控制过程。为了减小电磁干扰和恶劣环境下该系统能正常工作,对硬件电路做到简单

28、能用,充足发挥软件优点,避免因电路和软件而引发必需误差。经过这个星期实训,我综合能力有了很大提升,我编写程序经验更为熟练,编程水平更上了一个新台阶,尤其是深入了解了单片机原理应用,感觉它功效很强大。本系统即使能实现题目标要求;不过还有待以深入完善,增加更强大功效,不过因为时间和本身知识水平有限。其它附加工能将会在未来时间内一并完成。在一个星期实训中,经过查找资料、搜集资料、电路设计、作品调试及撰写课程设计汇报,课程设计汇报完成也意味着我们课程设计已完成。在设计时间时、分、秒及温度采集设计过程中我们得到了指导老师悉心指导,她渊博知识和对我严格要求和她严谨作风全部给我留下了很深印象,这将使我终生受益,在此,对指导老师表示衷心感谢!在此次设计中,感谢baidu网站为我提供大量网上资料。学校图书馆和试验室也为我们设计提供了大部分电子元件及耗材,在此也向我院试验室表示感谢!另外还要感谢我同学所给帮助。7. 参考文件1 刘勇.数字电路 .电子工业出版社,;2 王法能.单片机原理及应用.科学出版社,;3 赛组委会.全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社;4 赵伟军.PROTEL99 SE教程.人民邮电出版社,.5 单片机经典模块设计实例导航.人民邮电出版社,.6 李光飞.楼苗然主编.51系列单片机.北京:北京航空航天大学出版社,

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服