单片机实现灯左右移动和闪烁的程序
2016-01-25 11:30
323 查看
求单片机程序,实现灯左右移动和闪烁
悬赏分:100 - 解决时间:2009-12-3 23:22
功能说明:单片机P1口接八只LED,要求端口做单一灯的变化:从P1.0开始先向左移3次,然后向右移2次,再闪烁4次,不断循环。
最佳答案:
用汇编语言编写程序如下。
ORG 0000H
MOV A, #0FEH
SSS:
MOV P1, A ;P1.0外接LED发光
LCALL DL1S
RL A ;左移一位
MOV P1, A ;P1.1外接LED发光
LCALL DL1S
RL A
MOV P1, A
LCALL DL1S
RL A
MOV P1, A ;左移3次完成
LCALL DL1S
RR A ;右移
MOV P1, A
LCALL DL1S
RR A ;右移
MOV P1, A
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
LJMP SSS ;循环
DL1S: ;亮灯时间,由下面的数字进行控制
MOV R5, #20
DL2:MOV R6, #100
DL3:MOV R7, #250
DJNZ R7, $
DJNZ R6, DL3
DJNZ R5, DL2
RET
回答者: 做而论道 - 十一级 2009-12-2 11:36
提问者对于答案的评价:谢谢
悬赏分:100 - 解决时间:2009-12-3 23:22
功能说明:单片机P1口接八只LED,要求端口做单一灯的变化:从P1.0开始先向左移3次,然后向右移2次,再闪烁4次,不断循环。
最佳答案:
用汇编语言编写程序如下。
ORG 0000H
MOV A, #0FEH
SSS:
MOV P1, A ;P1.0外接LED发光
LCALL DL1S
RL A ;左移一位
MOV P1, A ;P1.1外接LED发光
LCALL DL1S
RL A
MOV P1, A
LCALL DL1S
RL A
MOV P1, A ;左移3次完成
LCALL DL1S
RR A ;右移
MOV P1, A
LCALL DL1S
RR A ;右移
MOV P1, A
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
MOV P1, #0FF ;灭
LCALL DL1S
MOV P1, A ;亮
LCALL DL1S
LJMP SSS ;循环
DL1S: ;亮灯时间,由下面的数字进行控制
MOV R5, #20
DL2:MOV R6, #100
DL3:MOV R7, #250
DJNZ R7, $
DJNZ R6, DL3
DJNZ R5, DL2
RET
回答者: 做而论道 - 十一级 2009-12-2 11:36
提问者对于答案的评价:谢谢
相关文章推荐
- 编写51单片机程序,输出方波,at89s52的单片机
- 数据库索引的实现原理
- js的创建多维数组的方法
- BusyBox - The Swiss Army Knife of Embedded Linux
- AngularJS中的$http深入分析
- Javascript 正确用法 二
- 一些取整方法
- 实现每隔1秒计一个数,显示00到99
- 利用8031的定时/计数器T1对外部事件进行计数
- Socket 短连接、长连接
- 在7000H--700FH中查出“00”的个数
- 关于8279的实例
- 利用单片机的定时器中断,周期性输出矩形波
- C程序翻译成汇编语言
- 关于 BCD 码减数求补的问题
- java基础篇--05<java集合>
- PHP设置头信息及取得返回头信息的方法
- 关于SM2的应用方法
- 关于“世上只有妈妈好”的单片机音乐演奏程序
- 新界面, 软键盘的弹出问题