点亮流水灯--数组法

/* Main.c file generated by New Project wizard
 *
 * Created:   周一 五月 8 2017
 * Processor: 80C51
 * Compiler:  Keil for 8051
 */

#include <reg51.h>
#include <stdio.h>
//延时函数
void delay(){
    int i=10000;
    //用while循环来做兜底循环
    while(i--);
}
//主函数
void main(void)
 {
   int i;
     //定义流水灯数组
     char led[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
     //for循环点亮流水灯
     for(i=0;i<8;i++)
     {
         //给P2端口送led[i]值
         P2=led[i];
         //调用延时函数
         delay();
         //消影
         P2=0xff;
         //再次调用延时函数
         delay();
     }
 }

时间: 2024-10-17 08:56:12

点亮流水灯--数组法的相关文章

点亮流水灯--位移法

点亮流水灯之位移法 1 #include <reg51.h> 2 #include <stdio.h> 3 //延时函数 4 void delay(){ 5 int i=10000; 6 //用while循环来做兜底循环 7 while(i--); 8 } 9 //主函数 10 void main(void) 11 { 12 int i; 13 char p; 14 while(1) 15 { 16 //点亮第一盏灯 17 P2=0xfe; 18 //调用延时函数 19 delay

STM32f103之流水灯

       这几天打算复习下stm32有关的硬件资源,就想着从最开始做起,熟悉下当初所学的知识.学习stm32最初都基本是从流水灯开始的,今天就开始点亮流水灯.        首先,必须明白流水灯的硬件原理,以下是原理图: 它由8个管脚控制,因此首先必须进行初始化8个引脚. //初始化PE8...PE15为输出口.并使能这八个口的时钟 //LED IO初始化 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2P

定时器---实现流水灯循环移位点亮

程序功能:用T0计时器,采用方式1实现流水灯的循环移位点亮. 声明:采用T0技术,工作于方式1 间隔1秒点亮,定时50ms,20次. 初值计算:65536-50000=3CB0H ;利用T0产生1s定时 ORG 0000H AJMP MAIN ; ORG 000BH ;T0定时服务子程序入口地址 AJMP SERVE ; ORG 0100H ; MAIN:MOV SP,#60H ; MOV B,#14H ;20次 MOV TMOD,#01H ;设置方式1 MOV TL0,#0B0H ;定时器赋初

毕业回馈-89C51之GPIO使用(流水灯)

今天分享一个89c51制作的8位流水灯案例.使用Proteus仿真. 同上一遍文章不同.上一篇文章中对于GPIO操作主要是位操作,即sbit led1=P0^0;其中P0^0代表p0.0这个引脚,然后在这样位定义以后就可以对led1这个变量进行赋值操作,控制led灯的亮灭闪烁.今天要分享的是一次性对P1.0-P1.7进行操作. 89c51单片机是以51为内核的8位处理器,可以很方便的实现8位数据的操作. 所使用的电路原理图如下: 使用200Ohm的电阻进行限流,LED灯采用阴极接法,即LED灯的

永远的流水灯(Verilog)

1. 为了更好地学习FPGA和深入理解Verilog语法,首先从最简单的流水灯做起.虽然简单,但是也包含了不少知识.通过这次实验项目,可以了解开发软件的使用及Verilog的编程方法,熟悉模块化设计的方法. 2. 该项目主要实现的功能为: (1)10位的流水灯 (2)中间两个led灯每隔100ms闪烁一次 (3)两边的led灯每隔100ms流动一下,从中间向两边流水. 3.  具体实现如下 (1)首先定义一个时间计数寄存器counter,每当达到预定的100ms时,计数寄存器就清零,否则的话寄存

2. 流水灯小计

流水灯里面注意的问题 在学习单片机时我们刚开始都是通过点亮一个LED灯来给我们自己一个真实的直观的认识,因此在建立的第一个FPGA工程的时候,我们也使用了一个点亮LED的范例,这里我们将讨论在FPGA中如何实现点亮LED这一话题. 1.程序编写  一般FPGA的核心电平是1.2V,管脚电平是3.3V,所以,要想点亮哪个LED,只要给连接的那个管脚赋0,不点亮赋1就可以了(注意此处对管脚赋0或1取决于硬件电路的设计,一般来讲如果LED的负极挂接在FPGA的IO口上时则赋0点亮,反之赋1点亮). 点

C51单片机实现呼吸灯和花样流水灯程序

1.用C51单片机实现花样流水灯,代码如下: #include <reg52.h> #define LED_A P1 //led灯所用的接口,是哪个口就写P几void delayms(){ unsigned char x = 0; unsigned char i; unsigned char y = 0; while(y < 0.001) //定义led灯的切换的延时时间,越小越快. {   //(y < 0.001);(x<100);(i<100)都可以修改 x =

呼吸灯和花样流水灯 51单片机实现

1.用C51单片机实现花样流水灯,代码如下: #include <reg52.h> #define LED_All P1 //led灯所用的接口,单片机接口不同,led灯不同void delayms(){unsigned char x = 0; unsigned char i;unsigned char y = 0;while(y < 0.001) //定义led灯的切换的延时时间,越小越快{   //i,x,y均可以修改x = 0; while(x<100){i = 0;whil

四位流水灯Led_4

流水灯实验是我们学习开发板或语言的入门程序,通过流水灯这个可视化的实验,会增加我们对学习语言的乐趣, 会让我们觉得其实语言也是可以玩出花样的,接下来呈上代码,大家可以下到自己的板子里试试,. //Led_4.v module Led_4(clk,rst,led); input clk; input rst; output [3:0] led; reg [3:0] led; always @(posedge clk or negedge rst) begin if(!rst) begin led