找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2773|回复: 2
收起左侧

51单片机串口收发代码

[复制链接]
ID:407591 发表于 2018-10-10 16:45 | 显示全部楼层 |阅读模式
/*
串口收发程序,把发送的数据接收后用P1口的LED灯以二进制的形式显示
并且蜂鸣器发出提示音,再把接收的数据加1并发出。
使用STC ISP软件界面上的串口助手,选择对应的串口号,
设置波特率为9600,选择HEX模式发送和接收
*/
#include <reg52.h>
#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;
}
}


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:284952 发表于 2018-10-11 23:16 | 显示全部楼层
有用
回复

使用道具 举报

ID:384562 发表于 2019-8-28 13:09 | 显示全部楼层
可以啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表