⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rem.i

📁 一个车载音响控制程序,包括高保真立体收部分,VFD驱动显示,4路音频电子切换, 红外遥控控制 采用51单片机
💻 I
字号:
#line 1 "rem.c" /0      #line 1 "E:\KEIL\C51\INC\REG52.H" /0       sfr P0    = 0x80; sfr P1    = 0x90; sfr P2    = 0xA0; sfr P3    = 0xB0; sfr PSW   = 0xD0; sfr ACC   = 0xE0; sfr B     = 0xF0; sfr SP    = 0x81; sfr DPL   = 0x82; sfr DPH   = 0x83; sfr PCON  = 0x87; sfr TCON  = 0x88; sfr TMOD  = 0x89; sfr TL0   = 0x8A; sfr TL1   = 0x8B; sfr TH0   = 0x8C; sfr TH1   = 0x8D; sfr IE    = 0xA8; sfr IP    = 0xB8; sfr SCON  = 0x98; sfr SBUF  = 0x99;   sfr T2CON  = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2    = 0xCC; sfr TH2    = 0xCD;     sbit CY    = PSW^7; sbit AC    = PSW^6; sbit F0    = PSW^5; sbit RS1   = PSW^4; sbit RS0   = PSW^3; sbit OV    = PSW^2; sbit P     = PSW^0;     sbit TF1   = TCON^7; sbit TR1   = TCON^6; sbit TF0   = TCON^5; sbit TR0   = TCON^4; sbit IE1   = TCON^3; sbit IT1   = TCON^2; sbit IE0   = TCON^1; sbit IT0   = TCON^0;   sbit EA    = IE^7; sbit ET2   = IE^5;   sbit ES    = IE^4; sbit ET1   = IE^3; sbit EX1   = IE^2; sbit ET0   = IE^1; sbit EX0   = IE^0;   sbit PT2   = IP^5; sbit PS    = IP^4; sbit PT1   = IP^3; sbit PX1   = IP^2; sbit PT0   = IP^1; sbit PX0   = IP^0;   sbit RD    = P3^7; sbit WR    = P3^6; sbit T1    = P3^5; sbit T0    = P3^4; sbit INT1  = P3^3; sbit INT0  = P3^2; sbit TXD   = P3^1; sbit RXD   = P3^0;   sbit SM0   = SCON^7; sbit SM1   = SCON^6; sbit SM2   = SCON^5; sbit REN   = SCON^4; sbit TB8   = SCON^3; sbit RB8   = SCON^2; sbit TI    = SCON^1; sbit RI    = SCON^0;   sbit T2EX  = P1^1;   sbit T2    = P1^0;     sbit TF2    = T2CON^7; sbit EXF2   = T2CON^6; sbit RCLK   = T2CON^5; sbit TCLK   = T2CON^4; sbit EXEN2  = T2CON^3; sbit TR2    = T2CON^2; sbit C_T2   = T2CON^1; sbit CP_RL2 = T2CON^0;  #line 9 "rem.c" /0   #line 1 "mylib.h" /0 extern void inidelay(); extern void sys_ini(); extern bit re_re; extern unsigned long rddata(void); extern wrdata(unsigned long x); extern unsigned int swdata(unsigned int dat); extern void wr1(void); extern void mack(); extern void wrone(); extern bit wrnbyt(unsigned char add,unsigned char start,unsigned char num,unsigned char a[]); extern bit rdnbyt(unsigned char add,unsigned char num,unsigned char start,unsigned char a[]); extern void delay50(); extern void radio(); extern void iniband1(unsigned char a); extern void iniband(); extern unsigned char remkey2; extern unsigned char delay_num; extern unsigned long stepserch(bit a,unsigned int b); extern vfddigit(unsigned int ch); extern void display(void); extern void wrvfd(unsigned char addr,unsigned char dat); extern unsigned long rdkey(); extern void inivfd(void); extern void band_step(bit direction); extern void band_change(void); extern void station_search(bit,bit); extern void station_change(bit direction); extern void vfd_clean(); extern void volcheack(void); extern void delaytime(unsigned int time); extern void vfd_test(); extern void display(); extern void sub_vol(unsigned char dirc); extern void channel(unsigned char fun); extern void wr_pt2313(unsigned char com); extern void vfd_volume(unsigned char fun); extern bit repeat(); extern unsigned char volume; extern unsigned char trb_vol; extern unsigned char bas_vol; extern unsigned char band; extern unsigned char delay_fun; extern void trb_vol_ct(bit dirc); extern void bas_vol_ct(bit dirc); extern void flash_eras(unsigned int band); extern void flash_read(unsigned char add,unsigned int band,unsigned char a[]); extern void flash_prog(unsigned char add,unsigned int band,unsigned char b[]); extern bit key_sta; extern bit key_long; extern bit key(); extern void taiwei(); extern void mute_(bit fun); extern void radio_change(); extern void band_change(void); extern void eqchange(); extern void eq_vfd(unsigned char eq);                    extern union   {  unsigned long all; struct {  unsigned char addr    :8;     unsigned int frq      :16;    unsigned char cankao  :4;     unsigned char xs      :1;     unsigned char cte     :1;     unsigned char inp     :2;    }in0; }in0; extern union  {  unsigned long da; struct {  unsigned char addr    :8;     unsigned char bnc     :1;     unsigned char stmo    :1;     unsigned char ifen    :1;     unsigned char band    :1;     unsigned char io      :2;     unsigned char  ioc     :2;     unsigned char dz      :2;     unsigned char ul      :2;     unsigned char doc     :3;     unsigned char dnc     :1;     unsigned char test    :3;     unsigned char ifs     :1;     unsigned char dlc     :1;     unsigned char tbc     :1;     unsigned char gt      :2;    }in1; }in1;#line 10 "rem.c" /0  sbit prem=P3^2;	            unsigned char remkey;	                       bit re_re=0; extern bit mute_l; extern bit power_l;  unsigned char ram[4]={0,0,0,0}; void rem()interrupt 0 {  unsigned int i;				     unsigned char count;			     unsigned char ramc;			    prem=1; for(i=0;i<1000;i++)		   {					  		   if(prem)			    { return;   } } while(prem!=1);		    delaytime(460);				    for(ramc=0;ramc<4;ramc++)  for(count=0;count<8;count++)  { while(prem!=1);	  delaytime(80);		  if(prem==1) {	  ram[ramc]=(ram[ramc]<<1)+1;  delaytime(100);				    } else ram[ramc]=(ram[ramc])<<1;   }	     if(ram[3]!=(~ram[2]))  { ram[0]=0; ram[1]=0; ram[2]=0; ram[3]=0;	    return; } remkey=ram[3]; if(remkey==0xdf) { power_l=~power_l; if(power_l) remkey=0x99; else remkey=0x98; return; } if(power_l) { remkey=0; return; } if(remkey==0xf5) { if(!mute_l) { mute_l=~mute_l; mute_(1); } else { mute_l=~mute_l; mute_(0); remkey=0x00; } return; } if(remkey==0x75) { remkey=0x00; return; } if(remkey==0xd5) { remkey=0x97; return; } if(remkey==0x5f) { remkey=0xdf; return; } if(remkey==0xef) { remkey=0x78;  return; } if(remkey==0xad) { remkey=0xef; return;  } if(remkey==0x6d) { remkey=0x85; return;  } if(remkey==0x85) { remkey=0x00; return;  } if(remkey==0x8d) { remkey=0x47; return;  } if(remkey==0x65) { remkey=0x00; return;  } if(remkey==0x75) { remkey=0x00; return;  } if(remkey==0x55) { remkey=0x00; return;  } if(remkey==0xbf) { sub_vol(1); repeat(); } else if(remkey==0x3f) { sub_vol(0); repeat(); } else if(remkey==0x8f) { trb_vol_ct(1); repeat(); } else if(remkey==0x37) { trb_vol_ct(0); repeat(); } else if(remkey==0x9d) { bas_vol_ct(1); repeat(); } else if(remkey==0xf7) { bas_vol_ct(0); repeat(); } else if(remkey==0xf7) { bas_vol_ct(0); repeat(); } else  if(remkey==0xed) {					  band_step(1);	  repeat();	 } else if(remkey==0x1d) { band_step(0);	  repeat(); }  }   bit repeat() {  unsigned int i;  unsigned char cout; bit mov=0; zhixing:   if(mov) { if(ram[3]==0xbf) sub_vol(1); else if(ram[3]==0x3f) sub_vol(0); if(ram[3]==0x8d) trb_vol_ct(1); if(ram[3]==0x37) trb_vol_ct(0); if(ram[3]==0x9d) bas_vol_ct(1); if(ram[3]==0xf7) bas_vol_ct(0); if(ram[3]==0xed) { remkey=0x33; return 1; } if(ram[3]==0x1d) { remkey=0x34; return 1; } } for(i=0;i<6000;i++) { if(!prem) { delaytime(600); if(!prem) { cout++;		    if(cout>=10) { mov=1; cout=10; delaytime(4000); goto zhixing; } else { delaytime(5000); goto zhixing; } } } } cout=0; mov=0; return 0; } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -