程序如下:
#include "reg52.h" //此头文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16
typedef unsigned char u8
void UsartInit()
{
SCON=0X50 //0101 000设置串行口控制寄存器sm0,sm1为01,即为工作方式1
TMOD=0X20 //设置计数器
PCON=0X80 //定义PCON寄存器中的SMOD=1,波特率加倍
TH1=0XF3 //计数器初始值设置,注意波特率是4800的,当然大家可以改
TL1=0XF3
EA=1 //打开总中断 根据需要
ES=1 //打开中断允许中的串行口中断允许
TR1=1 //打开计数器
TI = 1;//如果使用print函数,TI一定要是1 否则 删掉该句
}
void main()
{
u16 Val
UsartInit()
while(1)
{ Val = GetSensor()
printf("%d",Val) //printf中一定要用u16的 不能用u8 这样就直接将数字格式化为ascii
}
}
这个电路很简单不需要买的,就是基本的串口通信电路max232加上几个电容。在宏晶的官网上下载一个叫stc—isp的软件,他们网站也有相关的下载电路图。这样的问题可以直接参考官网网站!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)