📄 ad420.txt
字号:
// 芯片 AD420
// 单片机 ATMEGA16
// AD420驱动程序
// Time: 2009-05-07
#include "iom16v.h"
#include "macros.h"
#define uint unsigned int
#define uchar unsigned char
#define CLEAR PA1
#define LATCH PD3
#define CLOCK PD4
#define DATAIN PD5
void delay(uint ms)//延时
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1142;j++);
}
}
//写数据到AD420
void data_to_AD420(uint Data)
{
uchar i;
uint x;
uint data;
data=Data;
// PORTA = 0x00;
// PORTD = 0x00;
PORTA&=~(1<<CLEAR);
PORTD&=~(1<<LATCH);
PORTD&=~(1<<CLOCK);
PORTD&=~(1<<DATAIN);
for(i=0;i<16;i++)
{
x=data&0X8000;
if(x==0)
PORTD&=~(1<<DATAIN);
else
PORTD|=BIT(DATAIN);
PORTD|=BIT(CLOCK); //CLOCK信号置高
data=data<<1;
delay(1);
PORTD&=~(1<<CLOCK); //CLOCK信号置低
delay(1);
}
PORTD|=BIT(LATCH); //将串口寄存器中数据送至DAC
}
/*主函数*/
void main(void)
{
uint k=0;
//设定为输出
DDRA|=BIT(CLEAR);
DDRD|=BIT(LATCH)|BIT(CLOCK)|BIT(DATAIN);
while (1)
{
k=k+1000;
data_to_AD420(k);//电流增加
if(k>65535)
{
k=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -