单片机的跑马灯C程序如何编写八个LED灯依次点亮而且速度渐变的代码

单片机的跑马灯C程序如何编写八个LED灯依次点亮而且速度渐变的代码,求代码,不要告诉我该如何编写,只要给处源程序代码~~谢谢,全加分~~~~~... 单片机的跑马灯C程序如何编写八个LED灯依次点亮而且速度渐变的代码,求代码,不要告诉我该如何编写,只要给处源程序代码~~谢谢,全加分~~~~~ 展开
 我来答
做而论道
高能答主

2010-09-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
//P1外接8个LED,低电平发光.
//下列程序在PROTEUS中仿真成功
#include<reg52.h>
//-----------------------------
void delay_ms(unsigned int s)
{
unsigned int x;
for(s; s > 0; s--) {
x = 98; while(x--);
} }
//-----------------------------
void main()
{
char i, j;
while(1) {
for(j = 0; j < 8; j++) {
P1 = 255; //全灭, P1外接LED, 是低电平发光.
delay_ms(500); //稍等片刻.
for(i = 0; i < 8; i++) {
P1 <<= 1;
delay_ms(900 - 100 * j); //延时渐短
} } } }
//-----------------------------
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灬随缘灬
2010-09-21 · TA获得超过157个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:156万
展开全部
# include<AT89X51.H>//延时时间长短控制点亮速度
delay1ms(int t)
{
int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++) ;
}

void main()
{
PO=0xFF;// LED共阳级接法,接在PO口,记得加上拉电阻
delay1ms(200);
P0=0xFE;
delay1ms(200);
delay1ms(200);
P0=0xFC;
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0xFC;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0xF8;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0xF0;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0xE0;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0xC0;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0x80;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
P0=0x00;
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);
delay1ms(200);

}
//也可以加上无限循环 重复点亮操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eyoui
2010-09-21 · TA获得超过1401个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:220万
展开全部
#include <reg51.h> // 引用头文件

//========= 延时 ============
void delay_ms(unsigned int s)
{
unsigned int x;
for(s;s>0;s--)
{
x = 98;
while(x--);
}
}

//================ 主函数 ===================
void main()
{
unsigned char i;
while(1) //主循环
{
P0 = 0xff;
delay_ms(150);
for(i = 0;i<8;i++)
{
P0 = P0 <<1;
delay_ms(150);
}

P0 = 0xff;
delay_ms(150);
for(i = 0;i<8;i++)
{
P0 = P0 >>1;
delay_ms(150);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式