【单片机】51单片机

寄存器

定时值存储寄存器

TH0/TH1/TH2 TL0/TL1/TL2
00000000 00000000
  • TH0/TH1/TH2 为定时器存储寄存器高八位(High)
  • TL0/TL1/TL2 为定时器存储寄存器低八位(Low)
  • 当THX-TLX 为 1111111111111111 即 十进制数65535时,再加1,定时器存储寄存器溢出TFX被置为1 (X为0,1,2)
  • 定时器存储寄存器在非中断模式下溢出后,需要手动将TFX置为0,THX和TLX需要手动重新赋值 (X为0,1,2)
  • 定时器存储寄存器在中断模式下溢出后,系统将自动将TFX置为0,THX和TLX需要手动重新赋值 (X为0,1,2)

TCON 定时器控制寄存器

7 6 5 4 3 2 1 0
符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
复位值 0 0 0 0 0 0 0 0
  • TFX 值为1时,代表定时值存储寄存器已溢出;值为0时,代表定时值存储寄存器未溢出 (X为0,1,2)
  • TRX 值为1时,代表启动定时器X ;值为0时,代表停止定时器X (X为0,1,2)

TMOD 定时器模式寄存器

7 6 5 4 3 2 1 0
符号 GATE (T1) C/T (T1) M1 (T1) M0 (T1) GATE (T0) C/T (T0) M1 (T0) M0 (T0)
  • GATE 一般用来测量外部信号脉冲宽度,在使用定时器时一般将其置0,GATE 为1时,可使得定时器不受INTX值的影响 (X为0,1)
  • C/T 定时器或计数器的选择位,C/T值为1计数器功能,C/T值为0定时器功能
  • 模式0,M1=0M0=0时,兼容8048单片机的13位定时器,THX的8位和TLX的5位组成一个13位的定时器 (X为0,1)
  • 模式1,M1=0M0=1时,THX和TLX组成一个16位的定时器 (X为0,1)
  • 模式2,M1=1M0=0时,常用来产生串口通信的波特率,8位自动重载模式,定时器溢出后THX重载到TLX中 (X为0,1)
  • 模式3,M1=1M0=1时,禁用定时器1,定时器0变成两个8位定时器 (X为0,1)

IE 中断使能寄存器

7 6 5 4 3 2 1 0
符号 EA - ET2 ES ET1 EX1 ET0 EX0
复位值 0 - 0 0 0 0 0 0
  • EA 值为1时,中断使能(使用中断服务的总开关)
  • ET2 值为1时,使能定时器T2中断
  • ES 值为1时,使能串口中断
  • ET1 值为1时,使能定时器T1中断
  • EX1 值为1时,使能外部中断1
  • ET0 值为1时,使能定时器T0中断
  • EX0 值为1时,使能外部中断0

中断查询

中断函数编号 中断名称 中断使能位 中断标志位 中断向量地址 优先级
0 外部中断0 EX0 IE0 0x0003 1(最高)
1 T0中断 ET0 TF0 0x000B 2
2 外部中断1 EX1 IE1 0x0013 3
3 T1中断 ET1 TF1 0x001B 4
4 UART中断 ES TI/RI 0x0023 5
5 T2中断 ET2 TF2/EXF2 0x002B 6
  • T0,T1为定时器,T2为8052的特有的定时器
  • UART为串口
  • 中断向量地址=中断函数编号*8+3
发布了82 篇原创文章 · 获赞 468 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_44647926/article/details/103609528