|
单片机为stc11L60xe;程序如下:
#include "REG52.H"
#include "stdio.h"
#include "intrins.h"
#define SYSCLK 32000000
#define BAUD 9600
sfr AUXR = 0x8E ;
char code MESSAGE[]="hello wqs";
unsigned char a;
void main (void)
{
AUXR &= 0xbf; //定时器1时钟为Fosc/12,即12T
AUXR &= 0xfe; //串口1选择定时器1为波特率发生器
//AUXR1|=UART_P1;
SCON = 0x50; //REN=1允许串行接受状态,串口工作模式2
TMOD|= 0x20; //定时器工作方式2
PCON &= 0x7f; //波特率不倍速
TH1 = -(SYSCLK/12/32/BAUD);
TL1 = -(SYSCLK/12/32/BAUD);
TR1 = 1; //开启定时器1
ES = 1; //开串口中断
EA = 1; // 开总中断
a=0;
while(1)
{
SBUF = MESSAGE[a]; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI); // 等特数据传送 (TI发送中断标志)
TI = 0; // 清除数据传送标志
a++; // 下一个字符
if(MESSAGE[a]=='\0')
break;
}
while(1);
}
求各位大侠指点,谢谢了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|