当前位置: 首页 > 产品中心 > 串口屏

STC15W408AS单片机串口的相关寄存器

发表时间: 2024-01-12 作者: 串口屏
产品详情

  STC15W408AS只有一个串口,串口1,有4种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。

  REN:允许/禁止串行接收控制位。由软件置位REN,即REN=1为允许串行接收状态,可启动串行接收器RxD,开始接收信息。软件复位REN,即REN=0,则禁止接收。

  TI:发送中断请求标志位。在方式0,当串行发送数据第8位结束时,由内部硬件自动置位,即TI=1,向主机请求中断,响应中断后TI必须用软件清零,即TI=0。在其他方式中,则在停止位开始发送时由内部硬件置位,即TI=1,响应中断后TI必须用软件清零。

  RI:接收中断请求标志位。在方式0,当串行接收到第8位结束时由内部硬件自动置位RI=1,向主机请求中断,响应中断后RI必须用软件清零,即RI=0。在其他方式中,串行接收到停止位的中间时刻由内部硬件置位,即RI=1,向CPU发中断申请,响应中断后,RI必须由软件清零。

  串行通信的中断请求:当一帧发送完成,内部硬件自动置位TI,即TI=1,请求中断处理;

  当接收完一帧信息时,内部硬件自动置位RI,即RI=1,请求中断处理。由于TI和RI以或逻辑关系向主机请求中断,所以主机响应中断时事先并不知道是TI还是RI请求的中断,必须在中断服务程序中查询TI和RI进行判别,然后分别处理。因此,两个中断请求标志位均不能由硬件自动置位,一定要通过软件清0,否则将出现一次请求多次响应的错误。

  电源控制寄存器PCON中的SMOD/PCON.7用于设置方式1、方式2、方式3的波特率是否加倍。

  STC15系列单片机的串行口1缓冲寄存器(SBUF)的地址是99H,实际是2个缓冲器,写SBUF的操作完成待发送数据的加载,读SBUF的操作可获得已接收到的数据。两个操作分别对应两个不同的寄存器,1个是只写寄存器,1个是只读寄存器。

  串行通道内设有数据寄存器。在所有的串行通信方式中,在写入SBUF信号(MOV SBUF,A)的控制下,把数据装入相同的9位移位寄存器,前面8位为数据字节,其最低位为移位寄存器的输出位。根据不同的工作方式会自动将 1 TB8的值装入移位寄存器的第9位,并进行发送。

  串行通道的接收寄存器是一个输入移位寄存器。在方式0时它的字长为8位,其他方式时为9位。当一帧接收完毕,移位寄存器中的数据字节装入串行数据缓冲器SBUF中,其第9位则装入SCON寄存器中的RB8位。如果由于SM2使得已接收到的数据无效时,RB8和SBUF中内容不变。

  由于接收通道内设有输入移位寄存器和SBUF缓冲器,从而能使一帧接收完将数据由移位寄存器装入SBUF后,可立即开始接收下一帧信息,主机应在该帧接收结束前从SBUF缓冲器中将数据取走,否则前一帧数据将丢失。SBUF以并行方式送往内部数据总线 辅助寄存器AUXR

  1, 选择定时器2作为串口1(UART1)的波特率发生器,此时定时器1得到释放,可当作独立定时器使用串口1可以再一次进行选择定时器1做波特率发生器,也可以再一次进行选择定时器2作为 波特率发生器当设置AUXR寄存器中的S1ST2位(串行口波特率选择位)为1时,串行口1选择定时器2作为波特率发生器,此时定时器1可以释放开来作为定时器/计数器/时钟输出使用。

  对于STC15系列单片机,串口2只可以使用定时器2作为其波特率发生器,不可选择其他定时器作为波特率发生器。而串口1默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器1作为其波特率发生器;串口3默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器3作为其波特率发生器;串口4默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器4作为其波特率发生器。

  定时器2寄存器T2H(地址为D6H,复位值为00H)及寄存器T2L(地址为D7H,复位值为00H)用于保存重装时间常数。

  注意:对于STC15串口2只可以使用定时器2作为其波特率发生器,不可选择其他定时器作为波特率发生器;而串口1默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器1作为其波特率发生器;串口3默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器3作为其波特率发生器;串口4默认选择定时器2作为其波特率发生器,也可以再一次进行选择定时器4作为其波特率发生器。

  当软件设置SCON的SM0、SM1为01 时,串口1则以模式1工作。此模式为8位UART格式,一帧信息为10位:1位起始位,8位数据位(低位在先)和1位停止位。波特率可变,即可根据有必要进行设置。TxD/P3.1为发送信息,RxD/P3.0为接收端接收信息,串行口为全双工接受/发送串行口。

  模式1的发送过程:串行通信模式发送时,数据由串行发送端TxD输出。当主机执行一条写 SBUF 的指令就启动串行通信的发送,写SBUF信号还把1装入发送移位寄存器的第9位,并通知TX控制单元开始发送。发送各位的定时是由16分频计数器同步。

  模式1的接收过程:当软件置位接收允许标志位REN,即REN=1时,接收器便以选定波特率的16分频的速率采样串行接收端口RxD,当检测

  到RxD端口从 1→0的负跳变时就启动接收器准备接收数据,并立即复位16分频计数器,将1FFH植装入移位寄存器。复位16分频计数器是使它与输入位时间同步。16分频计数器的16个状态是将1波特率(每位接收时间)均为16等份,在每位时间的7、8、9状态由检测器对RxD端口进行采样,所接收的值是这次采样直经三中取二 即3次采样至少2次相同的值,以此消除干扰影响,提高可靠性。在起始位,如果接收到的值不为0(低电平),则起始位无效,复位接收电路,并重新检测 1→0 的起始位有效,则将它输入移位寄存器,并接收本帧的其余信息。

  接收的数据从接收移位寄存器的右边移入,已装入的1FFH向左边移出,当起始位 0 移位寄存器的最左边时,使RX控制器

  则接收到的数据有效,实现装载入SBUF,停止位进入RB8,置位RI,即RI=1,向主机请求中断,若上述两条件不能同时满足,则接收到的数据作废并丢失,无论条件满足与否,接收器重又检测RxD端口上的 1→0的跳变,继续下一帧的接收。接收有效,在响应中断后,必须由软件清0,即RI=0。通常情况下,串行通信工作于模式1时,SM2设置为0。STC15系列单片机指南

  并没有提供IIC总线的接口,但是我们大家可以通过模拟IIC的方式实现。关于IIC总线的只是大家可以自行上网搜索。这里以驱动SSD1306芯片的0.96寸的128*64的OLED显示屏为例。

  还提供另一种高速串行通信接口 —— SPI接口。SPI是一种全双工、高速、同步的通信总线,有两种操作模式:主模式和从模式。在主模式中支持高达3 Mbps的速率(工作频率为

  的A/D转换口在P1口(P1.7-P1.0),有8路10位高速A/D转换

  ,速度到300KHz(30万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。

  内部集成了大容量的EEPROM,与其程序空间是分开的。利用ISP/IAP技术可将内部Data Flash当EEPROM,擦写次数在10

  ,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为

  有4个外部中断,它们分别是:外部中断0(INT0)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)。

  有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流既不能流入也不能

  有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流既不能流入也不能

  有两个时钟源:内部高精度R/C时钟和外部时钟(外部输入时钟或外部晶体振荡

  产生的时钟)。内部高精度R/C时钟(±0.3%),±1%温漂,常温下温漂±0.6%(-20℃~+65℃)。

  有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流既不能流入也不能

  有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流

  最小系统以上是最小系统原理图和核心版,该芯片内部自带晶振,所以不需要像51那样外部焊接晶振电路。P1.0接一个LED灯,低电平亮,可以作为指示灯用;P3.2接一个按键,可以做简单的控制。没有复位按键。一个电源开关,开关两侧有多个VCC和GND接口,可以给其他外接传感

  官方示例乱码问题解决方案注意官方资料示例程序使用时,需要修改主频参数,默认是使用的22.1184MHZ时钟。

  并没有提供IIC总线的接口,但是我们能够最终靠模拟IIC的方式实现。关于IIC总线的只是你们可以自行上网搜索。这里以驱动SSD1306芯片的0.96寸

  有两个时钟源:内部高精度R/C时钟和外部时钟(外部输入时钟或外部晶体振荡

  产生的时钟)。内部高精度R/C时钟(±0.3%),±1%温漂,常温下温漂±0.6%(-20

  /*-------------------------------------------------------------------------------- * 项目名称:

  有4个外部中断,它们分别是:外部中断0(INT0)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)。外部中断0(INT0)和外部

  的A/D转换口在P1口(P1.7-P1.0),有8路10位高速A/D转换

  、外部脉冲的捕捉、高速脉冲输出以及脉宽调制(PWM)输出。一、与CCP/PWM/PCA应用有关的特殊

  通信示例本示例展示将收到的数据内容,返回发送出去。实例代码#include

  模块,所以很适合做无刷电机的驱动,主频35M,无需外部晶振和复位电路,接好VCC和GND就可以工作。半桥电路使用PMOS+NMOS的组合,PMOS为IRF9540,NMOS为IRF540.驱动芯片用TC4427A。

  内部集成了高精度的RC振荡电路和高可靠的复位电路,直接外部晶振和复位电路都可以省去,芯片接通电源后就可以直接工作。