微控制器c語言程式設計中標頭檔案中包含的51h和52h有什麼

2021-04-18 23:08:02 字數 3570 閱讀 7478

1樓:匿名使用者

reg52.h 用於

來52微控制器

源reg51.h 用於51微控制器

不同在於52微控制器功能多一點,所以多bai幾個寄du存器比如多一個定時器zhi

/* 8052 extensions */sfr t2con = 0xc8;

sfr rcap2l = 0xca;

sfr rcap2h = 0xcb;

sfr tl2 = 0xcc;

sfr th2 = 0xcd;

sbit p = psw^0; //8052 onlysbit et2 = ie^5; //8052 only/* p1 */

sbit t2ex = p1^1; // 8052 onlysbit t2 = p1^0; // 8052 only這就是所有dao52比51多的暫存器了,具體的你可以自己開啟兩個檔案去看看哈。

#include這個巨集定義理所包含的標頭檔案,是什麼意思?那為什麼還有別的定義微控制器c語言的標頭檔案呢?

2樓:山魚

所謂這樣的bai標頭檔案,就是duc語言跟微控制器的底層zhi關聯檔案!

dao微控制器時基於組合語言的內,暫存器,容記憶體地址都必須自己設定,所以用匯編編寫長鬚相當的繁瑣!

而c語言是一種高階語言,屬於跨平臺的!完全可以不必考慮底層的東西,例如記憶體分配問題啦。

標頭檔案中定義了一下午sfr使其對應符號變數,例如p1,p2,ti,tmod等等,這樣我們就不必考慮底層的東西,只需瞭解c語言就可以編寫出程式!

3樓:小睡黍

包含的是52微控制器的標頭檔案。會有別的標頭檔案是因為微控制器有很多種。

微控制器的c語言中,#include 作用?它和#include區別?

4樓:匿名使用者

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。可以開啟那幾個標頭檔案對比一下具體有哪些區別。

5樓:匿名使用者

區別是52有定時器2,51沒有

6樓:叉燒包

你是用keil? 很簡單你把滑鼠移到才、,右鍵技能看到裡面的內容了。你所報的錯是因為,和標頭檔案中,一些相同的暫存器被定義兩次。希望被採納,謝謝

7樓:匿名使用者

只是標頭檔案而已,可以呼叫標頭檔案裡所定義的東西,你定義了2中微控制器,就會報錯。。和呼叫數學公式一樣,需要+一個數學公式標頭檔案。你也可以自己寫一個程式,如何直接+上你寫的檔案,就可以呼叫了

關於 c語言 標頭檔案 51微控制器 reg52.h 的問題

8樓:匿名使用者

這些是預編譯指令。加上這個的目的是為了避免只能包含一次的標頭檔案被多次包含

9樓:匿名使用者

防止標頭檔案被重bai復包含出現

du重定義的問題。

首先同zhi一個變數被定dao義2次肯定是一個問題,專比如const int32_t l_age = 20;

const int32_t l_age = 30;

使用屬#ifndef __reg52_h__#define __reg52_h__

sfr xx = yy;

.....

.....

#endif

的格式可以避免出現類似問題。

假定 a.h中有#include

假定b.h中有#include

假定c.h中

#include

#include

假定c.c中

有#include

為#ifndef __reg52_h__

#define __reg52_h__

sfr xx = yy;

.....

.....

#endif

#ifndef __reg52_h__

#define __reg52_h__

sfr xx = yy;

.....

.....

#endif

因為之前有過_reg52_h_的巨集定義

所以下一個#ifndef __reg52_h__直接跳過,這個解決了這個重複定義的問題。

微控制器reg52.h標頭檔案有什麼作用?

10樓:海天盛筵

該檔案的作用是使用符號p1(以及更多的符號),它

通知c編譯器p1是在程式中編寫專

的,是指

微控制器由運算單元、控制器、儲存器、輸入輸出裝置組成。微控制器自動給它的任務的過程,也就是微控制器執行程式的過程,即行執行指令的過程,所謂指令要求微控制器執行各種操作命令的形式寫下來。

這是設計人員賦予它的指令系統決定的,一條指令對應著一種基本操作;微控制器可以執行所有的指令,是微控制器的指令系統,不同種類的微控制器,其指令系統也不同。

擴充套件資料:

微控制器的組成:

它通過內部匯流排連線計算機的主要部分,包括地址匯流排、資料匯流排和控制匯流排。其中,地址匯流排的作用是在資料交換過程中提供地址,cpu通過它們將地址輸出到記憶體或i/o介面。資料匯流排的角色是在cpu和記憶體或i/o介面之間。

或在儲存器與外設之間交換資料;控制匯流排包括由cpu傳送的控制訊號線和傳送到cpu的響應訊號線。

由於微控制器的結構和它的半導體技術,它有很多顯著的特點,所以在各個領域都得到了飛速的發展。

11樓:臣天男

一、表bai示你用的單片

機du是51微控制器或者是52單片zhi機。寫這個標頭檔案dao,支援21單片回機和52微控制器。

二、表示你答呼叫了52微控制器的資源,也就是可以直接對52微控制器的相關暫存器與引腳進行操作。51的和52的差不多,所以通常學校都是通用的。

12樓:匿名使用者

是51單片制機的頭文bai

件:reg52.h是at89s52和at89c52的頭du文zhi件,如dao:#include

reg51.h是at89s51和at89c51的標頭檔案,如:#include

13樓:做而論道

用於宣告特殊功能暫存器的名稱。

如果沒有這個標頭檔案,特殊功能暫存器,只能用硬體的地址進行讀寫操作。

14樓:匿名使用者

檔案的目的是bai為了要使用p1 (還有du其他更多的zhi符號)這個符號,dao即通知c 編譯器,專程式中所寫的p1

是指80c51 微控制器

在C語言中,標頭檔案的作用是什麼,c語言標頭檔案的是幹什麼用的?

1 加強型別檢查,提高 得型別安全性。在c 中使用標頭檔案,對自定義型別的安全也是非常重要的。雖然,在語法上,同一個資料型別 如一個class 在不同的原始檔中書寫多次是允許的,程式設計師認為他們是同一個自定義型別。2 減少 的重複書寫,提高編寫和修改程式的效率。在程式開發的過程中,對某些資料型別或...

C語言為什麼要包含標頭檔案,C語言程式設計時為什麼要加標頭檔案?

標頭檔案中含有一些宣告和已編譯好了的函式,可以提高程式時間複雜度和空間複雜度,簡化程式。如stdio.h標頭檔案中包含scanf,printf,sprintf等函式,只有包含了stdio.h標頭檔案才能正常使用,否則無法使用,只能自己編寫其他函式代替。因為你c語言可以做很多事,就像你去旅行會把你家的...

在51微控制器c語言程式設計中如何用sbit建立陣列

首先申明一bai下 新手一du枚 我也遇到同zhi樣的問題 說 dao個比較笨的辦法 用的時候專直屬 接給p1賦值 微控制器初始時所有i o口都為高電平,比如你想要floorled1 0 你就寫p1 0xfe floorled2 0 你就寫p1 0xfd floorled1 0 floorled2 ...