hwinit.c
来自「Small Device C Compiler 面向Inter8051」· C语言 代码 · 共 89 行
C
89 行
#include "hw.h"bit b3;code c2=1;data d3, d4=4;xdata x3, x4=5;#define DIVIDER (OSC/(64L*BAUD_RATE))void external_startup(void) { _asm mov.b _WDCON,#0 ;shut down the watchdog mov.b _WFEED1,#0a5h mov.b _WFEED2,#05ah; mov.b _BCR,#1 ;BCR: 8 data, 16 address; mov.b _SCR,#1 ;SCR: page zero mode _endasm; // init serial io TL1 = RTL1 = -DIVIDER; TH1 = RTH1 = -DIVIDER >> 8; TR1 = 1; /* enable timer 1 */ S0CON = 0x52; /* mode 1, receiver enable */ IPA4 |= 0x6; /* maximum priority */ ERI0=1; /* enable receiver interupts */ TI0==1; /* transmitter empty */ RI0=0; /* receiver empty */ //PSWH &= 0xf0; /* start interupt system */}#define SIMULATOR 1#ifdef SIMULATORvoid putchar(char c) { c; // hush the compiler _asm mov.b r0l, [r7+2] trap #0EH; _endasm;}char getchar() { return 0;}void exit_simulator(void) { _asm trap #0FH; _endasm;}#elsevoid putchar(char c) { while(!TI0) ; S0BUF = c; TI0 = 0;}char getchar(void) { char c; while (!RI0) ; c=S0BUF; RI0=0; return c;}int kbhit(void) { return RI0;}#endifint puts(char *string) { int chars=0; while (*string) { putchar (*string++); chars++; } putchar ('\n'); return chars+1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?