首页 » 家电维修 » 冰箱维修 » 单片机流水灯1到8依次亮程序,单片机流水灯1到8依次亮程序循环

单片机流水灯1到8依次亮程序,单片机流水灯1到8依次亮程序循环

admin 2024-12-16 10:19:58 冰箱维修 0

扫一扫用手机浏览

51单片机,用定时器中断,在P1口实现1S移动一次的流水灯,用汇编语言编写的程序?

CNT EQU 30HORG 0000HSJMP STAORG 000BHLJMP T0ISRORG 0050HSTA: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H ;50ms MOV P1,#0FEH MOV CNT,#20 SETB ET0 SETB TR0 SETB EA SJMP $T0ISR: CLR TR0 MOV TH0,#3CH MOV TL0,#0B0H ;50ms SETB TR0 DEC CNT MOV A,CNT JNZ T0ISRE MOV CNT,#20 MOV A,P1 RL A MOV P1,AT0ISRE: RETI END

单片机汇编语言按键控制流水灯,两个开关k1,k2。实现功能按下k1,流水灯左移动,按下k2,流水灯右移动?

单片机流水灯1到8依次亮程序

假设P0.0接k1,P0.1接k2,k1或k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相应的二极管,需要P2口对应引脚输出高电平1;按下k1时,P2口初值设为00000001B,这样点亮最右边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次左移1位,这样8个二极管可以依次点亮,即流水灯左移;按下k2时,P2口初值设为10000000B,这样点亮最左边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次右移1位,这样8个二极管可以依次点亮,即流水灯右移。

51单片机控制流水灯?

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

#include

#define uchar unsigned char

#define uint unsigned int

//N毫秒的延时函数

delay_ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=114;j>0;j--); return 0; }

void main(){uchar a,i;while(1){a=0xfe; //点亮第一位LED灯for(i=0;i<8;i++){P1=a;a=a<<1; //左移一位a=a|0x01; //左移一位后与0x01相或,保证左移后最低位为1 delay_ms(500); }}}

单片机流水灯1到8依次亮程序

相关文章

LM2596如何扩压,lm2596s怎么扩流

lm2596中只有lm2596adj电压可调么?是的,你看一下芯片资料就知道了,LM2596-5等固定输出芯片将反馈分压电阻都集成...

冰箱维修 2024-12-16 阅读2 评论0

24v电源,24v电源模块

什么叫本安电源24v?本安电源24V是一种特殊类型的电源,它被设计用于在危险环境中供电。本安电源是指在易燃易爆环境中使用的低能量电...

冰箱维修 2024-12-16 阅读2 评论0

常用电气符号,常用电气符号对照表

常用的电气符号有哪些?电气符号是指用于各种设备,作为操作指示或者用来显示设备的功能或工作状态符号。基本文字符号例如:c 电容器;...

冰箱维修 2024-12-15 阅读2 评论0