基于51单片机的方波发生程序
这是一个最简单的程序,在定时器的控制下由p1.0脚发出500赫兹的方波要求:6MHz的晶振,P1.0引脚产生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;///这是设置定时器的工作方式:定时器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++;}
评论