设计8个流水灯灯从中间依次向两边闪烁的C语言程序,不胜感激
展开全部
1.51单片机C语言实现循环8个流水灯左移三次,后右移三次。
例程:
#include<reg51.h> //51单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
sbit beep=P2^3;
void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{ //delay(500);大约延时500ms.
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
uchar a,i,j;
while(1) //大循环
{
a=0xfe; //赋初值
for(j=0;j<3;j++) for(i=0;i<8;i++) //左移三次
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_crol_(a,1); //将a变量循环左移一位
}
a=0x7f;
for(j=0;j<3;j++) for(i=0;i<8;i++) //右移三次
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_cror_(a,1); //将a变量循环右移一位
}
}
}
2.51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。
展开全部
假设你的数码管是共阴极的
11100111
11011011
10111101
01111110
1、传递这个给它就从中间往两边走了
2、循环上面的就能不停地流水
11100111
11011011
10111101
01111110
1、传递这个给它就从中间往两边走了
2、循环上面的就能不停地流水
追问
#include
void main(void)
{
/* 中间到两边亮 */
P1 = 0xe7; //P1 = 1110 0111
P1 = 0xdb; //P1 = 1101 1011
P1 = 0xbd; //P1 = 1011 1101
P1 = 0x7e; //P1 = 0111 1110
请问这个程序还需要怎么改动?
追答
不需要怎么改了,这已经可以流水一次了吧
while(1)
{
P1 = 0xe7; //P1 = 1110 0111
P1 = 0xdb; //P1 = 1101 1011
P1 = 0xbd; //P1 = 1011 1101
P1 = 0x7e; //P1 = 0111 1110
}
这样就能一直流啊流啊了~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询