基于51單片機(jī)的方波發(fā)生程序
這是一個(gè)最簡(jiǎn)單的程序,在定時(shí)器的控制下由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);}
---------------------------------------------------------------------------------------------------------------------------
還有一個(gè)程序:
//用中斷方式控制定時(shí)器方式1(16位定時(shí)器),完成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// 定時(shí)器0工作//TMOD=0X01;///這是設(shè)置定時(shí)器的工作方式:定時(shí)器0的方式1//TH0=0X3C;TL0=0XB0;//給定時(shí)器放初值//PT0=1;while(1){ if(num==4000){d0=!d0;num=0;}}}void timer0() interrupt 1{ TH0=0X3C;TL0=0XB0;// 中斷 定時(shí)器方式1定時(shí),當(dāng)定時(shí)到時(shí),TF0溢出標(biāo)志 自動(dòng)清零,//同時(shí)定時(shí)器的計(jì)數(shù)器計(jì)滿自動(dòng)清零,如果不加,則計(jì)時(shí)時(shí)間變化 num++;}
評(píng)論