文档详情

51单片机多功能红外遥控电风扇(自然风+阵风+多档风速+定时).doc

发布:2017-08-17约字共23页下载文档
文本预览下载声明
51单片机多功能红外遥控电风扇(自然风+阵风+多档风速+定时) #include AT89x051.H #define uchar unsigned char #define uint unsigned int #define b1 0xe200 #define b2 0xe210 #define b3 0xe208 #define b4 0xe218 #define b5 0xe204 #define b6 0xe214 #define b7 0xe20c //阵风 #define b8 0xe21c //自然风 #define b9 0xe280 //自动档 #define on_off 0xe240 //电源开关 #define ch_a 0xe250 //加档 #define ch_s oxe248 //减档 #define time 0xe2e8 //定时 #define louver 0xe24c //转页 #define count_num 500 //显示次数 #define time1_num 18000 #define time2_num 100 #define bell P3_4 #define c_f 0xd4 //F #define c_h 0xce //H #define c_g 0x81 //= uint time1=time1_num; //18000*100*2ms=1h uchar time2=time2_num; uint count=count_num; //显示次数 uchar sort=3; //显示off uchar dis_bit=0; //显示的位 uchar code_length=16; uchar data dis[4]={0x02,0x02,0x00,0xff}; //显示数据区 uchar temperature; uint code_t=0; uchar code1=0; uchar code2=0; bit bdata code_start=0; //代码起始标志 bit bdata button=0; //无键按下 bit bdata i_flag=0; // 有无中断标志 bit bdata t_flag=0;//测温标志 bit bdata bt=0; //判断是否是定时键 bit bdata off=0; //为0无定时 uchar code TAB[11]={0x5f,0x0a,0x9d,0x9b,0xca,0xd3,0xd7,0x5a,0xdf,0xdb,0x75}; void timer_0(void); void dis_t(void); //温度显示 void dis_s(void); //档位显示 void dis_h(void); //时间 void dis_off(void); //关机显示 void delay(uint t); //延时 uchar d_code(uint t); //解码 uchar begin=0; //开始补偿 void c_code(void); //键号转换 void off_time(void); //定时关 void measure_temperature(void); void key_time(void); //定时按钮 void sort_key(void); //风类按钮 void mov_p1(uchar t0,t1,t2); //显示 void button_process(void); //按键处理 //********定时关机********* void off_time(void) { if(off==1) { if(time1--==0) { time2--;
显示全部
相似文档