4)编写单片机发送一个字节(如0x55)的发送程序。程序要做好注释(可用汇编或C语言)。
时间: 2023-12-10 19:42:22 浏览: 92
单片机C语言程序设计 单片机向主机发送字符串(有源码)
5星 · 资源好评率100%
C语言实现:
```c
#include <reg52.h> // 包含STC单片机头文件
void send_byte(unsigned char dat) // 定义发送函数
{
SBUF = dat; // 将数据存入发送缓存
while(TI == 0); // 等待数据发送完成
TI = 0; // 清除发送完成标志
}
void main()
{
TMOD = 0x20; // 定时器1工作在方式2(8位自动重装载)
TH1 = 0xfd; // 波特率9600,定时器初值
TL1 = 0xfd; // 波特率9600,定时器初值
TR1 = 1; // 启动定时器1
SCON = 0x50; // 串口工作在模式1(8位异步收发,可变波特率)
send_byte(0x55); // 发送0x55
while(1); // 程序不断循环
}
```
汇编语言实现:
```assembly
ORG 0 ; 程序从地址0开始存储
MOV TMOD, #20H ; 定时器1工作在方式2(8位自动重装载)
MOV TH1, #FDH ; 波特率9600,定时器初值
MOV TL1, #FDH ; 波特率9600,定时器初值
SETB TR1 ; 启动定时器1
MOV SCON, #50H ; 串口工作在模式1(8位异步收发,可变波特率)
SEND:
MOV A, #55H ; 要发送的字节
MOV SBUF, A ; 将数据存入发送缓存
WAIT:
JNB TI, WAIT ; 等待数据发送完成
CLR TI ; 清除发送完成标志
END:
SJMP END ; 程序不断循环
```
阅读全文