㈠ 51单片机 按键按下去 计数一次 程序应该怎么写
在按键按下后,用循环语句,等待抬起计数
if(按键按下)
{
延时;
if(按键按下)
{
while(按键没有松开);//如果按键没有松开,程序会停在这里
count++;//按键松开后,程序会运行到这里,计数值加1
}
}
㈡ 单片机c语言编了个流水灯,用按键怎么实现它暂停。
实现流水灯的方式有很多种(中断,定时器,延时等等),看用哪种方式,最简单的是延时做流水灯,那么在死循环里面增加按键检测,判断出有按键按下来时,再进入死循环,程序不往下走就可以暂停,再按跌出死循团拍世环。
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
uint Flag1=0; 按键标志位
uint Flag2=0;
while(1)
{
Flag1 = keyscan();
if(Flag1==1)(Flag2=~Flag2); //如果一旦检测到一次按键扫描就把标志位2 打开;再次就关闭;
if(Flag2==1)// 如果标志位打开就开始流水灯
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp<<=1;
}
}
(2)51单片机通过按键暂停程序扩展阅读:
单片机编程就是硬件贺瞎是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分通过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用塌肢高级语言来写然后通过编译器转化成汇编。
㈢ 51单片机LED按键延时3秒一次点亮,取反按键依次熄灭程序是怎么写的
现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相当于三档,第三档是停止。第一档和第二档定时5S,5S终了,停止运行,如果此时再按1次则回到第一档。如果5S之内按下,则切换到下一档,实现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相当于三档,第三档是停止。第一档和第二档定时5S,5S终了,停止运行,如果此时再按1次则回到第一档。如果5S之内按下,则切换到下一档。