电子琴设计及流程图 第4页

电子琴设计及流程图 第4页
JNB P2.6,LOOP_6
       JNB P2.7,LOOP_7
       SJMP BLOCK
                                       ;R1信号周期
LOOP_1:  MOV R1,#19                    ;如果第一个按键按下,则R1=19,同时程序转NEXT
       SJMP NEXT
LOOP_2:  MOV R1,#17            
       SJMP NEXT
LOOP_3:  MOV R1,#15
       SJMP NEXT
LOOP_4:  MOV R1,#14
       SJMP NEXT
LOOP_5:  MOV R1,#13
       SJMP NEXT
LOOP_6:  MOV R1,#11
       SJMP NEXT
LOOP_7:  MOV R1,#10
       SJMP NEXT
NEXT:  MOV A,R1               
       MOV R0,A
       SETB TR0                      ;启动定时器0               
NEXT_1:MOV A,P2                     ; 没键按下继续执行,有键按下,返回读引脚
       CJNE A,#0FFH,NEXT_1
       ACALL DELAY
       MOV A,P2                       ;真的没键按下?
       CJNE A,#0FFH,NEXT_1
       CLR TR0                        ;不响
       AJMP BLOCK                     ;扫描键盘去
INT_0:                                 ;中断程序
      DJNZ R0,RE                      ;R0不等于0时,返回
      CPL P1.0
      MOV A,R1
      MOV R0,A
RE:   RETI
DELAY:MOV R7,#100                    ;延长时间等待,键盘消抖
D1:   MOV R6,#10
D2:   DJNZ R6,D2
      DJNZ R7,D1
      RET
      END
 

2. 主程序:(扩展功能部分程序)
      ORG 0000H
      JMP MAIN
      ORG 000BH
      JMP STXD
MAIN: MOV TMOD,#01H               ;设置定时器0工作方式
      MOV IE,#82H                   ;设置中断
MAIN0:MOV 30H,#00H
NEXT: MOV A,30H
      MOV DPTR,#TABLE              ;查表
      MOVC A,@A+DPTR
      MOV R2,A
      JZ STOP
      ANL A,0FH
      MOV R5,A
      MOV A,R2
      SWAP A
      ANL A,#0FH
      JNZ SING
      CLR TR0
      JMP RL1
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
RL1:   CALL DELAY
      INC 30H
      JMP NEXT
STOP: CLR TR0           
      JMP MAIN0
STXD:  PUSH ACC                      ;中断服务程序
      PUSH PSW
      MOV TL0,20H
      MOV TH0,21H
      CPL P1.0
      POP PSW
      POP ACC
      RETI
DELAY:MOV R7,#01FH                    ;延时程序
 RL2:  MOV R4,#08FH
 RL3:  www.751com.cn
      DJNZ R5,DELAY
      RET
生日快乐歌:
TABLE1:DW 64260,64400,64524,64580        ;音符计数值
       DW 64684,64777,64820,64898
       DW 64968,65030,65058,65110
DW 65157,65178,65217
 
 TABLE:DB 82H,01H,81H,94H,84H            ;节拍表
       DB 0B4H,0A4H,04H
       DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
 
 
       DB 82H,01H,81H,0F4H,0D4H
       DB 0B4H,0A4H,94H
       DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H
 
 
       DB 82H,01H,81H,94H,84H
       DB 0B4H,0A4H,04H
       DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
 
 
       DB 82H,01H,81H,0F4H,0D4H
       DB 0B4H,0A4H,94H
       DB 0E2H,01H,0E1H,0D4H,0B4H
       DB 0C4H,0B4H,04H
       DB 00HEND

上一页  [1] [2] [3] [4] [5] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有