导航:首页 > 操作系统 > 单片机流水灯三个模式

单片机流水灯三个模式

发布时间:2022-10-22 04:26:21

‘壹’ 单片机中怎样定义一个按键控制转换三个模式

参考如下: 假设按键按下为低电平; if(key1==0) { while(key1==0);//弹起后执行 { 按键1需要执行的功能; } } if(key2==0) { while(key2==0);//弹起后执行 { 按键2需要执行的功能; } }

‘贰’ 单片机用外部中断0改变流水灯的方式(0~3共4种模式)。

外部中断一次给temp变量加一if(temp>=4){temp=0;}显示程序里就根据temp的值来确定流水灯的移动次数就可以实现了。

‘叁’ 单片机如何控制流水灯每三秒循环一次

for循环三次后,执行while(1); ,这是一条死循环语句,相当于暂停指令,停止在此处。因单片机没有暂停指令,只好用这行语句代替了。
如果3次后,需要保持亮或灭,可以换一下:
led=1;
led=0;这两行就行了。
在实现流水灯之前,我们有必要提一点,C51代码在写之前,要参考电路图来写。拿流水灯来说,我们来看图二,LED灯,也就是二极管,八只LED的正极通过一根总线接在+5V的电压上,再看图一,可知八只LED灯的负极接在LED、P2的8个I/O口上。根据二极管的导通条件可知,在单片机的IO口输出低电平时,才能点亮LED灯。

‘肆’ c51单片机独立按键控制三种流水灯

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharkeyval,led,led1;
sbitkey=P3^2;
voidext0()interrupt0
{
while(key==0);
keyval++;
keyval%=3;
}
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
led=0xfe;
led1=0x55;
while(1)
{
switch(keyval)
{
case0:P1=led;led=_crol_(led,1);delay(200);break;
case1:P1=led;led=_cror_(led,1),delay(200);break;
case2:P1=led1;led1=~led1;delay(200);brek;
default:break;
}
}
}

‘伍’ 单片机按键控制3个流水灯样式

把按键程序源代码发上来,别发图片,而且做的是长图,那程序根本没法看,发了也没用。这样,才方便复制并帮你改。可现在的图片,谁看都会头痛,还哪有心情帮你改,躲还来不及呢,谁愿意自找麻烦。

‘陆’ 如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环

用GPIO寄存器比如PA、PB、PC这类的整段寄存器。配合循环、移位和延时(软硬都可以)操作,就能很优雅地实现。

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

‘柒’ 51单片机中怎样用一个按键控制三种模式的流水灯,如控制流水灯流水速率(每按一下加速,到三后返回和第一次

#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit anjian = P1^0; //按键位
void delay(uint16 h) //延时程序
{
while(h--);
}
main()
{ uint8 k = 0 , i = 0;
P0 = 0xff;
anjian = 1;
while(1)
{
P0 = ~(1<<k++);
if(anjian == 0)
{
delay(200);
if(anjina == 0) i++;
if(i == 3)
i = 0;
}
switch(i)
{
case 0: delay(10000);break;
case 1: delay(20000);break;
case 2: delay(20000); break;
}
if(k==8) k=0;
}

}
//头一次回答问题,多多支持,全部知识都是自学的,但是我试验过可以符合你的要求运行,谢谢

‘捌’ 51单片机1按键切换3种不同状态的c程序

主程序大致是这样的
flag=0;//记录按键次数
While(1)
{
if(key==0){delayms(20);if(key==0)flag++;}//按键检测
if(flag==3)flag=0;
if(flag==0){正向流水}
else if(flag==1){反向流水}
else {间隔流水}
}存在问题,由于流水灯执行时间较长,因此对按键响应缓慢,可以在流水灯之间加入按键检测语句,当检测到按键按下时,用break语句退出当前循环

‘玖’ 51单片机C程序:如何实现一个按键长按3秒进入程序,再长按3秒关机,短一次却换流水灯切换模式,共3种模式

长按3秒进入程序可以这样
while(1)
{
if(key==0)//按键按下
{
cnt++;

if(cnt>300)
{
cnt=0;//到3秒,退出本循环进入下一段程序
break;
}
dely(10);//延时10毫秒
}
}

while(1)
{
...//此为主程序段
}

‘拾’ 单片机流水灯

P0口控制,先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;不过这个程序实现的应该是这样的
先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动;再从中间往两边流动(延时0.1s)
#include< reg52.h>
#include< intrins.h>//头文件
#define uint unsigned int
#define uchar unsigned char//声明用unit代替unsigned int,下个同理
void delay();
void main()
{ uchar temp,temp1,temp2,a,b;
while(1)
{ for(b=3;b>0;b--)
{ temp=0xaa;
P0=temp;
delay();
temp=0x55;
P0=temp;
delay();//调用延时函数
}
for(a=3;a>0;a--)
{ temp=0xfe;
for(b=7;b>0;b--)
{ P0=temp;
temp=_crol_(temp,1);
delay();
P0=temp;
delay();
}
}
temp1=0xfe;
temp2=0x7f;
for(a=8;a>0;a--)
{
temp=temp1&temp2;
P0=temp;
delay();
temp1=_crol_(temp1,1);
temp2=_cror_(temp2,1);
}
}
}
void delay()
{ uint a,b;
for(a=100;a>0;a--)
for(b=100;b>0;b--);
} //延时函数
希望可以帮助到您

谢谢

阅读全文

与单片机流水灯三个模式相关的资料

热点内容
服务器怎么用不会断电 浏览:300
主从服务器有什么用 浏览:213
jstlpdf 浏览:14
安卓原神在哪个app下载 浏览:808
单片机编程技术什么意思 浏览:104
e点课堂源码 浏览:45
免费打击垫app哪个好 浏览:532
程序员必装的6款软件 浏览:750
基于单片机的遥控器设计 浏览:521
安卓如何取消圆图标 浏览:11
收件服务器怎么样 浏览:48
建筑设计规范pdf 浏览:98
如何合并两个pdf 浏览:174
刷机包必须要解压的单词 浏览:483
android课表实现 浏览:864
头条app在哪里能看见有什么活动 浏览:511
冰柜压缩机电容80欧 浏览:609
安卓各个版本图标什么样 浏览:152
无锡哪里有制作手机app 浏览:538
php字符串转json数组 浏览:6