ORG 000H;设置起始地址
START:
MOV A,#0FFH;向A寄存器中载入十六进制数0FFH
D2: SUBB A,#1;A寄存器中数据减一
call DE ;调入延时程序(修改延时时间可以实现水滴效果)
MOV R1,A;将寄存器A中数据传送给R1
MOV P1,R1;输出(外接8个LED,共阳极接法,低电平有效)
DJNZ R1,D2;检测R2是否为零,否则跳到D2处继续执行
JMP START;无条件跳转至开始
DE: ;延时程序
mov R3,#50
L1: MOV R4,#50
L2: MOV R5,#50
DJNZ R5,$
DJNZ R4,L2
DJNZ R3,L1
RET
END
这是个非常优美的流水灯程序,8个LED接单片P1口,首先LED1闪烁慢慢移动至LED2变常亮,接着LED2常亮LED1闪烁移至LED3常亮,接着LED2灭,LED1闪烁移至LED2常亮,等LED1亮后,LED4亮,LED3.LED2灭,LED1闪烁····,一直到8个LED常亮后重新开始!(好美)修改延时时间可以实现水滴效果哦!
关键字:STC单片机 流水灯 花样程序
引用地址:
STC单片机流水灯新花样程序
推荐阅读最新更新时间:2024-03-16 14:02
ARM7 嵌入uc/os 做流水灯练习
#include config.h #define TASK_STK_SIZE 100 #define LedFlowSpeed 5 OS_STK TaskStartStk ; OS_STK TaskKeyScanStk ; OS_EVENT *LedFlowMbox; #define Led1 (1 22) #define Led2 (1 23) #define Led3 (1 24) #define Led4 (1 25) #define KEY1 (1 16) #define KEY2 (1 17) #define KEY3 (1 18) #define K
[单片机]
自编超声波测距模块(HC-SR04)STC单片机程序
各位朋友,大家好~ 相信很多朋友都用过一款HC-SR04超声波测距模块,这个模块售价很平民,某宝上仅4RMB左右:能测3-400cm,真的很不错的。 前一段时间,偶尔看到一款超声波测距模块(m**eblock的),控制方式与HC-SR04有所不同,硬件上是大同小异的,但售价非常有逼格。 本菜出于好奇,在网上找了很久的资料,大多数都是讲怎么使用HC-SR04模块的,而我想找的资料是如何制作HC-SR04这个模块,关键是模块中STC单片机的程序。 1、原理部分 HC-SR04这个模块是2线制的(不包含电源线),Echo与Trig,Trig负责接收10us以上的触发信号,Echo则是输出距离信号;下面是时序图: 而m**e
[单片机]
用51单片机控制的LED流水灯设计
1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系
[单片机]
stm32之GPIO配置及库函数学习笔记——以流水灯为例
1.GPIO全称:gpio general-purpose input/output 通用输入/输出端口 2.GPIO寄存器中文名称与英文缩写对照表 3.GPIO_InitTypeDef结构体定义 typedef struct { uint16_t GPIO_Pin;//选择待设置的GPIO引脚 GPIOSpeed_TypeDef GPIO_Speed;//设置选中管脚的速率 GPIOMode_TypeDef GPIO_Mode;//设置选中管脚的工作状态(模式) }GPIO_InitTypeDef; 4.GPIO_Mode:端口的每个位可以分别配置成多种模式,中文名称与英文缩写对照表如下:
[单片机]
STC单片机实现水滴效果程序
ORG 000H ;起始地址 START: ;开始标号 MOV R0,#8 ;设置右移次数 MOV A,#0FEH;向A寄存器输入初始值 D2: MOV P1,A ;输出至P1口 CALL DL; 调入延时程序 RL A; 将A中数据向右移一位 DJNZ R0,D2;检测是否右移八次了 JMP START;否则跳到开始 DL: ;延时程序 MOV R3,#20
[单片机]
51单片机基础之流水灯(二)
代码: #include reg52.h #include intrins.h //这个头文件里包含所需左移右移函数 #define LED P2 //宏定义端口P2 void delay(unsigned int u16) //不再赘述 { while(u16--); } void main(void) { unsigned int i; LED=0x7f; delay(50000); while(1) { for(i=0;i 7;i++) { LED=_cror_(L
[单片机]
51单片机流水灯的三种实现方法
首先,介绍下原理。下图为主控芯片和流水灯模块的原理图。流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可。要实现流水灯功能,我们只要将LED1~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。 实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。 听起来是不
[单片机]
STC单片机程序下载问题及解决方法
失败现象: Chinese:正在尝试与 MCU/单片机 握手连接 ... 打开串口失败! Chinese: 串口已被其它程序打开或该串口不存在。 解决方法: 1,检查USB下载模块的连接是否正常,模块上的绿色和红色LED灯都亮起表示连接正常。绿色LED灯不亮表示USB驱动程序出现问题,可以拔下USB模块重插一次。红色LED灯不亮表示模块没有供电,或是USB模块后面的电源输出端(3.3V、+5V、GND)有短路。 2,在控制面板---》系统---》硬件管理器中找到“端口”---》CP2101串口,了解括号里的 COM号。如果括号里显示COM4,那在STC-ISP软件里也要选择COM4才行。 STC-ISP软件: 3,
[单片机]