51单片机1按键切换4种不同状态的灯的c程序??可以是正闪,反闪,多种间隔闪。

51单片机1按键切换4种不同状态的灯的c程序??可以是正闪,反闪,多种间隔闪。,第1张

以下是一个简单的51单片机程序,通过按下按键可以实现4种不同状态的灯亮灭,包括正闪、反闪、多种间隔闪。程序中使用了定时器来实现闪烁功能。

程序中使用了P1.0到P1.3作为控制灯的引脚,P3.2作为按键的引脚。每当按下按键时,通过判断状态值来切换不同的灯亮灭模式。定时器中断函数用来实现灯的闪烁,可根据需求自行调整闪烁频率。

编程不易,忘采纳

1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示

2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。

3、接着创建延迟函数,如下图所示,输入以下代码。

4、然后创建C语言主函数,如下图所示,输入以下代码。

5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。

#include <reg52.h>     //包括一个52标准内核的头文件

#define uchar unsigned char

/******************************主函数*****************************/

void timer0()

void main() // 主程序

{

TMOD=0x01 //定时器0工作方式1

EA=1

ET0=1 //定时器0中断

TR0=1 //启动定时器0

TH0=(65536-50000)/256

TL0=(65536-50000)%256

while(1)  //程序循环

}

/*****************************定时器0中断*************************/

void timer0() interrupt 1

{

uchar t//定义变量

TF0=0//定时器清0

t++ //中断一次累加1

if(t==20) //预置值,溢出20次就是1秒钟,晶振12MHZ

{

t=0

P3=~P3 //反转LED灯的亮灭

}

}

/*****************************************************************/


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7818575.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存