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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

3秒內檢測不到觸發電平就證明電機卡主了

查看數: 3379 | 評論數: 8 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-7-9 10:04

正文摘要:

上圖我做的,平均1秒轉一圈,每轉一圈磁鐵觸發傳感器輸出一個低電平, 若 3秒內檢測不到觸發電平就證明電機卡主了。輸出信號控制電機停止,朋友們,怎么寫個程序呢?求的思路,謝謝! sbit KEY1=P2^0; ...

回復

ID:808939 發表于 2021-7-11 17:22
你把霍爾傳感器的引腳接到外部中斷上,用中斷檢測下降沿
ID:161164 發表于 2021-7-11 14:46
  1. void main()
  2. {
  3.     Motor_Run = 1;//運行標志
  4.     if(Scan_Count++ > 1000)
  5.     {
  6.         Scan_Count=0;
  7.         Rotate_Count++;
  8.         if(Hall_Pin_Old && !Hall_Pin)//下降沿檢測
  9.         {
  10.             Rotate_Stop_Count=0;
  11.         }
  12.         Hall_Pin_Old = Hall_Pin;
  13.         if(Rotate_Stop_Count++ > 200)//停轉超時
  14.         {
  15.             Motor_Run = 0;
  16.         }
  17.     }
  18. }
復制代碼


ID:57657 發表于 2021-7-10 08:35
  1. #include "reg51.h"
  2. sbit KEY1 = P2 ^ 0;//檢測端口接霍爾傳感器輸出端,低電平有效
  3. sbit KEY2 = P2 ^ 1;//輸出高電平,啟動繼電器,斷開電源,或者接步進電機控制器的  停止端

  4. void InitTimer0(){      //晶振頻率:12Mhz
  5.     TMOD = 0x01;
  6.     TH0 = 0xB1;
  7.     TL0 = 0xE0;
  8.     EA = 1;
  9.     ET0 = 1;
  10.     TR0 = 1;
  11. }
  12. unsigned char time = 0;      //霍爾傳感器 高電平每20毫秒加1 (加滿則停止計數,防止溢出) 低電平清0
  13. void Timer0Interrupt() interrupt 1{     //20ms 定時器0中斷
  14.     TH0 = 0xB1;
  15.     TL0 = 0xE0;
  16.     if (KEY1) {
  17.         if (time != 0xFF) time++;
  18.         KEY2 = !(time >= 150);      //150個20毫秒
  19.     } else {
  20.         time = 0;
  21.         KEY2 = 1;
  22.     }
  23. }


  24. void main(){
  25. KEY1 = 1;//通電默認高電平        
  26. KEY2 = 0;//通電默認低電平   
  27. InitTimer0();
  28. while(1);
  29. }
復制代碼
ID:176854 發表于 2021-7-9 20:01
#include "STC12C52xx.H"  //根據實際芯片修改頭文件

#define Delay_Time 200   //(需要檢測時間(單位:秒) - 1) * 100
sbit Key = P2^0;         //修改需要檢測引腳

unsigned int Counter = 0;
unsigned char Key_Loop = 0;


//-----------------------------------------------

void Timer0_Init() //12MHz  10ms
{
    AUXR &= 0x7F;                    
    TMOD |= 0x01;                  
                TL0 = 0xF0;               
    TH0 = 0xD8;               
    TR0 = 1;                        
    ET0 = 1;                        
}

void Read_Key()
{
    switch(Key_Loop)
                {
                  case 0:
                        {
                          if(!Key)
                                {
                                  Counter = 0;
                                }
                                else if(Counter >= Delay_Time)
                                {
                                  Key_Loop = 1;
                                }
                                break;
                        }
                        case 1:
                        {
                          //加入電機堵轉后的處理程序
                                break;
                        }
                        default:
                        {
                          Key_Loop = 0;
                                break;
                        }
                }
}

void main(void)
{
                P2M1 |= (1<<0);   //將檢測引腳設置為高阻輸入
                P2M0 &= ~(1<<0);  //將檢測引腳設置為高阻輸入
                Timer0_Init();

                EA = 1;                        
                while (1)
                {
                        Read_Key();
                }
}

void tm0_isr() interrupt 1 //定時器每10ms中斷一次
{
          TL0 = 0xF0;               
    TH0 = 0xD8;               
    Counter++;
}
ID:475031 發表于 2021-7-9 16:41
shumivan 發表于 2021-7-9 16:22
使用外部中斷,設置為上升沿和下降沿觸發,那么就可以完整地提取出脈沖的寬度

來一段代碼。我參考參考。謝謝
ID:81196 發表于 2021-7-9 16:22
使用外部中斷,設置為上升沿和下降沿觸發,那么就可以完整地提取出脈沖的寬度
ID:475031 發表于 2021-7-9 12:47
1543330241 發表于 2021-7-9 12:42
你把霍爾傳感器的引腳接到外部中斷上,用中斷檢測下降沿

百度搜破了也沒有找到相關例子,
大師,來個例子。這樣我也學會了。全網的人也學會了。不勝感激
ID:539024 發表于 2021-7-9 12:42
你把霍爾傳感器的引腳接到外部中斷上,用中斷檢測下降沿

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品久久综合 | 久久久久久久久99 | 成人中文字幕在线 | 久久久久久久久久爱 | 欧美一级片中文字幕 | 久久久tv| 黄色毛片免费视频 | av三级在线观看 | 精品一区二区久久久久久久网站 | 欧美亚洲在线 | 成人影院网站ww555久久精品 | 精品成人av | 狠狠操电影 | 欧美综合一区 | 91香蕉| 国产精品美女久久久久久免费 | 成人区精品一区二区婷婷 | 欧美日韩精品一区 | 欧美精品久久久久 | 色婷婷国产精品综合在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 日韩一区精品 | 九九成人| 国产精品不卡视频 | 青青操91 | 夜夜操操操 | 亚洲第一在线 | 毛片网站在线观看视频 | 日韩精品一区二区三区第95 | 久久久久一区 | 国产精品第2页 | 人人99 | 久久精品久久精品 | 欧美激情精品久久久久久免费 | 欧美二区在线 | 国产一区久久 | 久久99精品久久久久 | 欧美久久久久 | 国产精品视频一区二区三区不卡 | 91色网站 | 婷婷去俺也去 |