| 
 
| #define uchar unsigned char #define uint unsigned int
 
 void PORT_Init (void)
 {
 XBR0      = 0x01;        // Port I/O Crossbar Control 0
 XBR1      = 0x40;           //Port I/O Crossbar Control 1
 P0MDOUT   = 0x10;           //Port 0 Output Mode Configuration 输出模式配置
 }
 void UART0_Init (void)
 {
 SCON0    |= 0x10;               // Port I/O Crossbar Control 0
 CKCON     = 0x01;               // Clock Control时钟控制
 TH1       = 0x64;   //波特率为9600 // Timer/Counter 1 High 计时器一高位
 TL1       = TH1;              // Timer/Counter 1 Low     计时器一低位
 TMOD      = 0x20;             //  Timer/Counter Mode 时间计数模式
 TR1       = 1;                ///  Timer1 on/off control  启动time1
 TI0       = 1;                //Transmit interrupt flag  传输中断标示
 }
 void delay(void)
 {
 uint i;
 for(i=1000;i>0;i--);
 }
 void main()
 {
 uchar g;
 PCA0MD    &= ~0x40;     //   PCA0 Mode 模式
 OSCICN    |= 0x03;         // Internal Oscillator Control       内部振荡器控制
 PORT_Init();         //端口初始化
 UART0_Init();  //串口初始化
 g=9;
 while(1)
 {
 delay();
 SBUF0=g;
 }
 }
 
 向串口间断性发送数据,只发送一个字符'9'
 不过PC端读取时 总是很乱的一大堆数
 g=9是 读取的是/r/r/r/r/r/r/r/r/r/r/r/r/r/r/r/r..........
 g=a时 读取的是乱码了 但是很多
 
 帮我看下 上面的程序有没有错误~
 | 
 |