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

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的直流電機(jī)測(cè)速代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:494791 發(fā)表于 2019-5-20 11:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
需要用到測(cè)速模塊(槽型光耦和霍爾傳感器模塊都可以)
用到了外部中斷0和定時(shí)器1,用兩個(gè)定時(shí)器,一個(gè)定時(shí),一個(gè)計(jì)數(shù),應(yīng)該也可以,沒試過

部分代碼如下:

/*測(cè)速部分變量定義*/
uchar a,b,val,zhuan,cishu,num,r=5/*cm*/,c;//r為碼盤半徑(cm)
uint lucheng,endprice;//   元/米
uchar tablev[]="V:   m/s";
uchar tablejuli[]="juli:";
uchar circle,juli;


void Dist_INT (void)           //  外部中斷0初始化
{  
    EX0 = 1;         //允許外部中斷0中斷
    IT0 = 1;         //1:下降沿觸發(fā)  0低電平觸發(fā)
    EA = 1;            //中斷總開關(guān)
}
void Dist() interrupt 0//中斷函數(shù)
{
    cishu++;       //被遮擋次數(shù)
    if(cishu>=4)  //碼盤4格
    {
        cishu=0;   
        circle++;  //圈數(shù)+1
    }   
}
void T0_time() interrupt 1
{
  TH0=0x3c;      //50ms定時(shí)  
  TL0=0xb0;
  num++;
  if(num==20) //如果到了20次,說明1秒時(shí)間
  {  
   num=0;
   zhuan=circle;
   circle=0;
//   lcd_wcom(0x92+0x40);
//   lcd_wdat(zhuan/100+0x30);
//   lcd_wdat(zhuan%100/10+0x30);
//   lcd_wdat(zhuan%100%10+0x30);
   lucheng=(uint)(2*3.14*r*zhuan/100+lucheng);//lucheng 單位為米
   }
}  

最重要的部分已經(jīng)給出,剩下的顯示和定時(shí)器1的配置自己寫吧,這部分程序是從我的一個(gè)大程序中摘出來的,所以代碼沒有寫全

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:118693 發(fā)表于 2019-5-22 20:30 | 只看該作者
感謝樓主的分享                           
回復(fù)

使用道具 舉報(bào)

板凳
ID:1043656 發(fā)表于 2022-9-2 18:18 | 只看該作者
目前還是小白,先來點(diǎn)贊。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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