?緣由C語言怎么編可中斷取反流水燈-編程語言-CSDN問答
用P1口做輸出口,接八只發光二極管。編寫程序,使發光二極管循環點亮,循環點亮時間間隔為1秒,該時間間隔用定時器中斷實現。/ INT0 接單次脈沖輸出,每當有外部中斷信號時,發光二極管循環方向取反。 請問用C語言怎么編?
#include "reg52.h"
unsigned char Js=0;
bit k=1;
void zdsz()
{TH0+=(65536-9216)/256;/*定時器賦初值,定時10ms觸發中斷,自動補償方式*/TL0+=(65536-9216)%256; TMOD=0X01;//16位定時器/計數器ET0=TR0=EA=EX0=IT0=1; //啟動定時器T0開啟定時器。
}
void main()
{unsigned char Xd=0;unsigned int d1=0;zdsz();while(1){if(Js==100){P1=255-(k?(d1*=2)/2:(d1/=2));Js=0;}if(k&&d1>=256)d1=1;else;if(!k&&d1==1)d1=256;else;if(k&&!d1)d1=1;else;}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=(65536-9216)/256;TL0+=(65536-9216)%256;
}
void zd() interrupt 0
{k=!k;
}