這是一個最簡單的程序,在定時器的控制下由p1.0腳發出500赫茲的方波 要求:6MHz的晶振,P1.0引腳產生500Hz的方波 代碼如下: #include<reg52.h> sbit P1_0=P1^0; void int_X_T() { IE=0x82; TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%256; TR0=1;?? ?? } void int_x() interrupt 1 { TH0=(65536-500)/256; TL0=(65536-500)??%256; P1_0=!P1_0; } void main()?? { int_X_T(); while(1); }
---------------------------------------------------------------------------------------------------------------------------
還有一個程序:
//用中斷方式控制定時器方式1(16位定時器),完成1s的脈沖,1S亮,1S滅,P0口控制LED // #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit d0=P0^0; uint num,a,b; void main() { EA=1; ET0=1; TR0=1;//或者是TCON=0X10// 定時器0工作// TMOD=0X01;///這是設置定時器的工作方式:定時器0的方式1// TH0=0X3C; TL0=0XB0;//給定時器放初值// PT0=1; while(1) { if(num==4000) { d0=!d0; num=0; } } } void timer0() interrupt 1 { TH0=0X3C; TL0=0XB0;// 中斷 定時器方式1定時,當定時到時,TF0溢出標志 自動清零, //同時定時器的計數器計滿自動清零,如果不加,則計時時間變化 num++; }