📄 测波笔.c
字号:
/********************************************
测波笔
功能:检测有无高低电平变化 如果有变化点亮LED 如果0.5s没变化 熄灭LED
*********************************************/
#define uint unsigned int
uint PSAVE;
uint PSAVE0;
uint NUM;
#include <REG5410AD.h>
/***********************************************
P2.0 檢測
P1.0 輸出控制LED
***********************************************/
INIT()
{
P1M0 = 1;
P1M1 = 0;//設置為推挽輸出
P2M0 = 0;
P2M1 = 1;//設置為輸入
P3M0 = 1;
P3M1 = 0;//設置為推挽輸出
CLK_DIV = 0; //1T工作模式 常温下内部时钟的频率 5.2M~6.8M
}
void main(void)
{
INIT();
while(1)
{
uint i;
PSAVE0 = P2&0x01;
for(i=0;i<0xDC;i++)
{
for(i=0;i<0xFF;i++) //9us 1次循环
{
PSAVE = P2&0x01; //采样口状态
if( PSAVE != PSAVE0 )
{
P1 = 1; //TURN ON
PSAVE0 = PSAVE; //如果口状态变化 点亮LED 并且把此时口的状态设置为初始口状态
}
if(PSAVE == 1 )
{
P3 = 1; //点亮 绿色LED 表明是高电平
}
else
{
P3 = 0;
}
}
}
if(PSAVE == PSAVE0) //0.5s后还不变化就关闭LED
{
P1 = 0; //TTURN OFF
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -