欢迎来到天天文库
浏览记录
ID:6825160
大小:1.96 MB
页数:26页
时间:2018-01-27
《基于单片机的红外解码温度及液晶显示》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、中国矿业大学徐海学院技能考核培训姓名:学号:专业: 题目:基于单片机的红外解码.温度及液晶显示专题:红外解码指导教师:设计地点:电工电子实验室时间:月26通信系统综合设计训练任务书学生姓名专业年级信息11-2班学号设计日期:同组成员:设计题目:基于单片机的红外无线控制设计专题题目:红外解码设计主要内容和要求:1.主要内容:2.单片机内部结构红外遥控解码C语言程序设Ds18b20的使用Lcd1602的使用2.功能扩展要求环境温度液晶显示指导教师签字:26目录正文51.概述51.1功能描述51.2单片机资源52.
2、1管脚图53.1.使用资源52.原理篇62.1红外发送及接收62.1.1红外接收概述62.1.2硬件及原理图72.1.3红外中断接收部分程序82.2温度原理92.2.1DS18B20的主要特性92.2.2原理图与硬件102.2.3DS18B20时序和程序102.3QC1602A122.3.11602外部结构及管脚说明122.3.2写命令/数据时序与部分程序133.效果图154.软件篇154.1程序框图154.1.1Main函数154.1.2中断164.1.360ms定时中断164.2完整程序164.2.1Pr
3、oject.c文件164.2.2onewire.c文件235.参考文献2626技能考核培训摘要:利用单片机所学内容进行拓展,我们实现了基于单片机的红外解码.温度及液晶显示。Lcd液晶显示实时环境温度和接收显示红外遥控器的键值,在收到红外信号时会用蜂鸣器作为反馈,以提醒红外一体接收头有接到信号。关键词:单片机液晶显示红外解码26正文1.概述1.1功能描述Lcd液晶显示实时环境温度和接收显示红外遥控器的键值,在收到红外信号时会用蜂鸣器作为反馈,以提醒红外一体接收头有接到信号。1.2单片机资源2.0资源与MCS-5
4、1单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符2.1管脚图3.1.使用资源26P1:用于连接LCD1602的数据线P3.5,P3.7:分别连接LCD1602的RS,R/W控制脚P3.2:使用第二功能,用于接收红外信号P2.7:DS18B20数据脚P2.5:用于控制蜂鸣器2.原理篇2.1红外发送及接
5、收2.1.1红外接收概述NEC标准:遥控载波的频率为38KHz(占空比为1:3);当某个按键按下时,系统首先发射一个完整的全码,如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。一个完整的全码=引导码+用户码+用户码+数据码+数据反码。其中,引导码高电平9ms,低电平4.5ms;系统码8位,数据码8位,共32位;其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接
6、收准确。收端根据数据码做出应该执行什么动作的判断。连发代码是在持续按键时发送的码。它告知接收端,某键是在被连续地按着。NEC标准下的发射码表示发射数据时0用“0.56ms高电平+0.565ms低电平=1.125ms”表示;数据1用“高电平0.56ms+低电平1.69ms=2.25ms”表示。 遥控器发射的信号:一体化接收头接收到的信号:26需要注意的是;一体化接收头输了的波形是与发射波形是反向的。我的遥控器使用的是NEC标准的WD6122芯片,遥控器编码如下:2.1.2硬件及原理图262.1.3红外中断接收部
7、分程序voidIR_IN()interrupt0using0//外部中断0程序{unsignedcharj,k,n=0;//先定义变量,记住n=0EX0=0;//禁止中断,以免再次进入中断delay(15);//延时0.14ms*15=2.1msif(IRIN==1)//如果在这期间有高电平说明{//信号不是来自遥控的,返回主程序EX0=1;return;}while(!IRIN){delay(1);}//死循环,等待9ms前导低电平信号的结束/////////////////////////////////
8、/////////////////////for(j=0;j<4;j++)//一共有4组数据{for(k=0;k<8;k++)//每组数据有8位{while(IRIN){delay(1);}//死循环,等待4.5ms前导高电平的结束while(!IRIN){delay(1);}//等待0.56ms低电平的结束,准备采集数据,while(IRIN)//开始采集数据{delay(1);//延时0.14m
此文档下载收益归作者所有