《51单片机定时器小练习》—利用定时器实现方波发生器

索引

    • 任务要求
    • Proteus仿真图
    • 程序代码

如果有朋友对定时器还不太了解,可以看一下这篇文章
链接: 《单片机定时器总结》—用最简洁的方式学会51单片机定时器。.

任务要求

  • 采用T0定时器方式2在P1.0口输出周期为0.5ms的方波。

Proteus仿真图

《51单片机定时器小练习》—利用定时器实现方波发生器_第1张图片
方波的实现
《51单片机定时器小练习》—利用定时器实现方波发生器_第2张图片

程序代码

#include"reg51.h"
void Timer0Init(void);
unsigned int tt;
sbit Fangbo=P1^0;
void main()
{
     
	Timer0Init();
	while(1);
	
}

void Timer0Init(void)		//设置1us定时一次
{
     

	TMOD=0x02;		//设置定时器模式
	TL0 = 0xFF;		//设置定时初值
	TH0 = 0xFF;		//设置定时重载值
	TF0 = 0;		//清除TF0标志
	TR0 = 1;		//定时器0开始计时
	EA=1;
	ET0=1;
}
void Time0() interrupt 1
{
     
	tt++;
	if(tt==250)//每当经过250us,P1^0电平翻转一次。
	{
     
		tt=0;
		Fangbo=~Fangbo;
	}
}
		

你可能感兴趣的:(单片机,嵌入式)