单片机控制8个灯依次亮,全亮了,再依次灭的c语言流程图,顺便加上解释,不然看不懂

如题所述

1、创建项目,如图所示。

2、创建延迟函数。

3、创建C语言主函数。设计unsigned char k=0;变量。

4、添加循环效果。

5、点亮灯,通过k++,改变效果。

6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-23
/***假设单片机输出是点亮灯******************/
#include ...
sbit led0  = P1^0;
....
sbit led7 = P1^7;

void delays(int s)
{
...
}
void main()
{
   
   while(1)
   {
       led0 = 1;
       ...
       led7 = 1;
       delays(1);//全亮
       
       led0 = 0;
       delays(1);//灭0
       
       led1 = 0;
       delays(1);//灭1
       
       led2 = 0;
       delays(1);//灭2
       
       led3 = 0;
       delays(1);//灭3
       
       led4 = 0;
       delays(1);//灭4
       
       led5 = 0;
       delays(1);//灭5
       
       led6 = 0;
       delays(1);//灭6
       
       led7 = 0;
       delays(1);//灭7
   }
}

省略号处自己添加,思想是这样的。

本回答被网友采纳
第2个回答  2015-11-18
一个最直观的。
#include<reg51.h>//声明头文件
#define led P1
#define uint unsigned int
void delay(uint i)//延时函数
{
uint j;
while(i--)
{
for(j=0;j<120;j++);
}
}
void main()
{
while(1)
{
led=0X00;delay(1000);
led=0X01;delay(1000);
led=0X03;delay(1000);
led=0X07;delay(1000);
led=0X0f;delay(1000);
led=0X1f;delay(1000);
led=0X3f;delay(1000);
led=0X7f;delay(1000);
led=0Xff;delay(1000);
led=0X7f;delay(1000);
led=0X3f;delay(1000);
led=0X1f;delay(1000);
led=0X0f;delay(1000);
led=0X07;delay(1000);
led=0X03;delay(1000);
led=0X01;delay(1000);

}

}本回答被网友采纳

单片机控制8个灯依次亮,全亮了,再依次灭的c语言流程图,顺便加上解释...
1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

单片机控制8个灯依次亮,全亮了,再灭的c语言流程图和程序,顺便加上解释...
include<reg51.h>#define uchar unsigned charvoid delay(uchar a){uchar i;while(a--)for(i=0;i<120;i++);}main(){uchar i,led;while(1) { led=0xfe; for(i=0;i<8;i++) { P0=led; delay(200); led=led<<1; } P0=0xff; delay(200); ...

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
void delay(uint); \/\/声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个流水灯反向逐个闪动 { P1=~temp;delay(100);...

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)_百度...
P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮 delay();} }

C语言控制单片机,控制八个流水灯从左到右依次亮,最后又从右到左依次亮...
假设P1接8 个LED,高电平时LED点亮,主程序如下:void main(void){ uchar i;while(1){ for(i=0;i<7;i++){ P1=1<<i;delay_ms(500);} for(i=0;i<7;i++){ P1=0x80>>i;delay_ms(500);} } }

8个彩灯依次点亮,求电路图和工作原理。
C语言1:\/*该实验是流水灯(8个发光二极管循环点亮),功能是8个发光二极管循环以1S间隔点亮*\/ include<reg52.h>\/\/包含reg.52文件 define uint unsigned int\/\/宏定义 define uchar unsigned char\/\/宏定义 void delay(uint z);\/\/声明延时函数 uint a;\/\/定义循环用变量 uchar code table[]={ 0x...

单片机编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化...
假如:P0口接8个LED,程序可以这样:include<reg52.h> define uchar unsigned char define uint unsigned int sbit led1= P2^0;uchar num;\/ 延时t毫秒 11.0592MHz时钟,延时约1ms \/ void delay(uint s){ uchar k;while(--s){ for(k=0; k<125; k++) ;} } void main(){ uchar i,...

设计8个流水灯灯从中间依次向两边闪烁的C语言程序,不胜感激
1.51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z的...

单片机怎么实现一个开关控制八个灯按一下亮一个按八下八个灯都亮汇编...
用一个寄存器做变量就可以。假如按键是一个开个,接在P1.0,八个灯在P0,低电平灯亮 程序是这样的 MOV 30H ,#00 LOP :SETB P1.0 JNB P1.0, PRESS AJMP LOP PRESS:INC 30H MOV A,30H CJNE A,#9,L_NEXT MOV 30H,#1 L_NEXT:JNB P1.0,MOV A,30H CJNE A,#1 ,LED1...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
P0 = 0x00; \/\/P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;\/\/点亮前两个发光二极管P0.0和P0.1;delay(1000);\/\/延时1秒 P0 = 0x30;\/\/点亮第三个和第四个LED delay(1000);P0 = 0x0c;delay(1000);P0 = 0x03;} } 二、include <reg52.h>...

相似回答