#define Ton 40
oid Inittime()
{
TMOD = 0x02; //定时器0,工作方式2,自动重装
TH0 = 256-Ton;
TL0 = 256-Ton;
ET0 = 1;
EA = 1;
TR0 = 1;
}
//定时器0中断
void time0() interrupt 1 using 0
{
Maikuan++;
}
void main()
{
uchar i = 0,j = 0; //初始化i,j
ENLED=0;ADDR0=0;ADDR1=1;ADDR2=1;ADDR3=1;
Inittime();
while (1)
{
//第1,3,5,7个灯半亮,其余的全亮。
for(i=254; i>0; i--)
{
while ( Maikuan!=20)
{
LED = 0x00;
}
while ( Maikuan!=200)
{
LED = 0x55;
}
Maikuan = 0;
}
程序我没全写上去,我就是不明白定时器初值为什么这样设定,还有i为什么从254开始--,还有 半亮和全亮,maikuan不是应该为100和200吗?我刚开始学单片机,很多不懂,虚心求教。 |