?? 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 + -