1樓:路堯家的顧小言
include是預編譯指令,include的作用就是將52微控制器的標頭檔案reg52.h嵌入原始檔中。
預處理器發現 #include 指令後,就會尋找指令後面<>中的檔名,並把這個檔案的內容包含到當前檔案中。被包含檔案中的文字將替換源**檔案中的#include 指令, 就像把被包含檔案中的全部內容鍵入到原始檔中的這個位置一樣。
表示呼叫了52或者51微控制器的資源,也就是可以直接對微控制器的相關暫存器與引腳進行操作,十分方便。
擴充套件資料:
reg52.h中特殊位元組暫存器說明:
sfr p0 = 0x80; // p0口特殊暫存器定址位
sfr p1 = 0x90; // p1口特殊暫存器定址位
sfr p2 = 0xa0; // p2口特殊暫存器定址位
sfr p3 = 0xb0; // p3口特殊暫存器定址位
sfr psw = 0xd0; //程式狀態字暫存器
sfr acc = 0xe0; //累加器
sfr b = 0xf0; //b 特殊暫存器
sfr sp = 0x81; //堆疊指標暫存器
sfr dpl = 0x82; //數字指標(低位)
sfr dph = 0x83; //數字指標(高位)
sfr pcon = 0x87; //電源控制暫存器
sfr tcon = 0x88; //定時器/計數器0和1控制
sfr tmod = 0x89; //定時器/計數器0和1模式
sfr tl0 = 0x8a; //定時器/計數器0低8位暫存器
sfr tl1 = 0x8b; //定時器/計數器1低8位暫存器
sfr th0 = 0x8c; //定時器/計數器0高8位暫存器
sfr th1 = 0x8d; //定時器/計數器1高8位暫存器
sfr ie = 0xa8; //中斷允許暫存器
sfr ip = 0xb8; //中斷優先暫存器(低)
sfr scon = 0x98; //串列埠控制暫存器
sfr sbuf = 0x9 9; //串列埠資料緩衝器
2樓:
包含乙個名為 reg52.h 的標頭檔案。編譯器解析到這一行時會自動對該標頭檔案進行解析。
3樓:匿名使用者
#include
這是編譯預處理語句,是先載入標頭檔案reg52.h ,在這個標頭檔案裡面定義了微控制器專用暫存器sfr的名稱和實體地址,這樣,在程式中就可以使用專用暫存器了。編譯時就能找這些暫存器變成對應的實體地址。
如p0,p1,p2,p3等待,如果沒有這一行,在編譯時就會出錯。
4樓:匿名使用者
全漢字解釋如下:包含標頭檔案reg52.h中的設定。
建議你到編譯軟體keil找以下,系統內安裝keil的盤內依此開啟keil-->c51-->inc-->atmel-->reg52.h ;開啟這個資料夾一看,你就一目了然了,他是對微控制器各埠、暫存器等等進行的預設定。
#include
5樓:山魚
所謂這樣的bai標頭檔案,就是duc語言跟微控制器的底層zhi關聯檔案!
dao微控制器時基於組合語言的內,暫存器,容記憶體位址都必須自己設定,所以用彙編編寫長鬚相當的繁瑣!
而c語言是一種高階語言,屬於跨平台的!完全可以不必考慮底層的東西,例如記憶體分配問題啦。
標頭檔案中定義了一下午sfr使其對應符號變數,例如p1,p2,ti,tmod等等,這樣我們就不必考慮底層的東西,只需了解c語言就可以編寫出程式!
6樓:小睡黍
包含的是52微控制器的標頭檔案。會有別的標頭檔案是因為微控制器有很多種。
reg52.h是什麼微控制器的標頭檔案
7樓:匿名使用者
是抄51微控制器的頭
文襲件bai:
reg52.h是duat89s52和at89c52的標頭檔案zhidao,如:#include
reg51.h是at89s51和at89c51的標頭檔案,如:#include
8樓:平和的飯後散步
52型別的微控制器都行。如at89s52.stc89c52等等。
微控制器的c語言中,#include
9樓:匿名使用者
1、at89x52.h指的就是s或c都可以用。c和s在看門狗、定時器上面有一定的區別,因而實際應用該單片專機時要包屬含對應的標頭檔案。
而reg52.h是所有52微控制器公共部分所通用的標頭檔案,一般應用情況都能滿足。
2、reg51.h和reg52.h實質上是沒有區別的,都是一些特殊功能暫存器的申明。
當然,51裡有的52中都有,但反過來就未必了。這是因為52是51的公升級版。at89x52.
h中有些特殊功能暫存器沒有申明,可能會不符合很多人的習慣。建議用reg52.h,reg51.
h。可以開啟那幾個標頭檔案對比一下具體有哪些區別。
10樓:匿名使用者
區別是52有定時器2,51沒有
11樓:叉燒包
你是用keil? 很簡單你把滑鼠移到才、,右鍵技能看到裡面的內容了。你所報的錯是因為,和標頭檔案中,一些相同的暫存器被定義兩次。希望被採納,謝謝
12樓:匿名使用者
只是標頭檔案而已,可以呼叫標頭檔案裡所定義的東西,你定義了2中微控制器,就會報錯。。和呼叫數學公式一樣,需要+乙個數學公式標頭檔案。你也可以自己寫乙個程式,如何直接+上你寫的檔案,就可以呼叫了
微控制器c語言中,微控制器C語言中 while a 是什麼意思 a為什麼要定義得那麼大 比如
金色潛鳥 我估計,那是用來作時間間隔控制。while a 是迴圈50000次,當a 變0時,while 結束。為何定得如此大,是因為空迴圈速度很快,只有迴圈很多次才能獲得足夠長的時間間隔。a 50000 while a 第2個 while a 似乎有問題,死迴圈。是不是前面漏了另乙個 a 50000...
微控制器C語言程式設計題,微控制器C語言程式設計題 20
爬行的山羊 這是兩個題啊。哈哈好做,第一個有c語言的冒泡法排序,第二個用中斷,讀,輸出就可以 include define led0 0 define led1 1 define led2 2 define ledport p2 sbit sw0 p1 0 sbit sw1 p1 1 sbit sw...
pic微控制器c語言中如何巢狀,PIC微控制器c語言中如何巢狀匯編
如果要輸入一大段彙編語句,則用 asm n條彙編語句 endasm 的方法是用keil開發51微控制器時候潛入彙編的 方法,對於pic微控制器來說,不能這楊編譯。因為keil不能編譯pic微控制器的c語言和組合語言,必須用mplab picc或者mplab mc編譯器 一般pic12 16系列的8位...