历史上的今天
今天是:2024年11月19日(星期二)
2018年11月19日 | 利用8031单片机,设计跑马灯和流水灯
2018-11-19 来源:eefocus
正常情形下使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
史海拾趣
|
我在网上下了这个串口的程序,就是如果直接运行进不了中断处理函数,如果我打开串口调试工具的话程序一过 thisUcb->isrHandle = RtAttachInterruptVector ...… 查看全部问答> |
|
各位大侠: 我想在单片机下实现串口打印功能的一个函数PrintfEx 但是要可以想printf一样格式化变量 如: int a = 100; PrintfEx(\"a is %d\\r\\n\",a); 请问如何实现这一功能呢?谢谢!… 查看全部问答> |
|
二手开发板,IC呆料免费交易平台www.dz-dailiao.cn,www.电子呆料.cn 二手开发板,IC呆料免费交易平台www.dz-dailiao.cn,www.电子呆料.cn… 查看全部问答> |
|
wince下HD Audio 音频驱动开发时,在调试时发现有调试信息时,播放声音文件可以听到断续的声音,但去掉调试信息后无法听到任何声音,不知是什么原因,请指教! 不慎感激!! … 查看全部问答> |
|
如何从winow mobile5.0 切换到wince5.0中 我的程序是在VS2005上开发,用的是windows mobile 5.0 PocketPC(compact Framework1.0)版本 现在想切换到wince5.0平台上。 使用project->change target platform ,发现无法 切换到wince5.0,主要原因是wince5.0的project需要的是compact Framew ...… 查看全部问答> |
|
最近小弟碰到一个很郁闷的问题 就是用2440写一个触摸屏的程序, 在调试的时候 ,发现只显示X轴或Y轴的时候 是正常的 但是两个轴一起显示,数据就不正常了! 不知道有没有谁碰到过这种问题, 请多多指教!… 查看全部问答> |
|
对参考电压的选择有很多疑问,比如下面这个例子我在很多地方都看到过void main(void){ WDTCTL = WDTPW+WDTHOLD; ADC12CTL0 = ADC12ON+SHT0_8+MSC; ADC12CTL1 = SHP+CONSEQ_2; &nb ...… 查看全部问答> |




