‘壹’ 单片机流水灯程序(c语言的) 求大虾!!! 万分感谢!!!!
这个还不简单啊?8个灯刚好用一个IO口就够了啊,比如用P1口,高四位控制左边四个灯,低四位控制右边的四个灯,然后就用一个简单的循环位移就够了啊,循环左移_crol_(),循环_cror_()用这两个函数就可以了,分别移动4位,当然循环用定时器控制它的速度,也可以用延时的方法delay(),按键的控制就是当按下的时候如果原来是左移那么就改用右移,反之亦然。就这么简单,几条语句就能实现,不懂可以交流……
‘贰’ 单片机流水灯程序
程序如下:
#include <reg52.h>
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3。
让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。
无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用。
‘叁’ 求一单片机流水灯程序,C编写的。
P3.7 连接按键,P1 外接 LED。
没有使用中断。
8个led的点亮方式用数组保存。
--3种不同的点亮方式。
--点亮方式仅仅是一个数字(0、1、2)而已,还用数组保存?
--用变量 mode 保存即可。
#include<reg51.h>
#include<intrins.h>
sbit key = P3^7;
unsigned char kc, kb, kz, mode = 2, aa = 0xff;
void delay10ms(void)
{
unsigned int i, j;
for (i = 0; i < 60; i++) for (j = 0; j < 20; j++);
kc = ~key;
kz = kc ^ kb;
kb = kc;
if (kz & kb) {
mode++;
mode %= 3;
if (mode == 0) aa = 0x7f; //3种方式
if (mode == 1) aa = 0x3f;
if (mode == 2) aa = 0x1f;
}
}
main()
{
char i;
while(1) {
for (i = 0; i < 50; i++) {
delay10ms();
if (kz & kb) break;
}
P1 = aa;
aa = _cror_(aa, 1);
}
}
本程序给出的三种方式,显得简陋了一些。
试试看吧。
‘肆’ 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
单片机流水灯C语言程序的源代码如下:
#include //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;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x7F;
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++);
}
(4)单片机流水灯代码扩展阅读
51单片机流水灯的源代码如下
#include<reg51.h>
#include<intrins.h>
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<110;i++);
}
main()
{
inti;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}
‘伍’ 很简的51单片机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单片机是基础入门的一个单片机,还是应用最广泛的一种。
‘陆’ 单片机流水灯程序 16
#include<reg52.h>
#include <intrins.h>
void delayms(unsigned char ms) // 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xff;
P0 = LED;
while(1)
{
delayms(1000);
LED = LED<<1; //循环右移1位,点亮下一个LED
if(LED==0x00)
{
LED=0xff;
}
P0 = LED;
}
}
‘柒’ 单片机流水灯c程序
经过仿真,程序没有毛病,可以实现流水灯的效果。
keil软件,也有时添乱,多实验几次,即可。
只是太快,可以加大延时的时间。
#include<reg52.h>
#include<intrins.h>
unsignedchara;
voidmain()
{
inti,j;
a=0xfe;
while(1){
a=_crol_(a,1);
P0=a;
for(i=250;i>0;i--)
for(j=1000;j>0;j--);//加一行
}
}
‘捌’ 单片机,流水灯c语言程序
P1_0==0时 ,key()是死循环,程序不会往下走的 ,P1_0==1时只会执行
if(k==0)
{
i=0x01;
for(j=0;j<8;j++)
{
P2=i;
P1_1=!P1_1;
i=(i<<1);
flay();
}