📄 other.c
字号:
#include "reg51.h"
#include "intrins.h"
#include "absacc.h"
#include "io.h"//AT89C2051的IO定义
#include "spi.h"//将SPI子函数定义为外部函数
#include "sub.h"//激活子函数定义为外部函数
#include "ch.h"//通道子函数定义为外部函数
/******初始化各控制寄存器*******/
void initial_reg()
{
delayms(100);
//unsigned char x,y;
/*****************************************************
Nibble registers NR0~NR5为8位 地址是高4位的后3位为0-A2-A1-A0 低4位为数据
//3位地址与NR0~NR5对应;地址6和7有其他作用
//例如:NR1对应地址001
******************************************************/
//WRITE NR2 有效控制寄存器
writedata(0x24,8);//地址0-010,数据0100
//WRITE NR4 中断使能寄存器
writedata(0x4F,8); //IRQ使能都有效,地址0-100,数据1111
//WRITE NR5 IDL2数据控制寄存器
writedata(0x51,8);//地址0-101,block阻塞B1,B2通道,数据0001 0001不阻塞B1,B2通道
/****************************************************
Nibble register R6为双8位,R6的地址是前8位的高4位0-A2-A1-A0后12位为数据
//固定地址6: 写地址为0-A2-A1-A0为0110读数据0-A2-A1-A0为1110
// R6写读都可以为8位和16位选择
******************************************************/
//R6 eoc 数据寄存器 Embedded Operations Channel (eoc)
/****************************************************
Byte registers BR0~BR15为双8位,前8位的低4位为地址0111-A3-A2-A1-A0后8位为数据
//4位地址与BR0~BR15对应?
// BR0~BR15写读都可以为8位和16位选择
******************************************************/
//WRITE BR0 M4发送数据寄存器
writedata(0x70,8);// 先写入地址0111-0000
writedata(0xfd,8);// (选择写入数据)如果是网络到NT写入数据11111101/uoa-只有u接口有效置0
writedata(0x8f,8);// 如果是NT到网络写入数据10001111/
//WRITE BR1 M4接收数据寄存器
writedata(0x71,8);//先写入地址0111-0001
writedata(0xfd,8);// (选择写入数据)如果是网络到NT写入数据11111101/uoa-只有u接口有效置0
writedata(0x8f,8);// 如果是NT到网络写入数据10001111/
//WRITE BR2 M5与M6发送数据寄存器
writedata(0x72,8); //先写入地址0111-0010
writedata(0xf0,8); //b0-b3必须为0
//WRITE BR3 M5与M6接收数据寄存器
writedata(0x73,8); //先写入地址0111-0011
writedata(0xf0,8); //
//WRITE BR4 febe 计数器
//WRITE BR5 nebe 计数器
//WRITE BR6 loopback IDL2 控制
//WRITE BR7 IDL2 配置
//WRITE BR8 发送帧和模式控制
//WRITE BR9 主通道配置
//WRITE BR10 覆盖选择寄存器
//WRITE BR13 eco canceller测试寄存器
//WRITE BR14 测试寄存器
//WRITE BR15 校订数寄存器
}
/**********************读出各状态寄存器的信息的函数***************/
unsigned char read_statusReg()
{
unsigned char ddt;
//READ NR1 有效状态寄存器
//reaad BR1 and BR3
//READ BR11 有效状态寄存器
//READ BR12 有效状态测试寄存器
return(ddt);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -