#include<reg52.h> // 这是下图的程序,可以仿真 试试
#define uchar unsigned char
#define uint unsigned int
uchar i,t;
uchar code table[]={0xf6,0xed,0xdb,0xf6,0xed,0xdb}; // 发光二极管循环点亮可以有很多方法
uchar code tabled[]={0xaa,0x55,0xaa,0x55,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(uint z) // 延时程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
t=30;
while(1)
{
t++;
if(t==100) t=10;
for(i=0;i<20;i++) // 发光二极管 循环亮
{
P1=tabled[i];
delay(250); // 调用延时程序
}
}
}
追问请问一下你这个程序循环两次在哪体现的呀
51单片机流水灯依次点亮循环两次怎么实现?只循环两次!
define uchar unsigned char define uint unsigned int uchar i,t;uchar code table[]={0xf6,0xed,0xdb,0xf6,0xed,0xdb}; \/\/ 发光二极管循环点亮可以有很多方法 uchar code tabled[]={0xaa,0x55,0xaa,0x55,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef...
51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
这段代码实现了8个LED灯的流水点亮效果,先点亮第一个LED,等待600毫秒后,再点亮第二个LED,依此类推,直到所有LED都点亮,然后循环重复。
51单片机C程序实验LED灯:[2]左到右的流水灯
说明:实现一排灯从左到右依次一个一个点亮熄灭,实现流水灯 proteus电路图 元件清单:(分别是) 51单片机 电容 瓷片电容(也可用普通电容) 晶振 红色二极管 电阻 电路图的连接方法 程序清单 说明:本例有两种程序写法 第一种是入门级别比较基础的写法 先是依旧延时子程序,然后主程序利用直接赋值,与...
51单片机从中间到两边逐个点亮再从两边到中间逐个点亮程序?
这个流水灯程序最好用数组定义8个状态的灯,这样用for循环就可以实现了。简洁明了,易读性强,也容易理解。include<reg51.h> define uchar unsigned char code uchar ledtab[10]= { 0xff,0xe7,0xc3,0x81,0x00,\/\/中间开始逐渐点亮 0xff,0x7e,0x3c,0x18,0x00\/\/两边开始逐渐点亮 } void del...
51单片机中如何用汇编语言编写流水灯
第一种,总线方法实现流水灯。这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,加上延时函数,即可控制每个LED灯的亮灭。 第二种,移位方法实现流水灯采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这...
编写出单片机流水灯程序
该程序首先包含`reg51.h`头文件,它是8051单片机编程的标准头文件。在`main`函数中,通过无限循环实现流水灯效果。`P1 = 0xFE;`语句初始设置第一个LED点亮,随后在循环中通过`P1 = ~(0x01 << i);`语句将`P1`端口的每一位依次置为低电平(假设LED是低电平点亮),实现流水效果。`delay`函数...
51单片机C程序怎样把LED灯从左到右点亮然后又从右到左点亮然后循环
include<reg51.h> unsigned char ledtab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe} void delay(unsigned char a){ unsigned char i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ unsigned char i;while(1){ for(i=0;i<8;i++){P0=ledtab[i];delay(100);}...
实现单片机信号灯1-8依次循环点亮的程序怎么写
把各个花样写在子函数,中断中对变量加1,在判断是否大于5,大于5就对变量清零。因为你要5种花样。主函数判断变量的值,1时执行从左到右依次点亮,2时执行从左到右逐个依次熄灭。依次下去 include "reg51.h" \/\/ 包含头文件 define uchar unsigned char void delay02s(void) \/\/ 延时0.2s...
单片机的8位流水灯的问题,
哥们。你知道0xfe代表什么意思吗?51单片机的P1口有8个端口。0xfe表示最后一位为低电平也就是11111110.小灯当然会亮。然后a变量左移一位就是11111101,表示第二个灯亮其他灭。以此类推,不就是流水灯吗?还有,你的蜂鸣器和灯设置延迟50毫秒?那就相当于一直在响一直再亮。多延迟一会 ...
单片机 流水灯,每个LED点亮两次,依次向左循环
uchar unsigned charuchar led=0xfe;void delay(uchar a){uchar i;while(a--)for(i=0;i<120;i++);}main(){while(1) { P1=led; delay(200); P1=0xff; delay(200); P1=led; delay(200); P1=0xff; led=_crol_(led,1); }} ...