📄 00-串口测试程式(发送).c
字号:
// 00-串口测试程式(发送).c
// 不停的发送1
// 29-09-09 akuei2
#include "stdio.h"
#include "reg52.h"
#define uchar unsigned char
//1毫秒延迟函数
void Delay_1ms(int x)
{
int j;
for(;x>0;x--)
for(j=112;j>0;j--);
}
//串口发送函数
void Txd(void)
{
ES=0; // 关闭串口中断,采用查询发送方式
TI=1; // 发送结束标志位置一
while(TI)
{
/*
T1=0; // 如果不喜欢printf函数,可以注释掉它
SBUF=0x31; // 然后去除 ** 就可以使用典型的发送 eg: 0x31 ,"1" 的ascii码
*/
printf("1"); // 使用printf函数,发送数据
while(!TI); // 等待发送
TI=0;
}
ES=1; // 打开串口中断
}
//初始化函数
void Init(void)
{
TMOD=0x20; // T1工作模式2,T0工作模式1
SM0=0;SM1=1; // 设置串口的工作模式
TH1=0xfd; // 给TH1赋值,决定赋给TL1的值
TL1=0xfd; // 给TL1赋值决定波特率9600kb/s
TR0=1; // 定时器0启动
ET0=1;
TR1=1; // 定时器1启动
IT0 = 1; //外部中断0负边沿触发
EX0 = 1; //打开外部中断0
REN=0; // 不应许串口接收数据
EA=1; // 开启中断
ES=1; // 串口中断应许
}
//主函数
void main(void)
{
Init(); // 调用初始化函数
while(1)
{
Txd(); //不停的发送
Delay_1ms(500); //延迟500毫秒
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -