一、NE555电路
二、注意事项
1.我们只需要读取NET_SIG引脚上电平的变化,我们可以通过P34引脚读取,因此在读取之前,我们需要使用跳线帽。将J13上的P34和NET_SIG短接
2.P34引脚同时是定时器/计数器0的外部输入引脚,所以在这块开发板上,我们必须使用Timer0来测量输出频率
3.该信号的频率大小可以通过Rb3可调电位器改变
4.P34引脚同时也是矩阵按键引脚,要注意NE555与矩阵按键的冲突问题
5.测量的频率范围大概在80-34KHZ(每块开发板不一样,大差不差即可,小了可能50HZ,多了可能38KHZ)
三、编程实现方法(两种方法,main.c都一样)
第一种:计数器手动重装载,不需要开中断
ne555.c文件
#include "ne555.h"
u16 frequ_cnt = 0;
void Timer0_Init(void) //100微秒@12.000MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x05; //设置计数模式
TL0 = 0x00; //设置定时初始值
TH0 =