利用定时器输出周期为100ms的方波。设单片机时钟频率为6MHz

如题所述

第1个回答  2009-06-14
6Mhz 一个机器周期2US。 计数50000次时间为50000*2US=100MS。
OK了
void main()
{
TMOD=0x01;
TH0=(62256-50000)/256;
TL0=(62256-50000)%256;
TR0=1;EA=1;EX0=1;
while(1);

}
void time0(void) interrupt 1
{
TH0=(62256-50000)/256;
TL0=(62256-50000)%256;
P1^0=~P1^0
}

不用注释了吧?本回答被提问者采纳
第2个回答  2009-06-14
START: MOV TMOD,#01H
MOV TH0,#**
MOV TL0,#**
SETB TR0
LOOP1:JNB TF0,LOOP1
CLR TF0
LOOP2:MOV TH0,#**
MOV TL0,#**
CPL P1.0
SJMP LOOP1
**的值计算 100MS的方波 那么设每50MS一次溢出
50 000US=(65535-X)2US
用X的值除以256 商给TH0 余数给TL0