历史上的今天

今天是:2024年09月02日(星期一)

正在发生

2021年09月02日 | 51单片机串口通讯详解

发布者:知识智慧 来源: eefocus关键字:51单片机  串口通讯  在线调试 手机看文章 扫描二维码
随时随地手机看文章

串口,作为单片机程序开发中最常用、最方便,也是应用最广泛的程序调试方法;无论是作为调试工具,打印出调试信息,还是对功能模块进行通信,串口是每个单片机开发人员最常用的单片机外设。


由于大部分51单片机不支持在线调试功能,所以串口作为一种有效的调试功能,所以在51单片机程序开发时,无法进行在线调试,不妨可以多采用串口来进行调试。


1.串口配置


51单片机配置除了需要配置2个8位寄存器SCON、PCON外,还要配置定时器1的控制寄存器TMOD,因为串口在进行收发需要使用定时器来采样。


(1)状态控制寄存器 SCON

SCON 是一个逐位定义的 8 位寄存器,用于控制串行通信的方式选择、接收和发送,指 示串口的状态,SCON 即可以字节寻址也可以位寻址,字节地址 98H,地址位为 98H~9FH。 它的各个位定义如下:

在这里插入图片描述

SM0 和 SM1 是串口的工作方式选择位,2 个选择位对应 4 种工作方式,如下表,其中 Fosc 是振荡器的频率。

在这里插入图片描述

(2)电源与波特率控制寄存器

控制寄存器 PCON 也是一个逐位定义的 8 位寄存器,目前仅仅有几位有定义,如下所示:

在这里插入图片描述

仅最高位 SMOD 与串口的控制有关,其他位与掉电方式有关。PCON 的地址为 87H 只能按 字节寻址,SMOD 是串行通信波特率系数控制位,当串口工作在工作方式 1、2 时,若使用 T1 作为波特率发生器其 SMOD=1 则波特率加倍。


(3)定时器控制模式寄存器

TMOD是定时器、计数器模式控制寄存器,它是一个逐位定义的8为寄存器,但只能使用字节寻址

在这里插入图片描述

当串口工作在工作方式0和2是,波特率固定,方式0时fosc/12;方式2时fosc/32或fosc/64(根据SMOD判断)。当串口工作在方式1时,波特率=(2^SMOD/32)*(单片机时钟频率/(256-X)),X是初值;C/T#为定时器和计数器选择位,0为定时器,1为计数器


2.串口通用程序

为了有较好的通用性,将串口程序配置为一个H文件和C文件,往后只要开发51单片机程序,都可以将该两个文件复制在工程中直接使用,无须修改。

(1)uart.H


#ifndef _UART_H_

#define _UART_H_


#include "reg52.h"


void UartInit(void);

void Send_string(unsigned char *c);

void Send_Data(unsigned char DAT);


#endif


(2)uart.c


#include "uart.h"


//串口初始化

void UartInit(void)

{

/*串口初始化 */

TMOD = 0x20;   //定时器T1使用工作方式2

SCON = 0x50;   //工作方式1,,允许接收   

PCON = 0x10;

TH1 = 253;        // 设置初值,波特率9600bps

TL1 = 253;

TR1 = 1;          // 开始计时

ES = 1;         //打开接收中断

EA = 1;           // 打开所以中断   

TI = 0;

RI = 0;

}


void Send_Data(unsigned char DAT)

{

ES = 0;

TI=0;

SBUF = DAT ;

while(TI==0);

TI=0;

ES = 1;

}


void Send_string(unsigned char  *c)

{

while(*c != '')

{

Send_Data(*c++);

}

}


void RSINTR() interrupt 4 using 2

{

EA=0;

if(TI==1) //发送中断   

{

TI=0;

}


if(RI==1) //接收中断   

{


RI=0;  


}

EA=1;

}

关键字:51单片机  串口通讯  在线调试 引用地址:51单片机串口通讯详解

上一篇:51单片机串口通信(UART)
下一篇:stc51单片机串口通信程序

推荐阅读

据外媒报道,车载传感器的大量应用及新数据密集型多媒体技术的出现将使车辆所整合的硬件随之发生重大改变,网络带宽、线缆重量、系统复杂性及总体成本也将出现新一轮变动。在很大程度上,新功能及新数据服务将依赖支持性通信网络。由于传输速率需要提升,以太网将逐步兴起并成为未来车载网络的重要协议。车用级以太网的兴起以太网是一款通信总线,未来可支...
董明珠与雷军的赌约在沉寂一段时间后再次引发关注。  近日,董明珠在北京公开隔空喊话:“还想再跟雷军赌5年!”其话音未落,立刻得到雷军回应:“初期和董大姐打赌是无知无畏,我觉得还可以继续再试一下。”  董明珠和雷军此前定下的“10亿元赌约”,让双方一夜间成为企业界热点人物,两家企业也成为媒体竞相追逐的焦点,可谓赚足眼球。而这次双方的...
三星Galaxy Note20系列上海媒体品鉴会今天在三星旗舰体验店(外滩店)举行,作为三星Galaxy Note系列的最新力作,三星Galaxy Note20和Galaxy Note20 Ultra两款机型均以精致时尚的外观、专业的摄像头组合、再一次增强的S Pen等一系列高端配置,引领了5G旗舰智能手机的风向标。外观方面,在三星Galaxy Note20系列上,轻巧纤薄的机身搭配6.7/6.9英寸超...
8月29日下午,比亚迪在成都车站召开DiLink 4.0(5G)暨汉EV 5G丹拿智能音乐座舱上市发布会。会上正式发布了车管家DiLink 4.0系统,汉EV首先尝鲜搭载。这是一个听起来就很厉害的系统是吗?尤其是比亚迪发布的必然是精品,汉EV作为比亚迪的高端产品先来尝试的,这是不是又是比亚迪的一次颠覆呢。在发布会上,比亚迪宣布DiLink 4.0(5G)是基于4G/5G双模通讯...

史海拾趣

问答坊 | AI 解惑

电子行业培训教材!

培训教材目录第一章基础培训教材第一节常用术语解释(一)········· ····················· 1 1.组装图 1 2.轴向引线元件 1 3.单端引线元件 1 4.印刷电路板 1 5.成品电路板 1 6.单面板 1 7.双 ...…

查看全部问答∨

LCD_COG_philips 单色LCD驱动器COG模块设计指南.pdf

本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 LCD_COG_philips 单色LCD驱动器COG模块设计指南.pdf  …

查看全部问答∨

求助:LED灯交替闪烁实验中epwm中断作用

本人刚接触dsp,不明白LED灯交替闪烁实验中为什么用epwm中断,请高手指点一下。  void main(void){Uint16 i = 0x55;   InitSysCtrl();    DINT;    InitPieCtrl();    IER = 0x0000;   ...…

查看全部问答∨

ST32位和8位的单片机主要运用到哪种场合啊

                                 我是小白…

查看全部问答∨

CCS对负数的比较是怎么样处理的???

CCS对负数的比较是怎么样处理的??? 我在CCS3.1运行这段程序是发现b的结果不是0,也就是说a=-109在这里满足了((a<-1000)||(a>-40))这个条件,不知是不是编译器对负数比较的处理的问题,请大峡们解惑呀!!!注:程序其他地方没有对b进行操作. int&nb ...…

查看全部问答∨

关于用FPGA做FFT

用FPGA做过FFT的朋友,可否指点一下~     最近要用FPGA做FFT 打算用ALERA  的IP CORE ,可是仿真总是不出结果,希望有经验的朋友指点一下·谢谢啦·····…

查看全部问答∨

仿真器下载不了程序,请问JTAG的管脚2的电压一般是多少伏?

请问JTAG的管脚2的电压一般是多少伏? 我在下载程序时一直下载不进去,请高手指教!…

查看全部问答∨

用Proteus仿真DSP的多不多?

7.9版本的Proteus已经支持TI部分DSP的仿真了,没想到那么小体积的软件能实现那么多的功能,有用过的兄弟过来说说感受…

查看全部问答∨

buck充电电路

上图是用于充电的buck电路,其中Vo接电池给电池充电,现在出现的问题是,输入为15V时,如果电池电压很小时,加在mosfet馆上的电压就很大(相对于其导通电阻),因此电流也很大(如下图),从而很有可能烧坏15V的直流电源。有什么好的解决办法呢? ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved