|
#include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義 sbit OUT=P1^2; //定義OUT輸出端口 /*------------------------------------------------ 定時(shí)器初始化子程序 ------------------------------------------------*/ void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響 //TH0=0x00; //給定初值,這里使用定時(shí)器最大值從0開始計(jì)數(shù)一直到65535溢出 //TL0=0x00; EA=1; //總中斷打開 ET0=1; //定時(shí)器中斷打開 TR0=1; //定時(shí)器開關(guān)打開 } /*------------------------------------------------ 主程序 ------------------------------------------------*/ main() { Init_Timer0(); while(1); } /*------------------------------------------------ 定時(shí)器中斷子程序 ------------------------------------------------*/ void Timer0_isr(void) interrupt 1 using 1 { TH0=(65536-500)/256; //重新賦值 12M晶振計(jì)算,指令周期1uS, TL0=(65536-500)*256; //1mS方波半個(gè)周期500uS,即定時(shí)500次 //溢出然后輸出端取反 OUT=~OUT; //用示波器可看到方波輸出 } |
|