k60單片機,依據紅外信號識別方向控制舵機電機舵機的程序
紅外信號采用海爾牌遙控器內置NEC協議, 協議包括9ms的高電平、4.5ms 的低電平、四個字節地址碼和命令碼,四個字節地址碼分別為:地址碼 0xC3,地址反碼 0x3C,命令碼 0x55,命令碼反碼 0xAA,低位首發。基帶信號如下圖1 所示
0.png (57.54 KB, 下載次數: 50)
下載附件
2018-9-17 17:41 上傳
圖1 基帶信號圖
實際信號中高電平為 38KHz的信號,實際信號如下圖所示:
0.jpg (59.78 KB, 下載次數: 54)
下載附件
2018-9-17 17:42 上傳
超聲波導引信號頻率為 40KHz的方波。
引腳使用:
KLED1 PTE0
KLED2 PTE1
SERVO
PWM PTA11
舵機占空比 18.5% 14.0% 11.3%
舵漿位置 左滿舵 中間位置 右滿舵
電機 PA07
紅外接收器
1->PTB0
2->PTB4
3->PTB6
4->PTB8
5->PTB10
6->PTB16
7->PTB20
8->PTB22
0.jpg (37.97 KB, 下載次數: 48)
下載附件
2018-9-17 17:43 上傳
k60單片機源程序如下:
- #include "common.h"
- #include "isr.h"
- #include "LedBuz.h"
- #include "FreeCars.h"
- #include "infrared.h"
- #include "motor.h"
- #include "servo.h"
- #include "oled.h"
- #include "VoltageDetect.h"
- #include "wdog.h"
- #include "dirCtrl.h"
- /* 修改主頻 請使用 CMSIS標準文件 system_MKxxxx.c 中的 CLOCK_SETUP 宏 */
- void SysInitialization(void); //系統初始化
- //uint8_t startLineMaskFlag = 0; //起跑線屏蔽標志
- //uint32_t VoltageTime,MenuTime,FreeCarsTime,ImgDealFreTimer,StartRunTime,StartLineDetectTime;
- int main(void)
- {
- test_motor=1500;
- SysInitialization(); //系統初始化
-
- EnableInterrupts(); //開啟全部中斷
-
- KLED2_ON;
- KLED1_ON;
- //test_motor=1580;
- Servo_Test=1455;
- DelayMs(1000);
- while(1)
- {
-
- //SingleMotor_Control(test_motor);
- //Servos_control(Servo_Test);
-
- //DirPIDCalculate();
- // VoltageConvert();
- //KLED1_REV;
- KLED2_REV;
- SingleMotor_Control(test_motor);
- DirPIDCalculate();
-
- }
- }
- //系統初始化
- void SysInitialization(void)
- {
- DisableInterrupts(); //禁止全部中斷
- DelayInit(); //延時函數初始化,使用的是DWT
- GPIO_LedBuzInit(); //初始化LED和蜂鳴器引腳
- FreeCars_Init(); //FreeCars上位機UART引腳配置
- Motor_Init(); //電機初始化(包含單電機和雙電機的,在Preprocessor Symbols中設置)
- Servo_Init(); //舵機初始化 50Hz
- //Voltage_Init(); //電壓檢測初始化
- DirPID_Init(); //方向PID參數初始化
- GPIO_InfraredInit(); //紅外接收器初始化
- PIT_QuickInit(HW_PIT_CH0, 10000); //CH0 10ms中斷,用于舵機PID控制
- ISR_Config(); //所有中斷的配置,該函數應放在所有初始化函數之后
- }
復制代碼
0.png (48.2 KB, 下載次數: 56)
下載附件
2018-9-17 17:44 上傳
所有資料51hei提供下載:
紅外程序.rar
(5.94 MB, 下載次數: 23)
2018-9-17 11:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|