打印

单片机编程请求赐教,谢谢....

[复制链接]
2081|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MENGREN|  楼主 | 2011-8-10 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 MENGREN 于 2011-8-10 21:34 编辑

刚刚注册的新号,还没有积分,所以不能提供问题分,期待高人无偿赐教,在此拜过。
买了块单片机学习开发板,今天遇到了一个编程问题,关于歌曲《生日快乐》的汇编程序。看了几遍,那个SING子语句,还是不甚清楚,所以请教高人解读下SING语句的意思,谢谢哈。你的无私帮助的不只是我,还有许许多多的同道中人。
程序如下:
     
  
  
     ORG     0000H
        JMP     MAIN
        ORG     000BH
        JMP     INTT0
        ORG     0100H        
MAIN:   MOV     SP,#60H
        MOV     TMOD,#01H
        SETB    ET0
        SETB    EA
        SETB    TR0
START0: ;clr    P1.5
        MOV     30H,#00H
NEXT:   MOV     A,30H
        MOV     DPTR,#TABLE
        MOVC    A,@A+DPTR
        MOV     R2,A
        JZ      ENDD
        ANL     A,#0FH
        MOV     R5,A
        MOV     A,R2
        SWAP    A
        ANL     A,#0FH
        JNZ     SING
        CLR     TR0
        JMP     D1
SING:   DEC     A
        MOV     22H,A
        RL      A
        MOV     DPTR,#TABLE1
        MOVC    A,@A+DPTR
        MOV     TH0,A
        MOV     21H,A
        MOV     A,22H
        RL      A
        INC     A
        MOVC    A,@A+DPTR
        MOV     TL0,A
        MOV     20H,A
        SETB    TR0
D1:     CALL    DELAY
        INC     30H
        JMP     NEXT
ENDD:   CLR     TR0
        JMP     START0
INTT0:
        PUSH    PSW
        PUSH    ACC
        MOV     TL0,20H
        MOV     TH0,21H
        CPL     P1.5
        POP     ACC
        POP     PSW
        RETI
DELAY:  MOV     R7,#02
DELAY0: MOV     R4,#187
DELAY1: MOV     R3,#248
        DJNZ    R3,$
        DJNZ    R4,DELAY1
        DJNZ    R7,DELAY0
        DJNZ    R5,DELAY
        RET
TABLE:  DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H
        DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H
        DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
        DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
        DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H
        DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H
        DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
        DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
//TABLE1: DW 64260,64400,64524,64580,64684,64777,64820,64898
//       DW 64968,65030,65058,65110,65157,65178,65217  



      
END

相关帖子

沙发
i852774842| | 2011-8-10 21:01 | 只看该作者
不懂汇编啊

使用特权

评论回复
板凳
NE5532| | 2011-8-10 21:05 | 只看该作者
我凭啥一行一行给你加注释?我入门都是自己勤学苦练,楼主为啥不自己先动脑筋?

使用特权

评论回复
地板
MENGREN|  楼主 | 2011-8-10 21:05 | 只看该作者
2# i852774842 还是谢谢你哈!

使用特权

评论回复
5
MENGREN|  楼主 | 2011-8-10 21:11 | 只看该作者
回复3楼:语句能看懂,但就是不知道为什么要这样编就能实现呢?归根结底还是整体结构把握不住...我知道入门不易,而且现在我也现在正在努力。

使用特权

评论回复
6
ygzjyh| | 2011-8-10 21:11 | 只看该作者
你应该找本单片机的书,对应51指令集自己给这个程序加注释。

使用特权

评论回复
7
MENGREN|  楼主 | 2011-8-10 21:18 | 只看该作者
6# ygzjyh
嗯,谢谢你的提醒哈!

使用特权

评论回复
8
NE5532| | 2011-8-10 22:17 | 只看该作者
回复3楼:语句能看懂,但就是不知道为什么要这样编就能实现呢?归根结底还是整体结构把握不住...我知道入门不易,而且现在我也现在正在努力。
MENGREN 发表于 2011-8-10 21:11


如果你连这个程序怎么实现都不知道,OK,最好换个程序来看,因为这个程序不适合你。或者干脆自己写个最简单的程序来研究,然后慢慢加深难度。完全不知道怎么回事的东西无助学习,要垫下脚能够到的东西才能成长。

使用特权

评论回复
9
MENGREN|  楼主 | 2011-8-10 22:36 | 只看该作者
8# NE5532
谢谢你的赐教,这个程序我会自己慢慢搞的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝