完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
本帖最后由 czw07714 于 2012-10-4 11:40 编辑
#include #define uint unsigned int #define uchar unsigned char uchar num; uchar dat[4]; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; ***it dula = P2^6; ***it wela = P2^7; ***it int0 = P3^2; void irq_init() { //外部中断 // EX0 = 1; // EA = 1; // IT0 = 1; IE = 0x81; //允许总中断中断,使能 INT0 外部中断 TCON = 0x01; //触发方式为脉冲负边沿触发 //定时器中断 TMOD = 0X01; TH0 = 0; TL0 = 0; } void delayms(unsigned int ms) { unsigned char k; while (ms--) { for (k = 0; k < 114; k++) ; } } uint cnt_time() { uint bit_time; bit_time = TH0 * 256 + TL0; TH0 = 0; TL0 = 0; return bit_time; } void display() { dula=0; P0 = (table[num]); //个位 dula=1; dula=0; wela=0; P0=0xfd; wela=1; wela=0; delayms(1); dula=0; P0 = (table[num]); //十位 dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delayms(1); } void main() { int0 = 1; display(); irq_init(); while(1) { display(); if(1)//dat[2]==~dat[3]) { switch(dat[2]) { case 0x45: case 0x46: case 0x47: num = 1; break; case 0x44: case 0x40: case 0x43: num = 2; break; case 0x07: case 0x15: case 0xd9: num = 3; break; case 0x16: case 0x19: case 0x0d: num = 4; break; case 0x0c: case 0x18: case 0x5e: num = 5; break; case 0x08: case 0x1c: case 0x5a: num = 6; break; case 0x42: case 0x52: case 0x4a: num = 7; break; } } } } void extra0() interrupt 0 { uint c_t; uchar i,j; EX0 = 0; TR0 = 1; if (int0 == 1) //再确认IR信号是否出现 { EX0 = 1; //开INT0中断 return ; //退出 } while(!int0); c_t = cnt_time(); if(c_t>8250&&c_t<10000) //检测是不是9ms的引导信号 { dat[2] = 0x18; //为什么我不按遥控器都能运行到这里,实在不懂啊 while(int0); c_t = cnt_time(); if(c_t>4000&&c_t<5000 ) //检测是不是4.5 ms的结果码 { // dat[2] = 0x42; for( i=0;i<4;i++) { for(j=0;j<8;j++) { while(!int0); while(int0); dat*=2; if(cnt_time()>1500) //检测是否为‘1’有时不按遥控器都能运行到这里,搞不懂额 !!! dat+=1; } } } } EX0 = 1; } |
|
相关推荐
5个回答
|
|
|
|
|
|
|
|
|
看一下中断口的信号
|
|
|
|
|
|
嗯,知道哪里出问题了,9ms的引导码和4.5ms的结果码都能检测出来,但解码出来的数据就不正确,我再看看,谢谢哈 |
|
|
|
|
|
|
|
|
|
|
|
云永远永远永远永远永远不懂 风为什么老是在屁股后面追
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
693 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
681 浏览 0 评论
有人有STM8H1K08T连接TM1650的源码吗,可以直接使用的那种,我的代码在烧录之后数码管一直处于熄灭状态
993 浏览 0 评论
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
781 浏览 0 评论
893 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16958 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 07:16 , Processed in 1.021458 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4194