久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5489|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

STM32正交增量編碼器源碼 外部中斷與查詢法2個(gè)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:276828 發(fā)表于 2018-11-4 08:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
STM32正交增量編碼器

單片機(jī)源程序如下(外部中斷法):
  1. #include "STM32F1.h"

  2. u16        Parameter = 20;                                                                                                                                                //輸入編碼器線數(shù)
  3. u16 Count,Old_Temp,Temp;

  4. int main(void)
  5. {
  6.         delay_init();                                                                                                                                                     //延時(shí)函數(shù)初始化          
  7.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                  //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  8.         uart_init(115200);                                                                                                                                         //串口初始化為115200
  9.         LCD_Init();                                                                                                                                                                   //初始化LCD  
  10.         Encode_Init();
  11.         POINT_COLOR=BLUE;                                                                                                                                                //字體顏色
  12.         LCD_ShowString(75,150,200,16,16,"Count:");
  13.         LCD_ShowNum(125,150,0,1,16);
  14.         LCD_ShowNum(135,150,0,1,16);
  15.         LCD_ShowNum(145,150,0,1,16);
  16.         LCD_ShowNum(155,150,0,1,16);
  17.   while(1)
  18.         {
  19.                 Old_Temp = Temp;                                                                                                                                        //獲取先前數(shù)值
  20.                 Temp = Count;                                                                                                                                                        //獲取當(dāng)前數(shù)值
  21.                 if(Old_Temp != Count)                                                                                                                        //如果先前的計(jì)數(shù)值與當(dāng)前計(jì)數(shù)值不相等,說(shuō)明編碼器已轉(zhuǎn)動(dòng)打印當(dāng)前數(shù)值
  22.                 {
  23.                         printf("數(shù)值 = %d\n",Count);                                                                                //串口打印數(shù)值*/
  24.                         LCD_ShowNum(125,150,Count/1000,1,16);                                                //液晶顯示數(shù)值
  25.                         LCD_ShowNum(135,150,(Count%1000)/100,1,16);
  26.                         LCD_ShowNum(145,150,(Count%100)/10,1,16);
  27.                         LCD_ShowNum(155,150,Count%10,1,16);
  28.                 }               
  29.         }
  30. }
復(fù)制代碼

查詢法:
  1. #include "STM32F1.h"

  2. u16        Parameter = 512;                                                                                                                                        //輸入編碼器線數(shù)
  3. u16 Count,Old_Count;

  4. int main(void)
  5. {
  6.         delay_init();                                                                                                                                                     //延時(shí)函數(shù)初始化          
  7.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                  //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  8.         uart_init(115200);                                                                                                                                         //串口初始化為115200
  9.         LCD_Init();                                                                                                                                                                   //初始化LCD  
  10.         TIM4_Init();                                                                                                                                                                //初始化TIM4為編碼器借口模式
  11.         POINT_COLOR=BLUE;                                                                                                                                                //字體顏色
  12.         LCD_ShowString(75,150,200,16,16,"Count:");
  13.         LCD_ShowNum(125,150,0,1,16);
  14.         LCD_ShowNum(135,150,0,1,16);
  15.         LCD_ShowNum(145,150,0,1,16);
  16.         LCD_ShowNum(155,150,0,1,16);
  17.   while(1)
  18.         {
  19.                 Old_Count = Count;                                                                                                                                //獲取先前的計(jì)數(shù)值
  20.                 Count = TIM4->CNT;                                                                                                                                //獲取編碼器當(dāng)前數(shù)值
  21.                 if(Old_Count != Count)                                                                                                                //如果先前的計(jì)數(shù)值與當(dāng)前計(jì)數(shù)值不相等,說(shuō)明編碼器已轉(zhuǎn)動(dòng)打印當(dāng)前數(shù)值
  22.                 {
  23.                         printf("數(shù)值 = %d\n",Count);                                                                                //串口打印數(shù)值
  24.                         LCD_ShowNum(125,150,Count/1000,1,16);                                                //液晶顯示數(shù)值
  25.                         LCD_ShowNum(135,150,(Count%1000)/100,1,16);
  26.                         LCD_ShowNum(145,150,(Count%100)/10,1,16);
  27.                         LCD_ShowNum(155,150,Count%10,1,16);
  28.                 }               
  29.         }
  30. }
復(fù)制代碼


所有資料51hei提供下載:
STM32正交編碼器_外部中斷.rar (301.98 KB, 下載次數(shù): 114)
STM32正交編碼器.rar (300.49 KB, 下載次數(shù): 62)



評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:121304 發(fā)表于 2019-7-4 17:53 | 只看該作者
多謝了
回復(fù)

使用道具 舉報(bào)

板凳
ID:614301 發(fā)表于 2019-9-21 09:32 | 只看該作者
非常感謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产青草久久久久福利 | 91影院在线观看 | 亚洲精品视频在线观看视频 | 波多野结衣一区二区三区 | 精品国产第一区二区三区 | 亚洲精品久久 | 免费看一区二区三区 | 男女网站免费观看 | 最近日韩中文字幕 | 成人免费视频久久 | 视频在线一区二区 | 91精品国模一区二区三区 | 亚洲二区视频 | 视频一区二区在线 | 亚洲在线一区 | 美女天堂av| 黄色一级电影在线观看 | 国产成人在线播放 | 国产二区精品视频 | 中文字幕亚洲在线 | 亚洲国产精品久久久久 | chinese中国真实乱对白 | 久久久久久免费免费 | 午夜免费视频 | 秋霞a级毛片在线看 | 日一区二区 | 成人欧美一区二区三区在线播放 | 欧美在线视频一区二区 | 国产精品国产精品 | 日韩二三区 | 欧美v在线| 尤物在线| 成人a网 | 欧美区在线 | 美女一区二区在线观看 | 久久国产一区二区 | 欧美一二精品 | 在线视频成人 | 亚欧午夜| 国产精久久久久久久 | aacc678成免费人电影网站 |