MCU发送字符串或字符给PC(字符格式,ASCII格式)
晶振11.0592MHz,发送和接收使用的格式相同,都使用字符型格式,PC一直接受的Crazy_Didong!
#include<reg52.h> #define uint unsigned int //串口初始化 void InitUART (void) { SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装 TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz TR1 = 1; // TR1: timer 1 打开 EA = 1; //打开总中断 //ES = 1; //打开串口中断,注意了,若ES打开的话则PC接受的都是00 } //发送一个字节 void SendByte(unsigned char dat) { SBUF = dat; while(!TI); TI = 0; } //发送一个字符串 void SendStr(unsigned char *s) { while(*s!='\0')// \0 表示字符串结束标志,通过检测是否字符串末尾 { SendByte(*s); s++; } } //延时1ms void delay1ms ( uint z ) { uint x, y; for ( x = z; x > 0; x -- ) for ( y = 110; y > 0; y -- ); } //主函数 void main (void) { InitUART(); while (1) { SendStr("Crazy_Didong!");//发送字符串 //SendByte ('o');//显示0,用字符的格式表示 //SendByte (65); //显示A,用10进制的格式表示 //SendByte (0x40); //显示A,用十六进制的格式表示 delay1ms(500); } }