51微控制器怎麼把多個子程式做成標頭檔案,然後呼叫

時間 2021-08-30 09:55:58

1樓:

標準的做法:

timer.c 裡面包含了函式宣告,全域性變數,函式體,timer.h 裡面使用#ifndef 語句,並且將外部需要使用的變數或函式加extern;

例:timer.c:

#include "timer.h"

int timercnt;

int timerstatu;

void timerstart();

void timerstop();

void timerinit();

void timerstart()

{}void timerstop()

{}void timerinit()

timer.h:

#ifndef __timer_h_

#define __timer_h_

//如果外部需要使用這些變數或函式,直接包含標頭檔案即可。

//如果不對外開放的函式,就不需要新增

//注:在c原始檔中,函式宣告要補全

extern int timercnt;

extern int timerstatu;

extern void timerstart();

extern void timerstop();

extern void timerinit();

#endif

2樓:壕銘爽

你可以寫乙個標頭檔案,比如說之類的,開始寫51程式的時候,#include 就可以放進去了,這條語句相當於這個檔案。你可以把它放在任意的路徑,最好是和乙個資料夾,方便直接用,就不用每次使用都要查詢它的路徑了。希望能夠幫到你

3樓:

多個子程式寫到乙個原始檔中啊,弄個main.c原始檔呼叫標頭檔案跑下就好了啊

4樓:匿名使用者

樓主解決問題了嗎?同問

怎樣51微控制器呼叫兩個子程式 5

5樓:天蠍神經俠侶

mov r0,#08h

mov a,#0feh

loop: mov p1,a

lcall del

rr a

djnz r0,loop

使用djnz 指令。為0執行下一指令,不為0跳轉。

就可以呼叫內兩個容子程式了

6樓:匿名使用者

估計是進入到倒計時程式,一直沒有出來。

主程式直接呼叫洗滌程式。

定時器,每到1s時,再去呼叫一下倒計時程式。

7樓:**飄渺迷人

1>設定定時器t0為20毫秒中斷

2>中斷裡計數50次為1秒,提供計時秒時基3>顯示程式與倒計時判定放於中斷執行

4>主程式中呼叫洗滌程式.

8樓:匿名使用者

這就是單任務的缺點,你的意思是要倒計時 和洗滌 2個任務同時進行,最好用作業系統

不然只能用中斷,執行一會洗滌 在執行一會倒計時 巨集觀上看也是2個任務同時進行

51微控制器如何呼叫兩個不同的中斷子程式?

9樓:匿名使用者

當然不可行了,中斷服務程式是不能呼叫的,只能靠硬體觸發。

你可以初始化時只開啟第乙個中斷,在第乙個中斷服務程式裡,開啟第二個中斷,這樣還是可以的。

10樓:匿名使用者

首先設定中斷使能,中斷源等,如定時器觸發、輸入點電壓變化等,中斷條件生效立即轉去中斷服務程式。

11樓:匿名使用者

中斷程式 不是 呼叫的,是在滿足中斷條件時 產生中斷 後 才執行 中斷服務程式的,

這樣的 結構 是 不可行的。

問下微控制器怎麼呼叫子程式,微控制器中怎麼應用呼叫子程式呢?

大頭魚儉儉 org 0000h ljmp start org 000bh ljmp int t0 start setb ea setb et0 mov tmod,01h mov th0,3ch 定時50ms mov tl0,0b0h setb tr0 mov r2,20 迴圈20次1s sjmp i...

微控制器程式錯誤,51微控制器c語言程式錯誤

後面兩個錯誤是沒有宣告函式,最簡單的方法就是把main函式調到程式的最後,你看看還有沒有錯誤,我們 hhh.c 113 error c211 call not to a function這個呼叫函式名不存在 hhh.c 114 error c211 call not to a function這個呼...

51微控制器c語言程式注釋標註,51微控制器C語言程式注釋標註

四喜丸子 按鍵掃瞄顯示程式,這有什麼難的?自己每一句照著分析分析不就行了。微控制器c語言程式設計,中間幾段程式注釋不會寫,一些步驟看不懂,望講解 20 考試翻版 微控制器的東西要看晶元的資料手冊,裡面有很多講解,其實微控制器裡特定的位址代表了微控制器特定的功能,你賦特定的值就會啟動或關閉功能,微控制...