STC12C5A60S2串口通信keil与proteus调试 自己总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STC12C5A60S2串口调试
需要软件:
在keil里安装 。在debug里设置仿真器为:
点击MCU连接程序:
RS232:
虚拟终端:
程序:
#include "S百度文库C12C5A60S2.h"
#include "intrins.h"
typedef unsigned char BYTE;
void UartInit(void)//9600bps@11.0592MHz
{
SCON = 0x50;//8位数据,可变波特率
AUXR |=0x40;//定时器1时钟为Fosc,即1T
AUXR &= 0xFE;//串口1选择定时器1为波特率发生器
TMOD &= 0x0F;//设定定时器1为16位自动重装方式
TL1 = 0xE0;//设定定时初值
TH1 = 0xFE;//设定定时初值
}
}
ET1 = 0;//禁止定时器1中断
TR1 = 1;//启动定时器1
}
void SendByte(BYTE dat);
void SendString(char *s);
void main()
{
UartInit();
SendString("STC12C5A60S2\r\nUart Test !\r\n");
while(1);
}
void Uart_Isr() interrupt 4 using 1
{if(RI)
{
RI=0;
}
if(TI)
{
TI=0;
}
}
void SendByte(BYTE dat)
{
SBUF=dat;
}
void SendString(char *s)
{
while(*s!='\0')
{
SendByte(*s++);
需要软件:
在keil里安装 。在debug里设置仿真器为:
点击MCU连接程序:
RS232:
虚拟终端:
程序:
#include "S百度文库C12C5A60S2.h"
#include "intrins.h"
typedef unsigned char BYTE;
void UartInit(void)//9600bps@11.0592MHz
{
SCON = 0x50;//8位数据,可变波特率
AUXR |=0x40;//定时器1时钟为Fosc,即1T
AUXR &= 0xFE;//串口1选择定时器1为波特率发生器
TMOD &= 0x0F;//设定定时器1为16位自动重装方式
TL1 = 0xE0;//设定定时初值
TH1 = 0xFE;//设定定时初值
}
}
ET1 = 0;//禁止定时器1中断
TR1 = 1;//启动定时器1
}
void SendByte(BYTE dat);
void SendString(char *s);
void main()
{
UartInit();
SendString("STC12C5A60S2\r\nUart Test !\r\n");
while(1);
}
void Uart_Isr() interrupt 4 using 1
{if(RI)
{
RI=0;
}
if(TI)
{
TI=0;
}
}
void SendByte(BYTE dat)
{
SBUF=dat;
}
void SendString(char *s)
{
while(*s!='\0')
{
SendByte(*s++);