×
单片机 > 单片机程序设计 > 详情

单片机串口收发程序分享

发布时间:2023-04-07 发布时间:
|


/*

,把发送的数据接收后用P1口的LED灯以二进制的形式显示

并且蜂鸣器发出提示音,再把接收的数据加1并发出。

使用STC ISP软件界面上的串口助手,选择对应的串口号,

设置波特率为9600,选择HEX模式发送和接收

*/

#include


#define uchar unsigned char

#define uint unsigned int


sbit beep = P2^3;//蜂鸣器接口

uchar num;//发送暂存变量


void delay(uint z)

{

uint x,y;

for(x = z; x > 0; x--)

for(y = 114; y > 0 ; y--);

}

void UART_init()

{

TMOD = 0x20; //T1工作模式2 8位自动重装

TH1 = 0xfd;

TL1 = 0xfd; //比特率9600

TR1 = 1; //启动T1定时器

SM0 = 0;

SM1 = 1; //串口工作方式1 10位异步

REN = 1; //串口允许接收

EA = 1; //开总中断

ES = 1; //串口中断打开

}

void main()

{

UART_init(); //串口初始化

while(1);

}



void UART() interrupt 4

{

if(RI) //检测是否接收完成

{

num = SBUF; //num 取出接收缓存器的值

P1 = SBUF;

beep = 0;

delay(100);

beep = 1;//蜂鸣器发出滴提示音

num++;//把接收的数据加1并发送

RI = 0;

SBUF = num;

while(!TI);

TI = 0;

}

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会