利用8031单片机,设计跑马灯和流水灯

本文提供了一个使用8031单片机实现跑马灯和流水灯效果的汇编语言程序。在正常情况下,P1口的八个发光二极管作为流水灯运行;紧急情况下,采用鸳鸯戏水模式交替点亮奇数和偶数灯。程序还包括了外部存储器的扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用8031单片机,设计跑马灯和流水灯。

正常情形下使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
;------------------------------------
回答者: 做而论道 - 十二级 2010-1-5 22:04
原题网址:http://zhidao.baidu.com/question/132136276.html
;------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值