當前位置:首頁 » 電腦資訊 » 51單片機啟動文件為什麼可以不添加

51單片機啟動文件為什麼可以不添加

發布時間: 2023-04-22 10:53:16

㈠ 為什麼要包含51單片機的頭文件

要編寫的是51程序,最終代碼是要在51單片機里運行,因此要包含51單片機的頭文件。根據查詢相關信息顯示:包含了51單片機辯灶的寄存器頭文件,因對單片機的編程必然涉及到寄存器,e而頭文件是把晶元內部寄棚喊存器地址重新命名,51內核都有特殊功能寄存器鏈灶野。

㈡ 單片機關於STARTUP.A51

用包含一詞好像有點不妥,當在kiel C中新建項目時,會問:
Copy standard 8051 Starup Code to Project Forder and add file to Project?
翻譯為:復制8051啟動代碼到項目並和添加文件到項目?

其實無論您選是還是否,您的代碼中都將包含該文件。
該文件的作用是 初始化 內外銀羨部 RAM使其清零,另外還初始化SP等。
如果上述提示框您選否,對哪些RAM清零將採用默認的桐豎方式。
如果您想改變RAM清零區域(假如希望復位時某些RAM不被清零時會很有用。),您可以選是,這樣該文件的一個副本將添鋒輪拍加到您的項目,您可以根據需要改寫此文件。

其他SP,SAMLL/COMPACT、LARGE模式的重入函數的堆棧和指針的初始化等和RAM的道理是一樣的。

㈢ 請高手指點一些"關於51單片機C語言頭文件和調用的問題",請詳細點,謝謝!!

很多初學單片機者往往對C51的頭文件感到很神秘,而為什麼要那樣寫,甚至有的初學者喜歡問,P1口的P為什麼要大寫,不大寫行不行呢?其實這樣的問題,看過本悄逗慶文後,就會明白。其實這個是在頭文件中用sfr定義的,現在定義好了的是這樣的sfr P1 = 0x90;,也就是說,到底大寫,還是小寫,就是在這裡面決定的。這就說明,如果你要用小寫,就得在頭文件中改為小寫。其實它都是為了編程序方便才這樣寫的,在程序編譯時,就會變成相應的地址(如P1就變成了0x90)。
還有一點就是,現在有很多改進型的單片指橡機,它們有很多新增的特殊功能寄存器在標準的reg51.h或reg52.h中沒有定義,這就需要自己加進頭文件(相關廠家已經把它們定義好了),當然也可以直接在程序中定義。下面是一個標準的C51頭文件:
/* BYTE Registers */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
/* BIT Registers */
/* PSW */
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
/* TCON */
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;
/啟握* IE */
sbit EA = IE^7;
sbit ET2 = IE^5; //8052 only
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
/* IP */
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
/* P3 */
sbit RD = P3^7;
sbit WR = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;
/* SCON */
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;
/* P1 */
sbit T2EX = P1^1; // 8052 only
sbit T2 = P1^0; // 8052 only

/* T2CON */
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;

㈣ 51單片機,Keil裡面如何添加頭文件,附圖

不用添加,直接在主文件中include即可,然後將頭文件復制到工程目錄下

㈤ 51單片機的匯編語言 不需要頭文件么

KEIL編譯器默認了棗逗做標准8051模式,具凳衡體文件可以去C:KeilC51INC裡面看。指喚

㈥ 為什麼51單片機不要寫bootloader

因為51單片機運行的一般是前後台程序,程度一攔弊般比較小,而且單片機程序一般直接燒進程序存儲器里,執行的時候直接從程序存簡鍵族儲器里執行,無亮攜需將他們搬到RAM中去,並且一般51單片機RAM都比較小,所以無需寫BOOTLOADER.

㈦ 為什麼51單片機運行程序的時候,不需要將指令拷貝到RAM裡面運行一般不是說ROM速度慢,不能直接

51單並兆片機是哈佛匯流排結構的,即rom中的程序個ram中的數據是不會交叉的逗派。絕指租單片機資源很有限,用不著拷貝到ram中再執行。

㈧ Keil中,STC晶元不加STARTUP.A51啟動文件,會出問題嗎

當然會出問題,單片機只認識匯編,不亮櫻瞎認識C代碼,但上電的時候需要銜接一下。這個啟敬空動文件的作頌配用是可以讓單片機從初始狀態進入你的C代碼程序,所以它都是匯編程序。除非你的整個程序都是匯編,或者你自己寫個啟動代碼引導進入C_MAIN函數,不然這個文件是一定要的。

㈨ 51單片機C語言編程時頭文件寫出來了不用可以嗎

可以的,哪怕是函數你寫出來不用也是可以的。

熱點內容
牙齦沒有蟲蛀為什麼吃東西疼 發布:2025-02-13 11:28:48 瀏覽:307
自來水試紙為什麼不一樣顏色 發布:2025-02-13 11:15:05 瀏覽:140
早上就吃了個蘋果為什麼會拉肚子 發布:2025-02-13 11:15:00 瀏覽:679
為什麼壓縮文件裡面會有上級目錄 發布:2025-02-13 11:03:22 瀏覽:946
為什麼蘋果搜狗比安卓好看 發布:2025-02-13 10:51:51 瀏覽:565
男生為什麼不用考慮年齡 發布:2025-02-13 10:50:34 瀏覽:358
蘋果為什麼不造折疊屏手機 發布:2025-02-13 10:44:04 瀏覽:704
為什麼人時間長了會慢慢疏遠 發布:2025-02-13 10:43:16 瀏覽:843
3d安裝完成找不到為什麼 發布:2025-02-13 10:35:47 瀏覽:275
男生為什麼會有啤酒肚 發布:2025-02-13 10:31:39 瀏覽:5