当前位置:首页 » 编程语言 » c语言跑马灯

c语言跑马灯

发布时间: 2023-03-20 21:20:12

1. 请问以下有关单片机跑马灯的c语言程序各语句的含义(详细)

#include <reg51.h> //51头文件
#include <intrins.h> //包含移位函数_crol_
void Delay10ms(unsigned int c); //延时函数声明

void main(void)
{
unsigned char LED;

LED = 0x01; //一个unsigned char有8位,每一位代表了一个灯,初始点亮第一盏灯
while(1)
{
P0 = LED; //点亮一盏灯

Delay10ms(50); //延时500ms,让其量一会儿

LED = _crol_(LED,1); //向左移位函数,比如 0x01 --> 0x02 --> 0x04 -->0x08 ---> 0x10
}
}

void Delay10ms(unsigned int c) //延时函数
{
unsigned char a, b;

for (;c>0;c--) //三重循环延时,大约延时10ms
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}

2. C语言设计跑马灯程序

#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=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语言还未入门啊!!!

3. c语言跑马灯跑马速度问题

如下程序:
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=0;i++;}、、、、、、、、、、、

4. 51单片机设计跑马灯的程序用(c语言)编写

|P1口接8个发光二极管共阳

#include <AT89X51.H>

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();

}

}

}

(4)c语言跑马灯扩展阅读:

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

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

如下程序:
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=0;i++;}、、、、、、、、、、、

热点内容
林肯冒险家怎么查看配置 发布:2024-11-05 15:55:12 浏览:112
可以上传球球的照片 发布:2024-11-05 15:42:59 浏览:738
拉箱怎么改密码 发布:2024-11-05 15:38:02 浏览:862
http怎么配置 发布:2024-11-05 15:02:45 浏览:461
12级缓存 发布:2024-11-05 14:52:09 浏览:578
神武4脚本 发布:2024-11-05 14:48:50 浏览:702
王者荣耀反复解压 发布:2024-11-05 14:31:58 浏览:853
存储引擎有哪些品牌 发布:2024-11-05 14:25:59 浏览:39
红薯的存储方法 发布:2024-11-05 14:17:32 浏览:757
脚本错误弹窗口在哪里 发布:2024-11-05 14:01:16 浏览:967