开关控制的单片机流水灯 汇编
来源:互联网 发布:JAVA http 多附件报文 编辑:程序博客网 时间:2024/04/29 08:59
在单片机控制下,用一个拨动开关K1,控制8个发光二极管L1-L8,发光的时间间隔为0.5秒。
具体要求:
当拨动开关K1发出低电平(K1=0)时,L1-L8从两头向中间逐个点亮,当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。
当拨动开关K1发出高电平(K1=1)时,中间的L4、L5点亮,然后点亮的灯向两边扩展,直到L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。
悬赏分:20 - 解决时间:2009-12-21 13:42
最佳答案:
;--------------------------------------------
下列程序,经过了编译、仿真,可以满足要求。
;--------------------------------------------
ORG 0000H
MOV R2, #0
M_LOOP:
MOV A, R2
INC R2
ANL A, #07H
MOV C, P3.2
MOV ACC.3, C
MOV DPTR, #TAB
MOVC A, @A + DPTR
MOV P1, A
CALL DL5KT
SJMP M_LOOP
;--------------------------------------------
TAB:
DB 0xFF, 0xE7, 0xC3, 0x81, 0x00, 0x00, 0x00, 0x00
DB 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00
;--------------------------------------------
DL5KT:
MOV R5, #10
MOV R6, #100
MOV R7, #250
DJNZ R7, $
DJNZ R6, $ - 4
DJNZ R5, $ - 8
RET
;--------------------------------------------
END
;--------------------------------------------
回答者: 做而论道 - 十一级 2009-12-19 01:39
提问者对于答案的评价:对吗,有点短哦....但还是谢谢你哦
原题网址:http://zhidao.baidu.com/question/129794683.html?fr=im2
;--------------------------------------------
程序说明:在TAB表格里面,定义了两行数据,上一行,是在K1=0期间使用,下一行,是在K1=1期间使用。
表格中的内容,可以任意改写,即可显示不同的花样。
;--------------------------------------------
呵呵,楼主可能看惯了长篇大论的巨制,确实也有人发表过上百行的流水灯的程序,但是,做而论道编写的这不到30行的汇编语言程序,效率要高出他们许多。不信就进行实验检测。上面的程序,可以使用下面的电路图来进行仿真实验。
图片链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/a5fcfaf6e738621a730eece1.html
实验证明,别看程序简短,却完全可以满足要求;在要求改变花样的时候,程序修改起来也极为方便。
- 开关控制的单片机流水灯 汇编
- 开关控制流水灯
- 基于proteus的51单片机仿真实例十一、51单片机的P0口控制实例--流水灯
- 单片机控制流水灯 数码管显示时间 蜂鸣器报警
- 单片机3级流水灯的源代码
- 单片机流水灯的C原理
- 单片机学习之流水灯的实现
- 51单片机的流水灯--逻辑实现
- 单片机--->流水灯
- 单片机-->流水灯2
- 单片机 流水灯
- 单片机,流水灯
- 单片机流水灯程序
- 单片机流水灯
- 51单片机流水灯
- 单片机之流水灯
- 单片机之流水灯
- S3C6410裸板纯汇编流水灯的实现
- 两个51单片机,两机的串口交叉连线,双机互发数据
- sass使用记录
- P1.1, P1.2做输入, P1.3做输出, 控制一个5V继电器
- virtualbox安装linux配置安装程序源
- 单片机蜂鸣程序 汇编
- 开关控制的单片机流水灯 汇编
- mac上用文本写html5的注意点
- 八进制数转换为二进制数 -80x86汇编语言
- 定时顺序控制程序 -51单片机
- 有八个Led接在P1口。
- 获取DataTable的时候同时获取主键
- StringUtils
- 中国首批18个“魅力小城”出炉
- 平均值问题(51汇编语言)