单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS),第1张

单片机流水灯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=0i<8i++) //8个流水灯逐个闪动

{

P1=~temp

delay(100)//调用延时函数

temp<<=1

}

temp=0x80

for(i=0i<8i++) //8个流水灯反向逐个闪动

{

P1=~temp

delay(100)//调用延时函数

temp>>=1

}

temp=0xFE

for(i=0i<8i++) //8个流水灯依次全部点亮

{

P1=temp

delay(100)//调用延时函数

temp<<=1

}

temp=0x7F

for(i=0i<8i++) //8个流水灯依次反向全部点亮

{

P1=temp

delay(100)//调用延时函数

temp>>=1

}

void delay(uint t) //定义延时函数

{

register uint bt

for(tt--)

for(bt=0bt<255bt++)

}

扩展资料

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

void delay(int a)

{

int i

while(a--)for(i=0i<110i++)

}

main()

{

int i

while(1)

{

P0=0xfe

for(i=0i<8i++)

{

P0=_crol_(P0,1)

delay(500)

}

}

}

程序如下:

#include <reg52.h>

sbit led1 = P2^0

sbit led2 = P2^1

sbit led3 = P2^2

sbit led4 = P2^3。

让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。

从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。

无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用。

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

ORG 0000H复位启动

AJMP START

ORG 001BHT1中断

AJMP T1INT

定义变量========================

YSJSEQU 30H延时计数器

LEDEQU 31HLED控制缓冲器

主程序==========================

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,QT150mS*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汇编程序结束

扩展资料:

实现流水灯的三个方法:

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7897638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存