📄 i2c.i
字号:
#line 1 "I2C.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 "I2C.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 "I2C.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 11 "I2C.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 12 "I2C.c" /0 sbit da=P3^6; sbit cl=P3^7; unsigned char eq_l; unsigned char volume=32; unsigned char bas_vol=0x07; unsigned char trb_vol=0x07; unsigned char code eff[15]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8}; extern unsigned char remkey; void sta() { da=1; _nop_(); _nop_(); _nop_(); _nop_(); cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); da=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; } void stop() { da=0; cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); da=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); da=0; cl=0; } void mack() { da=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); da=1; } void nmack() { da=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; da=0; } bit cack() { bit a=0; da=1; cl=1; if(da==0) { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; return(0); } else { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; return(1); } } void wr1(void) { da=1; cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; da=0; } void wr0() { da=0; cl=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cl=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } wrbyt(unsigned char byt) { unsigned char temp=0x00; unsigned char count; for(count=0;count<8;count++) { if((byt<<count)&0x80) wr1(); else wr0(); } } unsigned char rdbyt() { unsigned char a=0,i=0; for(i=0;i<8;i++) { da=1; cl=1; if(da==1) { a=(a<<1)+1; cl=0; } else if(da==0) { a=a<<1; cl=0; } } return(a); } bit wrnbyt(unsigned char add,unsigned char start,unsigned char num,unsigned char *k) { unsigned char *p=k; unsigned char dk; for(dk=0;dk<num;dk++,p++) { sta(); wrbyt(add); mack(); wrbyt(start); start=start+1; mack(); wrbyt(*p); mack(); stop(); delaytime(5000); } return(1); } bit rdnbyt(unsigned char add,unsigned char start,unsigned char num,unsigned char a[]) { unsigned char *p=a; unsigned char dk; sta(); wrbyt(add); if(cack()) return(1); wrbyt(start); if(cack()) return(1); sta(); wrbyt(add+1); if(cack()) return(1); for(dk=0;dk<num;dk++,p++) { *p=rdbyt(); if(dk==num-1) nmack(); else mack(); } stop(); return(0); } void wr_pt2313(unsigned char com) { sta(); wrbyt(0x88); mack(); wrbyt(com); mack(); stop(); } void channel(unsigned char fun) { if(fun==1) wr_pt2313(0x5e); if(fun==0) wr_pt2313(0x5d); if(fun==2) wr_pt2313(0x4f); } void sub_vol(unsigned char dirc) { if(dirc) { if(volume<63) volume++; } else { if(volume>0) volume--; } wr_pt2313((0x3f&(63-volume))); remkey=0x00; vfd_volume(0); } void trb_vol_ct(bit dirc) { if(dirc) { if(trb_vol<14) trb_vol++; } else { if(trb_vol>0) trb_vol--; } wr_pt2313((0x7f&(eff[trb_vol]))); remkey=0x00; vfd_volume(3); } void bas_vol_ct(bit dirc) { if(dirc) { if(bas_vol<14) bas_vol++; } else { if(bas_vol>0) bas_vol--; } wr_pt2313((0x6f&(eff[bas_vol]))); remkey=0x00; vfd_volume(1); } void eqchange() { if(eq_l==0) { wr_pt2313((0x6f&(eff[8]))); wr_pt2313((0x7f&(eff[8]))); eq_vfd(eq_l); eq_l=1; } else if(eq_l==1) { wr_pt2313((0x6f&(eff[14]))); wr_pt2313((0x7f&(eff[14]))); eq_vfd(eq_l); eq_l=2; } else if(eq_l==2) { wr_pt2313((0x6f&(eff[4]))); wr_pt2313((0x7f&(eff[14]))); eq_vfd(eq_l); eq_l=3; } else if(eq_l==3) { wr_pt2313((0x6f&(eff[14]))); wr_pt2313((0x7f&(eff[4]))); eq_vfd(eq_l); eq_l=0; } remkey=0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -