感悟网 导航

89c51系列用c语言编写跑马灯程序 用汇编语言怎么编写跑马灯程序?

作者&投稿:舟黛 (若有异议请与网页底部的电邮联系)
51单片机设计跑马灯的程序用(c语言)编写~

|P1口接8个发光二极管共阳
#include
unsigned char i;
unsigned char temp;
unsigned char a,b;
void delay(void)
{
unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
{
while(1)
{
temp=0xfe;
P1=temp;
delay();
for(i=1;i<8;i++)
{
a=temp<<i;
b=temp>>(8-i);
P1=a|b;
delay();
}
for(i=1;i<8;i++)
{
a=temp>>i;
b=temp<<(8-i);
P1=a|b;
delay();
}
}
}

扩展资料:
Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。
参考资料来源:百度百科-51单片机

跑马灯程序用汇编是很好实现的,只要用好循环移位指令就可以,以下是程序。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH

LOOP:
MOV P1,A ;将控制字送端口

RL A ;控制字循环左移

LCALL DELAY ;延时

SJMP LOOP

DELAY: ;延时大概1秒
MOV R2,#10

DLY1:
MOV R3,#200
DLY2:
MOV R4,#250

DJNZ R4,$

DJNZ R3,DLY2

DJNZ R2,DLY1

RET

END

#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(idex>8)
idex=0;

break;

case 2 :

P0=0x80>>idex;
if(idex>8)
idex=0;

break;

case 3 :

P0=0x03<<idex;
if(idex>8)
idex=0;

break;

case 4 :

P0=0xaa<<idex;
if(idex>2)
idex=0;

break;
}
switch(flag)
{
case 0 : //开始
TR0=1;
break;

case 1 :
TR0=0; //暂停
break;
}

}

void scan_key() //按键
{
if(!k1)
zhi=2;

if(!k2)
zhi=4;

if(!k3)
{
count++;
while(!k3);
}
if(count>4)
count=0;

if(!k4)
{
flag++;
while(!k4);
}
if(flag>1)
flag=0;

}

void beep_b() //蜂鸣器
{
if(P2==0xff)
{
beep=1;
}
else
{
beep=0;
}
}

void Init() //定时器初始化
{
TMOD=0X01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
EA=1;
ET0=1;
zhi=1;
}

void main()
{
Init();
while(1)
{
display_lcd();
scan_key();
beep_b();
}
}

void timer0() interrupt 1
{
uint time;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time++;
if(time>299*zhi)
{
time=0;
idex++;
}

}

《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单片机语言编写跑马灯...》
答:以12MHz 晶振 为例 ORG 000H 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 ;灯 全亮...

《求个89c51单片机 汇编语言设计的LED跑马灯的程序》
答:ORG 0000H 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开始...

《单片机89C51用汇编制作跑马灯P1控制8个LED(D1~D8)灯实现流水灯的效果...》
答: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!=2...

《在我这个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 ...

《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 (j=0;j<x;j++)for (i=0;i<...

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

《C语言设计跑马灯程序》
答: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++);} 跑马灯程序最基本的,c语言还未入门啊!!!

《跪求单片机89C51控制交通灯的课程设计》
答:4、 掌握应用keil软件编辑、编译源汇编程序的操作方法。5、 掌握应用编程器烧写器件的操作方法。6、 帮助学生养成良好实验习惯 三 硬件设计 1 设计思路 AT89C52是一个低电压,高性能CMOS 8位单片机, 可以用来做单片机流水灯、跑马灯。。。等实验 电路原理图见下图1,如果我们想让接在P1.0口的LED1亮...

   

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