单片机_CT107D训练平台电路原理图\蓝桥杯训练板\ 555 方波发生器\ NE555芯片\

信号发生模块

配置一个 555 方波发生器,可以产生实验所需的 200Hz 到 20Khz 的方波信号。

在这里插入图片描述

一、简介

1、NE555在开发板中用于输出频率可变,占空比不变的方波。
2、NE555是纯硬件的设计,通过电位器RB3可改变其信号输出频率。不需要编程实现其功能。
考点:使用定时器的计数模式测量NE555输出的频率

二、应用

考点:使用定时器的计数模式测量NE555输出的频率
实现:
1、定时器0的计数模式计脉冲的个数。
使用STC-ISP软件生成函数后,修改TMOD,TR0

void Timer0Init(void)		//0秒@12.000MHz
{AUXR |= 0x80;		//定时器时钟1T模式TMOD |= 0x05;       //0x04 0x05都可TL0 = 0x00;		    //设置定时初始值TH0 = 0x00;		    //设置定时初始值TF0 = 0;	    	//清除TF0标志TR0 = 0;		          
}

2、定时器1定时1s,处理脉冲的个数,得到脉冲频率。
记得允许定时器1中断和允许总中断

void Timer1Init(void)		//1毫秒@12.000MHz
{AUXR |= 0x40;		//定时器时钟1T模式TMOD &= 0x0F;		//设置定时器模式TL1 = 0x20;		//设置定时初始值TH1 = 0xD1;		//设置定时初始值TF1 = 0;		//清除TF1标志TR1 = 1;		//定时器1开始计时ET1 = 1;        //开启定时器中断  EA = 1;         //开启总中断
}void TIME1() interrupt 3
{value++;if(value==500){TR0 = 0;value=0;fre=TH0<<8;fre+=TL0;TH0=0;TL0=0;TR0=1;}
}

设置完后记得初始化

NOTES:
1、数据提取(NE555输出频率的范围为500Hz-20000Hz,故需要5个数码管进行显示)

void Display_fre()
{SMG_Display(0,15);if(fre>9999)SMG_Display(3,fre/10000);if(fre>999)SMG_Display(4,fre/1000%10);if(fre>99)SMG_Display(5,fre/100%10);if(fre>9)SMG_Display(6,fre/10%10);if(fre>0)SMG_Display(7,fre%10);
}

2、设置TMOD时,先后的赋值方式

TMOD = 0x04;       //设置定时器0计数器模式	
TMOD &= 0x0f;      //设置定时器1 16位自动重装载模式

由stc15的库文件中可以看到,TMOD的复位值为0000,0000
故TMOD &= 0x04; 是无效的赋值方式 可以TMOD = 0x04; 或TMOD |= 0x04;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部