keilC51版本与Proteus联用显示hello world。
首先在keil中新建一个项目并且输入以下代码:
#include <reg51.h>
#include <stdIO.h>
void initUart(void) //串行通信函数
{
SCON = 0x50; //使串行口控制寄存器scon为工作方式1的工作模式。
TMOD = 0x21;
PCON = 0x00;
TH1 = 0xfd; //使用定时器T1作为波特率发生器。
TL1 = 0xfd;
TI = 1;
TR1 = 1; //启动定时器T1。
}
main () //主函数
{
unsigned char temps[] = "hello world!"; //*定义一个字符串。*
initUart(); //*调用串行通信函数,将串口初始化。*
printf("%s\n",temps); //*输出字符串,由于是字符串用%s。*
while (1)
{
}
}
Proteus仿真图如下
将keil生产的.hex文件导入AT89C52中,运行结果如下所示:
别忘记将单片机的波特率调整到11.0592MHz,否则会显示出错。