资源描述:
《红外控制时钟(遥控器51单片机).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、查看文章 红外控制时钟(遥控器/51单片机)2010-01-3110:22/*程序名:红外控制时钟成功版*//*功能:使用遥控器修改时钟时间*,时钟用LED显示*//*改写人:张振亮*//*入口:无*//*出口:无*//*修改:把按键全部修改*//*说明:于7月6日晚23:50完成成功*/#includeunsignedchartc,tc2,CESHI;unsignedcharDATA1,DATA0,DATA4;unsignedcharDATA2,DATA3,DATA5;un
2、signedchardispbuf4,dispbuf5;unsignedchardispbuf3,dispbuf2;unsignedchardispbuf1,dispbuf0;bitflag1=0; //秒标志codeunsignedchards=0x14; //软件延时系数__20unsignedcharsecond,minute,hour;//秒,分,时voiddelay(unsignedintcount);//延时函数voiddisplay(unsignedcharDATA)
3、; //显示函数voidsx(void);//送显示voiddel(void);//按键处理voidInitCom(void);//初始化voidDelayA(void);voidDelayB(void);voidDelayC(void);unsignedcharnum,TempCyc,biaozhi=0;unsignedintanjian=0;/*********************显示模块********************************/codeun
4、signedchardiscode[32]={0x88,0xBE,0xC4,0x94,0xB2, 0x91,0x81,0xBC,0x80,0x90, 0xA0,0x83,0xC9,0x86,0xC1, 0xE1,0x08,0x3E,0x44,0x14, 0x32,0x11,0x01,0x3C,0x00, 0x10,0xA2,0xCB,0xE0,0x77, 0xFF,0x36};/*******
5、******************************************/voidsx(void) //送显示函数{ dispbuf0=hour/10; //时十位 DATA4=dispbuf0; display(DATA4); dispbuf1=hour%10; //时个位 DATA5=dispbuf1; display(DATA5); dispbuf2=minute/10; //分十位
6、 DATA2=dispbuf2; display(DATA2); dispbuf3=minute%10; //分个位 DATA3=dispbuf3; display(DATA3); dispbuf4=second/10; //秒十位 DATA0=dispbuf4; display(DATA0); dispbuf5=second%10; //秒个位 DATA1=dispbuf5;
7、 display(DATA1);}/*****************************************************/voiddisplay(unsignedcharDATA) //显示函数{ DATA=discode[DATA]; SBUF=DATA; while(!TI); TI=0;}/******************核心*************************///INT0中断voidINT0Fun(void)interrupt
8、0using2{unsignedcharIRCode[2],IROK;unsignedintTempCyc,TempCycB,TempCycA;EX0=0;//外部中断0关闭IROK=0;DelayA();//延时等待引导码的前半部结束DelayA();if(!P3_2)//检验前半部是否过早结束,防干扰 { for(TempCycA=0;TempCycA<2;TempCycA++) { DelayA(); if(P3_2)//检验前半部是否过早结束,防