Side Menu

ISD5116-89C51开发板源程序

2017-5-6 11:03| 发布者: admin| 查看: 929| 评论: 0

摘要: 点击下载:《ISD5116-89C51开发板源程序》下面程序是部分的,请点击上面的查看全部89C51-ISD5116通用开发板程序 AT89C51单片机12MHZSDA EQU P1.0 ;I2C数据SCL EQU P1.1 ;I2C时钟LED EQU P1.7 ;指示灯INT EQU INT0 ; ...
点击下载:《ISD5116-89C51开发板源程序


下面程序是部分的,请点击上面的查看全部

89C51-ISD5116通用开发板程序 AT89C51单片机12MHZ
SDA EQU P1.0 ;I2C数据
SCL EQU P1.1 ;I2C时钟
 
LED EQU P1.7 ;指示灯
INT EQU INT0 ;中断
START EQU P1.6 ;执行
STOP EQU P1.5 ;复位
PR EQU P1.4 ;PR=1录音,=0放音
;---------------------初始化
ORG 0000H
AJMP MAIN
MAIN: MOV SP,#10H
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
MOV P0,#0FFH 
CLR EA
MAII: SETB LED ;关指示灯
ACALL DSTOP
MAS0: MOV 3AH,#200
MAS1: JB START,MAS0 ;等待按下START键
DJNZ 3AH,MAS1
ACALL UP 
JNB PR,PLAY ;PR=0 放音
AJMP REC ;PR=1 录音
;-------------------------SETPLAY 16位
;-------------------------从指定地址放音
PLAY: JB P2.0,SELC_PSAM8A ;判断采样 
JB P2.1,SELC_PSAM8A
JB P2.2,SELC_PSAM8A
JB P2.3,SELC_PSAM8A 
LCALL PSAMP8H
AJMP PLAYP
SELC_PSAM8A: JB P2.0,SELC_PSAM8B
JB P2.1,SELC_PSAM8B 
JB P2.2,SELC_PSAM8B
JNB P2.3,SELC_PSAM8B 
LCALL PSAMP8H
JMP PLAYP
SELC_PSAM8B: JB P2.0,SELC_PSAM6A
JB P2.1,SELC_PSAM6A 
JNB P2.2,SELC_PSAM6A
JB P2.3,SELC_PSAM6A
LCALL PSAMP8L
JMP PLAYP 
SELC_PSAM6A: JB P2.0,SELC_PSAM6B
JNB P2.1,SELC_PSAM6B 
JB P2.2,SELC_PSAM6B
JB P2.3,SELC_PSAM6B
LCALL PSAMP6H
JMP PLAYP
SELC_PSAM6B: JB P2.0,SELC_PSAM6C
JNB P2.1,SELC_PSAM6C 
JB P2.2,SELC_PSAM6C
JNB P2.3,SELC_PSAM6C
LCALL PSAMP6H
JMP PLAYP
SELC_PSAM6C: JB P2.0,SELC_PSAM4A
JNB P2.1,SELC_PSAM4A 
JNB P2.2,SELC_PSAM4A
JB P2.3,SELC_PSAM4A
LCALL PSAMP6L
JMP PLAYP 
SELC_PSAM4A: JNB P2.0,SELC_PSAM4B
JB P2.1,SELC_PSAM4B 
JB P2.2,SELC_PSAM4B
JB P2.3,SELC_PSAM4B
LCALL PSAMP4H
JMP PLAYP
SELC_PSAM4B: JNB P2.0,SELC_PSAM4C
JB P2.1,SELC_PSAM4C 
JB P2.2,SELC_PSAM4C
JNB P2.3,SELC_PSAM4C
LCALL PSAMP4H
JMP PLAYP 
SELC_PSAM4C: JNB P2.0,PCHA1
JB P2.1,PCHA1
JNB P2.2,PCHA1
JB P2.3,PCHA1
LCALL PSAMP4L
JMP PLAYP 
;------------------------------------- 
PCHA1: AJMP MAII 
;---------------------------------从当前地址放音
PLAYP: JNB START,PLAYP
LCALL BEGN
MOV A,#080H ;从地址10000000(写)
LCALL TB
MOV A,#0A9H ;发送放音地址指令
LCALL TB
MOV A,#00H ;发送放音地址 高字节
LCALL TB
MOV A,#00H ;发送放音地址 低字节
LCALL TB
NOP
NOP
SETB P1.1
NOP
NOP 
LCALL STOPII 
;------------------------PLAY 8位
;------------------------
PLAY1: CLR LED
LCALL BEGN
MOV A,#080H ;从地址10000000(写) 
LCALL TB 
MOV A,#0A8H ;放音开始
LCALL TB
NOP
NOP
SETB P1.1
NOP
NOP 
LCALL STOPII 
PLAY2: JNB STOP,BK
JB INT,PLAY2
SETB LED
ACALL STOPP 
;-----------------------检测OVF
LCALL BEGN
MOV A,#081H ;从地址10000001(读) 
LCALL TB ;发送从地址 
LCALL RB ;接收状态内容到A中
CLR P1.1
SETB P1.0 ;主设备不响应
 

鲜花

握手

雷人

路过

鸡蛋