导航:首页 > 操作系统 > 单片机8灯流水灯语言编码

单片机8灯流水灯语言编码

发布时间:2022-07-16 15:11:33

⑴ 如何用单片机实现流水灯,从一依次亮到八,再从八依次亮

片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件。

#define uchar unsigned char //定义无符号字符。

#define uint unsigned int //定义无符号整数。

void delay(uint); //声明延时函数。


硬件特征

1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。

2、单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。

3、单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。

⑵ 单片机流水灯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++);

}

(2)单片机8灯流水灯语言编码扩展阅读

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

}

}

}

⑶ 用单片机控制4094点亮8个LED灯,C语言程序怎么做,怎么实现流水灯在线等,急!!!

#include<reg51.h>
#include<intrins.h>

sbitDAT=P1^2;
sbitCLK=P1^1;
sbitSTB=P1^0;

voidDelay500ms();
voidOUT_4094(unsignedcharn);

voidmain()
{
unsignedchari;
for(i=0;;i++)
{
OUT_4094(i);
Delay500ms();
}
}

voidDelay500ms() //@12.000MHz
{
unsignedchari,j,k;

_nop_();
i=4;
j=205;
k=187;
do
{
do
{
while(--k);
}while(--j);
}while(--i);
}

voidOUT_4094(unsignedcharn)
{
unsignedchari;
DAT=0;
CLK=0;
STB=0;

for(i=0;i<8;++i)
{
CLK=0;
DAT=(n>>(8-i-1))&0x01;
_nop_();
CLK=1;
CLK=0;
}

STB=1;
_nop_();

DAT=0;
CLK=0;
STB=0;

}

⑷ 跪求单片机一按键控制8盏流水灯的程序最好有图用汇编语言编程。3Q

org0000h

ljmpstart

org1000h

start:movsp,#4fh;堆栈段

MOVR0,#06H;循环6次

movA,#0f8H;123灯亮

ATT:movP1,A

acalldelay

RLA;左移1位

DECR0;循环次数自减1

CJNER0,#00H,ATT;自减完后的数和00比较不相等跳到ATT相等往下执行

MOVP1,#0FFH

MOVA,#0F8H

MOVR0,#06H

ATL:MOVP2,A

ACALLDELAY

RLA

DECR0

CJNER0,#00H,ATL

MOVP2,#0FFH

AJMPSTART

delay:MOVR1,#0FFH

LOOP0:MOVR2,#0FFH

LOOP1:nop

nop

NOP

NOP

DJNZR2,LOOP1

DJNZR1,LOOP0

ret

⑸ 51单片机中如何用汇编语言编写流水灯

流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:

ORG 0000H ;复位启动
AJMP START ;
ORG 001BH ;T1中断
AJMP T1INT ;

;定义变量========================
YSJS EQU 30H;延时计数器
LED EQU 31H;LED控制缓冲器

;主程序==========================
START: MOV LED,#0FEH ;初始化数据
MOV YSJS,#0 ;
MOV TMOD,#10H ;定时器1工作于方式1,16位定时器
MOV TL1,#0B0H ;设置定时初值
MOV TH1,#3CH ;定时时间=50mS
SETB ET1 ;使能定时器1中断
SETB TR1 ;启动定时器1
SETB EA ;开总中断

MOV P1,LED ;初始化流水灯
LOOP: JMP LOOP ;循环等待中断
T1INT: PUSH PSW ;定时器1中断程序
PUSH ACC ;保护现场
MOV TH1,#3CH ;定时时间=50mS
MOV TL1,#0B0H ;
INC YSJS ;

PUSH ACC ;保护ACC
MOV A,YSJI ;
CJNE A,#2,QT1 ;50mS*2=100mS
MOV P1,LED ;
MOV A,LED ;
RL A ;累加器A的值循环左移1位
MOV LED,A ;
MOV YSJS,#0 ;
QT1: POP ACC ;恢复现场
POP PSW ;
RETI ;返回主程序
END ;汇编程序结束

(5)单片机8灯流水灯语言编码扩展阅读:

实现流水灯的三个方法:

第一种,总线方法实现流水灯。这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,加上延时函数,即可控制每个LED灯的亮灭。

第二种,移位方法实现流水灯采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。

第三种,库函数实现流水灯。利用左移函数进行。

⑹ C语言控制单片机,控制八个流水灯从左到右依次亮,最后又从右到左依次亮回来,一直循环下去,求帮帮忙

假设P1接8 个LED,高电平时LED点亮,主程序如下:
void main(void)
{
uchar i;
while(1)

{
for(i=0;i<7;i++)
{
P1=1<<i;
delay_ms(500);
}
for(i=0;i<7;i++)
{
P1=0x80>>i;
delay_ms(500);
}
}
}

⑺ 单片机C语言如何实现8个LED流水灯来回流动

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。

2、具体实现方法可以参考如下程序:

2、单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

3、单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

⑻ 用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)

#include<reg51.h>

voiddelay(void)

{

unsignedinti,j;

for(i=0;i<200;i++)

for(j=0;j<1000;j++)

;

}

voidmain(void)

{

while(1)

{

P3=0xfe;//第一个灯亮

delay();//延时

P3=0xfd;//第二个灯亮

delay();

P3=0xfb;//第三个灯亮

delay();

P3=0xf7;//第四个灯亮

delay();

P3=0xef;//第五个灯亮

delay();

P3=0xdf;//第六个灯亮

delay();

P3=0xbf;//第七个灯亮

delay();

P3=0x7f;//第八个灯亮

delay();

}

}

(8)单片机8灯流水灯语言编码扩展阅读

单片机C语言16种方式流水灯

voidmain()

{

while(1)

{

P1=0xfe;//点亮第一个发光管

Delay(5000);

P1=0xfd;//点亮第二个发光管

Delay(5000);

P1=0xfb;

Delay(5000);

P1=0xf7;

Delay(5000);

P1=0xef;

Delay(5000);

P1=0xdf;

Delay(5000);

P1=0xbf;

Delay(5000);

P1=0x7f;//点亮第八个发光管

}

}

⑼ 单片机流水灯的C语言编程

#include<reg52.h>
#include<intrins.h>

#define uint unsigned int
#define uchar unsigned char

#define led P1

uint delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=110;y>0;y--);
}
}

void main()
{
uint i,temp,j;
for(i=0;i<3;i++)
{
led=0xAA;
delay(300);
led=0x55;
delay(300);
}

for(i=0;i<3;i++)
{
temp=0xfe;
for(j=0;j<8;j++)
{
led=temp;
delay(300);
temp=_crol_(temp,1);
}
temp=0xbf;
for(j=0;j<6;j++)
{
led=temp;
delay(300);
temp=_cror_(temp,1);
}
}

for (i=0;i<3;i++)
{
led=0x7e;
delay(300);
led=0xbd;
delay(300);
led=0xdb;
delay(300);
led=0xe7;
delay(300);
}

for (i=0;i<3;i++)
{
led=0xe7;
delay(300);
led=0xdb;
delay(300);
led=0xbd;
delay(300);
led=0x7e;
delay(300);
}

for (i=0;i<3;i++)
{
led=0xff;
delay(300);
led=0x00;
delay(300);
}

led=0xff;

while(1);
}
现象说明:
8个灯,间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环
三次;再分别从两边往中间流动三次;再从中间往两边流
动三次;8个全部闪烁3次;关闭发光管,程序停止。
晶振为11.0592MHz

阅读全文

与单片机8灯流水灯语言编码相关的资料

热点内容
速腾carplay怎么用安卓 浏览:13
红塔银行app怎么样 浏览:562
农行app怎么开网银 浏览:649
java迭代器遍历 浏览:301
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315