TH0 = 0xf6;
TL0 = 0xff;
TH1 = 0xfd;
TL1 = 0xfd;
TMOD = 0x21;
PCON = 0x00;
WDCON = 0x00;
SCON = 0x50;
SCON1 = 0x40;
这段程序是什么意思?起的作用是什么?为什么要这么写?
TH0 = 0xf6;
TL0 = 0xff;
上两行是定时器/计数器T0的初值,因为T0是16位的,所以用TH0表示高八位,TL0表示低八位
TH1 = 0xfd;
TL1 = 0xfd;
T1初值
TMOD = 0x21;
定时器/计数器模式控制寄存器 如图
GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1
GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
C/T=0时为定时功能,C/T=1时为计数功能
M0、M1——方式选择功能
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
PCON = 0x00;
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器
WDCON = 0x00;清狗
SCON = 0x50;
SCON1 = 0x40;
串口控制寄存器
追问TMOD=0x21;表示的是T1是方式2,T0是方式1吗?是不是TR0=1,TR1=1才启动T0和T1?
追答TMOD=0x21,表示的是T1是方式2,T0是方式1。
TR0=1,TR1=1时启动T0和T1,但是还跟GATE有关,当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1;当GATE=1,且INT1为高电平时,TR0置“1”启动定时器0;当GATE=0,TR0置“1”启动定时器0。
你先让GATE=0,就是你说的那样了。
能否加下QQ?我还有很多问题不懂。。
追答1012638939 注明你是谁