原创 ISD4003设计

2009-12-6 15:55 3413 6 6 分类: MCU/ 嵌入式

点击看大图点击看大图点击看大图点击看大图


 


 


 


部分程序代码:


;***************初始化******************************************
     ORG 0000H   ;
     AJMP MAIN
     ORG 001BH
     AJMP TT
     ORG 30H   ;
MAIN: 
      MOV SP,#50H
      MOV R4,#02H
;****************************************************************  
AGAIN:LCALL LCD_INIT   ;LCD初始化
          MOV A,#10H   ;发0X010 XXXXXXXXXX
          ACALL ISDX  
          SETB SS      ;关片选
          ACALL YS50   ;50mS延时
          ACALL YS50   ;50mS延时
      LCALL LCD_INIT   ;LCD初始化
      LCALL LCD_INIT   ;LCD初始化
      MOV A,#80H
      LCALL LCD_CMD
      MOV DPTR,#TABLE11
      LCALL WRITE
      MOV A,#0C0H
      LCALL LCD_CMD
      MOV DPTR,#TABLE12
      LCALL WRITE
      LCALL DELAY500MS
      LCALL LCD_INIT
      LCALL DELAY500MS
      DJNZ R4,AGAIN     ;闪烁2次
      MOV R4,#02H      
;****************************************************************
      LCALL LCD_INIT    ;LCD初始化
      MOV A,#80H
      LCALL LCD_CMD
      MOV DPTR,#TABLE21
      LCALL WRITE
      MOV A,#0C0H
      LCALL LCD_CMD
      MOV DPTR,#TABLE22
      LCALL WRITE
      LCALL DELAY500MS
      LCALL DELAY500MS
      LCALL DELAY500MS
      LCALL DELAY500MS
;***************************************************************
QQ:   LCALL LCD_INIT    ;LCD初始化
      MOV A,#80H
      LCALL LCD_CMD
      MOV DPTR,#TABLE31
      LCALL WRITE
      MOV A,#0C0H
      LCALL LCD_CMD
      MOV DPTR,#TABLE32
      LCALL WRITE
     mov a,#00h
     mov a_bit,a
     mov b_bit,a
     mov c_bit,a
      MOV P1,#0FFH  
      MOV P2,#0FFH  
      MOV P3,#0FFH  
      MOV P0,#0FFH  
      CLR EA    
MAII: SETB LED        ;关指示灯
      ACALL DSTOP     ;ISD掉电
MAS0: MOV 3AH,#200  
MAS1: JB AN,MAS0      ;等按AN键PLAY/REC
      DJNZ 3AH,MAS1  
      ACALL UP        ;ISD上电
      MOV 20H,#00H    ;ISD低位地址
      MOV 21H,#00H    ;ISD高位地址
      JB PR,REC       ;PR=1 录音
      AJMP PLAY       ;PR=0 放音
;****** SETREC 16位 ************************************************
;***** 从指定地址录音10100<X A9 A8 A7 A6 A5 A4 A3 A2 A1 A0> **********
REC:
     MOV A,20H        ;发地址 A7-A0
     ACALL ISDX  
     MOV A,21H        ;发地址 A9-A8
     SETB ACC.7  
     CLR ACC.6  
     SETB ACC.5  
     CLR ACC.4  
     CLR ACC.3   
     ACALL ISDX  
     SETB SS           ;关片选
;******* REC 8位 *****************************************************
;****** 从当前地址录音10110 <X A9 A8 A7 A6 A5 A4 A3 A2 A1 A0> *********
REC1: MOV 36H,#10  
REC2: ACALL YS50           ;延时录音
      DJNZ 36H,REC2 


      MOV A,#0C0H
      LCALL LCD_CMD
      MOV DPTR,#TABLE_REC  ;显示REC
      LCALL WRITE
     
      CLR LED              ;开指示灯
      MOV A,#0B0H          ;发 1011 0XXX
      ACALL ISDX  
      LCALL stlop
;***************** SETPLAY 16位 ******************************
;******* 从指定地址放音11100 <X A9 A8 A7 A6 A5 A4 A3 A2 A1 A0>********
PLAY: JNB AN,PLAY    ;等待AN=1
      MOV A,20H      ;发地址 A7-A0
      ACALL ISDX  
      MOV A,21H      ;发地址 A9-A8
      SETB ACC.7  
      SETB ACC.6  
      SETB ACC.5  
      CLR ACC.4  
      CLR ACC.3  
      ACALL ISDX  
      SETB SS        ;关片选
;******************** PLAY 8位 *****************************
;********** 从当前地址放音 11110<X A9 A8 A7 A6 A5 A4 A3 A2 A1 A0>*******
PLAY1:MOV A,#0C0H
      LCALL LCD_CMD
      MOV DPTR,#TABLE_PLAY  ;显示PLAY
      LCALL WRITE
     
      MOV IP,#00001111B     ;中断优先级设定
      MOV TH1,#HIGH(65536-50000)
      MOV TL1,#LOW(65536-50000)
      SETB EA
      SETB ET1
      SETB TR1           ;开中断
      CLR LED            ;LED开指示灯
      MOV A,#0F0H        ;发 11110 XXXXXXXX
      ACALL ISDX         ;发 << SETPLAY >>
      LCALL stlop点击看大图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条