使用的自然是山大王STC89C52RC的芯片来学习
串口通信主要是C51单片机的RXD 和TXD 与上位机进行通信,由于上位机一般是电脑,所以要TTL转成电脑能读出的RS232的电路来支持 一般使用MAX232 芯片 串口通信电路如下
之后就可以电脑的串口与这里的串口头子接了,注意 串口先要交叉一下 即电脑的TXD 对应下位机的RXD
C51单片机串口通信模式有4种,最常用的是第一种
方式0 同步移位寄存器方式 ,一般用来扩展I/O口,
方式1 10位异步收发(8位数据),波特率可变(由定时器1的溢出率控制)
方式2 11位异步收发(9位数据),波特率固定
方式4 11位异步收发,波特率可变(定时器1溢出率决定)
各种需要配置的参数如下所示
TI
发送中断标志位
当发送一帧完毕后,由硬件使TI=1,向外部发送中断申请,在中断服务程序中,必须用软件手动TI = 0,否则一直卡在中断里(测试一下)
RI
接受中断标志位
当接收一帧完毕后,由硬件使RI = 1, 向外部发送中断申请,也必须要在中断服务程序中,用软件将其清0,取消此次中断申请
ES
串行中断允许位
1 为开打 0为关闭
REN
允许串行接受位
1 为打开 0 为关闭
SBUF
串口缓存
在读写完毕后,存储的是相应的读/写值(注意,SUBF实际有两个寄存器,一个放写一个放读)
SM0/1
串口设置工作方式
设置4种工作方式,注意,最好是设置好工作方式再开串口传授
EA
终端总开关
TR1
定时器1开关
TH1/TL1
定时器初值
为了满足9600 的波特率 所以需要将TH1 TL1 设置为0xfd
TMOD
定时器运行模式
在串口通信的1号方式的时候 需要打开T1的串口通信 TMOD= 0x20 ,即第二种方式,8位自动重装
ET0/1
中断允许开关
time0 time1
之后是我的印象笔记的两篇关于串口通信笔记的分享
http://app.yinxiang.com/shard/s20/sh/6abe8da0-d4b8-4407-9848-3142dde1bed5/ba2a0a6debaab317aaca09185ce65c71
http://app.yinxiang.com/shard/s20/sh/0faa2671-1e95-4d08-9d12-b1bdedc0eadd/13e7a915ea347b0daf3aca30fd9a6a74
我自己写的个简单的串口通信
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[] = "Hi ";
uchar receiveFlag=0;
void init(){
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
SM0 = 0;
SM1 = 1;
REN = 1;
EA = 1;
TR1 = 1;
}
void main(){
uchar serVal,i;
init();
receiveFlag = 1;
while(1){
if(receiveFlag == 1){
ES = 1;
while(RI==0);
serVal = SBUF;
RI = 0;
receiveFlag = 0;
}
if(receiveFlag==0){ //need to send msg;
for(i =0;i<3;i++){
SBUF = table[i];
while(TI==0);
TI = 0;
}
SBUF = serVal;
while(TI ==0);
TI = 0;
receiveFlag = 1;
}
}
}
void receive_data() interrupt 4{
RI = 0;//手动清0
ES = 0;
receiveFlag = 0;
}
上一篇:51单片机串口通信的发送与接收
下一篇:51单片机串口通信使用类似printf函数的两种办法
推荐阅读最新更新时间:2024-03-16 14:54
设计资源 培训 开发板 精华推荐
- 希润医疗孟铭强:手功能软体机器人,让脑卒中患者重获新生
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- EMI 有奖调查
- 推陈出“芯“——TI 带你领略智能手机黑科技在线直播 预报名+看直播 好礼让你嗨翻全场!
- 阅读瑞萨电子电源模块系列白皮书,赢双重好礼:提升能量有礼&推荐100%有礼 !
- 国产FPGA有奖直播:安路全新FPSoC产品SF1系列(FPGA+MCU),Demo板介绍和案例解析
- Mouser 福利活动:邀请新用户下单,各得百元奖励!
- 有奖直播|TI Sitara™ 产品在智能电网中的应用
- 解锁【W5500-EVB-Pico】,探秘以太网底层,得捷电子Follow me第4期来袭!
- 如何加快你的FPGA设计步伐
- TI LM3S811 分组DIY,火热进行中......
- 从终端到架构,TE Connectivity(TE)助你连接5G高速未来 看视频答题赢好礼!