📄 da1230.c
字号:
///D/A1230中用到的申明
///
//#define cshu0 2.0475 //定义DA中用到的参数0
#define BYTE12 P3_0 /// D/A中用到的申明 原来是p3.2 改过了现在是P3.0
#define WR P3_3 /// D/A中用到的申明
#define XFER P3_4 /// D/A中用到的申明
#define CS P3_5 /// D/A中用到的申明
xdata uchar PA_ctr _at_ 0x7f02; /// D/A中用到的申明
xdata uchar PA_dat _at_ 0x7f04; /// D/A中用到的申明
xdata uchar PA_dir _at_ 0x7f06; /// D/A中用到的申明
/////////////////////////////D/A中用到的申明结束///////////////////////////////////////////
////////////////////////////////////A/D转换子函数结束////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
// 12位 D/A DAC1230转换子函数
// 子函数名:da_zh(int a)
// 参考电压:5.000v.
//
// 硬件连线:
//
//
//
// 入口条件:给子函数送一个0---0xfff的无符号整数值。
// 出口条件:无。
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////
void da_zh(uint a)
{ uchar a0,a1; //局部变量a0,a1,b1,c1,c0;
PA_ctr = 0;
PA_dir = 0xff;
XFER=1;
a1=a/16; //DA高8位数据A4--A11
a0=a%16; //DA低4位数据A0--A3
a0=a0<<4; //将ao低4位数据左移4位变成高四位
CS=0;
WR=0;
BYTE12=1; //DA 第一级八位寄存器输入。
PA_dat = a1;
_nop_();
_nop_();
_nop_();
_nop_();
BYTE12=0; //DA 第一级八位寄存器锁存高8位数据A4--A11输入?
_nop_();
_nop_();
_nop_();
_nop_();
PA_dat = a0;
_nop_();
_nop_();
_nop_();
_nop_();
XFER=0;
_nop_();
_nop_();
XFER=1;
_nop_();
_nop_();
}
///////////////////////////////////// D/A子函数结束 ////////////////////////////////////////////////
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -