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

標題: STM32超聲波測距源程序(12864實時顯示距離) [打印本頁]

作者: daningmeng    時間: 2018-7-24 11:19
標題: STM32超聲波測距源程序(12864實時顯示距離)
該文件采用12864實時顯示超聲波測距的距離,超聲波的最大顯示距離為4米,精度可根據實際調節

單片機源程序如下:
  1. /***********************************************/
  2. //實驗名稱:超聲波傳感器實驗
  3. //接線說明:超聲波模塊的J2口接核心板的P3接口。
  4. //實驗現象:液晶上顯示當前距離。
  5. /***********************************************/

  6. #include "sys.h"
  7. #include "usart.h"               
  8. #include "delay.h"       
  9. #include "led.h"
  10. #include "12864.h"
  11. #include "timer.h"
  12. #include "exti.h"

  13. #define CSB_TX PAout(8)         // PA8 發送超聲波引腳
  14. #define BEEN   PAout(10)

  15. // 變量
  16. u32   status=0;                                                      // 計數值
  17. char  s2[10],s1[10];                                                // LCD顯示緩存數組
  18. u32   real_time;                                               // 讀回值
  19. float        dis;                                                          // 距離計算值
  20. u8    distance[7] = {0};

  21. void tran(void);                                               // 左發生超聲波函數
  22. void DisplayDis(float value);
  23. void Display(u8 Pos);

  24. int main(void)
  25. {                                         
  26.         Stm32_Clock_Init(9);    // 系統時鐘設置
  27.         delay_init(72);                // 延時初始化
  28.         uart_init(72,9600);     // 串口初始化
  29.         Timerx_Init(10,71);     // 1Mhz的計數頻率,計數到10為10us  
  30.   Init_12864();           // 液晶初始化
  31.         EXTIX_Init();                 // 外部中斷初始化       

  32.         while(1)
  33.         {
  34.           tran();
  35.                 if(dis<10 && dis!=0)
  36.                         BEEN=1;
  37.                 else
  38.                         BEEN=0;
  39.                 if(dis>80)
  40.                         dis=0;
  41.                 DisplayDis( dis * 10 );
  42.     dis=0;                      //無物體
  43.                 LED0=!LED0;           //指示燈閃爍
  44.                 delay_ms(300);       
  45.         }
  46. }

  47. // 左發生超聲波函數
  48. void tran(void)
  49. {
  50.         u8 i;
  51.     TIM3->CR1|=0x01;         // 使能定時器3
  52.     TIM3->SR&=~(1<<0);       // 清除中斷標志位   
  53.     status  = 0;                               // 定時器清零
  54.     for(i=0;i<8;i++)         // 發送信號
  55.     {
  56.                         CSB_TX = 1;            
  57.                         delay_us(12);   
  58.                         CSB_TX = 0;
  59.                         delay_us(12);   
  60.     }
  61.    delay_ms(10);
  62. }

  63. //
  64. void DisplayDis(float value)
  65. {
  66.     u32 val = (u32)value;
  67.     distance[0] = (val / 100) + 48;
  68.     distance[1] = (val % 100) /10 + 48;
  69.           distance[2] = '.';
  70.     distance[3] = val % 10 + 48;
  71.           distance[4] = ' ';
  72.     distance[5] = 'c';
  73.     distance[6] = 'm';
  74.           Display(0x9C);
  75. }

  76. //****************************************
  77. //顯示子程序
  78. //****************************************
  79. void Display(u8 Pos)      
  80. {
  81.         u8 i;
  82.         write_12864com(Pos);
  83.         for(i=7;i>0;i--)
  84.         {
  85.                 write_12864data(distance[7-i]);
  86.                 delay_us(10);
  87.   }
  88. }

復制代碼

所有資料51hei提供下載:
超聲波 12864顯示.rar (327.07 KB, 下載次數: 154)



作者: xiaomaer    時間: 2019-10-29 09:07
怎么下載下來是空文件呢
作者: xiaomaer    時間: 2019-10-30 17:15
定義接口時(1<<4)代表什么呢?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区在线看 | 国产精品久久久久久久久久久免费看 | 久久逼逼| 国产精品视频久久 | 国产在线一区二区三区 | 你懂的av| 久久久噜噜噜www成人网 | 欧美国产日韩精品 | 日韩成人在线播放 | 久久三区 | 成人午夜激情 | 中文字幕综合 | 免费看黄视频网站 | 操久久 | 亚洲一区中文字幕 | 中文字幕第三页 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 天天操网 | 91在线精品播放 | 国产精品无码久久久久 | 亚洲国产精品99久久久久久久久 | 国产精品99999999 | 一级特黄a大片 | 插插插干干干 | 欧美成年黄网站色视频 | 超碰最新在线 | 成人精品国产免费网站 | 日本三级网站在线 | 精品视频一区二区三区在线观看 | 亚洲欧美激情视频 | 国产精品美女久久久久aⅴ国产馆 | 成人久久久 | 91视频在线看 | 黄色一级大片在线免费看产 | 亚洲综合色视频在线观看 | 久久精品亚洲精品 | 久久久久久成人 | 久久这里有精品 | 一区二区三区四区av | 亚洲综合精品 | 国产精品区二区三区日本 |