



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3-38KHZ方波采用中断的方式处理(影响到编码脉宽)-未成功.txt第一次笑是因为遇见你,第一次哭是因为你不在,第一次笑着流泪是因为不能拥有你。/*产生38KHZ的方波时,采用中断的方式处理(在中断中对输出取反),但是在示波器中看波形宽度的时候,发现它影响到位0和位1编码脉宽-因此未成功。下一步决定采用查询的方式来产生38KHZ的方波。*/*红外编码子程序*/=/hongwai.c/writer:莫熙乐2010年4月;修改作者:whtujingjing 2011年8月2日/*1、测试条件:f=22.1184MHZ晶振频率,STC89C52RC单片机*/*2、编码标准:NEC的PPM码;/*即位0低电平时间为0.56ms;位1低电平时间为1.68ms;它们的高电平时间均为0.56ms*/*3、准备应用场合:红外发送温度数据(系统码为:ir_systemvalue,数据码为: temprature_value)*/=#include sbit P3_7=P37;/从该口发出编码脉冲sbit P3_6=P36;sbit P2_0=P20;#define temprature_value 26; /数据码#define ir_systemvalue 1; /系统码#define uchar unsigned char /unsigned char wy8=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/这个代码的发送顺序有误,应该是先发送高位,后发送低位。unsigned char wy8=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;/用来提取代码的每一位。long int count,endcount;/delay延时计数变量/*晶振频率f=22.1184MHZ时;当 TL0 =TH0 = 0xe8时,可以产生38.4KHZ的方波;在f=12MHZ时,TH0 = TL0 =0xf3时可以产生38.4664KHZ的方波*/void time_0_initial()/ 定时、中断初始化 TMOD = 0x02; / T0使用定时模式,工作模式2,无门控位 / TH0 = 0xff-0x18=0xe7; TH0 = TL0 =0xe8; / 为T0填入初值,定时时间13us /TR0 = 1; / 启动T0 ET0 = 1; / 允许定时器0中断 EA = 1; / CPU开放中断 void sendirdata()uchar s=0,user=0,shuju=0,hc=0;/*/=long int ms_9=312,ms_4_5=156,ms_1_134=39,us_558=19;上次ms_1_134=39脉冲时间与NEC标准有误,修改为ms_1_68=58;long int ms_9=312,ms_4_5=156,ms_1_68=58,us_558=19;以上参数是对应晶振频率为f=22.1184MHZ时的参数ms_9对应9ms;ms_4_5对应4.5ms;ms_1_134对应1.125ms;ms_1_68对应1.68ms;us_558对应0.56ms;/=*/long int ms_9=312,ms_4_5=156,ms_1_68=58,us_558=19;/time_0_initial();TR0=1; /定时/计数器T0启动/*发送引导码*/endcount=ms_9; /发送9ms起始码的高电平P3_7=1;count=0;docount+;while(countendcount);endcount=ms_4_5; /发送4.5ms的结果码低电平count=0;P3_7=0;docount+;while(countendcount);/*发送系统码*/user=ir_systemvalue;for(s=0;s=7;s+)endcount=us_558;count=0; /发送公共的0.56ms高电平P3_7=1;docount+;while(countendcount);hc=user & wys; /发送脉冲间距if (hc=0)endcount=us_558;count=0;elseendcount=ms_1_68;count=0;P3_7=0;docount+;while(countendcount);/*发送系统反码*/user=ir_systemvalue;for(s=0;s=7;s+)endcount=us_558;count=0; /发送公共的0.56ms高电平P3_7=1;docount+;while(countendcount);hc=user & wys; /发送脉冲间距if (hc=0)endcount=ms_1_68;count=0;elseendcount=us_558;count=0;P3_7=0;docount+;while(countendcount);/*发送数据码*/shuju=temprature_value;for(s=0;s=7;s+)endcount=us_558;count=0; /发送公共的0.56ms高电平P3_7=1;docount+;while(countendcount);hc=shuju & wys; /发送脉冲间距if (hc=0)endcount=us_558;count=0;elseendcount=ms_1_68;count=0;P3_7=0;docount+;while(countendcount);/*发送数据反码*/shuju=temprature_value;for(s=0;s=7;s+)endcount=us_558;count=0; /发送公共的0.56ms高电平P3_7=1;docount+;while(countendcount);hc=shuju & wys; /发送脉冲间距if (hc=0)endcount=ms_1_68;count=0;/if (hc=0)endcount=120;count=0;elseendcount=us_558;count=0;/elseendcount=30;count=0;P3_7=0;docount+;while(countendcount);void main(void) P3_6=1;time_0_initial()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老师检验考试试题及答案
- 2025广东河源市连平县政务数据服务中心招聘就业见习人员2人模拟试卷及答案详解(典优)
- 2025春季中国电子校园招聘考前自测高频考点模拟试题及答案详解(新)
- 疏散安全知识培训内容课件
- 照明系统像差处理方案
- 2025黑龙江佳木斯市建三江湿地机场消防应急救援大队招聘消防车司机1人模拟试卷及完整答案详解
- 2025年牡丹江市高校毕业生留牡来牡就业创业专项行动工作的考前自测高频考点模拟试题及完整答案详解
- 2025福建省海峡人才报社有限责任公司招聘见习生模拟试卷及答案详解(名校卷)
- 2025金华兰溪市市属国企招聘32人模拟试卷及答案详解一套
- 生物招生考试题目及答案
- 病媒生物防制巡查记录
- 体检中心工作制度及岗位职责
- 大国兵器(中北大学)学习通网课章节测试答案
- 2025年公务员公开遴选笔试试题及答案(综合类)
- 门座式起重机司机模拟题(附答案)
- 水利水电安全生产应急预案措施
- 牛蹄解剖生理讲解
- 不签劳动合同待岗协议书
- 2025年危运押运考试题库及答案
- 2025年青马考试题库及答案
- 日照维修资金管理办法
评论
0/150
提交评论