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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5511|回復(fù): 1
收起左側(cè)

LM393霍爾測(cè)速模塊(原理圖+PCB+51單片機(jī)例程)

[復(fù)制鏈接]
ID:471680 發(fā)表于 2019-12-1 18:45 | 顯示全部樓層 |閱讀模式
Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
51hei.png 51hei.png

單片機(jī)源程序如下:
  1. #include<reg52.h>   
  2. #define   uchar unsigned char
  3. #define   uint unsigned int   
  4. sbit lcdrs=P3^5;  
  5. sbit lcden=P3^4;
  6. sbit ENA=P2^3;
  7. sbit ENB=P2^2;
  8. sbit IN1=P2^1;
  9. sbit IN2=P2^0;
  10. sbit IN3=P2^5;
  11. sbit IN4=P2^4;
  12. uchar code digit[ ]={"0123456789"}; //定義字符數(shù)組顯示數(shù)字
  13. uchar code table1[ ]={"speed :"};
  14. uchar code table2[ ]={" "};
  15. uint v;   //儲(chǔ)存電機(jī)轉(zhuǎn)速
  16. uchar count;  //儲(chǔ)存定時(shí)器T0中斷次數(shù)
  17. bit flag;      //計(jì)滿1秒鐘標(biāo)志位
  18.    
  19. void delay_1ms(uint x)
  20. {
  21.      uint i,j;
  22.      for(j=0;j<x;j++)
  23.          for(i=0;i<110;i++);
  24. }                           

  25. void write_com(uchar com)
  26. {
  27.         lcdrs=0;
  28.         P0=com;
  29.         delay_1ms(5);
  30.         lcden=1;
  31.         delay_1ms(5);
  32.         lcden=0;
  33. }

  34. void write_data(uchar date)
  35. {
  36.         lcdrs=1;
  37.         P0=date;
  38.         delay_1ms(5);
  39.         lcden=1;
  40.         delay_1ms(5);
  41.         lcden=0;
  42. }


  43. void lcd_init()
  44. {
  45.         lcden=0;
  46.         write_com(0x38);
  47.         write_com(0x0c);
  48.         write_com(0x06);
  49.         write_com(0x01);
  50. }

  51. void display_val(unsigned int x)
  52. {  
  53.    uchar i,j,k,l;     //j,k,l分別儲(chǔ)存速度的百位、十位和個(gè)位
  54.    uint num1;
  55.    i=x/1000;         //取千位
  56.    j=(x%1000)/100;   //取百位
  57.    k=(x%100)/10;     //取十位
  58.    l=x%10;           //取個(gè)位
  59.           write_com(0x80);
  60.           for(num1=0;num1<7;num1++)
  61.           {
  62.                   write_data(table1[num1]);
  63.                 delay_1ms(5);
  64.           }
  65.           write_com(0x80+0x40);
  66.           write_data(digit[i]);         
  67.       write_data(digit[j]);
  68.       write_data(digit[k]);
  69.       write_data(digit[l]);
  70.       write_data(' ');
  71.       write_data('r');
  72.       write_data('/');
  73.       write_data('m');
  74.       write_data('i');
  75.       write_data('n');
  76. }
  77.   

  78. uint read()
  79. {
  80.         uchar a,b,c;
  81.         uint v;
  82.         a=TH2;
  83.         b=TL2;
  84.         c=TH2;
  85.         v=a*256+b;
  86.         return v;
  87. }

  88. void main(void)

  89. {  
  90.         uint a;
  91.         ENA=1;
  92.         IN1=0;
  93.         IN2=1;
  94.     lcd_init();               //調(diào)用LCD初始化函數(shù)   
  95.         T2CON=0x02;
  96.         TR2=1;                    //定時(shí)器T2啟動(dòng)
  97.     while(1)                 //無(wú)限循環(huán)
  98.       {
  99.          TH2=0;            //定時(shí)器T2高8位賦初值0
  100.          TL2=0;            //定時(shí)器T2低8位賦初值0
  101.                  delay_1ms(1000);
  102.                  a=read();
  103.                  v=60*a;
  104.                  write_com(0x01);
  105.                  display_val(v);                  
  106.       }            

  107. }
復(fù)制代碼

所有資料51hei提供下載:
測(cè)速模塊(原理圖 PCB).7z (7.07 MB, 下載次數(shù): 131)
霍爾測(cè)速模塊(程序STC89C52RC).zip (30.99 KB, 下載次數(shù): 74)


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:583728 發(fā)表于 2020-4-16 22:02 | 顯示全部樓層
好東西啊真的好東西
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表