TMOD=0x15; TH0=0; TL0=0; TH1=(65536-2000)⼀256; TL1=(65536-2000)%256; 这段什么意思

为什么有的是65536-2000 ;有的65536-4000;有的-50000
2025-05-18 15:08:15
推荐回答(2个)
回答1:

这个TMOD =0x15;是高四位的M0=1 低四位的M0=1,C/T=1;
GATE C/T M1 M0 GATE C/T M1 M0
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为波特率发生器 TMOD=0x03

TH0 TH1 是定时器1 是定时器0计数
为什么有的是65536-2000 ;有的65536-4000;有的-50000 这个可以自己设置的。MCS-51计数器是一种加1计数器。当计数溢出时,即产生中断。 你是2000 4000 50000都可以 就看你在写定时中断程序时 计数多少次就会溢出。。。像50000 的话 一般计数20次 就是计满一次

回答2:

TH0=(65536-50000)/256
TL0=(65536-50000)%256
然后循环20次就行了