#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.raoushi.com/bbs/) | Powered by Discuz! X3.1 |