求一段STC89C52单片机将数值通过串口输出的代码

求一段STC89C52单片机将数值通过串口输出的代码,第1张

可以利用print函数或者sprint函数

程序如下:

#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的软件,他们网站也有相关的下载电路图。这样的问题可以直接参考官网网站!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11116428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存