資源簡介
基于mma7361加速度傳感器的測角度51單片機程序,包括MMA7361的全套資料,內(nèi)有詳細(xì)講解,看完后基本上都能十分了解MMA7361的用途和使用方法

代碼片段和文件信息
/**************************************************************************************
龍丘MMA7260三軸加速度模塊測試
Designed?by?Chiu?Sir
E-mail:chiusir@163.com
軟件版本:V1.1
最后更新:2009年9月27日
相關(guān)信息參考下列地址:
網(wǎng)站:??http://www.lqist.cn
淘寶店:http://shop36265907.taobao.com
------------------------------------
ICCAVR
1.X--AD0;
2.Y--AD1;
3.Z--AD2;
4.SL--PB.0;
5.3.3--單片機的AD參考電壓;
6.默認(rèn)量程:1.5g.??
*/
#include?
#define?MMA7260StartWork()?(PORTB|=0X01)?
/*延時子程序*/
void?delayms(int?time)
{
?int?i;
?for(;time>0;time--)
??for(i=0;i<1000;i++);
}
/*ADC采樣函數(shù),采樣第7通道信號,采樣分辨率256*/
void?ADC_init()?
{
ADMUX=0x27; /*基準(zhǔn)外接、左對齊、通道7*/
SREG=0x80;
ADCSRA=0xCA; /*使能、開啟、4分頻*/
}
/*ADC采樣函數(shù),采樣第7通道信號,采樣分辨率256*/
unsigned?char?ReadAD(unsigned?char?ch)?{
unsigned?char?i;
ADMUX?=?0x20|ch; /*基準(zhǔn)AVCC、左對齊、通道7*/
ADCSRA?=?0xC2; /*使能、開啟、4分頻*/
while(!(ADCSRA?&?(1?< i?=?ADCH;
ADCSRA?&=?~(1?< ADCSRA?&=?~(1?<
return?i;
}
/*端口初始化*/
void?port_init()?
{
??DDRB?=?0xFF;
??
}
/*串口初始化*/
void?uart_init()
{
?UCSRA=0x02;?//異步正常模式
?UCSRB=0x18;?//允許發(fā)送接受中斷和使能
?UCSRC=0x06;?//8位數(shù)據(jù)
?UBRRH=0x00;
?UBRRL=12;???//波特率位9600
}
void?put_c(unsigned?char?c)?
{
while(?!(UCSRA?&?(1< UDR=c;
}
void?putstr(unsigned?char?*ptr)
{
while?(*ptr)
{
put_c(*ptr++);
}
put_c(0x0D); ??//換行
//put_c(0x0A);??//回車
}
unsigned?char?get_c(void)
{ while(!(UCSRA&(1< return?UDR;
}
/***************************************************
??把0--255的數(shù)值轉(zhuǎn)化為3位字符串格式
****************************************************/
void?Byte2Str3(char?zifu[]unsigned?char?valunsigned?char?StartPtr)
{
??char?characters[11]=“0123456789“;???
??unsigned?char?tv=0;
??
??tv=val/100;
??zifu[StartPtr++]?=?characters[tv];
??tv=(val%100)/10;
??zifu[StartPtr++]?=?characters[tv];
??tv=val%10;
??zifu[StartPtr]?=?characters[tv];
??//zifu[3]?=?‘\0‘;
??return;
}
void?main(void)?
{
? char?txtbuf[17]=“\n?ADC?Val:??“;??
unsigned?char?adbuf;
?
ADC_init();????????????/*AD初始化*/
putstr(“\n?MMA7260?starts?working!\n“);?
MMA7260StartWork();//MMA7260開始工作
while(1)
{?
??? //ADC
adbuf=ReadAD(0);?//X?AXIS
? Byte2Str3(txtbufadbuf11);?????
????????putstr(txtbuf);
adbuf=ReadAD(1);?//Y?AXIS
? Byte2Str3(txtbufadbuf11);?????
????????putstr(txtbuf);?
adbuf=ReadAD(2);?//Z?AXIS
? Byte2Str3(txtbufadbuf11);?????
????????putstr(txtbuf);
delayms(300);?
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????38??2009-09-27?23:09??MMA7361資料整理\7260例程\MMA7260AVR例程\main.dp2
?????文件??????21150??2009-09-27?23:09??MMA7361資料整理\7260例程\MMA7260AVR例程\main.lis
?????文件???????5266??2009-09-27?23:09??MMA7361資料整理\7260例程\MMA7260AVR例程\main.o
?????文件???????9028??2009-09-27?23:09??MMA7361資料整理\7260例程\MMA7260AVR例程\main.s
?????文件???????2252??2009-09-27?23:08??MMA7361資料整理\7260例程\MMA7260AVR例程\main._c
?????文件???????2706??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.c
?????文件???????3731??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.cof
?????文件???????1963??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.dbg
?????文件?????????45??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.dp2
?????文件???????1953??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.hex
?????文件??????22061??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.lis
?????文件?????????16??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.lk
?????文件??????14467??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.lst
?????文件????????565??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.mak
?????文件???????2609??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.mp
?????文件???????5333??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.o
?????文件????????999??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.prj
?????文件???????9651??2009-09-28?20:47??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test.s
?????文件?????????48??2009-10-05?13:00??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260TEST.SRC
?????文件???????2264??2009-09-27?23:09??MMA7361資料整理\7260例程\MMA7260AVR例程\MMA7260test._c
?????文件??????32342??2009-11-29?22:51??MMA7361資料整理\7260例程\MMA7260AVR例程.rar
?????文件???????3814??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260main.c
?????文件???????8216??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260main.LST
?????文件???????8855??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260main.OBJ
?????文件?????????41??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260main.__i
?????文件???????8400??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260test
?????文件?????????70??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260test.lnp
?????文件??????13233??2009-09-28?20:35??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260test.M51
?????文件???????1158??2010-01-17?21:07??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260test.Opt
?????文件????????190??2010-01-17?21:07??MMA7361資料整理\7260例程\MMA7260C51例程\MMA7260test.plg
............此處省略101個文件信息
評論
共有 條評論