ad7705 带SPI接口的16位AD7705驱动程序( 二 )
spk(1,100);
cls();
delay _ ms(20);
高光();//显示广告语言
delay _ ms(2000);
cls();//清除屏幕
delay _ ms(200);
TCCR1B = 0x03//启动定时器
cls();
while(1)
{
;
}
}
/****************************************
M16下ad7705的驱动器*
*文件名称:AD7705.c *
*描述:16位σ-δ模数转换器*
*周长虹*
*成立日期:2007年12月27日*
*版本:V2007.01 *
*修订日期:2007年12月27日*
*控制芯片:Mega16 *
*时钟频率:7.3728兆赫兹*
*波特率:9600BPS *
*连接模式:AD7705 ________ M16 *
*芯片选择:CS _ 7705 _ _ _ _ _ _ _ PA4 *
*重置:重置_ _ _ _ _ _ _ _ _ PA5 *
*有效数据:DRRY __________ PB3 *
****************************************/
#include <。iom16v.h>。
#include <。macros.h>。
#包含“delay.h”
//控制端口定义
//端口操作定义
# define cs _ 7705 pa 4//ad 7705的芯片选择连接到PA4
# define SET _ CS _ 7705 PORTA | = 1 & lt& ltCS_7705
#定义CLR _ CS _ 7705 PORTA & amp= ~(1 & lt;& ltCS_7705)
#define RET PA5 //AD7705的复位连接到PA5
#定义SET _ RET PORTA | = 1 & lt& lt将…沤软
#定义CLR _ RET PORTA & amp= ~(1 & lt;& ltRET)
#定义DRRY PB3 //AD7705数据有效连接到PB3
#定义DRRY _ 7705(PINB & amp;(1 & lt& ltDRRY))
//初始化函数
void spi_init(void)
{
DDRB | =(1 & lt;& ltPB5)|(1 & lt;& ltPB7);//将MOSI和SCK设置为输出
DDRB & amp;= ~(1 & lt;& ltPB6);//输入MISO
SPCR =(1 & lt;& ltSPE)|(1 & lt;& ltMSTR);//使能SPI主模式fck/4
}
//写入AD7705单字节函数
//入口:由数据写入的字节数据
void wr_byte(无符号字符数据)
{
SPDR =数据;//开始数据传输
while(!(SPSR & amp;(1 & lt& ltSPIF))) //等待传输结束
{
;
}
}
//读取AD7705数据功能
//出口:读取2字节数据
无符号int rd_7705(void)
{
无符号int temp//定义临时变量
wr _ byte(0x 38);//选择读取数据寄存器,1通道
SPDR = 0;//开始数据传输
while(!(SPSR & amp;(1 & lt& ltSPIF))) //等待传输结束
{
;
}
temp = SPDR & lt;& lt8;//读取高字节
SPDR = 0;//开始数据传输
while(!(SPSR & amp;(1 & lt& ltSPIF))) //等待传输结束
【ad7705 带SPI接口的16位AD7705驱动程序】{
;
}
temp | = SPDR;//读取低位字节
返回(temp);
}
//判断是否有数据函数
//出口:读取2字节数据
无符号整数ad7705(void)
{
if(DRRY_7705==0)
{
return(rd _ 7705());
}
其他
{
return(0);
}
}
//AD7705初始化功能
void init_7705(void)
{
SPI _ init();
DDRA | =(1 & lt;& ltCS _ 7705)|(1 & lt;& ltRET);//定义端口方向
DDRB & amp;= ~(1 & lt;& ltDRRY);
PORTB|= 1<。& ltDRRY
CLR _ CS _ 7705//芯片选择有效
CLR _ RET//复位端子低电平有效
delay _ ms(500);//保持低电平500MS
SET _ RET//复位端子返回高电平
delay _ ms(1);
wr _ byte(0x 20);//选择时钟寄存器
wr _ byte(0x0C);//50HZ转换频率
wr _ byte(0x 10);//选择设置寄存器
wr _ byte(0x 44);//自校准模式,增益1,单极性
}
原始链接:
推荐阅读
- 蜡梅花带动北碚农文旅融合发展
- 巴东:带电搭火 村民亮亮堂堂过春节
- 王者荣耀:伽罗皮肤的出现可以给你带来一种别样的美感
- 小狗在绿化带里便便 主人牵狗若无其事离开 罚款50元!
- “你不用做家务,也不用帮我带孩子,因为我不是你的佣人”
- 青海持续推进“师带徒”继承名老中藏医药专家学术经验
- 用平底锅做出金黄酥脆的蛋卷,咬一口带着淡淡的奶香味
- 裙带菜豆腐肉丸汤,营养好喝又暖胃,赶快给家人煮一锅吧
- 我老公太爱我了,出差就给我带礼物
- 冬至吃饺子选这个馅准没错,营养丰富自带清香味道,孩子吃光一盘