用C语言编写简单跑马灯程序(4个灯的)

用C语言编写简单跑马灯程序(4个灯的),第1张

如下程序

if(ledi==8)

{

ledi=0//到了最后一个灯就换到第一个

//每跑一圈灯就根据预定设置的表格来决定下一圈信尺的跑马滑历高速度

speed=speedcode[i]

i++if(i==2)i=0?你的速度设置不仅仅就2个呀(10个预定义的烂慎速度)

}

有两种解决办法:

一个就是将预定的速度加2倍

speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}

二是增加一全局变量uchar z=0在i++前加上如下,前后不改:

、、、、、if(++z==3){z=0i++;}、、、、、、、、、、、

#include<reg51.h> //51系列单片机定义文件

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

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

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

void main(void)

{

uint i

uchar temp

while(1)

{

temp=0x01

for(i=0i<8i++) //洞枣8个流水灯逐个闪动

{

P1=~temp

delay(100) //调用延时函数

temp<银喊<=1

}

}

void delay(uint t) //定义延时函数

{

register uint bt

for(tt--)

for(bt=0bt<锋颤野255bt++)

}

跑马灯程序最基本的,c语言还未入门啊!!!

跑马灯程序用渗帆轿汇编是很好实现的,只要用好循环移位丛肆指令就可以,以下是程序。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12485051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存