单片机编程做流水灯怎么做,LED1,3,5灯亮0.5秒!求大神帮帮忙,谢谢了!

作者&投稿:钮尹 (若有异议请与网页底部的电邮联系)
51单片机用汇编编程使用定时器0,用定/计数器T0中断的方法定时0.5秒,使8个流水灯依次点亮,每个灯亮0.5秒~

改动如下:
……
INT_SUB:
MOV TH0,#3CH;重新给定时/计数器设初值
MOV TL0,#0B0H
DJNZ R7,LOOP;判断记时次数是否够,一次50毫秒,共十次
RL A
MOV P1,A
MOV R7,#10;重新给计时循环次数赋值
LOOP:
RETI

END

这就可以了。

1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。

2、#include "reg51.h"首先写出单片机的头函数。

3、#include "intrins.h"输入位移函数。

4、unsigned int count=0,led;定义函数。

5、输入主函数,定义单片机的端口,写入延时函数。

6、中断跳转,使流水灯运行起来。

来,送你个程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P2^0;
uchar j = 0;
void main()
{
TMOD = 0x01;
TH0 = (0xffff - 50000) >> 8; //50ms中断一次
TL0 = (0xffff - 50000) & 0xff;
EA = 1;
ET0=1;
TR0 = 1;

while(1)
{
}
}
void Time0_Int() interrupt 1
{
TH0=(65536-50000) >> 8;
TL0=(65536-50000) & 0xff;

if(++j >= 10)
{
j=0;
LED = !LED;
}
}

这个很简单啊;


16个LED流水灯如何编程
如果单片机16个脚,那么用两层循环或者取余数搞定。两层循环 i=0;无限循环 { 循环i=0 到i=15 { 点亮发光管i 延时(由你定)熄灭发光管i } }

求单片机编程高手 流水灯不是来回亮的 我本来设计是1~8~1 但是只有1...
我来理解下:p1=0xfe; \/\/设置端口输出 P1=_cror_ (P1,1); \/\/设置端口输出高电平(或者低电平)我觉得你的程序可以这么改,进入while循环之前,将1~8所用的引脚设置为输出方向,接着在while循环里面仅仅设置端口引脚输出的高低电平,这样应该可以完成;程序上你很可能是:for( l=6;l>=0;...

做一个双向流水灯,怎样用if else语句编程?万分感谢!!!
假设有10个灯:d(10),d(n)=true表示亮:i=3 ‘表示想3号灯亮 for n=0 to 9 if n=i then d(n)=true else d(n)=false end if next

求高手教 编程8盏流水灯的程序C语言的
8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,一直重复下去 include<reg52.h> include <intrins.h> define uint unsigned int define uchar unsigned char uchar temp,num,num1;void delay(uint);void main(){ temp=0xfe;while(1){ for(num1=0;num1<3;num1++) \/\/八个...

设计一个流水灯的实验,是6个led灯依次亮起来,请问可以帮我编写一下...
;实验目的:本程序主要实现一个简单的流水灯程序 ;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。);硬件要求:拨码开关S2全部置ON。include ;调用头文件 __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;芯片配置字,...

普通灯带怎么变成流水灯
2、连接控制器:将LED控制器连接到灯带上,确保控制器上的正极(为红线)和负极(为黑线)分别连接到灯带的正极和负极。3、编程控制器:通过编程方式将LED控制器设置为流水灯模式。具体的编程方法因控制器型号而异,需要参考控制器的使用手册或在线教程。4、连接电源:将LED控制器的电源接入电源,确保电源...

用c51做 逐渐变慢的流水灯 用一个按键来控制 每按一下,变慢一级?_百...
这是8个LED灯的流水灯,接在P1,P3.2脚接一个按键,用定时器定时控制流水灯的速度。仿真图如下图所示。

流水灯程序设计
指示灯直接用发光二级管串分压电阻接到电源就行了。电源可以用7805稳压(输入电压>5V时),或者直接用5V电就行了。=== 写程序方面:数量比较多,流水灯设计宜用位操作,①流水灯 for(i=0;i<7;i++){ P2=~pow(2,i);delay(500);} 这样就是8位流水灯了 剩下的8个一样。delay是一个延时...

三菱plc做流水灯,用位移指令, 要求只有单个灯亮,用其他指令也行,程序...
用sftr带进位的右移指令就行,你就可以写指令ld x1启动开关sftr指令 x2 y0 k8(这里指的是你控制的灯的数量k8代表从y0至y7) k1(这里指的是数据移动长度,也就是每次亮几个灯)这个程序不难了,好好看看书或者是下载一些程序案例和plc的编程手册这样你就可以更方便的查询指令了。

51单片机中如何用汇编语言编写流水灯
流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:ORG 0000H;复位启动AJMP START;ORG 001BH;T1中断AJMP T1INT;;定义变量===YSJSEQU 30H;延时计数器LEDEQU 31H;LED控制缓冲器 ;主程序===START:MOV LED,#0FEH;初始化数据MOV YSJS,#0;MOV TMOD,#10H;定时器1工作于方式1,16位定时...

金凤区18710271426: 单片机如何控制流水灯的程序 -
漳房关节: 灯的亮灭是通过控制IO口数据来实现的;程序大体如下:#define led0 P1^0#define led1 P1^1#define led2 P1^2#define L 0 //亮#define M 1 //灭 void init() { led0 = M; led1 = M; led2 = M; } main() { init(); while(1) { delay_S(1); led0 = L; delay_S(1); led...

金凤区18710271426: c51单片机中如何用汇编语言编写流水灯 -
漳房关节: 51单片机用汇编语言编写流水灯程序,就是控制多个LED ,使其在特定时间间隔内,只有一个LED 发光,其他熄灭,用这种方式顺序移动点亮LED的位置,就形成了流水灯的效果.以下是程序: ;假设晶振12MHZ,P1控制8个LED低电平亮 ;...

金凤区18710271426: 用arm7做一个流水灯的设计. -
漳房关节: 从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮...

金凤区18710271426: 单片机,利用键盘控制LED灯显示不同的流水形式(单灯流水、双灯流水、随机流水),这个程序该怎么做啊. -
漳房关节: 首先、你要的是3个功能 如果你要用3个按钮,那就每个实现1种 如果你用的是1个按钮,那就1个实现3种 - 单灯流水,P*口(灯的接口) 循环左移命令 _crol_ 比方:led1=0xff; _crol_(led1,1);P1=0xff; 这样就OK 双灯:也是一样的道理,把_crol_(led1,2)改下2就可以了 注意左移命令,在头文件 intrins.h 里面 随机流水? 这点有点不明白意思,是随机亮灭,还是怎么样个随机流水呢 原理就是用RAND 产生随机数,然后付给LED灯IO口就可以了

金凤区18710271426: 单片机流水灯的程序怎么打(C语言)?顺便解释解释. -
漳房关节: 你的事C语言 回答的是汇编 如下 //led显示程序,简单地显示led的程序 //展示了如何控制端口的方法 //现象 : led 8个灯从左到右,然后从右到左显示;#include <8051.h>void delay(unsigned char times);void main() {int k,m;P0 = 0; //关闭数码显...

金凤区18710271426: 单片机C语言编程:控制流水灯 -
漳房关节: T0 工作模式2 计时器中断,一次200us,1s流水灯左移或右移一次. k3触发外部中断0,级别高于计时器中断,故暂停. #include <reg52.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char sbit k1=P1^0; //左循环按钮 ...

金凤区18710271426: 如何用51单片机写两LED灯两两一起闪烁的流水灯C程序 -
漳房关节: 这个比较简单吧uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delay();//自己写吧 延迟一秒 void led_blink();//~~~~~~~~~~~~ void single_stream();//单向流水函数声明 void double_stream();//~~~~~~~~void led_blink() //全...

金凤区18710271426: 求一道C51单片机的流水灯编程,具体程序要求如下. -
漳房关节: #include<reg51.h> #define uchar unsigned char uchar led,led1; void delay(uchar a) { uchar i; while(a--)for(i=0;i<120;i++); }main() { uchar i,j;led=0xfe;for(i=0;i<8;i++){led1&=led;for(j=0;j<7-i;j++){P0=led&led1;led=led<<1|0x01;delay(200);}}P0=0x00;delay(200);while(1); }

金凤区18710271426: 单片机的流水灯怎么用C语言来编程,最好有解释. -
漳房关节: /* 程序详细功能介绍: *做单一灯的左移右移,八个发光二极管L0-L7分别接在单片机的P0.0-P0.7接口上, *输出“0”时,发光二极管亮,开始时P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→┅→P0.0亮,重复循环.*/#include <AT89X51.H> ...

金凤区18710271426: 用单片机做流水灯程序 -
漳房关节: 也可以不用中断,直接位定义,不过那样就麻烦一点 当然用左或右移也行,也比位定义简单 还有程序定义的接口要与实验板一致!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网