📄 parelle.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 + -