51单片机ct107d单片机的串口通讯程序怎么写?

51单片机ct107d单片机的串口通讯程序怎么写?,第1张

51单片机串口通讯程序编写步骤是:

1、初始化串口相关雀哗的寄存器。

2、可以用中断模式,也可以用查询模式,取决于应用场合。

3、收发数据取决于标志位TI和RI。

举例如下:

#include<reg51.h>

#define uchar unsigned char

main()

{

uchar tmp,t

TMOD=0x20 //初始化

SCON=0x50

TH0=0xfd

TL0=0xfd

TR1=1

while(1)

{

if(RI)//如祥空果有谨岁瞎串口数据传来

{

tmp=SBUF //接受数据

t=100

while(t--)

SBUF=tmp //将数据回传

while(TI)

TI=0

}

}

}

串口裂滑收发,要有通信协议。也就是什么时候开始接收,接收到指令后,转发什么数据。这个要知道,才可以写。而且使用不同的51单片机,其内部寄存器配置是不同的。

一般来说,过程如下:

1,配置串口参数、波特率等,开启串口中断;

void Init_UART()

{

}

2,中断函数里写中断响应函数,根据接收的指令或者数据,执行相应的动作;

程序一般为:

void UART_ISR() interrupt x using y

{

串口中断搏弯处理函数

}

x - 单片机的C51中断号

y - 指定使用的当前工作寄肆银腊存器组号(0-3 PSW中的RS0,RS1组合)

3,主程序

int main(void)

{

Init_UART()

while(1)

{

//数据发送函数

}

}

首先要确定串扒拦口调试助手的波特率也是2400,并接收要以十六进制数显示,最好发送也以十六进制数发送。

程序没有问液此行题,是因为发送的num1在0-255之间,而用串口调试助手的字符显示方式不是全部都能显示出来的,有一部分就是显示乱码的,而显示十六进制数闹哗就没有问题了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存