利用8031单片机,设计跑马灯和流水灯
扫描二维码
随时随地手机看文章
原题网址:http://zhidao.baidu.com/question/132136276.html
正常情形下使P1口八个发光二极管做流水灯显示。
紧急情况下,使八个发光二极管做鸳鸯戏水显示。
鸳鸯戏水就是一共是八个灯,一次亮四个,奇数灯和偶数灯分开亮。即:这次是1357灯亮,下次是2468灯亮。
要求用汇编语言编制程序,多谢。
问题补充:要求在外部扩展一个4KB的外部存储器。
悬赏分:80 - 解决时间:2010-1-7 14:43
=====================================
最佳答案:
;------------------------------------
;题目要求在外部扩展存储器,就是说P0P2口,我们不能使用,那么就用P1外接8个LED,用P3.2输入“紧急”状态。
;以下程序,仿真调试成功.
;------------------------------------
ORG 0000H ;程序开始地址.
SJMP MAIN ;跳转到MAIN.
ORG 0030H ;程序入口.
MAIN:
MOV 30H, #7FH ;设定常规发光的数据
MOV 31H, #55H ;设定紧急发光的数据
;------------------------------------
LOOP1:
MOV A, 30H ;取来常规数据
LOOP11:
RL A ;修改
MOV P1, A ;显示
LCALL DELAY ;显示的时间
JNB P3.2, LOOP2 ;如果是紧急,就转移
SJMP LOOP11 ;重复
;------------------------------------
LOOP2:
MOV A, 31H ;取来紧急数据
LOOP22:
CPL A
MOV P1, A
LCALL DELAY
JB P3.2, LOOP1 ;如果是常规,就转移
SJMP LOOP22
;------------------------------------
DELAY: ;延时子程序,控制发光的时间
MOV R7, #250
DL1:MOV R6, #100
DL2:MOV R5, #10
DL3:DJNZ R5, DL3
DJNZ R6, DL2
DJNZ R7, DL1
RET
END