基于51單片機的方波發(fā)生程序
這是一個最簡單的程序,在定時器的控制下由p1.0腳發(fā)出500赫茲的方波要求:6MHz的晶振,P1.0引腳產(chǎn)生500Hz的方波代碼如下:#includereg52.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 //#includereg52.h>#define uchar unsigned char#define uint unsigned intsbit d0=P0^0;uint num,a,b;void main(){EA=1;ET0=1;TR0=1;//或者是TCON=0X10// 定時器0工作//TMOD=0X01;///這是設(shè)置定時器的工作方式:定時器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定時,當(dāng)定時到時,TF0溢出標(biāo)志 自動清零,//同時定時器的計數(shù)器計滿自動清零,如果不加,則計時時間變化 num++;}
評論