STM32正交增量編碼器
單片機(jī)源程序如下(外部中斷法):
- #include "STM32F1.h"
- u16 Parameter = 20; //輸入編碼器線數(shù)
- u16 Count,Old_Temp,Temp;
- int main(void)
- {
- delay_init(); //延時(shí)函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
- uart_init(115200); //串口初始化為115200
- LCD_Init(); //初始化LCD
- Encode_Init();
- POINT_COLOR=BLUE; //字體顏色
- LCD_ShowString(75,150,200,16,16,"Count:");
- LCD_ShowNum(125,150,0,1,16);
- LCD_ShowNum(135,150,0,1,16);
- LCD_ShowNum(145,150,0,1,16);
- LCD_ShowNum(155,150,0,1,16);
- while(1)
- {
- Old_Temp = Temp; //獲取先前數(shù)值
- Temp = Count; //獲取當(dāng)前數(shù)值
- if(Old_Temp != Count) //如果先前的計(jì)數(shù)值與當(dāng)前計(jì)數(shù)值不相等,說(shuō)明編碼器已轉(zhuǎn)動(dòng)打印當(dāng)前數(shù)值
- {
- printf("數(shù)值 = %d\n",Count); //串口打印數(shù)值*/
- LCD_ShowNum(125,150,Count/1000,1,16); //液晶顯示數(shù)值
- LCD_ShowNum(135,150,(Count%1000)/100,1,16);
- LCD_ShowNum(145,150,(Count%100)/10,1,16);
- LCD_ShowNum(155,150,Count%10,1,16);
- }
- }
- }
復(fù)制代碼
查詢法:
- #include "STM32F1.h"
- u16 Parameter = 512; //輸入編碼器線數(shù)
- u16 Count,Old_Count;
- int main(void)
- {
- delay_init(); //延時(shí)函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
- uart_init(115200); //串口初始化為115200
- LCD_Init(); //初始化LCD
- TIM4_Init(); //初始化TIM4為編碼器借口模式
- POINT_COLOR=BLUE; //字體顏色
- LCD_ShowString(75,150,200,16,16,"Count:");
- LCD_ShowNum(125,150,0,1,16);
- LCD_ShowNum(135,150,0,1,16);
- LCD_ShowNum(145,150,0,1,16);
- LCD_ShowNum(155,150,0,1,16);
- while(1)
- {
- Old_Count = Count; //獲取先前的計(jì)數(shù)值
- Count = TIM4->CNT; //獲取編碼器當(dāng)前數(shù)值
- if(Old_Count != Count) //如果先前的計(jì)數(shù)值與當(dāng)前計(jì)數(shù)值不相等,說(shuō)明編碼器已轉(zhuǎn)動(dòng)打印當(dāng)前數(shù)值
- {
- printf("數(shù)值 = %d\n",Count); //串口打印數(shù)值
- LCD_ShowNum(125,150,Count/1000,1,16); //液晶顯示數(shù)值
- LCD_ShowNum(135,150,(Count%1000)/100,1,16);
- LCD_ShowNum(145,150,(Count%100)/10,1,16);
- LCD_ShowNum(155,150,Count%10,1,16);
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
STM32正交編碼器_外部中斷.rar
(301.98 KB, 下載次數(shù): 114)
2018-11-4 08:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
STM32正交編碼器.rar
(300.49 KB, 下載次數(shù): 62)
2018-11-4 08:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|