TMOD:定时器/计数器T0¦T1的方式寄存器

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

  其格式为:

  

TMOD结构图

  =================================================================================

  其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:

  Ⅰ,GATE——门控制。

  ●GATE=1时,由外部中断引脚INT0、INT1和控制寄存器的TR0,TR1来启动定时器。

  当INT0引脚为高电平时TR0置位,启动定时器T0;

  当INT1引脚为高电平时TR1置位,启动定时器T1。

  ●GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。

  Ⅱ,C/T——功能选择位

  置位时选择计数功能,清零时选择定时功能。

  Ⅲ,M0、M1——方式选择功能

  由于有2位,因此有4种工作方式

  ================================================================

  M1M0 工作方式 计数器模式 TMOD(设置定时器模式)

  0 0 方式0 13位计数器 TMOD=0x00

  0 1 方式1 16位计数器 TMOD=0x01

  1 0 方式2 自动重装8位计数器 TMOD=0x02

  1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03

  ================================================================

TCON

  TCON(Timer Control Register)定时器/计数器控制寄存器

  TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H一8FH,由于有位地址,十分便于进行位操作。

  TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。

  TCON的格式如下图所示。其中,TFl,TRl,TF0和TR0位用于定时器/计数器;IEl,ITl,IE0和IT0位用于中断系统。

  各位定义如下:

  TF1:定时器1溢出标志位。当字时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。

  TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。

  TF0:定时器0溢出标志。其功能及操作情况同TF1。

  TR0:定时器0运行控制位。其功能及操作情况同TR1。

  IE1:外部中断1请求标志。

  IT1:外部中断1触发方式选择位。

  IE0:外部中断0请求标志。

  IT0:外部中断0触发方式选择位。

  TCON中低4位与中断有关,我们将在下节课讲中断时再给予讲解。由于TCON是可以位寻址的,因而如果只清溢出或启动定时器工作,可以用位操作命令。例如:执行“CLR TF0”后则清定时器0的溢出;执行“SETB TR1”后可启动定时器1开始工作(当然前面还要设置方式定)。

   定时器/计数器的初始化

  

  由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下:

  1、确定工作方式(即对TMOD赋值);

  2、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);

  3、根据需要开放定时器/计数器的中断(直接对IE位赋值);

  4、启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。

  下面介绍一下确定时时/计数器初值的具体方法。

  因为在不同工作方式下计数器位数不同,因而最大计数值也不同。

  现假设最大计数值为M,那么各方式下的

  最大值M值如下:

  方式0:M=213=8 192

  方式1:M=216=65 536

  方式2:M=28=256

  方式3:定时器0分成两个8位计数器,所以两个M均为256。

  因为定时器/计数器是作“加1”计数,并在计数满溢出时产生中断,因此初值X可以这样计算:

  X=M-计数值

SCON (Serial Port Control Register) 在51单片机中代表这是串口控制寄存器

  scon控制寄存器

  scon控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98h,其结构格式如下:

  表1 scon寄存器结构

  scon d7 d6 d5 d4 d3 d2 d1 d0

  sm0 sm1 sm2 ren tb8 rb8 ti ri

  位地址 9fh 9eh 8dh 9ch 9bh 9ah 99h 98h

  各控制位功能介绍如下:

  (1).sm0、sm1:串行口工作方式控制位。

  sm0,sm1 工作方式

  00 方式0

  01 方式1

  10 方式2

  11 方式3

  (2).sm2:多机通信控制位。

  多机通信是工作于方式2和方式3,sm2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及sm2=1时,只有当接收到第9位数据(rb8)为1时,才把接收到的前8位数据送入sbuf,且置位ri发出中断申请,否则会将接受到的数据放弃。当sm2=0时,就不管第位数据是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表示帧接收完成。

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

TMOD TCON SCON相关推荐

  1. 单片机原理及应用知识总结(持续更新)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 第一章 单片机的基础知识 第二章 51单片机及硬件结构 51单片机指令系统及汇编语言 前言 自己的一些总结,欢迎阅读指正! ...

  2. C52单片机中断定时系统思路和实现代码

    最近拿到了单片机的课程设计题目,乍一看还挺简单的,就是一个简单的电子时钟,想都没想就直接把我arduinod的DS1302时钟模块拿来直接就做出来了,好家伙这两天仔细读了题目才发现直接指出了不能用DS ...

  3. 简述单片微型计算机屏蔽的作用,单片机原理及应用试题库 - 答案

    A.栈底单元 B.7FH单元 C .栈底单元地址加1 D.栈底单元地址减1 19. 89C51单片机中,唯一一个用户不能直接使用的寄存器是( C ) A.P S W B.D P T R C .P C ...

  4. STC51-串口通信

    1 并行与串行基本通信方式 随着单片机系统的广泛应用和计算机网络技术的普及,单片机的通信功能愈来愈显得重要.单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,通常单片机与计算机之间的通信我们 ...

  5. 80c51汇编语言指令格式中的非必须,求单片机答案

    求单片机答案0 a315093562014.06.24浏览1266次分享举报 在下列各题的(A).(B).(C).(D)4个选项中,只有一个是正确的,请选择出来.16. 对程序存储区数据传送,应采用助 ...

  6. 发现好文!51单片机特殊功能寄存器 /I/O口操作 /中断/ 定时器/ 串口通信/ ---位寻址解释由来--以及程序例程

    51单片机特殊功能寄存器有哪些_功能是什么 最近学习中对寄存器的概念理解很迷惑,I/O口操作/中断/定时器/串口通信四大模块的寄存器应用不太明白,这篇文章,解释的不错,希望帮到各位! 1.21个寄存器 ...

  7. C语言编周期100ms的方波信号,单片机系统设计 - 2020学年春(邸志刚)-中国大学mooc-题库零氪...

    项目一 :设计交通灯 相关知识:单片机简介随堂测验 1.下列器件中带ROM的是(). A.8031 B.8032 C.80C32. D.8051 2.下列器件中带EPROM的是(). A.8051 B ...

  8. 单片机C51复习题(课后习题及答案)

    第1章 思考题及习题 一.填空题 除了单片机这一名称之外,单片机还可以称为____或____. 单片机与普通微型计算机的不同之处在于其将____.____和____3部分,通过内部____连接在一起, ...

  9. 51单片机外部中断的使用以及优先级设置

    51单片机中断的使用及优先级设置 51单片机有两个外部中断,两个定时器/计数器,两个外部中断分别是int0,int1.定时器/计数器分别是t0,t1,还有一个串口中断TI/RI,加起来有五个中断.它们 ...

  10. 南京廖华微型计算机原理答案,微机原理习题库含答案

    DW TAB1,TAB2,70H 6.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据.若有,则将51H单元置为"01H":若未找到,则将51H单元置为&q ...

最新文章

  1. APP不同上线情况对应的测试流程
  2. [译][Tkinter 教程10] Text 控件
  3. vue-cli脚手架构建项目注意事项(填坑)
  4. 【python3】通过hashlib 和base64 对字符串进行加密
  5. MYSQL的函数有哪些?(3.字符串函数)
  6. java peek函数_Java 8 Stream Api 中的 peek 操作
  7. c++学习书籍推荐《超越C++标准库:Boost库导论》下载
  8. 《Servlet和JSP学习指南》一导读
  9. python办公室应用_Python干货:玩转办公室软件(一)PP还能这样玩!
  10. JS获取短信验证码60秒
  11. 熟悉常规B/S、C/S系统开发实现原理
  12. springMVC实现的crud操作
  13. 手写Spring框架
  14. python调用其它程序
  15. 使用redis所维护的代理池抓取微信文章
  16. php账号管理工具,微信公共账号第三方管理工具开发(一)
  17. 图钉能按到墙上吗_图钉怎么钉在墙上
  18. 黑客劫持域名步骤大曝光
  19. 泰勒级数+牛顿迭代公式+最简单的C语言求根号的值
  20. codeup27980 乘法算式(NOIP1996普及组第1题)

热门文章

  1. 自制一个简单的操作系统
  2. 什么是拖库,撞库和洗库
  3. SplitContainer控件扩展之收缩面板
  4. ASP.Net中控件的EnableViewState属性
  5. java中前加加和后加加(精彩案例)
  6. IT运维服务体系建设思路
  7. 图片片转换成位深度为1的单色bmp照片
  8. Python_learn_飞机大战
  9. shopex PHP Notice,Shopex系统配置文件config.php说明
  10. Access、Trunk和Hybird的个人理解