1、      定时器/计数器的方式寄存器TMOD

TMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。

A      主要完成三个功能:

*确定选择定时器还是计数器;

*选择何种工作方式;

*是否借用外中断控制定时器和计数器的启停;

B      TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端)

TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)

C     控制字的格式和含义

a、   GATE(TMOD.7)

分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;

GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者

都为高电平时定时器 才开始工作;

b、   C/T(TMOD.6)

分为两种情况:C/T=0,用作定时器;

C/T=1,用作计数器;

d、 M1(TMOD.5),M0(TMOD.4)

用M1,M0来控制定时器/计数器的4种工作方式:

*方式0:M1=0,M0=0.13位定时/计数方式

*方式1:M1=0,M0=1.16位定时/计数器

*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器

*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数

2、定时器/计数器控制寄存器TCON

TCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。

A   控制字的格式和含义

a、TF1(TCON.7),TF0(TCON.5)----T1、T0计数溢出标志位

当计数器计数溢出时,该位置“1”。使用查询方式时,此位作为状态位供cpu

查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。使用中断

方式时,此位作为中断申请标志位,进入中断服务程序后由硬件自动清0.

b、TR1(TCON.6),TR0(TCON.4)----计数运行控制位

TR1(TR0)=1,启动定时/计数器工作的必要条件,还与GATE位的状态有关。

TR1(TR0)=0,停止定时/计数器工作。

该位可由软件置1或清0.

C、 IE1(TCON.3),IE0(TCON.1)----外部中断INT1(P3.3)、INT0(P3.2)的中断请求标志位

当有外部的中断请求时,INT1(INT0)=1(有硬件完成),在cpu响应中断后,由硬件将

IE1(IE0)清0.

d、 IT1(TCON.2),IT0(TCON.0)----INT1(INT0)触发方式控制位

可由软件进行置位和复位。IT0(IT1)=0,INT0(INT1)为低电平触发方式;

IT0(IT1)=1,INT0(INT1)为负跳变触发方式;

3、中断允许寄存器IE

在51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来

控制的

EA(IE.7):总开关,如果它等于0,则所有中断都不允许;

ES(IE.4):串行口中断允许;

ET1:定时器1中断允许;

EX1:外中断1中断允许;

ET0:定时器0中断允许;

EX0;外中断0中断允许;

4、5个中断源的优先级

单片机的中断服务入口地址如下,它们的自然优先级由高到低排列。

外中断0:0003H;

定时器0:000BH;

外中断1:0013H;

定时器1:001BH;

串口:0023H;

采用c51的编程语言,该语言中断服务函数的完整语法如下:

返回值   函数名称(【参数】)【模式】【重入】interrupt n 【using n】

interrupt对应的是中断源的编号,而【using】决定了使用寄存器的组号。这里,需要对

寄存器的组号进行简单的解释。51系统中有4个寄存器组,具体的位置取决于psw(程序状态字)

的两位RS0、RS1的设置。当运行一个中断任务时,采用不同的寄存器组。在c51

中,寄存器组的选择就取决于using后的变量的指定,变量位0~3的整数。

在这里给出不同中断服务程序的c51程序写法:

*外中断INT0--------void intsvr0(void) interrupt 0 using 1

*定时/计数器T0-----void timer0(void) interrupt 1 using 1

*外中断INT1--------void intsvr0(void) interrupt 2 using 1

*定时/计数器T1-----void timer0(void) interrupt 3 using 1

*串口中断----------void serial0 interrupt 4 using 1

P3口的代替功能

寄存器地址B0H,位寻址B7H~B0H。

引脚

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

代替功能

RXD

TXD

/INT0

/INT1

T0

T1

/WR

/RD

TCON:定时器控制寄存器

寄存器地址88H,位寻址8FH~88H。

位地址

8F

8E

8D

8C

8B

8A

89

88

位符号

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。

TR0(TR1)——定时器运行控制位

当TR0(TR1)=0停止定时器/计数器工作

当TR0(TR1)=1启动定时器/计数器工作

IE0(IE1)——外中断请求标志位

当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。

IT0(IT1)——外中断请求信号方式控制位

当IT0(IT1)=1脉冲方式(后沿负跳有效)

当IT0(IT1)=0电平方式(低电平有效)此位由软件置1或清0。

TF0(TF1)——计数溢出标志位

当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。

51单片机auxr寄存器_MCS-51单片机特殊功能寄存器详解相关推荐

  1. 嵌入式单片机基础篇(一)之stm32F1GPIO详解

    嵌入式单片机基础篇(一)之stm32F1GPIO详解 stm32F1GPIO详解 下面以stm32f103zet6以及51单片机为例,讲解单片机最基本部分IO口 第一部分:stm32 STM32 的 ...

  2. 单片机基础之ADD与ADDC的区别详解

    单片机基础之ADD与ADDC的区别详解 ADD 两数相加,不加进位位. ADDC 两数相加,加进位位.进位当时为1就加1,进位为0就加0. 一般在多字节数相加时,低字节相加用ADD ,高字节相加就用A ...

  3. 《单片机串口通信及测控应用实战详解》——6.3 PC端程序设计

    本节书摘来异步社区<单片机串口通信及测控应用实战详解>一书中的第6章,第6.3节,作者:李江全,聂晶,梁习卉子,刘新英,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  4. 寄存器(1)寄存器概念,x86寄存器种类说明及汇编代码详解

    寄存器(1)寄存器概念,x86寄存器种类说明及汇编代码详解 1. 什么是寄存器 1.1 概念 1. 什么是寄存器: 2. 寄存器作用: 1.2 通俗易懂理解寄存器 2. x86寄存器种类说明及汇编代码 ...

  5. STM32寄存器操作端口模式CRL/CRH详解

    STM32寄存器操作端口模式CRL/CRH详解 首先,在开始讲解前,大家请先看如下一段代码: #define SDA_IN_24c02(){GPIOB->CRH&=0XFFF0FFFF; ...

  6. 51单片机——LED 点阵点亮一个点,小白详解

    LED点阵介绍: LED点阵是由发光二极管排列组成的显示器件,在我们生活中的电器中随处可见,被广泛用于汽车报站器,广告屏等. 通常用用较多的是8*8点阵,然后使用多个8*8点阵组成不同分辨率的LED点 ...

  7. 微型计算机典型组成原理图,51单片机最小系统原理图、PCB及组成原理详解

    单片机:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器ROM.多种I/O口和中断系统.定时器 ...

  8. 51单片机实训项目之“万年历”代码原理详解

    一.原理图 二.芯片器件 STC89C52 DS18B20(温度传感器) DS1302(时钟芯片) LCD1602液晶显示 独立按键 杜邦线 三.仿真图 四.程序代码详解 (一).子程序 EEPROM ...

  9. 0809连接单片机c语言,adc0809引脚图及功能详解,adc0809与51单片机连接电路分析

    描述 adc0809是采样频率为8位的.以逐次逼近原理进行模-数转换的器件.其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换. 1.主要特性 ...

  10. 单片机的内存分配(变量的存储位置)详解

    对于初学者而言,对单片机的内存分配往往最让人头疼,很多人学了单片机几年 都不知道单片机内部的内存使用情况是如何分配的.要了解 ROM(flash).RAM(sram)启动,首先 需要对 链接器 Lin ...

最新文章

  1. 使用report COM_PRODUCT_DELETE_SINGLE删除product
  2. 特征点检测 FAST算法及代码详解
  3. C++类构造函数与析构函数
  4. MIT新研究:算法比硬件更有用
  5. TextBox只输入数字和event.keyCode的键码值
  6. Netty工作笔记0059---Netty私聊实现思路
  7. 丢失更新的问题产生和解决
  8. 如何让git小乌龟工具TortoiseGit记住你的账号密码
  9. 人工智能能为旅游业带来多大的想象空间?
  10. 本地KMS虚拟服务器,搭建kms本地服务器
  11. 软件质量需要静态代码分析和动态测试
  12. ERP管理web后台_数字化、智能化工厂管理系统原型、erp生产管理、仓库管理、采购管理、设备能源管理、计划管理、数字化工厂erp管理系统、生产计划、采购计划、用料请领、产品bom、工序管理、车间设备
  13. 电压信号与电流信号的转换
  14. maven仓库repositories和mirrors的配置及区别详解(轻松搞明白)
  15. 多旋翼无人机构成及其原理详解
  16. uni-app 选择图片(chooseImage)
  17. win10无限蓝屏_Win10升级系统后蓝屏或无限重启的解决方法
  18. 在计算机上知道手机密码,不知道密码查手机通话记录:傻瓜式教程
  19. 团队管理22-团队文化
  20. 一文描绘未来DeFi资管平台:应具备平台透明化、资产Token化等6大特点

热门文章

  1. 南邮计算机科学与技术专业本科2014级课程设计II题目
  2. 图书管理系统图书信息界面
  3. [山东科技大学OJ]1168 Problem C: 输出连续的整数序列 之二
  4. 使用aspnet_regiis.exe注册.NET Framework
  5. vue3.0动态循环icon点击变色,再次点击取消选中
  6. phython在Windows上如何安装
  7. 您的好友“AI护士小姐姐”已上线
  8. 最新|移动机器人导航定位技术概述
  9. 【图像评价指标】PSNR和SSIM
  10. R语言——批量重命名文件