#include <reg51.h>
#include <intrins.h>
sbit SPK = P2^2;
unsigned char frq;
void delayms(unsigned char ms);
main()
{
TMOD = 0x01;
frq = 0x00;
TH0 = 0x00;
TL0 = 0xff;
TR0 = 1;
IE = 0x82;
while(1)
{
frq++;
delayms(1);
}
}
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq;
SPK = ~SPK;
}
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
请问frq++是什么作用啊?它一直加下去不久是无限了吗?还有让TLO=frq是什么意思呢?
FRQ++,改变FRQ的内容,当定时0到,再把FRQ的值送给TL0,这样,定时器0的中断频率就回改
变
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |