找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

霍爾傳感器問題

[復(fù)制鏈接]
回帖獎勵 1 黑幣 回復(fù)本帖可獲得 1 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉(zhuǎn)到指定樓層
樓主
ID:199787 發(fā)表于 2017-7-23 14:47 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit LCD_RS=P2^7;
sbit LCD_RW=P2^6;
sbit LCD_EN=P2^5;

sbit sensor0=P3^2;
sbit sensor1=P3^3;

uchar a;
uint b,c;
uchar flag;
void Delay(uint z);
void write_com(uchar com);
void write_data(uchar dat);
void lcd_init();
void init();
void delay100us(void) ;  //?? 0us
void main()
{
         init();
         lcd_init();
   while(1)
         {
          if(flag==1)
                {
                flag=0;
                 TR1=0;
                                       
                 c=TH1*256+TL1;
                 TH1=0;
     TL1=0;        
                 TR1=1;
                 write_com(0xc0);
                 write_data(c/1000+0x30);
                 write_data(c%1000/100+0x30);
                 write_data(c%100/10+0x30);
                 write_data(c%10+0x30);       
   /*  
     TH0=0;
     TL0=0;                       
                        */

                }


         }
}

void init()
{
   TMOD=0x51;
   TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         TH1=0;
         TL1=0;
   TR0=1;
         TR1=1;
   ET0=1;
       
//  IT1=1;
//        EX1=1;
        EA=1;
       
}
void delay(uint z)
{
        uint x,y;
   for(x=z;x>0;x--)
         for(y=110;y>0;y--);
}
void write_com(uchar com)
{
        LCD_RW=0;
        LCD_RS=0;
        P0=com;
        delay(5);
        LCD_EN=1;
        delay(5);
        LCD_EN=0;
}
void write_data(uchar dat)
{
        LCD_RW=0;
        LCD_RS=1;
        P0=dat;
        delay(5);
        LCD_EN=1;
        delay(5);
        LCD_EN=0;
}
void lcd_init()
{
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
}
void timer0() interrupt 1
{
   TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         a++;
         if(a==20)
         {
                a=0;
         flag=1;
         }
}

霍爾傳感器測速程序,每一秒計(jì)算脈沖數(shù),一個輪上有5個磁鐵,可轉(zhuǎn)一圈測出二十幾個,有大神知道怎么回事嗎,求解答

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

使用道具 舉報

沙發(fā)
ID:199787 發(fā)表于 2017-7-23 14:51 | 只看該作者
自己頂一下 有人嗎
回復(fù)

使用道具 舉報

板凳
ID:199787 發(fā)表于 2017-7-23 15:08 | 只看該作者
補(bǔ)充一下 我用的1T單片機(jī)
回復(fù)

使用道具 舉報

地板
ID:199787 發(fā)表于 2017-7-23 15:58 | 只看該作者
沒有人回答嗎
回復(fù)

使用道具 舉報

5#
ID:199787 發(fā)表于 2017-7-23 16:33 | 只看該作者
審核個帖子這么慢嗎
回復(fù)

使用道具 舉報

6#
ID:199787 發(fā)表于 2017-7-23 17:50 | 只看該作者
有人知道為什么嗎
回復(fù)

使用道具 舉報

7#
ID:82765 發(fā)表于 2017-7-23 18:43 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

8#
ID:199787 發(fā)表于 2017-7-23 20:00 | 只看該作者
你好 pwm調(diào)的小 差不多一圈 但我用的IT單片機(jī) 12T的就沒事 你知道該怎么改嗎
回復(fù)

使用道具 舉報

9#
ID:199787 發(fā)表于 2017-7-24 14:07 | 只看該作者
cjjcjj1 發(fā)表于 2017-7-23 18:43
你好!那你一秒鐘輪子轉(zhuǎn)動了多少圈?


你好 pwm調(diào)的小 差不多一圈 但我用的IT單片機(jī) 12T的就沒事 你知道該怎么改嗎
回復(fù)

使用道具 舉報

10#
ID:213173 發(fā)表于 2017-7-24 17:33 | 只看該作者
yzq123 發(fā)表于 2017-7-24 14:07
你好 pwm調(diào)的小 差不多一圈 但我用的IT單片機(jī) 12T的就沒事 你知道該怎么改嗎

如果這個程序在I2T單片機(jī)運(yùn)行正常,可能是你的delay延時程序出問題,根據(jù)經(jīng)驗(yàn):

void delay(uint k)          //1ms延時程序(12MHz 1T)
{
        uint i,j;
        for(i=k;i>0;i--)
                for(j=892;j>0;j--);
}
回復(fù)

使用道具 舉報

11#
ID:199787 發(fā)表于 2017-7-24 18:30 | 只看該作者
wulin 發(fā)表于 2017-7-24 17:33
如果這個程序在I2T單片機(jī)運(yùn)行正常,可能是你的delay延時程序出問題,根據(jù)經(jīng)驗(yàn):

void delay(uint k)          ...

液晶顯示是正常的 但是計(jì)數(shù)器顯示加的數(shù)多了
回復(fù)

使用道具 舉報

12#
ID:222126 發(fā)表于 2017-7-24 20:31 | 只看該作者
會不會是電機(jī)磁場干擾
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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