MCS接口技术----定时/计数,中断

news2025/1/21 0:54:27

目录

一.中断系统相关寄存器

1.51单片机中断系统的总体结构:

2.中断源的中断级别(由高到低):

3.与中断有关的四个寄存器:

(1)TCON---定时控制寄存器

(2)IE---中断允许控制寄存器

(3)IP---中断优先级控制寄存器

(4)SCON---串行口控制寄存器

二.定时/计数相关寄存器

1.TMOD---控制寄存器

2.TCON----定时器控制寄存器(支持位寻址)

三.并行接口

四.串行接口

1.串行通信的分类

3.串行通信标准

(1)RS-232C接口

(2)RS-232与RS-423接口,RS-422和RS-485接口对比

4.MCS-51串口控制

(1)数据缓冲器

(2)电源控制寄存器PCON

(3)SCON串行口控制寄存器


一.中断系统相关寄存器

1.51单片机中断系统的总体结构:

2.中断源的中断级别(由高到低):

INT0---外部中断0,中断入口地址:0003H,P3.2提供,有电平和脉冲两种方式

T0---定时器/计数器0中断,中断入口地址:000BH,由T0定时溢出提供

INT1---外部中断1,中断入口地址:0013H,P3.3提供,有电平和脉冲两种方式

T1---定时器/计数器1中断,中断入口地址:001BH,由T1定时溢出提供

TX/RX---串行口中断,中断入口地址:0023H,由串行口提供,串行通信接收和发送都可产生中断

3.与中断有关的四个寄存器:

(1)TCON---定时控制寄存器

TCON寄存器是一个8位的特殊功能寄存器,用于控制定时器/计数器和外部中断。

TCON即以下这部分:

TCON的结构(8FH-88H):

TF1  :TF1=1表示T1有中断产生。(Timer Flag,定时器标志位

TR1  :TR1=1表示T1开始运行。(单片机中T0引脚,需要高低电平的驱动)

TF0  :TF0=1表示T0有中断产生。

TR0  :TR0=1表示T0开始运行。(单片机中T1引脚,需要高低电平的驱动)

IE1   :IE1=1表示INT1有中断产生。

IT1   :IT1=1表示INT1为下降沿触发,IT1=0表示INT1为低电平触发。

IE0   :IE0=1表示INT0有中断产生。

IT0   :IT0=1表示INT0为下降沿(负跳变)触发,IT0=0表示INT0为低电平触发。

针对外部中断(IE/IT):

IE0/IE1:外部中断请求标志位

当INT0(INT1)引脚出现有效的请求信号,此位由单片机自动置1,

CPU开始响应,处理中断,而当入中断程序后由单片机自动置0.

IT0/IT1:外部中断触发方式控制位          //选择有效信号

IT0/IT1=1:脉冲触发方式,下降沿有效。

IT0/IT1=0:电平触发方式,低电平有效。

(2)IE---中断允许控制寄存器

IE寄存器是一个用于控制各种中断的使能和禁止的特殊功能寄存器,包含了一系列位,每个位对应一个特定的中断源,通过设置这些位,可以控制相应中断的触发。

注:支持位寻址

IE寄存器即这一部分:

IE寄存器的结构(AFH-A8H):

EA    :整体中断允许位;EA=1允许中断。

ES    :串行中断允许位;ES=1允许中断。

ET1   :T1中断允许位;ET1=1允许中断。

EX1   :INT1中断允许位;EX1=1允许中断。

ET0   :T0中断允许位;ET0=1允许中断。

EX0   :INT0中断允许位;EX0=1允许中断。

注:D6,D5为无关位

(3)IP---中断优先级控制寄存器

IP寄存器用于控制中断的优先级,支持位寻址,而在默认情况下,中断优先级由高到低为:X0 > T0 > X1 > T1 > S

X0表示外部中断源0的优先级位,T0表示定时器0中断的优先级位,X1表示外部中断源1的优先级位,T1表示定时器1中断的优先级位,而S则表示串行通信中断的优先级位

即中断系统的这一部分:

IP寄存器的结构(B8H-BFH):

PS——串行口中断优先级控制位。

PS=1,串行口中断定义为高优先级中断。

PS=0,串行口中断定义为低优先级中断。

PT1——定时器/计数器1中断优先级控制位。

PT1=1,定时器/计数器1中断定义为高优先级中断。

PT1=0,定时器/计数器1中断定义为低优先级中断。

PX1——外部中断1中断优先级控制位。

PX1=1,外部中断1定义为高优先级中断。

PX1=0,外部中断1定义为低优先级中断。

PT0——定时器/计数器0中断优先级控制位。

PT0=1,定时器/计数器0中断定义为高优先级中断。

PT0=0,定时器/计数器0中断定义为低优先级中断。

PX0——外部中断0中断优先级控制位。

PX0=1,外部中断0定义为高优先级中断。

PX0=0,外部中断0定义为低优先级中断。

注:D7,D6,D5为无关位。

(4)SCON---串行口控制寄存器

SCON寄存器的结构(98H~9FH):

1.SM0、SM1:串行口工作方式控制位

2.SM2:多机通信控制位

多机通信工作于方式2和方式3,故SM2位主要用于方式2和方式3。

①在接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入sbuf,且置位RI发出中断申请,否则会将接受到的数据放弃。

②当SM2=0时,就不管第9位数据是0还是1,都得将数据送入sbuf,并发出中断申请。即此时RI是否置位由SM2和RB8共同决定。

工作于方式0时,SM2必须为0。

3.REN:允许接收位

REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。

4.TB8:发送接收数据位8

在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样也要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。

5.RB8:接收数据位8

在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。

6.TI:发送中断标志位

可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件置0。

7.RI:接收中断标志位

可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。

注:在串口中断处理时,TIRI都需要软件置0,硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要ES=0,以防止中断出现。

二.定时/计数相关寄存器

定时/计数器的逻辑结构:

1.TMOD---控制寄存器

TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。

D0~D3为T0定时/计数器的设置,D4~D7为T1定时/计数器的设置 。

GATE:为门控位:

GATE=0时,只要在编写程序时,使TCON中的TRO或TR1为1,就可以启动定时器/计数器工作。

GATE=1时,不仅要在编写程序时,使TCON中的TRO或TR1为1,且需要外部引脚也为高电平,才能 工作。

C/T :定时/计数模式切换,C/T=0时为定时模式,C/T=1时为计数模式。

M1,M0:用来选择定时计/计数器的工作方式,一般使用都是采用16位的计时计数器。

想要详细了解工作方式:http://t.csdnimg.cn/904wt

2.TCON----定时器控制寄存器(支持位寻址)

TR1:1启动T1,0停止T1

TR0:1启动T0,0停止T0

其余6位:与中断有关

三.并行接口

MCS-51单片机有4个8位并行接口,如果想深入学习可以看:

http://t.csdnimg.cn/seBQm

四.串行接口

1.串行通信的分类

(1)同步通信

(2)异步通信

2.串行通信的制式

3.串行通信标准

(1)RS-232C接口

PC常用的RS-232C接口信号定义(9针)

PC常用的RS-232C接口信号定义(25针)

(2)RS-232与RS-423接口,RS-422和RS-485接口对比

4.MCS-51串口控制

MCS-51串口结构

MCS-51提供一个全双工串口,可以转换为标准的RS-232串口。

(1)数据缓冲器

发送SBUF和接收SBUF共用一个地址99H。               

•发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。      

          发送指令:       MOV        SBUF,A

•接收SBUF存放已接收成功的8位数据,供CPU读取。

          读取串行口接收数据指令:MOV  A,SBUF

(2)电源控制寄存器PCON

电源管理寄存器在特殊功能寄存器中,字节地址为 87H,不能位寻址,PCON用来管理单片机的电源部分,包括上电复位检测、掉电模式、空闲模式等。单片机复位时 PCON 全部被清0。

(3)SCON串行口控制寄存器

在中断控制节已经介绍:

D7、D6:SM0、SM1,工作方式,有四种。

D5:SM2,1多机通信,0双机

D4:REN,1允许接收

D3:TB8,发送的第9位数据

D2:RB8,接收的第9位数据

D1:TI,发送中断标志

D0:RI,接收中断标志

具体介绍四种工作方式:

方式0( SM0 SM1 :0 0):

串行口的工作方式0为移位寄存器I/O方式,可外接移位寄存器,一扩展I/O口,也可外接同步I/O设备。

发送操作:当执行一条“MOV SBUF,A”指令时,启动发送操作,由TXD输出移位脉冲,由RXD串行SBUF中的数据。发送完8位数据后自动置TI=1.请求中断。要继续发送时,TI必须有指令清零。

接收操作:REN是串行口接收允许控制位。REN=0时禁止接收;REN=1时允许接收。当软件将REN置“1”时,即开始从RXD端口以fosc/12波特率输入数据,当接收到8位数据时,将中断标志RI置“1”。再次接收数据之前,必须用软件将RI清0。

方式1( SM0 SM1 :0 1):

串行口为10位通用异步接口。发送或接收一帧数据信息为10位,包括1位起始位“0”、8位数据位、1位停止位“1”。

发送数据:数据从TXD端口输出,当数据写入发送缓冲器SBUF时,就启动发送器发送。发送完一帧数据后,置中断标志TI=1,申请中断,通知CPU可以发送下一个数据了。

接收数据:首先使REN=1(允许接收数据),串行口从RXD接收数据,当采样到1至0跳变时,确认是起始位“0”,就开始接收一帧数据,当接收完一帧数据时,置中断标志RI=1,申请中断,通知CPU从SBUF取走接收到的数据 。

方式2 ( SM0 SM1 :1 0) :

串行口为11位异步通信接口。发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。

发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”,然后将要发送的数据写入SBUF,即能启动发送器。发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。

接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置RI=1,并申请中断,通知CPU接收数据。当SM2=0时,不管RB8为“0”还是为“1”,都置RI=1,此串行口将接收发送来的信息。当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”, 此时置RI=1,串行口将接收发来的地址。当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”, 但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。

(4)方式3 ( SM0 SM1 :1 1) :

方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1347858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一二三应用开发平台文件处理设计与实现系列之3——后端统一封装设计与实现

背景 前面介绍了前端通过集成vue-simple-uploader实现了文件的上传,今天重点说一下后端的设计与实现。 功能需求梳理 从功能角度而言,实际主要就两项,一是上传,二是下载。其中上传在文件体积较大的情况下,为了加快上…

2013年第二届数学建模国际赛小美赛B题寄居蟹进化出人类的就业模式解题全过程文档及程序

2013年第二届数学建模国际赛小美赛 B题 寄居蟹进化出人类的就业模式 原题再现: 寄居蟹是美国最受欢迎的宠物品种,依靠其他动物的壳来保护。剥去寄居蟹的壳,你会看到它柔软、粉红色的腹部卷曲在头状的蕨类叶子后面。大多数寄居蟹喜欢蜗牛壳&…

Java集合/泛型篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、说说LinkHashSet( HashSet+LinkedHashMap)二、HashMap(数组+链表+红黑树)三、说说ConcurrentHashMap前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通…

加强->servlet->tomcat

0什么是servlet jsp也是servlet 细细体会 Servlet 是 JavaEE 的规范之一,通俗的来说就是 Java 接口,将来我们可以定义 Java 类来实现这个接口,并由 Web 服务器运行 Servlet ,所以 TomCat 又被称作 Servlet 容器。 Servlet 提供了…

数据结构: 位图

位图 概念 用一个bit为来标识数据在不在 功能 节省空间快速查找一个数在不在一个集合中排序 去重求两个集合的交集,并集操作系统中的磁盘标记 简单实现 1.设计思想:一个bit位标识一个数据, 使用char(8bit位)集合来模拟 2.预备工作:a.计算这个数在第几个char b.是这个ch…

「实验记录」CS144 Lab1 StreamReassembler

目录 一、Motivation二、SolutionsS1 - StreamReassembler的对外接口S2 - push_substring序列写入ByteStream 三、Result四、My Code五、Reference 一、Motivation 我们都知道 TCP 是基于字节流的传输方式,即 Receiver 收到的数据应该和 Sender 发送的数据是一样的…

C#-CSC编译环境搭建

一.Microsoft .NET Framework 确保系统中安装Microsoft .NET Framework相关版本下载 .NET Framework 4.7 | 免费官方下载 (microsoft.com)https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net47 二.编译环境搭建 已经集成编译工具csc.exe,归档至gitcode,实现us…

L1-076:降价提醒机器人

题目描述 小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。 输入格式: 输入第一行是两个正整数…

数据隐私:技术和法律的双重挑战

当前,数据已成为企业和个人最宝贵的资产之一。然而,随着数据的广泛收集和共享,数据隐私问题也日益突出。保护个人信息的隐私不仅是法律规定的义务,也是维护社会公正、保护个人权益的必要措施。本文将从数据隐私的概念、重要性、面…

Linux学习第48天:Linux USB驱动试验:保持热情,保持节奏,持续学习是作为一个技术人员应有的基本素质和要求

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 最近更新的速度和频率大不如以前,主要原因还是自己有些懈怠了。学习是一个持续努力的过程,一旦中断,再想保持以往的状态可能要…

《MySQL系列-InnoDB引擎01》MySQL体系结构和存储引擎

文章目录 第一章 MySQL体系结构和存储引擎1 数据库和实例2 MySQL配置文件3 MySQL数据库路径4 MySQL体系结构5 MySQL存储引擎5.1 InnoDB存储引擎5.2 MyISAM存储引擎5.3 NDB存储引擎5.4 Memory存储引擎5.5 Archive存储引擎5.6 Federated存储引擎 6 连接MySQL6.1 TCP/IP6.2 命名管…

MySQL数据库学习一

1 什么是数据库的事务&#xff1f; 1.1 事务的典型场景 在项目里面&#xff0c;什么地方会开启事务&#xff0c;或者配置了事务&#xff1f;无论是在方法上加注解&#xff0c;还 是配置切面。 <tx:advice id"txAdvice" transaction-manager"transactionMa…

数据结构式新年贺词

冒泡排序&#xff0c;选择排序&#xff0c;插入排序&#xff0c;快速排序&#xff0c;堆排序&#xff0c;归并排序&#xff0c;希尔排序&#xff0c;桶排序&#xff0c;基数排序新年帮您排忧解难。 有向图&#xff0c;无向图&#xff0c;有环图&#xff0c;无环图&#xff0c;…

回溯法解决n皇后问题(迭代版)

n皇后问题的关键在于judge函数&#xff0c;判断当前的情况是否合法 1.x[i]x[k]说明有两个皇后处于同一列&#xff0c;不符合 2.x[k]-x[i]k-i&#xff1a; 由于k-i是固定的&#xff0c;假设k3,i2,那么k-i1, 如果x[k]-x[i]1, 说明第k个皇后在第i个皇后右…

PostgreSQL16.1(Windows版本)

1、卸载原有的PostgreSQL &#xfeff; &#xfeff; 点击Next即可。 &#xfeff;&#xfeff; 点击OK即可。 卸载完成。 2、安装 &#xff08;1&#xff09; 前两部直接Next&#xff0c;第二部可以换成自己想要安装的路径。 &#xff08;2&#xff09; 直接点击Next。…

WeNet语音识别调用通义千问

WeNet语音识别调用通义千问 WeNet语音识别对通义千问&#xff08;Qwen-72B-Chat Bot&#xff09;调用&#xff0c;首先通过WeNet将用户的语音输入转录为文本&#xff0c;然后将此文本输入通用问答模型以获取答案。 本人原创作品&#xff0c;体验一下 连续对话 WeNet语音识别…

华为云创新中心,引领浙南的数字化腾飞

编辑&#xff1a;阿冒 设计&#xff1a;沐由 县域经济是我国国民经济的重要组成部分&#xff0c;是推动经济社会全面发展的核心力量之一。在推进中国式现代化的征程中&#xff0c;县域经济扮演的角色也越来越重要。 毫无疑问&#xff0c;县域经济的良性发展&#xff0c;需要多方…

软件工程总复习笔记

软件工程课程复习提纲 文章目录 软件工程课程复习提纲一、基本知识点1. 软件工程的概念及目标2. 软件危机的概念及典型表现3. 瀑布模型的概念及特点4. 快速原型模型的特点5. 螺旋模型的基本思想6. 软件生命周期的概念及划分为哪几个阶段7. 软件需求的定义8. 常见的软件需求获取…

基于AT89C51单片机可做实物的温度烟雾火灾报警设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/88658141?spm1001.2014.3001.5503 C 源码仿真图毕业设计实物制作步骤02 摘要 随着现代家庭用火、用电量的增加&#xff0c;家庭火灾发生的频率越来越高。火灾报警…

解算人生--写于2023跨年之夜

最近买了一本书&#xff0c;书名叫《计算》 读了部分内容&#xff0c;虽然理解上还需要再下下功夫&#xff0c;但是直观的感觉冲击还是挺大的&#xff0c;最明显的就是表面与本质的把握。大家可能都有这样一种感觉&#xff0c;初步涉足某一领域时&#xff0c;开始我们都会被大量…