单片机学习笔记8.定时器

IAP15W4K58S4定时/计数器结构工作原理

定时器工作方式控制寄存器TMOD

不能进行位寻址,只能对整个寄存器进行赋值

|------|-----|------|------------|--------|--------|------|------------|--------|--------|-----------|
| 寄存器 | 地址 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 复位值 |
| TMOD | 89H | GATE | C/(T低电平有效) | M1 | M0 | GATE | C/(T低电平有效) | M1 | M0 | 00000000B |

D0-D3为T0控制,D4-D7为T1控制

GATE:门控位

GATE用于选通控制。

GATE=1时,INT1或INT0为高电平且TR1或TR0置1,T1或T0才能启动计数。

GATE=0时,只要TR1或TR0被置1,T1或T0就启动计数


C/(T低电平有效) :功能选择位

C/(T低电平有效) =1,为计数器功能

C/(T低电平有效) =0,为定时器功能


M1和M0:方式选择位

|----|----|------|-----------------------------------|
| M1 | M0 | 工作方式 | 功能说明 |
| 0 | 0 | 0 | 16位自动装载的定时器/计数器 |
| 0 | 1 | 1 | 16位的定时器计数器 |
| 1 | 0 | 2 | 可自动重装的8位计数器 |
| 1 | 1 | 3 | T1:停止计数 T0:不可屏蔽中断的16位自动装载的定时器/计数器 |


定时器控制寄存器TCON

|------|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----------|
| 寄存器 | 地址 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 复位值 |
| TCON | 88H | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 00000000B |

TF1和TF0:

T1和T1溢出标志位,为1时请求中断

TR1和TR0:

T1和T0的运行控制位,GATE=0,TR1=1启动计数,TR1=0停止计数

可以把初值写入THX,TLX用于控制计数长度


装入计数/定时器的初值的计算方法

16位的最大时间间隔:65.536ms

8位的最大时间间隔:256us

计算方法:

16位定时器:

T机=1/(fosc/12)

-初值)*T机=定时时间


定时量程的扩展:

在定时器中断服务程序中对定时器中断请求计数,当中断请求的次数达到要求的值时,才进行相应的处理

eg.50ms*20次=1s

即每20次进行一次事件的处理

相关推荐
kaka❷❷4 小时前
STM32 单片机 ESP8266 联网 和 MQTT协议
stm32·单片机·嵌入式硬件·物联网·mqtt·esp8266
古译汉书4 小时前
Stm32江科大入门教程--各章节详细笔记---查阅传送门
数据结构·stm32·单片机·嵌入式硬件·算法
shenghaide_jiahu5 小时前
数学分析简明教程——2.2(未完)
学习
brave and determined5 小时前
硬件-内存学习DAY20——GDDR6革命:显存技术如何重塑游戏与AI未来
嵌入式硬件·ddr·ddr4·ddr5·ddr6·内存原理·内存技术
一个学Java小白6 小时前
LV.5 文件IO
stm32·单片机·嵌入式硬件
bnsarocket6 小时前
Verilog和FPGA的自学笔记9——呼吸灯
笔记·fpga开发·verilog·自学·硬件编程
电鱼智能的电小鱼6 小时前
基于电鱼 ARM 工控机的煤矿主控系统高可靠运行方案——让井下控制系统告别“死机与重启”
arm开发·人工智能·嵌入式硬件·深度学习·机器学习
Brookty6 小时前
【算法】位运算| & ^ ~ -n n-1
学习·算法·leetcode·位运算
sheepwjl6 小时前
《嵌入式硬件(十八):基于IMX6ULL的ADC操作》
单片机·嵌入式硬件·imx6ull·adc
shenghaide_jiahu7 小时前
数学分析简明教程——1.4(未完)
学习