📄 main.c
字号:
#include <intrins.h>
#include <reg51.h>
sbit CS = P1^5; /* DA片选信号 */
sbit SCLK = P1^2; /* DA时钟信号 */
sbit DIN = P1^3; /* 数字数据输入 */
char dispbuf[16]={0,1,2,3,4,5};
void delay(unsigned int us)
{
while(us--);
}
/********************************************************************
函 数 名:dac_5615()
功 能:写入DAC的10bit输入数据
说 明:
调 用:
入口参数:
出口参数:
***********************************************************************/
void dac_5615(unsigned int data_in)
{
unsigned char i;
data_in <<= 6; /* 精度10位,所以左移6位 */
CS = 0;
SCLK = 0;
for (i=0;i<12;i++) /* 逐位传递12次,由于10位传完需要传送2位0 */
{
DIN = (bit)(data_in&0x8000);
SCLK = 1;
data_in <<= 1;
SCLK = 0;
}
CS = 1;
SCLK = 0;
_nop_();
}
void main(void)
{
unsigned int i;
delay(10000);
while(1)
{
for (i=0; i<0x3ff; i+=2)
{
// i=0x123;
dac_5615(i);
delay(2000);
}
delay(2000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -