SCON-串行口控制寄存器:可位寻址,单片机复位时,各位都被清0

B7

B6

B5

B4

B3

B2

B1

B0

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

SM0、SM1:串行通信方式选择位。

SM0

SM1

工作方式

功能说明

波特率

0

0

方式0

同步移位寄存器方式

osc f /12

0

1

方式1

8位异步通信方式

可变,由定时器控制

1

0

方式2

9位异步通信方式

osc f /32 或osc f /64

1

1

方式3

9位异步通信方式

可变,由定时器控制

SM2:多机通信控制位。

在方式0时,SM2必须为0。

在方式1时,若SM2=0,RB8是接受到的停止位;若SM2=1,则只有收到有效的停止位才会激活中断RI,若没有接受到有效停止位,则RI清0。

在方式2或3时,如果SM2 = 1,则只有当接收到的第9位数据(RB8)为“1”时,才使RI置“1”,产生中断请求,并将接收到的前8位数据送入SBUF。当接收到的第9位数据(RB8)为“0”时,不提出中断,接收到的前8位数据无效。若SM2 = 0,接收到RB8后必然置位RI,产生中断,此时不论地址帧还是数据帧都能接收。

REN:接收控制位。由软件置1或清0,“0”即禁止接收。“1”允许接收。

TB8:发送数据的第9 位。方式2和方式3,TB8是要发送的第9位数据,其值由软件置“1”或清“0”。在双机串行通信时,一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。

RB8:接收数据的第9位。方式2和方式3,RB8存放接收到的第9位数据。在方式1,如SM2 = 0,RB8是接收到的停止位。在方式0,不使用RB8。

TI:发送中断标志位。发送数据前由软件清0,发送结束由硬件置1。方式0,发送完8位数据时TI由硬件置“1”,其他方式中,发送停止位时置TI 为“1”。其状态可供软件查询,也可请求中断

RI:接收中断标志位。接收前由软件清0,接收完时由硬件置“1”。方式0时,接收完第8位数据RI由硬件置“1”。在其他工作方式中,串行接收到停止位的中间时,该位置“1”。 其状态可供软件查询,也可请求中断

TMOD-定时器控制寄存器:不按位寻址,高四位控制T1,低四位控制T0。地址89H

B7

B6

B5

B4

B3

B2

B1

B0

GATE

C/T

M1

M0

GATE

C/T

M1

M0

GATE :定时操作开关控制位,当GATE=1时,INT0或INT1引脚为高电平,同时TCON中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作。

C/T :定时器或计数器功能的选择位。C/T=1为计数器,通过外部引脚T0(P3.4)或T1(P3.5)输入计数脉冲。C/T=0时为定时器,由内部系统时钟提供计时工作脉冲。

M1 :模式选择位高位

M0 :模式选择位低位

M1

M0

工作模式

0

0

13位计数/计时器

0

1

16位计数/计时器

1

0

8位自动加载计数/计时器

1

1

定时器1停止工作,定时器0分为两个独立的8位定时器TH0及TL0

SCON=0X52 :选择8位异步通信方式,波特率可变,由定时器控制;允许接受;发送中断标志、接收中断标志分别为1、0

TMOD=0X20:使用定时器1,8位自动加载计时器

TH1=0XF3:设置8位自动加载计时器定时时间,设定波特率为9600

TR1=1:启用定时器1

C51单片机串口初始化为何是这样:SCON=0X52;TMOD=0X20;TH1=0XF3;TR1=1;相关推荐

  1. c51单片机串口通信电脑向单片机发送数据

    main.c #include <REGX52.H> #include "UART.H"void Delay(int t) { while(--t); }void ma ...

  2. 单片机 串口通信实验

    思考题: 设计两个单片机通过串口方式1进行全双工数据通信,要求将波特率设置为2400,晶振频率为11.0592MHz,请分别编写发送程序和接收程序,接收端需使用液晶屏幕显示接收内容,发送端可循环发送一 ...

  3. C51单片机实现双机通讯

    C51单片机实现双机通讯(代码为原创,供参考) 一.实验任务: 编程控制单片机实现与其他单片机之间的双机通信. 要求实现以下功能: 1.甲机所连矩阵键盘(0~F)按下的键值,可以通过串行口发送到乙机, ...

  4. C51单片机基础之串口编程实战

    目录 一.串口编程寄存器分析 1.PCON : 电源控制寄存器 2.SCON:串行控制寄存器 二.自己实现串口初始化编程 三.发送一串字符串给到PC端编程 四.PC发送指令控制LED编程 五.串口中断 ...

  5. STC89C516/C52单片机串口波特率9600初始化代码

    串口初始化代码 bit busy;//全局变量void UartInit(void) //串口初始化,9600bps@11.0592MHz {SCON = 0x50; //8-bit variable ...

  6. C51单片机连接wifi模块,发送AT指令

    一.AT指令 AT 指令集是从终端设备( Terminal Equipment , TE) 或 数据终端设备 ( Data Terminal Equipment , DTE) 向终端适配器 (Term ...

  7. c51单片机原理复习资料2020

    今年考了单片机原理,整理了大几千字的复习文档,留着也没用,就在下面分享出,仅供参考. 以下文档复制自word文档,无图片,下载参见: 坚果云 github 这里还有一个c51的中文介绍文档,觉得也挺不 ...

  8. 【C51开发应用】基于C51单片机开发的循迹灭火机器人

    基于C51单片机开发的循迹灭火机器人 一.作品摘要 二.系统设计步骤 三.方案设计 3.1   小车主体设计 3.1.1   购买玩具小车进行改装 3.1.2   自己设计小车主体结构 3.2   电 ...

  9. 51单片机-串口通信

    目录 1.什么是通信 1.1.通信的概念 1.2.传送方式 1.3.同步方式 1.4.传送方向 1.5.校验方式 2.单片机串口介绍 2.1.硬件电路 2.2.电平标准 2.3.常见接口 2.4.内部 ...

  10. 普中单片机---串口通信(1)--通过按键控制发送

    普中单片机-串口通信(1)–通过按键控制发送 软件代码 #include <reg52.h>#define jingzhen 12000000UL /*使用12.0M晶体*/ #defin ...

最新文章

  1. 求一个容器的最值的索引_殊途同归——从一道经典的多元最值问题说开
  2. 图解Google Android内核编译教程
  3. oracle+restore+pfile,RAC(11gR2) OCR BACKUP RESTORE
  4. @EnableDiscoveryClient
  5. lotus php,LotusPhp笔记之:Cookie组件的使用详解
  6. BeetleX服务网关流量控制
  7. 7-1 公路村村通 (30 分)
  8. 解决:VMware DHCP Service 服务无法启动
  9. ECshop 快捷登录插件 支持QQ 支付宝 微博
  10. 黑马程序员---java基础------------------多线程
  11. Lua 学习笔记(四)语句与控制结构
  12. USB2.0学习笔记连载(一):CY7C68013特性简介
  13. nsq php,NSQ 最佳实践
  14. jsf el 表达式_JSF表达式语言– JSF EL
  15. 程序员面试金典——17.6最小调整有序
  16. Python Django之路由系统
  17. 51单片机蜂鸣器演奏《小苹果》C语言程序,C利用51单片机蜂鸣器演奏音乐
  18. ObjectARX动态添加AutoCAD传统下拉菜单入门篇(一)
  19. 韩立刚计算机网络——第三章:数据链路层
  20. 计算机中存储、网络传输计量单位

热门文章

  1. [Slackware13.0学习笔记]上网问题
  2. python毕业设计作品基于django框架外卖点餐系统毕设成品(7)中期检查报告
  3. 学李炎恢老师的PHP第一季 笔记 多用户留言系统-TestGuest0.2
  4. 金士顿16g u盘量产
  5. 计算机磁盘管理只有C盘怎么办,新电脑只有C盘怎么办?手把手教你给硬盘分区!...
  6. 第【一】部分Netzob项目工具的安装配置
  7. Windows Server 2003 (NT 5.2.3790.0) 操作系统源代码编译构建指南版本 10b,上次更新 2021/10/21
  8. 联想笔记本重装系统声卡驱动未安装报错代码28,声音图标显示红叉没有声音
  9. 华为c8812刷机包 android4.4,三款华为c8812 4.1.1版本的rom刷机包
  10. c语言中为什么无法打开原文件格式,为什么vs2012无法打开源文件graphics.h和bio