2、让发光二极管以1HZ闪烁,设晶振频率为12MHz。
二、source program:
#include<reg52.h>
int n=0;
sbit D0=P1^0;
int main()
{
EA=1; //开总中断;
ET0=1;//开定时/计数器0;
TMOD=0x01;//设置T0为定时器且工作方式为方式1;
TR0=1;//启动定时器0;
TH0=(65536-50000)/256; //为定时器0高8位赋初值;
TL0=(65536-50000)%256; //为定时器0低8位赋初值;
while(1)
{
if(n==20) //判断n是否为20;若n为20,则进入主程序是LED闪烁一次;
{
n=0; //当n为20时,将n清零;
D0=~D0; //给使LED闪烁;
}
}
return 0;
}
void Timer0()interrupt 1
{
TH0=(65536-50000)/256; //每产生一次中断重装一次初值;
TL0=(65536-50000)%256;
n++;
}
1万+



被折叠的 条评论
为什么被折叠?



