⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mai.asm

📁 ISD4004芯片的语音录放程序
💻 ASM
字号:
;AT89C51与ISD4004的接口及录音/放音程序设计

SS       EQU   P1.0           ;片选
SCLK    EQU   P1.1           ;ISD4004时钟
MOIS    EQU   P1.2           ;数据输入
MISO    EQU   P1.3           ;数据输出
INT      EQU   P1.4          ;中断
; ;初始化
   ORG      0000H 
   LJMP     MAIN
MAIN:   Mov    SP, #10H;          
   MOV     P1,#0FFH
         MOV     P2,#0FFH;
         MOV     P3,#0FFH;
         MOV     P0,#0FFH;
         CLR      EA;
        ; SETB    LED                ;关指示灯
         LCALL   DSTOP              ;ISD掉电
MISO:   MOV      3AH,#200;
MOSI:   JB        AN,#MISO          ;等按AN键
        DJNZ     3AH, MOS1 ;
        LCALL   UP                  ;ISD上电
        MOV     20H,#00H           ;低8位地址
        MOV     21H,#00H           ;高8位地址
        JB        PR, REC           ;PR=1 录音
        LJMP     PLAY                ;PR=0 放音
SETREC:                              ;指定地址录音
MOV    20H,#00H           ;低八为地址
MOV    21H,#00H            ;高八位地址
MOV    22H,#0a0H           ;操作码
MOV    A,20H
LCALL  ISDX
MOV    A,21H
LCALL  ISDX
MOV    A,22H
LCALL  ISDX
         SETB    SS

;REC   8位
;从当前地址录音  10110 <X A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 >
REC1: MOV    36H,#10;
REC2:LCALL   YS50                 ;延时录音
       DJNZ     36H,REC2 ;
       MOV     A,0B0H             ; 发 1011 0XXX
       LCALL   ISDX;
       SETB     SS                   ;关片选
REC3: MOV    35H,#200;
REC4: JNB     INT,REC7          ;OVF=0芯片溢出
        JNB     AN,REC3 ;
        DJNZ    35H,REC4 
        LCALL   STOPP            ;停止当前操作
REC5: JNB     STOP,REC6       ;中断RESET
        JB      AN,REC5         ;等待AN=0
        LCALL  STOPP            ;停止当前操作
        LJMP    REC1;
REC6: CLR     SCLK              ;时钟SCLK=0
        SETB    SS                ;关片选
        LCALL  STOPP             ;停止当前操作
        LJMP    MAII            ;
REC7: LCALL  YS50             ;延时录音
        JB      AN,REC6        ;等待AN=1
        DJNZ   36H,REC7 ;
SETPLAY:                      ;;恢付ǖ刂仿家

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -