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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機外部中斷計數,T0口計時,使用TRCT5000來檢測轉速,結果不正確

[復制鏈接]
跳轉到指定樓層
樓主
小弟用89C52單片機在INT0上接了個TRCT5000來計數,測量電機轉速,但不管怎么弄數值都不會超過248,有沒有大俠遇到過這樣的情況。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:111634 發表于 2018-8-3 20:23 | 只看該作者
本帖最后由 zl2168 于 2018-8-3 22:23 編輯

給你介紹一個正確有效看得懂的案例,自己對照查錯吧!
Proteus仿真一下,確認有效
實例71  統計T0引腳上10分鐘內的脈沖數
實例71 統計T0引腳上10分鐘內脈沖數.rar (52.96 KB, 下載次數: 50)

實例72  測量脈沖寬度
實例72 測量脈沖寬度.rar (52.14 KB, 下載次數: 10)

實例73  測量脈沖頻率
實例73 測量脈沖頻率.rar (52.74 KB, 下載次數: 17)

以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行,可演示,可觀測,程序語句條條有注解。

評分

參與人數 1黑幣 +20 收起 理由
yousunny + 20 贊一個!

查看全部評分

回復

使用道具 舉報

板凳
ID:382689 發表于 2018-8-3 22:01 | 只看該作者
你說的是檢測出來的轉速嗎?不超過248。
回復

使用道具 舉報

地板
ID:361216 發表于 2018-8-4 11:58 | 只看該作者
iyouone 發表于 2018-8-3 22:01
你說的是檢測出來的轉速嗎?不超過248。

是的,不知道是怎么回事。我還專門另外買了一個轉速表來對比。轉速表檢測結果在6500的時候,單片機這邊依然不穩定且不超過248,頭都搞大了,沒有搞清楚。
回復

使用道具 舉報

5#
ID:361216 發表于 2018-8-4 11:58 | 只看該作者
zl2168 發表于 2018-8-3 20:23
給你介紹一個正確有效看得懂的案例,自己對照查錯吧!
先Proteus仿真一下,確認有效實例71  統計T0引腳上1 ...

謝謝了,我的哥!!!
回復

使用道具 舉報

6#
ID:213173 發表于 2018-8-4 21:53 | 只看該作者
用T0外部脈沖計數的仿真
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char

uchar code table[]={                                        //0~F數組
        0x3f,0x06,0x5b,0x4f,
        0x66,0x6d,0x7d,0x07,
        0x7f,0x6f,0x77,0x7c,
        0x39,0x5e,0x79,0x71};
uchar i=0,ge,shi,bai,qian;
uint j=0;
void InitTimer0()
{
        TMOD= 0x15;                //T0外部脈沖計數,T1定時50ms
        TH0 = 0x00;
        TL0 = 0x00;
        TH1 = 0x3C;                //設置定時初值50ms
        TL1 = 0xB0;                //設置定時初值50ms
        TR1 = 1;                        //定時器1開始計時
        TR0 = 1;                        //定時器0開始計數
        EA = 1;
        ET1 = 1;
}
void display()
{
        static uchar num=0;
        P0=0x00;        //消隱
        switch(num)
        {
                case 0:
                        P2=0xfe;
                        P0=table[qian];
                        num++;
                 break;       

                case 1:
                        P2=0xfd;
                        P0=table[bai];
                        num++;
                 break;       

                case 2:
                        P2=0xfb;
                        P0=table[shi];
                        num++;
                 break;       

                case 3:
                        P2=0xf7;
                        P0=table[ge];
                        num=0;
                 break;       
        }
}
void main()
{
        InitTimer0();
        while(1)
        {
                qian = j/1000;                        // 千位
                bai  = j%1000/100;        // 百位
                shi  = j%100/10;                // 十位
                ge   = j%10;                        // 個位
                display();
        }
}
void timer1() interrupt 3
{
        TH1 = 0x3C;
        TL1 = 0xB0;
        i++;
        if(i>=20)//1秒
        {
                i=0;
                j=TH0<<8|TL0;
                TH0=TL0=0;
        }
}




評分

參與人數 1黑幣 +7 收起 理由
lhqsbz + 7

查看全部評分

回復

使用道具 舉報

7#
ID:111634 發表于 2018-8-5 07:07 | 只看該作者
lhqsbz 發表于 2018-8-4 11:58
謝謝了,我的哥!!!

你Proteus試了沒有?試了有效,然后看看程序,對照思考,必然有所收獲。
回復

使用道具 舉報

8#
ID:361216 發表于 2018-8-15 09:49 | 只看該作者
wulin 發表于 2018-8-4 21:53
用T0外部脈沖計數的仿真
#include
#define uint unsigned int

謝謝,大俠。我和系統一共要處理5個檢測量,兩個溫度檢測,兩個轉速,一個角度,還有串口發送,溫度和角度以及串口都正確,就只有兩個轉速不正常,我是分別接到外部0、1中斷口上的,搞了好久了沒有結果。
回復

使用道具 舉報

9#
ID:361216 發表于 2018-8-15 09:50 | 只看該作者
zl2168 發表于 2018-8-5 07:07
你Proteus試了沒有?試了有效,然后看看程序,對照思考,必然有所收獲。

大哥,沒有上proteus直接接的實物進行調試的,心想這個也不復雜。系統一共要處理5個檢測量,兩個溫度檢測,兩個轉速,一個角度,還有串口發送,溫度和角度以及串口都正確,就只有兩個轉速不正常,我是分別接到外部0、1中斷口上的,搞了好久了沒有結果。
回復

使用道具 舉報

10#
ID:213173 發表于 2018-8-15 13:52 | 只看該作者
lhqsbz 發表于 2018-8-15 09:49
謝謝,大俠。我和系統一共要處理5個檢測量,兩個溫度檢測,兩個轉速,一個角度,還有串口發送,溫度和角 ...

外部脈沖計數與外部中斷計數是不同的計數方法,輸入端口也不同,不要混淆了。我給你的示例是用T0外部脈沖計數的仿真程序。
回復

使用道具 舉報

11#
ID:361216 發表于 2018-8-26 09:41 | 只看該作者
我去,鬧了個烏龍,問題解決了,定義變量時把數據型搞錯了,改成一樣后,問題解決了!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产操操操 | 亚洲精品久久国产高清情趣图文 | 国产日韩一区二区 | 国产日韩精品一区二区三区 | 自拍视频在线观看 | 日本精品一区二区三区视频 | 亚洲 一区 | 97狠狠干| 日韩欧美在线一区 | 午夜三级在线观看 | 久久午夜电影 | 日韩在线观看精品 | 日本激情视频中文字幕 | 日韩视频一区在线观看 | 狠狠操天天操 | 国产成人免费视频网站视频社区 | 成人a网 | 久久国产成人 | 国产亚洲精品一区二区三区 | 久久精品一区 | 国产精品完整版 | 久久久久久久久久久久91 | 欧美爱爱视频网站 | 亚洲欧美视频一区 | 国产小视频精品 | 二区在线观看 | 999久久久精品 | 欧美一级在线免费 | 黄色片在线观看网址 | 久久精品国产亚洲一区二区三区 | av一区二区三区在线观看 | 中文字幕一区二区三区四区五区 | 久久的色 | 自拍偷拍亚洲视频 | 欧美日韩免费在线 | 国产伦精品一区二区三区四区视频 | 香蕉视频1024 | 国产精品99精品久久免费 | 嫩草视频在线看 | 国产精品久久久久久久免费大片 | 一区视频在线播放 |