微控制器語言include《reg52 h》是什麼意思

時間 2021-09-06 09:18:33

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這個巨集定義理所包含的標頭檔案,是什麼意思?那為什麼還有別的定義微控制器c語言的標頭檔案呢?

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 作用?它和#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位...