2633|7

9

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

新手问个及其怪异程序 [复制链接]

用51实现的程序:刚开始8个LED灯流动闪烁,按下一个开关(中断实现),流水灯停止流动,而是亮灭8次,8次后从中断前状态接着流动闪烁。程序写出来了,如下:
ORG 0000H
LJMP START
ORG 0003H
LJMP INT
ORG 100H
START: MOV SP,#30H
SETB EA
SETB EX0
SETB IT0
MOV A,#0FEH
L1:MOV P1,A
LCALL DELAY
RL A
SJMP L1
INT: PUSH ACC
MOV A,#0FFH
MOV P1,A
MOV R1,#10H
L2:CPL A
MOV P1,A
LCALL DELAY
DJNZ R1,L2
POP ACC
RETI
DELAY:MOV R0,#0FFH;延时程序,程序2此行改成DELAY:MOV R0,#02H
D3:MOV R3,#02H        ;程序2此行改成D3:MOV R3,#0FFH
D1: MOV R2,#0FFH
D2:JNZ R2,D2
DJNZ R3,D1
DJNZ R0,D3
RET
END
这个程序没问题,不过改了延迟程序中的2个数据,就出问题了,程序2即
ORG 0000H
LJMP START
ORG 0003H
LJMP INT
ORG 100H
START: MOV SP,#30H
SETB EA
SETB EX0
SETB IT0
MOV A,#0FEH
L1:MOV P1,A
LCALL DELAY
RL A
SJMP L1
INT:PUSH ACC
MOV A,#0FFH
MOV P1,A
MOV R1,#10H
L2:CPL A
MOV P1,A
LCALL DELAY
DJNZ R1,L2
POP ACC
RETI        ;和前面程序都一样
DELAY:MOV R0,#02H;这行改了数据
D3:MOV R3,#0FFH    ;这行改了数据
D1: MOV R2,#0FFH
D2: DJNZ R2,D2
DJNZ R3,D1
DJNZ R0,D3
RET
END
这个程序前面都一样,可以实现流水灯,按了开关(中断)后,可以闪烁8次,闪烁8次后,灯就一直灭了,不能恢复流动闪烁,怎么回事,一直想不明白??
不用堆栈保存A中数据也部行。。昏迷了
此帖出自单片机论坛

最新回复

看汇编很累的,呵呵  详情 回复 发表于 2010-2-3 16:24
点赞 关注
 

回复
举报

2771

帖子

0

TA的资源

裸片初长成(中级)

沙发
 
汇编啊,晕到,兄弟,用C51吧,
此帖出自单片机论坛
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

板凳
 
建议使用定时器做,你在外部中断里面使用的延时,时间有点长了。
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

4
 
你的ACC,左移8次后,都变成0了,还怎么亮啊?在移了8次以后,要继续给ACC赋植,ACC=0XFE;
此帖出自单片机论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(高级)

5
 
问题不是出在RL上,因为第一个程序都运行正常呀。ACC,左移8次后,不会都变成0的
此帖出自单片机论坛
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

6
 
0XFE,左移一次,请问是多少? 









最右边那位用0来表示

所以移位的时候,ACC要和和C标志一起移位
此帖出自单片机论坛
 
 
 

回复

391

帖子

0

TA的资源

纯净的硅(高级)

7
 
程序我没看,但我想应该问题不大吧,模拟仿真一下。看一下中断前后的状态就行,看看问题是在那发生的
此帖出自单片机论坛
 
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

8
 
看汇编很累的,呵呵
此帖出自单片机论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表