求单片机跑马灯c语言程序!

哪位仁兄帮下,给个单片机的跑马灯keil51c语言程序,8个灯的,亮灭规律不限复杂点最好!!谢谢啦!!... 哪位仁兄帮下,给个单片机的跑马灯keil51 c语言程序,8个灯的,亮灭规律不限复杂点最好!!谢谢啦!! 展开
 我来答
若以下回答无法解决问题,邀请你更新回答
百度网友5800b7a
推荐于2017-10-04 · TA获得超过1174个赞
知道小有建树答主
回答量:1022
采纳率:0%
帮助的人:714万
展开全部
/*****************************************
*用P1口接LED
*****************************************/
#include<at89x52.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(500); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1^=temp;
delay(500); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(500); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P1=temp;
delay(500); //调用延时函数
temp>>=1;
}
}

}
void delay(uint t) //定义延时函数
{
register uint bt; //register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该

变量使用频率高 这样可以提高执行效率
for(;t;t--)
for(bt=0;bt<255;bt++);
}

参考资料: http://www.dream-core.cn/material.asp?id=328

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式