|
藍(lán)宙陀螺儀
1、程序串口波特率是115200
2、C15腳作為輸入引腳。C15腳接低電平時(shí)輸出陀螺儀信號(hào),C15腳接高電平,輸出加速度信號(hào)。
- /******************** (C) COPYRIGHT 2011 藍(lán)宙電子工作室 ********************
- * 文件名 :main.c
- * 描述 :工程模版實(shí)驗(yàn)
- *
- * 實(shí)驗(yàn)平臺(tái) :landzo電子開發(fā)版
- * 庫(kù)版本 :
- * 嵌入系統(tǒng) :
- **********************************************************************************/
- #include "include.h"
- #include "calculation.h"
- /*************************
- 設(shè)置系統(tǒng)的全局變量
- *************************/
- /*******************
- 外部時(shí)鐘變量
- *******************/
- extern u8 TIME0flag_1ms ; //PT0口1ms定時(shí)標(biāo)志位
- extern u8 TIME0flag_5ms ; //PT0口5ms定時(shí)標(biāo)志位
- extern u8 TIME0flag_10ms ; //PT0口10ms定時(shí)標(biāo)志位
- extern u8 TIME0flag_20ms ; //PT0口20ms定時(shí)標(biāo)志位
- extern u8 TIME1flag_1s ; //PT1口1s定時(shí)標(biāo)志位
- extern u8 IntegrationTime ; //曝光時(shí)間
- /********
- 按鍵
- ********/
- u8 keyflg = 0 ;
- u16 ASPeed0 ,ASPeed1 ,ASPeed2;
- u16 ASPeed3 ,ASPeed4 ,ASPeed5 ;
- /********
- 全局
- ********/
- u8 Atep8B0 ;
- /*********
- 角度傳感器
- *********/
- u8 AInitC ;
- u16 AAngleAcceleArry[6] ;
- u8 AAngAcceCount ;
- u16 AAngleArrySCI[6] ;
- u8 ReCRC ;
- u8 RFlag ;
- /*********
- *********/
- void main()
- {
- DisableInterrupts; //禁止總中斷
-
- /*********************************************************
- 初始化程序
- *********************************************************/
- //自行添加代碼
- /***************************
- 變量初始化
- *****************************/
- /*********************************************************
- 初始化全局變量
- *********************************************************/
- RFlag = 0 ;
-
- /***************************
- 寄存器初始化初始化
- *****************************/
- uart_init (UART0 , 115200); //初始化UART0,輸出腳PTA15,輸入腳PTA14,串口頻率 9600
- // LCD_KEY_init ( ) ;
- AngleAcceleration_init() ;
- gpio_init (PORTA , 17, GPO,HIGH);
- gpio_init (PORTC , 15, GPI,LOW); //C15腳拉低,角速度示波器輸出,C15腳拉高,加速度示波器輸出。
- pit_init_ms(PIT0, 1); //初始化PIT0,定時(shí)時(shí)間為: 1ms
- pit_init_ms(PIT1, 100); //初始化PIT1,定時(shí)時(shí)間為: 100ms
- PTC15_IN = 0 ;
- EnableInterrupts; //開總中斷
-
-
-
-
- /******************************************
- 執(zhí)行程序
- ******************************************/
- while(1)
- {
- /*********************
- 1ms程序執(zhí)行代碼段
- *********************/
- if(TIME0flag_10ms == 1)
- {
- TIME0flag_10ms = 0 ;
- AAngAcceCount = AngleAcceleration_AD(AAngleAcceleArry,AAngAcceCount) ; //采集傳感器AD
- for(AInitC = 0 ;AInitC < 6;AInitC++){
- AAngleArrySCI[AInitC] = AAngleAcceleArry[AInitC]/1 ;
- }
- AAngAcceCount = 0 ;
-
- if(PTC15_IN == 0 ){
- for(AInitC = 0 ;AInitC < 3;AInitC++)
- {
- uart_putchar (UART0, AAngleArrySCI[AInitC]) ;
- uart_putchar (UART0, 0x00) ;
- }
- uart_putchar (UART0, 0x00) ;
- uart_putchar (UART0, 0x00) ;
- ReCRC = (u8)AAngleArrySCI[0] +(u8)AAngleArrySCI[1] + (u8)AAngleArrySCI[2] ;
- uart_putchar (UART0, ReCRC) ;
-
- }else if(PTC15_IN == 1) {
- for(AInitC = 3 ;AInitC < 6;AInitC++)
- {
- uart_putchar (UART0, AAngleArrySCI[AInitC]) ;
- uart_putchar (UART0, 0x00) ;
- }
- uart_putchar (UART0, 0x00) ;
- uart_putchar (UART0, 0x00) ;
- ReCRC = (u8)AAngleArrySCI[3] +(u8)AAngleArrySCI[4] + (u8)AAngleArrySCI[5] ;
- uart_putchar (UART0, ReCRC) ;
-
- }
-
-
-
- }
-
- /*********************
- 5ms程序執(zhí)行代碼段
- *********************/
- if(TIME0flag_5ms == 1)
- {
- TIME0flag_5ms = 0 ;
-
- }
-
- /*********************
- 10ms程序執(zhí)行代碼段
- *********************/
- if(TIME0flag_10ms == 1)
- {
- TIME0flag_10ms = 0 ;
-
- PTB17_OUT = ~PTB17_OUT ;
- // uart_putchar (UART0, 0xaa) ;
-
- }
-
- /*********************
- 20ms程序執(zhí)行代碼段
- *********************/
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
landzoCCDk60_V1.1模擬陀螺儀.zip
(3.21 MB, 下載次數(shù): 10)
2018-4-21 18:10 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|