|
PWM控制舵機(jī) 按鍵調(diào)節(jié)實(shí)驗(yàn) ,STM32MINI版專用
單片機(jī)源程序如下:
- #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開發(fā)板范例代碼15
- //ADC實(shí)驗(yàn)
-
- int main(void)
- {
- u16 adcx,adcx1;
- float temp;
- u16 dacval=25;
- u8 key;
- delay_init(); //延時(shí)函數(shù)初始化
- uart_init(9600); //串口初始化為9600
- LCD_Init(); //初始化LCD
- TIM1_PWM_Init(899,1439);
- KEY_Init(); //按鍵初始化
-
- TIM1->CCR4=dacval;
- POINT_COLOR=RED;//設(shè)置字體為紅色
- 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;//設(shè)置字體為藍(lán)色
- 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
復(fù)制代碼
所有資料51hei提供下載:
PWM控制舵機(jī) 按鍵調(diào)節(jié)實(shí)驗(yàn).rar
(343.04 KB, 下載次數(shù): 201)
2018-4-4 17:50 上傳
點(diǎn)擊文件名下載附件
PWM控制舵機(jī) 下載積分: 黑幣 -5
|
|