用移位方式实现流水灯

发布者:数字探险家最新更新时间:2018-01-17 来源: eefocus关键字:移位方式  流水灯 手机看文章 扫描二维码
随时随地手机看文章

org 00h ;程序上电从00h开始
ajmp main ;跳转到主程序
org 0030h ;主程序起始地址
main:
mov a,#0feh ;给A赋值成11111110
mov r0,#8
loop:
mov p0,a ;将A送到P1口,发光二极管低电平点亮
; mov p2,a
lcall delay ;调用延时子程序


rl a ;累加器A循环左移一位
djnz r0,loop
mov p0,#0ffh

mov a,#7fh
mov r0,#8
loop1:
mov p2,a ;将A送到P1口,发光二极管低电平点亮
; mov p2,a
lcall delay ;调用延时子程序
rr a ;累加器A循环左移一位
djnz r0,loop1
mov p2,#0ffh

ajmp main ;重新送P1显示
delay:
mov r3,#10 ;最外层循环二十次
d1:
mov r4,#80 ;次外层循环八十次
d2:
mov r5,#250 ;最内层循环250次
djnz r5,$ ;总共延时2us*250*80*20=0.8S
djnz r4,d2
djnz r3,d1
ret
end


关键字:移位方式  流水灯 引用地址:用移位方式实现流水灯

上一篇:蜂鸣器的变调报警功能
下一篇:数码管计数显示

推荐阅读最新更新时间:2024-03-16 15:53

单片机控制花样流水灯原理图及程序
  AT89C51单片机流水灯c语言程序   1、首先先在proteus画出仿真图,方便仿真程序   2、下面来编写程序,先来写入头函数   3、根据自己在proteus画的图,定义一下管脚根据你的原理图进行编写   sbit p0=P1^0;   sbit p1=P1^1;   sbit p2=P1^2;   sbit p3=P1^3;   sbit p4=P1^4;   sbit p5=P1^5;   sbit p6=P1^6;   sbit p7=P1^7;   4、然后写一个延时函数,来调节流水灯的时间间隔延时时间自己定义   void mdelay(unsigned int t)   {   unsigned cha
[单片机]
单片机控制花样<font color='red'>流水灯</font>原理图及程序
SysTick_系统定时器实现流水灯
参考资料《 ARM Cortex™-M4F 技术参考手册》-4.5 章节 SysTick Timer(STK) SysTick(系统滴答定时器),本质上就是一个内嵌在NVIC中的一个定时器,属于内核中的一个外设,是一个24位的向下递减的计数器,计数器每1/SYSCLK就减1,当寄存器的值减到0的时就会产生一次(硬件上的)中断,也有叫做滴答中断。主要的目的1、用来产生精确的延时。2、一般用于操作系统,用于产生时基,维持操作系统的心跳给操作系统提供一个单独的心跳(时钟)节拍。关于对于SyeTick的介绍我推荐看一下这位大神博客 https://blog.csdn.net/yx_l128125/article/details/788
[单片机]
SysTick_系统定时器实现<font color='red'>流水灯</font>
51单片机做32路流水灯程序
用51单片机做的超级32路流水灯程序 下面是实物图片: 源代码下载地址: http://www.51hei.com/f/ts24.rar #include reg51.h #include intrins.h #define ushort unsigned short //P0,P1,P2,P3数据类型是 unsigned short ;数值范围 :0~~~~65 635 #define uint unsigned int ushort code display_P0 ={ //P0 口显示内容 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
[单片机]
51单片机做32路<font color='red'>流水灯</font>程序
一段流水灯的单片机程序
#include #include void delay(unsigned int); void main(void){ P1=0xaa; while(1){ P1=_crol_(P1,1); delay(500); } } void delay(unsigned int xms){ unsigned int i,j; for(i=xms;i 0;i--) for(j=110;j 0;j--); } #include _crol_ 为循环左移函数
[单片机]
32LED单片机心形花样流水灯
#include reg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char uchar code zou ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//单个从0到7 uchar code you ={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//单个从7到0 uchar code liang0_7 ={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; // 逐个点亮0~7 uchar code lia
[单片机]
自制DIY-32心形流水灯,十几种效果
废话不多说先上图 次醒能任意设定方向和频率点亮,大家还可以换上不同颜色的灯 参考源代码如下: /******第一个参数为次数n,第二个为时间t(ms) qbsszgl 全部顺时逐个亮; qbsszgm 全部顺时逐个灭; lbtbls(n,t)两边同步流水; ygnsls 一个逆时流水; ygssls 一个顺时流水; tbnsls 同步逆时流水 tbssls 同步顺时流水; tbsszgl 同步顺时逐个亮; tbnszgl 同步逆时逐个亮; tbsszgm 同步顺时逐个灭; tbnszgm 同步逆时逐个灭; yslbtbzgl 由上两边同步逐个亮; yslbtbzgm 由上两边同步逐个灭; lbtbdj 两边同步叠加; bg
[单片机]
自制DIY-32心形<font color='red'>流水灯</font>,十几种效果
初学stm32-寄存器开发点灯、流水灯、蜂鸣器
寄存器开发概述1 寄存器: 寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。 STM32内部的所有寄存器都有唯一的地址 寄存器地址 = 寄存器基地址+偏移地址(偏移量) stm32时钟源: LSI RC 32KHZ — 低速内部振荡时钟源 LSE OSC 32.768KHZ — 低速外部晶振时钟源 16MHZ HSI RC — 高速内部振荡时钟源 4-26MHZ HSE
[单片机]
初学stm32-寄存器开发点灯、<font color='red'>流水灯</font>、蜂鸣器
XMEGA128学习笔记3-流水灯
GPIO的特点有 1、可以独立配置引脚输入或者输出 2、输出速率控制 3、多种输出模式 4、时钟输出等等 今天我们就做最简单的流水灯操作,和MEGA系列单片机一样,寄存器有: 1、方向寄存器DIR,设置为1表示输出模式,设置为0表示输入模式 2、数据输出寄存器OUT,设置1表示输出高电平,设置0表示输出低电平。 我们从原理图看到板上的8个流水灯在PORTE引脚上,代码如下: #include xmega128a1.h #include delay.h void main(void) {        unsigned char i;        PORTE.OUT=0xFF;//初始LED灭        PORTE.D
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved