?? timer.i
字號:
#line 1 "timer.c" /0 #line 1 "C:\KEIL\C51\INC\PHILIPS\REG922.H" /0 sfr P0 = 0x80; sfr P1 = 0x90; 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 IEN0 = 0xA8; sfr IP0 = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sfr AUXR1 = 0xA2; sfr SADDR = 0xA9; sfr SADEN = 0xB9; sfr BRGR0 = 0xBE; sfr BRGR1 = 0xBF; sfr BRGCON = 0xBD; sfr CMP1 = 0xAC; sfr CMP2 = 0xAD; sfr DIVM = 0x95; sfr FMADRH = 0xE7; sfr FMADRL = 0xE6; sfr FMCON = 0xE4; sfr FMDATA = 0xE5; sfr I2ADR = 0xDB; sfr I2CON = 0xD8; sfr I2DAT = 0xDA; sfr I2SCLH = 0xDD; sfr I2SCLL = 0xDC; sfr I2STAT = 0xD9; sfr IP1 = 0xF8; sfr IP1H = 0xF7; sfr KBCON = 0x94; sfr KBMASK = 0x86; sfr KBPATN = 0x93; sfr P0M1 = 0x84; sfr P0M2 = 0x85; sfr P1M1 = 0x91; sfr P1M2 = 0x92; sfr P3M1 = 0xB1; sfr P3M2 = 0xB2; sfr PCONA = 0xB5; sfr PT0AD = 0xF6; sfr RSTSRC = 0xDF; sfr RTCCON = 0xD1; sfr RTCH = 0xD2; sfr RTCL = 0xD3; sfr SSTAT = 0xBA; sfr TAMOD = 0x8F; sfr TRIM = 0x96; sfr WDCON = 0xA7; sfr WDL = 0xC1; sfr WFEED1 = 0xC2; sfr WFEED2 = 0xC3; sfr IP0H = 0xB7; sfr IEN1 = 0xE8; 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 F1 = PSW^1; 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 = IEN0^7; sbit EWDRT = IEN0^6; sbit EBO = IEN0^5; sbit ES = IEN0^4; sbit ESR = IEN0^4; sbit ET1 = IEN0^3; sbit EX1 = IEN0^2; sbit ET0 = IEN0^1; sbit EX0 = IEN0^0; sbit EC = IEN1^2; sbit EKBI = IEN1^1; sbit EI2C = IEN1^0; sbit PST = IP0^6; sbit PC = IP0^2; sbit PKBI = IP0^1; sbit Pi2c = IP0^0; sbit PWDRT = IP0^6; sbit PBO = IP0^5; sbit PS = IP0^4; sbit PSR = IP0^4; sbit PT1 = IP0^3; sbit PX1 = IP0^2; sbit PT0 = IP0^1; sbit PX0 = IP0^0; sbit SM0 = SCON^7; sbit FE = 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 I2EN = I2CON^6; sbit STA = I2CON^5; sbit STO = I2CON^4; sbit SI = I2CON^3; sbit AA = I2CON^2; sbit CRSEL = I2CON^0; sbit KB7 = P0^7; sbit T1 = P0^7; sbit KB6 = P0^6; sbit KB5 = P0^5; sbit KB4 = P0^4; sbit KB3 = P0^3; sbit KB2 = P0^2; sbit KB1 = P0^1; sbit KB0 = P0^0; sbit RST = P1^5; sbit INT1 = P1^4; sbit INT0 = P1^3; sbit SDA = P1^3; sbit T0 = P1^2; sbit SCL = P1^2; sbit RxD = P1^1; sbit TxD = P1^0; sbit XTAL1= P3^1; sbit XTAL2= P3^0; #line 8 "timer.c" /0 #line 1 "sart.h" /0 #line 1 "C:\KEIL\C51\INC\PHILIPS\REG922.H" /0 #line 11 "C:\KEIL\C51\INC\PHILIPS\REG922.H" /1 #line 183 "C:\KEIL\C51\INC\PHILIPS\REG922.H" /0 #line 8 "sart.h" /0 sbit RX_RDY = 0x96; sbit TX_BUSY = 0x87; sbit RX_BUSY = 0x94; sbit D_RDY = 0x83; sbit D_SYNC = 0x80; sbit SCLK = 0x81; sbit SDATA = 0x82; sbit Rxok = 0x97; sbit RST_PLC = 0x86; sbit TX_EN = 0x92; sbit SYNC_50Hz = 0x93; sbit K2 = P3^1; sbit K1 = P3^0; void uart_init(); int uart_recved(); int uart_processed(); unsigned char uart_getchar(); int recv_amr_frame(void); void uart_sendchar(char c); void uart_sendblock(char buf[], int len); void sync_sendchar(char c); int sync_recved(); int sync_data_ready(); int sync_getchar(); int sync_getblock(char *buf, int len); #line 10 "timer.c" /0 unsigned char tm_count, count_reload; unsigned char inter; void (*t0_proc)(); unsigned int t0_count; unsigned int t0_val; bit t0_enable; void (*t1_proc)(); unsigned int t1_count; unsigned int t1_val; bit t1_enable; void (*t2_proc)(); unsigned int t2_count; unsigned int t2_val; bit t2_enable; void (*t3_proc)(); unsigned char t3_count; unsigned char t3_val; bit t3_enable; void (*t4_proc)(); unsigned int t4_count; unsigned int t4_val; bit t4_enable; void timer0_init(unsigned char interval, unsigned char count) { TMOD = (TMOD & 0xF0) | 0x01; TAMOD = 0x00; TH0 = interval; TL0 = 0; inter=TH0; EX1 = 1; IT1 = 1; ET0 = 1; TR0 = 1; EA = 1; count_reload = count; tm_count = count; t0_enable = 0; t1_enable = 0; t2_enable = 0; t3_enable = 0; t4_enable = 0; } void timer0_ISR (void) interrupt 1 { TH0 = inter; TL0 = 0; if (t0_enable == 1) { t0_count++; if (t0_count == t0_val) { t0_count = 0; t0_proc(); } } if (tm_count-- == 0) { tm_count = count_reload; if (t1_enable == 1) { t1_count++; if (t1_count == t1_val) { t1_count = 0; t1_proc(); } } if (t2_enable == 1) { t2_count++; if (t2_count == t2_val) { t2_count = 0; t2_proc(); } } if (t3_enable == 1) { t3_count++; if (t3_count == t3_val) { t3_count = 0; t3_proc(); } } if (t4_enable == 1) { t4_count++; if (t4_count == t4_val) { t4_count = 0; t4_proc(); } } } } void wdt_init() { ACC = WDCON; ACC = ACC| 0x74; WDL = 0xff; WDCON = ACC; WFEED1 = 0xA5; WFEED2 = 0x5A; } void clr_wdt() { EA = 0; WFEED1 = 0xA5; WFEED2 = 0x5A; EA = 1; } void setup_t0(unsigned int t0, void (*proc)()) { t0_val = t0; t0_proc = proc; t0_count = 0; t0_enable = 1; } void disable_t0(void) { t0_enable = 0; } void setup_t1(unsigned int t, void (*proc)()) { t1_val = t; t1_proc = proc; t1_count = 0; t1_enable = 1; } void disable_t1(void) { t1_enable = 0; Rxok = 1; } void setup_t2(unsigned int t, void (*proc)()) { t2_val = t; t2_proc = proc; t2_count = 0; t2_enable = 1; } void disable_t2(void) { t2_enable = 0; } void setup_t3(unsigned int t, void (*proc)()) { t3_val = t; t3_proc = proc; t3_count = 0; t3_enable = 1; } void disable_t3(void) { t3_enable = 0; } void setup_t4(unsigned int t, void (*proc)()) { t4_val = t; t4_proc = proc; t4_count = 1; t4_enable = 1; } void disable_t4(void) { t4_enable = 0; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -