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

📄 pll.i

📁 一个车载音响控制程序,包括高保真立体收部分,VFD驱动显示,4路音频电子切换, 红外遥控控制 采用51单片机
💻 I
字号:
#line 1 "PLL.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 "PLL.c" /0   #line 1 "E:\KEIL\C51\INC\ABSACC.H" /0                 #line 24 "E:\KEIL\C51\INC\ABSACC.H" /1         #line 29 "E:\KEIL\C51\INC\ABSACC.H" /0       #line 10 "PLL.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 11 "PLL.c" /0   #line 1 "E:\KEIL\C51\INC\INTRINS.H" /0      extern void          _nop_     (void); extern bit           _testbit_ (bit); extern unsigned char _cror_    (unsigned char, unsigned char); extern unsigned int  _iror_    (unsigned int,  unsigned char); extern unsigned long _lror_    (unsigned long, unsigned char); extern unsigned char _crol_    (unsigned char, unsigned char); extern unsigned int  _irol_    (unsigned int,  unsigned char); extern unsigned long _lrol_    (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); extern void          _push_    (unsigned char _sfr); extern void          _pop_     (unsigned char _sfr);   #line 12 "PLL.c" /0        sbit din=P2^2; sbit clk=P2^1; sbit dou=P2^0; sbit cen=P2^3; extern unsigned char band; 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; 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; void iniband() {   in0.in0.addr=0x14;      in0.in0.xs  =0x00;      in0.in0.cte =0x00;      in1.in1.addr=0x94;      in1.in1.bnc =0x00;      in1.in1.stmo=0x00;      in1.in1.ifen=0x01;      in1.in1.io  =0x00;      in1.in1.ioc =0x00;      in1.in1.dz  =0x00;      in1.in1.ul  =0x01;      in1.in1.doc =0x00;      in1.in1.dnc =0x00;      in1.in1.test=0x00;      in1.in1.ifs =0x01;      in1.in1.dlc =0x00;      in1.in1.tbc =0x00;      in1.in1.gt  =0x01;     } void iniband1(unsigned char band)  { if(band==0) {  in0.in0.cankao=0x0c;	       in0.in0.inp=0x01;		   in1.in1.band=0;  in1.in1.ifs=0x00; } else {  in0.in0.cankao=0x05;	      in0.in0.inp=0x00;	      in1.in1.band=1;  in1.in1.ifs=0x01; } }    unsigned long stepserch(bit direction,unsigned int freq)  {  unsigned char c;  unsigned int a;                                  c=(in1.in1.band)?0x10:0x01;                a=direction?(swdata(freq)+c):(swdata(freq)-c);   in0.in0.frq=swdata(a);                      in0.in0.cte=0; wrdata(in0.all);                           in0.in0.cte=1; wrdata(in0.all);                           in1.in1.ifen=0; wrdata(in1.da);	                          delaytime(5000);		                          while(!dou);  in1.in1.ifen=1;	 wrdata(in1.da);                     	  return(rddata());                         }  unsigned int swdata(unsigned int x)                       {  unsigned int b;  unsigned char a; for(a=0;a<16;a++) { b=(x&0x0001)?((b<<1)+1):(b<<1); x=x>>1; } return(b); } wrdata(unsigned long dat)			  {							   unsigned char count; cen=0; for(count=0;count<32;count++) { _nop_(); clk=1; if(dat&0x80000000) din=1; else din=0; dat=dat<<1; clk=0; _nop_(); clk=1; if(count==7) cen=1; _nop_(); } cen=0;	     }  unsigned long rddata(void)  {  unsigned char count;  unsigned long ifcount;  unsigned char addr=0x54; cen=0; for(count=0;count<32;count++) { if(count<8) { _nop_(); clk=1; if(addr&0x80) din=1; else din=0; addr=addr<<1; clk=0; _nop_(); clk=1; if(count==7) cen=1; _nop_(); } else { _nop_(); clk=1; _nop_(); clk=0; _nop_(); clk=1; dou=1; ifcount=(dou)?((ifcount<<1)+1):(ifcount<<1); } } cen=0; return(ifcount&0x000fffff); }

⌨️ 快捷键说明

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