欢迎来到天天文库
浏览记录
ID:37806537
大小:305.56 KB
页数:18页
时间:2019-05-31
《十九、ATmega48红外遥控发射(Nokia NRC17 Protocol)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于ProteusProteus的Proteus的的的AAAAttttmega48mega48mega48单片机仿真mega48单片机仿真十十十九十九九九、、、、ATmega48ATmega48ATmega48红外遥控发射ATmega48红外遥控发射(((Nokia(NokiaNokiaNRC17NokiaNRC17NRC17ProtocolNRC17ProtocolProtocol)Protocol)))(鹰击长空,longsky2007@126.com)★注:网上资料,仅供学习和参考★111、1、、、仿真环境仿真环境:::ProteusPro7.4sp3ICCAVR6.31a2
2、22、2、、、电路原理图电路原理图外接8M晶振,熔丝位CLKDIV8无分频外接RC复位电路333、3、、、程序程序参照彭伟《单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真》P343,本例采用软件延时NokiaNRC17协议见http://www.sbprojects.com/knowledge/ir/nrc17.htm,本例使用以下格式:12图2按下K1时的第一帧数据Start“0xFE,0xFF”,二进制代码是“1111111011111111”,采取先发低位就是“0111111111111111”。3图3第一帧数据Start与第二帧数据CMD1之间延时2
3、1ms4图4两个CMD之间延时81ms5图5载波周期的一半是高电平14us(本来是13us)6/********main.c*************************************版本:ICCAVR6.25C,外接晶振8.00MHzMCU:ATmega48**************************************************/#include#include"delay_Accurate2.h"//按键定义#defineK1_Down()(PIND&(1<4、D&(1<5、<6、=(1<7、B0)#defineIRLED_0()PORTB&=~(1<8、arj;Emit_IR_Carrier_500us();IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay_nus(248);}//发送0voidEmit_IR_Low(void){unsignedcharj;IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay
4、D&(1<5、<6、=(1<7、B0)#defineIRLED_0()PORTB&=~(1<8、arj;Emit_IR_Carrier_500us();IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay_nus(248);}//发送0voidEmit_IR_Low(void){unsignedcharj;IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay
5、<6、=(1<7、B0)#defineIRLED_0()PORTB&=~(1<8、arj;Emit_IR_Carrier_500us();IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay_nus(248);}//发送0voidEmit_IR_Low(void){unsignedcharj;IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay
6、=(1<
7、B0)#defineIRLED_0()PORTB&=~(1<8、arj;Emit_IR_Carrier_500us();IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay_nus(248);}//发送0voidEmit_IR_Low(void){unsignedcharj;IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay
8、arj;Emit_IR_Carrier_500us();IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay_nus(248);}//发送0voidEmit_IR_Low(void){unsignedcharj;IRLED_0();//Delay_nus(998);//延时500usfor(j=0;j<3;j++)Delay_nus(250);Delay
此文档下载收益归作者所有