DAC7611驱动程序
#include
#include
#define uint unsigned int
sbit CS =P4^3; //输出片选信号
sbit CLK=P1^6; //输出时钟
sbit SDI=P1^7; //输出数据
sbit LD=P1^5; //输出数/模转换过程启动信号
/******初始化DAC7611******************/
void init_da(void)
{
LD=0; // 装载引脚置低
CS=1; //片选置高
CLK=1; //时钟置高
SDI=0;
}
/*****时钟脉冲子函数***********/
void clock(void)
{
CLK=0;
_nop_();
CLK=1; //产生一个时钟脉冲
_nop_();
}
/******DAC7611转换***************/
void DAC_7611(uint vol)
{
uint i,j;
vol<=4;
LD=1; //装载引脚置高
_nop_();
CS=0; //片选拉低,准备转换
for(i=0;i<12;i++)
{
j=vol;
SDI=j&0x8000;
clock();
vol<=1;
}
CLK=1; // 输出时钟置高
_nop_();
CS=1; //DAC7611片选引脚CS置高
_nop_();
LD=0; //装载引脚LD置低以启动数模转换
_nop_();
_nop_();
_nop_();
_nop_();
LD=1; //LD置高
}
/**********主程序*****************/
void main()
{
init_da();
DAC_7611(1111);
}
DAC7611驱动程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)