PWM控制舵機 按鍵調節實驗 ,STM32MINI版專用
單片機源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include "pwm.h"
- #include "key.h"
- #include "stm32f10x_tim.h"
- //ALIENTEK Mini STM32開發板范例代碼15
- //ADC實驗
-
- int main(void)
- {
- u16 adcx,adcx1;
- float temp;
- u16 dacval=25;
- u8 key;
- delay_init(); //延時函數初始化
- uart_init(9600); //串口初始化為9600
- LCD_Init(); //初始化LCD
- TIM1_PWM_Init(899,1439);
- KEY_Init(); //按鍵初始化
-
- TIM1->CCR4=dacval;
- POINT_COLOR=RED;//設置字體為紅色
- LCD_ShowString(60,50,200,16,16,"Mini STM32");
- LCD_ShowString(60,70,200,16,16,"DAC TEST");
- LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
- LCD_ShowString(60,110,200,16,16,"2014/3/9");
- LCD_ShowString(60,130,200,16,16,"WK_UP:+ KEY0:-");
- //顯示提示信息
- POINT_COLOR=BLUE;//設置字體為藍色
- LCD_ShowString(60,150,200,16,16,"DAC VAL:");
- LCD_ShowString(60,170,200,16,16,"DAC VOL:");
- LCD_ShowString(60,190,200,16,16,"ADC VOL:");
- LCD_ShowxNum(124,170,dacval,3,16,0);
-
- while(1)
- {
-
- key=KEY_Scan(0);
- if(key==KEY1_PRES)
- {
- dacval+=10;
- TIM_SetCompare4(TIM1,dacval);
- LCD_ShowxNum(124,170,dacval,3,16,0);
- }
- if(key==KEY0_PRES)
- {
- dacval-=10;
- TIM_SetCompare4(TIM1,dacval);
- LCD_ShowxNum(124,170,dacval,3,16,0);
- }
- if(key==WKUP_PRES)
- {
- dacval=25;
- TIM_SetCompare4(TIM1,dacval);
- LCD_ShowxNum(124,170,dacval,3,16,0);
- }
- delay_ms(10);
- }
- }
- //PA0與1820相連,按鍵不起作用;仿真不一定可信
- //50Hz ccr1:25---135; 0-210度 第一次與最后一次的角度過大
- //信息口IO口:A.11
- //PB6,7,8,9
復制代碼
所有資料51hei提供下載:
PWM控制舵機 按鍵調節實驗.rar
(343.04 KB, 下載次數: 201)
2018-4-4 17:50 上傳
點擊文件名下載附件
PWM控制舵機 下載積分: 黑幣 -5
|