📄 sio.i
字号:
#line 1 "SIO.C" /0 #line 1 "C:\KEIL623\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 2 "SIO.C" /0 #line 1 "C:\KEIL623\C51\INC\STRING.H" /0 typedef unsigned int size_t; #pragma SAVE #pragma REGPARMS extern char *strcat (char *s1, char *s2); extern char *strncat (char *s1, char *s2, int n); extern char strcmp (char *s1, char *s2); extern char strncmp (char *s1, char *s2, int n); extern char *strcpy (char *s1, char *s2); extern char *strncpy (char *s1, char *s2, int n); extern int strlen (char *); extern char *strchr (const char *s, char c); extern int strpos (const char *s, char c); extern char *strrchr (const char *s, char c); extern int strrpos (const char *s, char c); extern int strspn (char *s, char *set); extern int strcspn (char *s, char *set); extern char *strpbrk (char *s, char *set); extern char *strrpbrk (char *s, char *set); extern char *strstr (char *s, char *sub); extern char *strtok (char *str, const char *set); extern char memcmp (void *s1, void *s2, int n); extern void *memcpy (void *s1, void *s2, int n); extern void *memchr (void *s, char val, int n); extern void *memccpy (void *s1, void *s2, char val, int n); extern void *memmove (void *s1, void *s2, int n); extern void *memset (void *s, char val, int n); #pragma RESTORE#line 3 "SIO.C" /0 #line 1 "sio.h" /0 void com_initialize (void); void com_baudrate ( unsigned baudrate); char com_putchar ( unsigned char c); int com_getchar (void); unsigned char com_rbuflen (void); unsigned char com_tbuflen (void); #line 4 "SIO.C" /0 #error *** WARNING C317 IN LINE 25 OF SIO.C: redefinition of macro 'XTAL' #line 29 "SIO.C" /1 #line 35 "SIO.C" /0 #line 37 "SIO.C" /1 #line 43 "SIO.C" /0 sbit P34 = 0xB4; static idata unsigned char tbuf [2]; static idata unsigned char rbuf [8]; static data unsigned char t_in = 0; static data unsigned char t_out = 0; static data unsigned char r_in = 0; static data unsigned char r_out = 0; static bit ti_restart = 0; extern void update_LCD( unsigned char ASC_II ); static void com_isr (void) interrupt 4 { unsigned char temp ; if (RI != 0) { RI = 0; if( P34 == 0 ) { if (((r_in - r_out) & ~(8-1)) == 0) { rbuf [r_in & (8-1)] = SBUF; r_in++; } } } P34 = 1; if (TI != 0) { TI = 0; if (t_in != t_out) { SBUF = tbuf [t_out & (2-1)]; t_out++; ti_restart = 0; } else { ti_restart = 1; } } } #pragma disable void com_initialize (void) { t_in = 0; t_out = 0; r_in = 0; r_out = 0; SM0 = 0; SM1 = 1; SM2 = 0; REN = 1; RI = 0; TI = 0; ti_restart = 1; ES = 1; PS = 0; } #pragma disable void com_baudrate ( unsigned baudrate) { TI = 0; t_in = 0; t_out = 0; TR1 = 0; ET1 = 0; PCON |= 0x80; TMOD &= ~0xF0; TMOD |= 0x20; TH1 = (unsigned char) (256 - (11059200 / (16L * 12L * baudrate))); TR1 = 1; } #pragma disable char com_putchar ( unsigned char c) { if (com_tbuflen () >= 2) return (-1); tbuf [t_in & (2 - 1)] = c; t_in++; if (ti_restart) { ti_restart = 0; TI = 1; } return (0); } #pragma disable int com_getchar (void) { if (com_rbuflen () == 0) return (-1); return (rbuf [(r_out++) & (8 - 1)]); } #pragma disable unsigned char com_rbuflen (void) { return (r_in - r_out); } #pragma disable unsigned char com_tbuflen (void) { return (t_in - t_out); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -