如何设单片机晶振频率是12MHz?

设单片机晶振频率是12MHz,试用中断技术,利用定时器控制一发光二极管LED闪烁,闪烁周期为1S,要求亮0.5S,再暗0.5S。... 设单片机晶振频率是12MHz,试用中断技术,利用定时器控制一发光二极管LED闪烁,闪烁周期为1S,要求亮0.5S,再暗0.5S。 展开
 我来答
c3344c
推荐于2019-08-11 · TA获得超过2418个赞
知道小有建树答主
回答量:966
采纳率:57%
帮助的人:683万
展开全部
main ()
{
TMOD = 0x01;//使能T0定时器工作于16位定时/计数方式
TH0 = 0x3C;//T0定时器50mS定时初值,此值按照12MHz频率计算出来的(假定是51单片机
TL0 = 0xC0;
ET0 = 1;//允许定时器T0中断
EA = 1;//开中断
TR0 = 1;//定时器T0开始计数
while(1);//在这里死循环,等待T0中断发生
}

Timer0_int() interrupt 1 //定时器T0中断函数,每中断1次50mS
{
static unsigned char i = 10;//定义1个用于中断次数计数的静态变量
if(i)i--;//如果变量为真,减量计数
else{ //中断次数达到10次,10 * 50mS = 0.5S
LED = ~LED;//LED的状态取反(由亮变灭或由灭变亮)//LED用那根I/O自己定义
i = 10;//为下1个0.5S的中断次数计数重新赋值
}
TH0 = 0x3C;//恢复定时器T0初值
TL0 = 0xC0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式