一 模式:1 T
时钟 22.1184M = 22 118 400hz = 一秒钟晶振震荡次数 22 118 400次
模式:1 T,就是晶振震荡一次记一次数
计时:1ms = 22 118 400 / 1000 = 22 118 400 * 0.001s = 22 118
软件生成:
TL0 = 0x9A; //设置定时初始值
TH0 = 0xA9; //设置定时初始值
10进制:43418
因为定时器是递减计数器,所以 65536 - 43418 = 22,118。
上面的意思:
1. 为什么是65536
答:应为在图片中我勾选的是16位自动重装载,所以是65536,如果是8位,就是256
2. 为什么是65536而不是65535
答:0xFFFF其实是65535,但是是从0开始计数的,0也算一次,所以是计数65536
三. 为什么 TL0 = 0x9A TH0 = 0xA9
答:应为定时器是向下递减计数器,从65536开始递减,递减次数22,118就是一毫秒时间。所以从65536开始递减,递减到43418就是一毫秒的时间,总共递减次数22,118
二 模式:12 T
时钟 22.1184M = 22 118 400hz = 一秒钟晶振震荡次数 22 118 400次
模式:12 T,就是晶振震荡12次记一次数
计时:1ms = 22 118 400 / 12 / 1000 = 22 118 400 / 12 * 0.001s = 1,843.2(去除小数点)
软件生成:
TL0 = 0xCD; //设置定时初始值
TH0 = 0xF8; //设置定时初始值
10进制:63693
因为定时器是递减计数器,所以 65536 - 1,843 = 63693。