找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2923|回復: 10
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機+霍爾傳感器的測速程序問題

  [復制鏈接]
回帖獎勵 50 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:731979 發(fā)表于 2020-5-23 19:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下這部分是霍爾傳感器測速,想請教大家?guī)臀腋某蓞R編。
void EXINT0() interrupt 0
{
        count++;
}

void time0() interrupt 1
{
        uchar m;
        TH0=0x3c;
        TL0=0xb0;         //50ms
        m++;
        if(m>=10)
        {
                m=0;
                Mileage=Mileage+Velocity*500/36;                 //里程m=速度km/h*1000*5/3.6
                Velocity=count/5;//100ms內(nèi)的脈沖數(shù)
                count=0;               
        }
}

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

使用道具 舉報

沙發(fā)
ID:282850 發(fā)表于 2020-5-29 15:28 | 只看該作者
就用C很清晰,或者把這個嵌入到你的匯編中
回復

使用道具 舉報

板凳
ID:420836 發(fā)表于 2020-5-30 01:51 | 只看該作者
為什么必須使用匯編語言進行編碼? C語言可能更易于修改和審查。
回復

使用道具 舉報

地板
ID:764756 發(fā)表于 2020-5-30 08:56 | 只看該作者
可以反匯編一下
回復

使用道具 舉報

5#
ID:744327 發(fā)表于 2020-5-30 10:45 | 只看該作者
P4SW=0xff;  
             TMOD=0x01;  
             TH0 =  0xee;
             TL0 =  0x00;
             EA  =  1;
             ET0 =  1;
                                 PT0=1;
                                 PX0=0;
             PX1=0;
                                 EX0=1;
                                 IT0=0;
             EX1=1;
                                 IT1=1;
             TR0 =  1;
回復

使用道具 舉報

6#
ID:731979 發(fā)表于 2020-6-6 11:50 | 只看該作者
烈火 發(fā)表于 2020-5-30 10:45
P4SW=0xff;  
             TMOD=0x01;  
             TH0 =  0xee;

啥意思啊,大哥解釋一下
回復

使用道具 舉報

7#
ID:781519 發(fā)表于 2020-6-16 23:30 | 只看該作者
懂debug反匯編叭
回復

使用道具 舉報

8#
ID:786365 發(fā)表于 2020-6-23 08:48 | 只看該作者
嵌入可能可以‘
回復

使用道具 舉報

9#
ID:556559 發(fā)表于 2020-6-23 15:19 | 只看該作者
C語言多清晰啊,你這段代碼很吃運行速度么?
回復

使用道具 舉報

10#
ID:857685 發(fā)表于 2020-12-9 20:37 | 只看該作者
大哥您這個單片機+霍爾傳感器的測速程序可以都分享出來嗎,或者您有沒有做仿真,小弟最近在做相關(guān)的DIY小玩意,謝謝大哥了
回復

使用道具 舉報

11#
ID:517466 發(fā)表于 2020-12-10 10:29 | 只看該作者
改成匯編的時候,需要你考慮數(shù)據(jù)類型。這里就是要考慮定時周期內(nèi)(100ms)采集的計數(shù)值,如果超過了一個字節(jié)表達的最大值,就需要考慮用幾個單元計算的問題了。這一點尤其要注意。涉及除法和小數(shù)了,就更得注意了。
與其手寫,還真不如參照Keilc中編譯時產(chǎn)生的匯編代碼。
使keilc編譯產(chǎn)生匯編代碼的選項,在target的Option頁中Listing選項Tab中有一個“Assembly Code”,勾選后,確定、關(guān)閉這個設置頁,重新編譯工程。然后在這個工程所在的目錄下,用文本編輯器打開擴展名為LST的文件,你會看到keilc為你生成的整個工程的匯編代碼。有和C語言代碼行號對應的說明,很方便的。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表