- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
倾角传感器工程
倾角传感器工程
1. 主函数 1
1.1. main.c 1
1.2. main.h 1
2. 时钟源设置 1
2.1. CLOCK2.c 1
2.2. CLOCK2.h 2
3. 延时 2
3.1. delay.c 2
3.2. delay.h 3
4. AD 3
4.1. ad.c 3
4.2. ad.h 5
5. 数据处理 5
5.1. most_avrage.c 5
5.2. most_avrage.h 7
5.3. soft_cap.c 7
5.4. soft_cap.h 9
5.5. dta.c 9
5.6. dta.h 9
6. includes.h 10
6.1. includes.h 10
主函数
main.c
#include includes.h
float X_angle , Y_angle , Z_angle;
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
ClockSet();
AD_Init();
_EINT();
AD_START;
delay_ms(1000);
_NOP();
while(1);
}
main.h
#ifndef _MAIN_H
#define _MAIN_H
#endif
时钟源设置
CLOCK2.c
#include msp430x14x.h
void ClockSet()
{
int i;
BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL
BCSCTL1 = ~XT2OFF ~XTS ; //
do
{
IFG1 = ~OFIFG;
for(i=0;i100;i++);
}
while(IFG1 OFIFG);
BCSCTL2 |= SELM_2 + SELS; // SMCLK = XT2
DCOCTL |= DCO0 + DCO1 + DCO2; //DCO high frequence
// P5DIR |= 0x70; // P5.6,5,4 outputs CLOCK
// P5SEL |= 0x70; // P5.6,5,5 options CLOCK
}
CLOCK2.h
#ifndef _CLOCK2_H
#define _CLOCK2_H
void ClockSet();
#endif
延时
delay.c
#include delay.h
void delay_nms(unsigned int ms)
{
unsigned int idelay = 0;
for(idelay=0 ; idelayms ; idelay++ )
{
delay_us(999);
}
}
/*****************************************************
输入:us 大于20us
*****************************************************/
void delay_nus(unsigned int us)
{
unsigned int idelayu = 0 , dd = 0;
dd = (2*us)/3 - 10;
for(idelayu=0 ; idelayu dd ; idelayu++ )
{
delay_us(1);
}
}
delay.h
#include msp430x14x.h
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
void delay_nms(unsigned int ms);
void delay_nus(unsigned int us);
AD
ad.c
#include MSP430x14x.h
#include ad.h
#i
文档评论(0)