欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
ATMEGA16單片機+AD7715采集陀螺儀的驅動程序
[打印本頁]
作者:
ltj0107
時間:
2019-4-27 21:43
標題:
ATMEGA16單片機+AD7715采集陀螺儀的驅動程序
,用ATMEGA16編寫,使用AD7715做AD采集,16BIT精度
單片機源程序如下:
#include<avr/io.h>
#include<stdio.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define RDY (PINA&_BV(5))
#define RES_1 PORTA|=_BV(5)
#define RES_0 PORTA&=~_BV(5)
static uint g_aAdValue[100]; //A/D 轉換緩沖區
unsigned long int results=0;
uint jiaodu,zhong;
uint adc;
int vjiao;
long fx;
/*----------------------------------------------------------------------------
延時一些時間
------------------------------------------------------------------------------*/
void delay10ms(unsigned int x)
{
unsigned char i,j,k;
for(i=0;i<x;i++)
for(j=0;j<10;j++)
for(k=0;k<120;k++);
}
void delay(unsigned int x)
{
while(x--)
{;}
}
/*----------------------------------------------------------------------------
初始化IO口
------------------------------------------------------------------------------*/
void IoInit(void)
{
DDRA=0X0F;
PORTA=0Xff;
//DDRD=0Xff;
//PORTD=0Xff;
}
void InitS() //初始化串口
{
UBRRL=51;//設置波特率為9600
UCSRB|=_BV(RXEN)|_BV(TXEN);//允許串口接受
// UCSR1B|=_BV(RXCIE);//允許串口中斷
}
void SPI_SET(void) //SPI初始化
{
DDRB=0XBE; //DRDY接PB1,設置PB1為輸入口
PORTB=0XFF;
PORTB=0XEF&PORTB; //復位接PB4,此處為拉低PB4
SPCR=0X5c; //設置SPI使能,工作于主機狀態,
//并設CPOL=0,CPHA=1,SPR1=0,SPR2=0
//SCK為對11.0592晶振的1/4分頻
}
void WRITE_DATA(uchar i) //SPI發送數據
{
uchar CLEAR;
SPDR=i;
while(!(SPSR&0X80));
CLEAR=SPSR;
CLEAR=SPDR;
}
uchar READ_DATA(void) //SPI接收數據
{
uchar data,clear;
SPDR=0x00;
while(!(SPSR&0x80));
clear=SPSR;
data=SPDR;
return(data);
}
void putbyte(uchar x)
{
while( !(UCSRA & (1<<UDRE)) );
UDR=x;
}
////////////////////////////////////////////////////////////////////////////////
uchar num(uchar x)
{
switch(x)
{
case 0:x='0';break;
case 1:x='1';break;
case 2:x='2';break;
case 3:x='3';break;
case 4:x='4';break;
case 5:x='5';break;
case 6:x='6';break;
case 7:x='7';break;
case 8:x='8';break;
case 9:x='9';break;
}
return x;
}
uint AD(void)
{
uint result1,result2,ad;
RES_1;
while(RDY);
WRITE_DATA(0x38);
while(RDY);
result1=READ_DATA();
result2=READ_DATA();
RES_0;
ad=(result1<<8)+result2;
return ad;
}
void InitTLY(void)
{
uchar i;
for(i=0;i<200;i++)
{
results+=AD();
}
zhong=results/200;
}
//****************************************************************************//
// //
// 主函數 //
// //
//****************************************************************************//
int main(void)
{
uchar i;
IoInit();
InitS();
SPI_SET();
while(1)
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
陀螺儀.zip
(11.63 KB, 下載次數: 10)
2019-4-27 21:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2019-4-27 22:27
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1