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

📄 parelle.c

📁 单片机控制语音压缩芯片(声码器)AMBE1000
💻 C
字号:
/**********************************************************************/
/*			      头文件区        			      */
/**********************************************************************/

#include <at89x51.h>	/*关于寄存器、位的定义*/
#include <intrins.h>/*内部函数调用,如_nop_ 、_crol_*/
#include <absacc.h>	/*绝对地址访问,如XBYTE[0x0fff0]*/
#include <defnum.h>	/*自定义的数据类型,如uchar 、uint */

/*-----------------------------   常量定义区   ---------------------------------*/

//帧格式ID号
#define VOICE_DATA     0x00 //语音帧
#define RATE_CONFIG    0x01 //码率设置帧
#define VOLUME_CONFIG  0x02 //音量设置帧
#define SPECIAL_CONFIG 0x03 //特殊功能设置帧
#define POWER_CONFIG   0x04 //电源模式设置帧
#define DUAL_TONE      0x06 //双音频信号产生帧
#define WAKE_UP	       0xFE //唤醒帧

//帧头位置定义
#define HEADER_H   0	//第零字节帧头标志
#define HEADER_L   1	//第一字节
#define ID 	   2	//帧ID号	
#define CONTROL_0  3	//控制字0
#define CONTROL_1H 4    //控制字1低位
#define CONTROL_1L 5    //控制字1高位
#define CONTROL_2H 6	//控制字2低位
#define CONTROL_2L 7	//控制字2高位
#define CONTROL_3H 8	//控制字3低位
#define CONTROL_3L 9	//控制字3高位

void parellel_write(uchar output_data[]);
/*-----------------------------   全局变量定义   -------------------------------*/
sbit AMBE_BPSSEL0 = P0^0;		//码率选择BPS_SEL
sbit AMBE_BPSSEL1 = P0^1;
sbit AMBE_BPSSEL2 = P0^2;
sbit AMBE_BPSSEL3 = P0^3;

sbit AMBE_H_STOPN  	= P0^4;		
sbit AMBE_CSEL2  	= P0^5;			//AD/DA选择 CSEL
sbit AMBE_SLEEP_EN  = P0^6;
sbit AMBE_SLIP_EN   = P0^7;		

sbit AMBE_READ_STRB  = P2^0;		//输出选通信号-- 下降沿可以输出第一个数据
sbit AMBE_WRITE_STRB = P2^1;		//输入选通信号-- 下降沿可以输入第一个数据
sbit AMBE_DPE        = P2^2;		//解码包空指示--  单片机可以开始发送数据!
sbit AMBE_EPR        = P2^3;		//编码包准备好指示--  单片机可以开始取数据!

sbit MC5480_UASEL 	= P2^5;			//5480uA选择,1为u律,0为A律
sbit AMBE_VAD_EN   	= P2^6;
sbit AMBE_ECHO_EN  	= P2^7;			//特殊功能选择

sbit AMBE_RESET   = P3^7;			//AMBE复位端

sbit LED1 = P3^3;					//指示灯
sbit LED2 = P3^4;
//sbit LED3 = P3^5;

sbit M_S = P3^5;

sfr ALE=0x8e;

//sbit AMBE_RESET   = P3^7;		//AMBE复位端
//sbit MC5480_UASEL = P2^5;		//5480uA选择
//sbit AMBE_INI     = P2^6;       //AMBEuA选择

//sbit LED1 = P3^3;			    //指示灯
//sbit LED2 = P3^4;
//sbit LED3 = P3^5;

//sbit AMBE_READ_STRB  = P2^0;	//输出选通信号-- 下降沿可以输出第一个数据
//sbit AMBE_WRITE_STRB = P2^1;	//输入选通信号-- 下降沿可以输入第一个数据

//sbit AMBE_DPE        = P2^2;	//解码包空指示--  单片机可以开始发送数据!
//sbit AMBE_EPR        = P2^3;	//编码包准备好指示--  单片机可以开始取数据!

uchar bdata flag2=0;
sbit  receive_ok=flag2^0;
sbit  sync=flag2^1;

uchar  data   count;
uchar  data   AMBE_BPSSEL;
uchar  data	 OLD_AMBE_BPSSEL;
uchar  data   data_send_buffer[34]; //串口数据发送区
uchar  data   data_rec_buffer[34];  //串口数据接

⌨️ 快捷键说明

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