感悟网 导航

单片机89C51用汇编制作跑马灯P1控制8个LED(D1~D8)灯实现流水灯的效果,高手速度来 用51单片机做多只流水灯(跑马灯)?

作者&投稿:大咬 (若有异议请与网页底部的电邮联系)
单片机中的流水灯,花样灯,跑马灯?~

没什么实质的区别只是各人说法不一样,像流水灯程序也有人叫跑马灯,说个简单的例子,比方说一个亮点不断的左循环就叫流水灯。从中间亮两个点,从左右两边流动就叫花样。

花样流水灯的玩法,一个51单片机8位端口轮流输出16颗灯珠,

很酷的流水灯
#include <reg51.h>
typedef unsigned char uchar;
#define Ton 40
#define LED P0
sbit leds=P1^4;
sbit LED0 = P0^0;
sbit LED1 = P0^1;
sbit LED2 = P0^2;
sbit LED3 = P0^3;
sbit LED4 = P0^4;
sbit LED5 = P0^5;
sbit LED6 = P0^6;
sbit LED7 = P0^7;

unsigned char Maikuan=0;
static unsigned char ledon[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar Occupy_led; //占空比越大,灯越亮
bit light;
uchar m;

void Inittime()
{
TMOD = 0x02; //定时器0,工作方式2,自动重装
TH0 = 256-Ton;
TL0 = 256-Ton;
ET0 = 1;
EA = 1;
TR0 = 1;
}
//定时器0中断
void time0() interrupt 1 using 0
{
Maikuan++;
}

void main()
{
unsigned char i = 0,j = 0; //初始化i,j
leds=0;
Inittime();
while (1)
{
//第1,3,5,7个灯半亮,其余的全亮。
for(i=254; i>0; i--)
{
while ( Maikuan!=20)
{
LED = 0x00;
}

while ( Maikuan!=200)
{
LED = 0x55;
}

Maikuan = 0;
}

//最难的:8个灯从第一个开始依次渐亮,直到最后一个。再从最后一个起渐暗,直到第一个。如此循环往复。

for(j = 0;j<=7;j++)
{
i = 0;
while(i!=255) // 由暗变亮
{
if( Maikuan == 0) // 点亮
{
LED = ledon[j];
}
if(Maikuan == i) // 熄灭
{
LED = 0xff;
}
if( Maikuan== 255)
{
i++;
}
}
}

for(j=7;j>=0;j--)
{
i = 0;
while(i!=255) // 由亮变暗
{
if(Maikuan == 0) // 熄灭
{
LED = 0xff;
}
if( Maikuan == i) // 点亮
{
LED = ledon[j];
}
if( Maikuan == 255)
{
i++;
}
}
}

//所有的灯逐渐从暗到全亮,再由全亮到暗。

for (m=254; m>0; m--)
{
while (Maikuan!=Occupy_led)
{
LED = 0x00;
}

while (Maikuan!=127)
{
LED = 0xff;
}

Maikuan = 0;

if (light)
{
Occupy_led++;
}
else
{
Occupy_led--;
}

if (Occupy_led==128)
{
Occupy_led = 127;
light = !light;
}
if (Occupy_led>128)
{
Occupy_led = 0;
light = !light;
}
}
}
}

《89C51跑马灯设计》
答:;;*- 花样流水灯 ;* P0---8个LED和P2---8个LED 硬件:8路指示灯接P0口,或者P2口 ;ORG 0000H JMP MAIN ORG 0030H ;MAIN:MOV SP,#60H MOV P0,#0FFH MOV P2,#0FFH MOV R0,#00H MAIN1:MOV A,R0 ;取数地址送A MOV DPTR,#TABLE_P0 ;查表取数 MOVC A...

《单片机89C51用汇编制作跑马灯P1控制8个LED(D1~D8)灯实现流水灯的效果...》
答:很酷的流水灯 include <reg51.h> typedef unsigned char uchar;define Ton 40 define LED P0 sbit leds=P1^4;sbit LED0 = P0^0;sbit LED1 = P0^1;sbit LED2 = P0^2;sbit LED3 = P0^3;sbit LED4 = P0^4;sbit LED5 = P0^5;sbit LED6 = P0^6;sbit LED7 = P0^7;unsigned ...

《请单片机高手进来帮一下忙,谢谢了,急需,用89C51单片机语言编写...》
答:AJMP START START:SETB C ;跑马灯 ,一直循环255次...MOV R0,#0FFH MOV A,#0 JX1:RLC A MOV P1,A LCALL DELAY500MS DJNE R0,JX1 SETB C MOV R0,#8 MOV A,#0 JX:RLC A ;P1.0>>>P1.7依次亮1S MOV P1,A LCALL DELAY1S DJNE R0,JX ;灯 全亮 ,1S MOV P1,#0FFH LCALL DEL...

《求个89c51单片机 汇编语言设计的LED跑马灯的程序》
答:AJMP MAIN MAIN:MOV P1,#01H MOV R0,#8 MOV A,P1 XU: RL A MOV P1,A ACALL DELAY DJNZ R0,XU AJMP MAIN DELAY:MOV R0,#0FFH ONE:MOV R1,#0FFH TWO:MOV R2,#02H THE:DJNZ R2,THE DJNZ R1,TWO DJNZ R0,ONE(将近1S)RET END 中断方式:org 0000h ;程序从0000开始运行 jmp ini...

《89c51系列用c语言编写跑马灯程序》
答:include<reg51.h> define uchar unsigned char define uint unsigned int sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit k4=P2^3;sbit beep=P3^0;uchar idex,zhi,count;uchar flag;void display_lcd() //流水灯 { switch(count) //四种不同的变化 { case 1 :P0=0x01<<idex;if...

《编写一个跑马灯程序,用89C51单片机的P1.0到P1.7接八个LED》
答:注意字符表未经验证, 请自行调试 include <AT89X51.H> define uchar unsigned char define uint unsigned int const unsigned char design[16]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x10,0x00};void delay_1ms(uint x){ uint i,j;for (...

《单片机跑马灯程序实验,谁帮我设计一个单片机跑马灯,用89C51芯片,我急...》
答:到 我的空间 找找看,有很多的单片机跑马灯实例。

《在我这个89c51跑马灯的程序上进行修改:总共8个发光管,发光让它从两边到...》
答:LJMP MAIN ;转到主程序.ORG 0030H ;主程序存放开始地址.MAIN: MOV P1, #0FFH ;灯全部灭了 11111111 MOV R2, #0FEH ;初始状态:设定点亮边上的一个灯 1111 1110 MOV R3, #7FH ;初始状态:设定点亮边上的一个灯 0111 1111 LOOP: MOV A, R2 ANL ...

《用51单片机做多只流水灯(跑马灯)?》
答:硬件电路制作:去搜索图片“单片机最小系统”或“跑马灯”就能找到很多电路图,依图做。程序设计:include <reg52.h> void delay(){ int a,b;for(a=245;a>0;a--)for(b=100;b>0;b--);} void main(){ int temp=0x01;while(1){ P0=temp;delay();temp<<=1;} } P0口的八只管脚...

《C语言设计跑马灯程序》
答:void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1=~temp;delay(100); //调用延时函数 temp<<=1;} } void delay(uint t) //定义延时函数 { register uint bt;for(;t;t--)for(bt=0;bt<255;bt++);} 跑马灯程序...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网