欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1787|回復: 1
打印 上一主題 下一主題
收起左側

單片機霍爾測速系統設計+源程序

[復制鏈接]
跳轉到指定樓層
樓主
一、系統方案
1、本設計采用52單片機作為主控器。
2、霍爾測速送到液晶1602。
3、蜂鳴器報警。


二、硬件設計
原理圖如下:

三、單片機軟件設計
  1. 1、首先是系統初始化
  2. void lcd_init()//***液晶初始化函數****
  3. {
  4.         
  5.         write_1602com(0x38);//設置液晶工作模式,意思:16*2行顯示,5*7點陣,8位數據
  6.         write_1602com(0x0c);//開顯示不顯示光標
  7.         write_1602com(0x06);//整屏不移動,光標自動右移
  8.         write_1602com(0x01);//清顯示
  9. }
  10. 2、液晶顯示程序
  11. /********液晶寫入指令函數與寫入數據函數,以后可調用**************/
  12. void write_1602com(uchar com)//****液晶寫入指令函數****
  13. {
  14.         RS=0;//數據/指令選擇置為指令
  15.         rw=0; //讀寫選擇置為寫
  16.         P0=com;//送入數據
  17.         delay(1);
  18.         EN=1;//拉高使能端,為制造有效的下降沿做準備
  19.         delay(1);
  20.         EN=0;//en由高變低,產生下降沿,液晶執行命令
  21. }
  22. void write_1602dat(uchar dat)//***液晶寫入數據函數****
  23. {
  24.         RS=1;//數據/指令選擇置為數據
  25.         rw=0; //讀寫選擇置為寫
  26.         P0=dat;//送入數據
  27.         delay(1);
  28.         EN=1; //en置高電平,為制造下降沿做準備
  29.         delay(1);
  30.         EN=0; //en由高變低,產生下降沿,液晶執行命令
  31. }
  32. 3、按鍵程序
  33. /*********************************************************/
  34. // 按鍵掃描
  35. /*********************************************************/
  36. void key()
  37. {
  38.         if(k1==0)         //按下按下
  39.         {
  40.                 delay(10);//延時消除按鍵抖動
  41.                 if(k1==0)         //再次判斷按鍵是否按下
  42.                 {
  43.                         while(!k1);  //判斷按鍵是否釋放
  44.                   MAX++;
  45.                         if(MAX==10000) MAX=9999;
  46.             }
  47.         }        
  48.         if(k2==0)//加
  49.         {
  50.            delay(10);
  51.                 if(k2==0)
  52.                 {
  53.                         while(!k2);
  54.                  if(MAX>1) MAX--;
  55.                         
  56.             }
  57.         }
  58. }
  59. 4、核心算法程序
  60.   /*******************T2中斷函數函數********************/
  61. void T2_time() interrupt 5
  62. {
  63.      
  64.          TF2 = 0;
  65.          time++; //累計中斷 的次數
  66.           if(time==20) //1秒到
  67.                 {
  68.                   TR0=0; //關閉計數
  69.                   time=0; //1秒時間清零,等待下一秒
  70.                   flag=1; //置1告訴主程序
  71.                
  72.         }
  73. }
復制代碼
四、 proteus仿真設計
Proteus軟件是一款應用比較廣泛的工具,它可以在沒有硬件平臺的基礎上通過自身的軟件仿真出硬件平臺的運行情況,這樣就可以通過軟件仿真來驗證我們設計的方案有沒有問題,如果有問題,可以重新選擇器件,連接器件,直到達到我們設定的目的,避免我們搭建實物的時候,如果當初選擇的方案有問題,我們器件都已經焊接好了,再去卸載下去,再去焊接新的方案的器件,測試,這樣會浪費人力和物力,也給開發者帶來一定困惑,Proteus仿真軟件就很好的解決這個問題,我們在設計之初,就使用該軟件進行模擬仿真,測試,選擇滿足我們設計的最優方案。最后根據測試沒問題的仿真圖紙,焊接實物,調試,最終完成本設計的作品。

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

使用道具 舉報

沙發
ID:774081 發表于 2024-1-5 12:30 | 只看該作者
代碼哪個地方跟霍爾有關了?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表