经典的单片机程序 为什么不能运行 无语法错误

[复制链接]
4522|13
 楼主| wsjhy1 发表于 2010-3-22 18:07 | 显示全部楼层 |阅读模式
我想问下一个定时一秒的LED灯为什么不正常亮
TICK EQU 100
CP EQU 30H
LED BIT 20H
ORG 0
LJMP START
ORG 000BH
TOINT:
      PUSH PSW
      MOV A,CP
      DEC A
      MOV CP,A
      JNZ EXIT
      MOV TH0,#11110000B
      MOV TL0,#11110000B
      MOV CP,#64H
      CPL LED
EXIT:
     POP PSW
     RETI      
START:
      MOV TMOD,#00000001B
      MOV TH0,#11110000B
      MOV TL0,#11110000B
      MOV IE,#10000010B
      SETB TR0
      CLR CP
      CLR P1.0
      CLR LED
      MOV  CP,#64H
LOOP:
      MOV C,LED
      MOV P1.0,C
      LJMP LOOP
      END
szshawn2010 发表于 2010-3-22 21:44 | 显示全部楼层
你说的不正常亮是指重来就不亮,还是亮一下就不亮了,还是什么个情况。详细描述
NE5532 发表于 2010-3-22 21:50 | 显示全部楼层
我想问一下,你LED在哪个端口,你程序一行注释不加一句话不说就弄上来了,当斑竹是神啊?
冷漠 发表于 2010-3-23 10:55 | 显示全部楼层
写错了。一点都不经典。

ORG 000BH
TOINT:
      PUSH PSW
      MOV A,CP
      DEC A
      MOV CP,A
      JNZ EXIT
      MOV TH0,#11110000B
      MOV TL0,#11110000B
      MOV CP,#64H
      CPL LED
EXIT:
     POP PSW
     RETI      



正确写法应该是:
ORG 000BH
TOINT:
    MOV TH0,#11110000B
    MOV TL0,#11110000B
      PUSH PSW
      MOV A,CP
      DEC A
      MOV CP,A
      JNZ EXIT
    MOV CP,#64H
      CPL LED
EXIT:
     POP PSW
     RETI
冷漠 发表于 2010-3-23 10:59 | 显示全部楼层
LOOP:
      MOV C,LED
      MOV P1.0,C
      LJMP LOOP
      END

回3楼,LZ的LED 应该是在P1.0输出。
hxlwjn 发表于 2010-3-23 11:46 | 显示全部楼层
同意4楼。
xuhai20092009 发表于 2010-3-23 13:10 | 显示全部楼层
可以闪烁,软调一下
123987 发表于 2010-3-23 14:28 | 显示全部楼层
呵呵!好长时间不搞51了。更别说51汇编了。不过老大,能不能别用CP EQU 30H为CP赋值呢?你知道EQU代表啥吗?为啥后面又用MOV CP,A为CP赋值?两个矛盾吗?请楼主思考一下。因为我已经很长时间没有搞过51汇编了,胡言乱语一下,说错了请楼主不要扔板砖。谢谢!
moneta 发表于 2010-3-23 16:00 | 显示全部楼层
顶8楼!
楼主应该看下EQU是什么用法。
NE5532 发表于 2010-3-23 16:17 | 显示全部楼层
楼主态度问题,所以不想看程序给楼主帮忙,写程序记得写注释,利己利人。
123987 发表于 2010-3-24 09:16 | 显示全部楼层
9# moneta
谢顶!:victory:
weizhen555 发表于 2010-3-24 15:11 | 显示全部楼层
有点绕。。。
xfgood3872 发表于 2010-4-7 13:47 | 显示全部楼层
10楼我顶你个肺
 楼主| wsjhy1 发表于 2010-5-31 10:10 | 显示全部楼层
嗯谢谢 我的程序是用了数星期从无到有编出来了
也许有些不全的 但是很好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

40

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部