;注意,题目要求是:使用定时器1。
;下列程序,才是正确的:
ORG 0000H
LJMP START
ORG 001BH
MOV TH1, #3CH
MOV TL1, #0B0H
CPL P1.1
RETI
START:
MOV TMOD, #10H
MOV TH1, #3CH
MOV TL1, #0B0H
SETB TR1
MOV IE, #88H
SJMP $
END
#include
sbit PWM=P1^1;
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0x0B0;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x3C;
TL0 = 0x0B0;
PWM=~PWM;
}
/*******************************************************************************************************/
/*******************************************************************************************************/
#include
sbit LED=P1^1;
int n;
void Time1(void);//定时器初始化
/*******************************************************************************************************/
/*******************************************************************************************************/
void main(void)
{
n=0;
Time1();
while(1);
}
/*******************************************************************************************************/
/*******************************************************************************************************/
void int1() interrupt 1 //中断
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
n++;
if(n>100)//间隔时间
{
n=0;
LED = ~LED;
}
}
/*******************************************************************************************************/
/*******************************************************************************************************/
void Time1(void)//定时器初始化
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;//启动定时器
}
/*******************************************************************************************************/
/*******************************************************************************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////////////