电子音乐盒仿真求助


ORG 0000H
LJMP MAIN
ORG 000BH
LJMP SOUND
ORG 0030H
MAIN:MOV TMOD,#01H
     MOV IE,#82H
     SETB P3.2
STA: MOV 31H,#00H
NO:  MOV 30H,#00H
NEXT:MOV DPTR,#FIRST
     MOV A,30H
     MOVC A,@A+DPTR
     MOV R2,A
     CJNE A,#00,NEXT1
     CLR TR0
     SJMP NO
NEXT1:MOV A,R2
      ANL A,#0FH
      MOV R5,A
      MOV A,R2
      SWAP A
      ANL A,#0FH
      JNZ SING
      CLR TR0
      SJMP D1
SINGEC A
     CLR C
     RL A
     MOV 22H,A
     MOV DPTR,#TABLE
     MOVC A,@A+DPTR
     MOV TH0,A
     MOV 21H,A
     MOV A,22H
     ADD A,#1
     MOVC A,@A+DPTR
     MOV TL0,A
     MOV 20H,A
     MOV P1,A
     SETB ET0
     SETB TR0
D1: LCALL DELAY
    CLR TR0
    INC 30H
    SJMP NEXT
SOUNDUSH ACC
       PUSH PSW
       CLR TR0
       MOV TL0,20H
       MOV TH0,21H
       CPL P3.0
       POP PSW
       POP ACC
       SETB TR0
       RETI
DELAY:MOV R7,#03
D2: MOV R4,#250
D3:MOV R3,#50H
D30JNZ R3,D30
    DJNZ R4,D3
    DJNZ R7,D2
    DJNZ R5,DELAY
    RET
FIRSTB 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     ;乐谱
TABLEB 0F6H,6FH,0F7H,24H,0F8H,1BH,0F8H,8FH
      DB 0F9H,5EH,0FAH,17H,0FAH,6BH,0FBH,08H
      DB 0FBH,92H,0FCH,0EH,0FCH,4BH,0FCH,0AFH
      DB 0FDH,0CH,0FDH,36H,0FDH,84H,0FDH,0C9H   ;TH0,TR0对应值
      END


P3.2控制失效
问题出现在时间器不能引发中断服务

初学单片机 只懂点皮毛
准备做给女朋友的礼物
哪位大哥帮我看看 感激不尽

job1.rar
(2008-10-11 02:24:33, Size: 24.2 KB, Downloads: 0)


我也来说两句 查看全部回复

最新回复

  • zhangyan1985427 (2008-10-11 13:28:24)

    你这代码是网上复制的吧?太乱了.你去下那种音乐的例子.打包的.比较完整.
  • gaspar (2008-10-12 01:10:16)

    书上的例题
    《单片机应用系统设计--入门向导与设计实例》