如何用单片机实现流水灯,从一依次亮到八,再从八依次亮?

作者&投稿:褚纯 (若有异议请与网页底部的电邮联系)
~

片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件。

#define uchar unsigned char //定义无符号字符。

#define uint unsigned int //定义无符号整数。

void delay(uint); //声明延时函数。


硬件特征

1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。

2、单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。

3、单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。




单片机汇编语言流水灯程序延时0.5秒 一共四个灯循环
4只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;...

单片机流水灯程序
sbit led1 = P2^0;sbit led2 = P2^1;sbit led3 = P2^2;sbit led4 = P2^3。让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子...

单片机,利用键盘控制LED灯显示不同的流水形式(单灯流水、双灯流水、随...
首先、你要的是3个功能 如果你要用3个按钮,那就每个实现1种 如果你用的是1个按钮,那就1个实现3种 - 单灯流水,P*口(灯的接口) 循环左移命令 _crol_比方:led1=0xff; _crol_(led1,1);P1=0xff; 这样就OK 双灯:也是一样的道理,把_crol_(led1,2)改下2就可以了 注意左移...

大神求教用单片机一个按钮控制流水灯
其实很简单的,随便使用一个定时\/计数 器,使其工作在方式1(方便计算初值),然后写中断服务函数,使用_crol_()函数来反复循环做流水效果,然后在主函数最后写while(1),一直不停扫描键盘函数,然后键盘函数定义4个按键,开始:trx=1,停止:trx=0,至于快慢的控制你可以在中断函数里边写一个延时函数,...

如何用单片机简单制作一个流水灯
{ unsigned char i;while(ms--){ for(i = 0; i < 120; i++);} } main(){ unsigned char LED;LED = 0xff;P0 = LED;while(1){ delayms(1000);LED = LED<<1; \/\/循环右移1位,点亮下一个LED if(LED==0x00){ LED=0xff;} P0 = LED;} } 电路:就是普通的单片机IO口,...

8051单片机P0口接有16个LED,C语言实现流水灯
嘉定单片机是STC89C52RC这款常用51单片机,推荐用两个74HC573,输入全接P0;输出接16个LED负极(573有一定驱动能力,实际应用可以接LED正极,但是习惯上仍采用灌电流的驱动方式)然后LED另一极接正极,设573的所存分别用P3.7和P3.6控制,程序如下:include<reg52.h>sbit suocun1=P3^7;sbit suocun2...

单片机流水灯的C语言编程
include<reg52.h> include<intrins.h> define uint unsigned int define uchar unsigned char define led P1 uint delay(uint z){ uint x,y;for(x=z;x>0;x--){ for(y=110;y>0;y--);} } void main(){ uint i,temp,j;for(i=0;i<3;i++){ led=0xAA;delay(300);led=0x55;...

51单片机流水灯用C语言编写的设计程序???
include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int void delay(uint z);main(){ uchar aa;while(1){ aa=0xfe;P1=aa;delay(100);while(1){ aa=_crol_(aa,1);P1=aa;delay(100);} } } void delay(uint z){ uint x,y;for(x=z;x>0;x-...

51单片机用8255实现72位流水灯
要用8255控制72位流水灯,应该先画出仿真图或原理图,才能确定出8255各端口地址,才能写程序。而一片8255有3个并行口,可接24位LED灯,那么72位流水灯需要三片8255。要扩展8255,还需要一片地址锁存器74LS373,一片74LS138译码器。以一片8255为例,简单的原理图如下,三片8255电路相类似。

51单片机定时器实现流水灯,并用按键外部中断控制改变流水灯的流向,这个...
bit flag;\/\/声明一个位变量 EA=1;\/\/开总中断 EX0=1;\/\/开外部中断0 IT0=1;\/\/下降沿触发 while(1){ if(flag==0){ for(i=0;i<8;i++){ P0=0X01<<i;delayms(500); } } if(flag==1){ for(i=0;i<8;i++){ P0=0X80>>i;delayms(500);} } } 中断程序 void ...

平度市18566719086: 如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环? -
劳爬怡普: 有个想法, 放一个字节LED做标志位,可位寻址. 每一位代表一个灯.对字节LED附初值1,做一个200mS的时钟,每200ms对字节LED值做左移1位指令(汇编可循环).主程序中位寻址判断字节LED的bit(0-7)点亮相应的灯.或者直接P0=LED纯想法、还没试过,感觉好玩,呵呵. 好像上述灯流的方式不对,不过可以改...

平度市18566719086: 用最基本的单片语言来编程流水灯问题,灯依次点亮,每次亮是100MS,求全过程,我是新手,谢谢 -
劳爬怡普: #include <reg52.h>#define unsigned int uint delay(uint a) {while(a--); } main() { while(1) {uchar k,i; k=0xfe; for(i=0;i<8;i++) {P0=k; delay(50000); k<<1; k=k|0x01; } } } }

平度市18566719086: 单片机如何控制流水灯的程序 -
劳爬怡普: 灯的亮灭是通过控制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...

平度市18566719086: 有谁知道单片机流水灯依次闪亮的八种程序呀,有八个发光二极管的,谢谢啦! -
劳爬怡普: 八种程序?什么意思?#include "reg51.h"#include "intrins.h" void Delay(unsigned int t) { unsigned i; while(t--!=0) { for(i=0;i<500;i++) {;} } } void main(void) { unsigned char temp,num1,num2; P0=0xff; while(1) { temp=0xfe; for(num1=0;num1<8;...

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

平度市18566719086: 51单片机LED流水灯怎么实现从两边同时逐个点亮到中间,又从中间逐个熄灯到两边 -
劳爬怡普: 简单点的,用表格,事先计算好,放到ROM中,用的时候逐行编译输出就可以. 复杂点的,开一个缓冲区,用循环程序,根据花样的不同,每次填充一行,并输出,然后再计算一下行.除非表格太大,不建议这样用. #define len 8 char tablelist...

平度市18566719086: c51单片机流水灯显示花式程序,作业求详细 -
劳爬怡普: 都11点多了看到你的帖子,没有问回答这个作业很简单,我给你花5分钟时间写一个例子,我是用单片机P0口8位LED,具体程序如下: #include "REG52.H"// 显示花样流水灯编码 const unsigned char Expetr_ROM[] = { 0xFE, 0xFD, 0xFB, 0...

平度市18566719086: 单片机中流水灯如何控制 -
劳爬怡普: 单片机中流水灯控制:硬件连接很简单,只要将8个LED指示灯接在P1口上 另一端通过220欧姆的电阻接+5V电源上,就可以了.主要靠软件控制,简单的可以使用左移或右移指令,将低电平0 逐渐移入寄存器中,即控制LED指示灯逐渐一个一个地点亮或一个一个地熄灭.复杂点: 可以进行花式流水控制.例如: 可以由两边逐渐向内点亮 然后再由内逐渐向外一个一个熄灭. 还可以由由内逐渐向两边内点亮 然后再由两边渐向内逐一个一个熄灭.在程序的实现上 可以把各种花式流水的P1口亮灭状态字 事先定义成数组 然后每隔一定的时间 取出送P1口显示. 呵呵 俺只提供给你一个号的算法 程序就自己动手自立更生.

平度市18566719086: 在单片机实现流水灯实验中,如何修改程序实现流水灯自下而上依次发光? -
劳爬怡普: 给你个花样灯的程序 #include<reg52.h> /*------------------------------------------------ 花样表格 ------------------------------------------------*/ unsigned char code seg[]={0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0xff,0xff,0x00,0x00, 0x55,0x55,0xaa,0xaa };//rom允许情况...

平度市18566719086: 怎么用单片机实现以下流水灯功能 -
劳爬怡普: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R2,#2 LOOP1: MOV DPTR,#TAB MOV R3,#8 LOOP2: CLR A MOVC A,@A+DPTR MOV P0,A LCALL DELAY DJNZ R3,LOOP2 DJNZ R2,LOOP1 LOOP3: MOV P0,#55H LCALL DELAY MOV P...

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