熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2017-2-2 22:44
正文摘要:新手請(qǐng)教,請(qǐng)各位大俠,專家指點(diǎn) 多謝 51系列單片機(jī) ,用C語言編寫 要寫頭文件,有的寫#include<reg51.h> 有的寫#include<AT89X51.H.> 這兩個(gè)文件有什么區(qū)別么?分別用在哪個(gè)場(chǎng) ... |
| 把頭文件打開對(duì)照著看看。如果只用通用的核心部分,頭文件選擇不對(duì)也能工作。最好頭文件一致,否則出不可預(yù)料的問題。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
|
頭文件主要是對(duì)單片機(jī)片內(nèi)寄存器地址的聲明和定義,以及一些位定義等,如果兩個(gè)單片機(jī)的寄存器地址是一樣的,當(dāng)然可以共用同一個(gè)頭文件,傳統(tǒng)的51就是這樣,甚至隨著代數(shù)更新,例如P口,也是有寄存器地址保持不變的,目的是盡可能向舊版本保持兼容,但是當(dāng)使用一些單片機(jī)的特殊資源的時(shí)候,就需要手動(dòng)添加寄存器(sfr語句),或者修改、更換頭文件,例如,在STC增強(qiáng)型51中使用P4口的時(shí)候,傳統(tǒng)的reg51.h里沒有對(duì)于P4口的位定義,這個(gè)時(shí)候就需要手動(dòng)添加(或者更改適配頭文件)。 再舉個(gè)例子,當(dāng)使用STC15系列單片機(jī)的時(shí)候,比如IAP15W4K48S4,就需要包含STC15.H這個(gè)頭文件;在使用STC12C2052的時(shí)候,就需要包含STC12C2052.h,這些都是根據(jù)你使用的單片機(jī)進(jìn)行更改的。 我想你應(yīng)該明白了,如果還有困惑,我再補(bǔ)充一個(gè)例子,當(dāng)使用STC89C52的時(shí)候,嚴(yán)格來說,應(yīng)該包含的是STC89C5xRC.H,而不是reg52.h。 |
| 參與人數(shù) 1 | 黑幣 +40 | 收起 理由 |
|---|---|---|
|
| + 40 | 回帖助人的獎(jiǎng)勵(lì)! |
| 最好單片機(jī)與頭文件相對(duì)應(yīng) |
| 一般就reg51.h夠了,除開MCU有一些特別的功能寄存器就自己加相關(guān)的宏定義到程序中 |
|
現(xiàn)在新發(fā)展的51單片機(jī)一般都會(huì)向下兼容傳統(tǒng)51單片機(jī),所以對(duì)于一般應(yīng)用,如果只使用傳統(tǒng)51單片機(jī)的功能和端口,reg52.h 完全可以用的。其實(shí)對(duì)于簡單應(yīng)用,不用頭文件也可以的。 |
| 初學(xué)者看熱鬧 |
|
ISIS為啥仿真不起呢?第四位不亮,第二位閃爍亮;a f b g c dp d e分別為 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 |
| AT89X51.h里面已經(jīng)定義好了io口,你可以直接調(diào)用!reg52.h需要自己定義! |
|
任何51內(nèi)核的單片機(jī)包含<reg52.h>都不會(huì)有問題. 頭文件里一般都是定義一些特殊功能寄存器.就跟買個(gè)新手機(jī)的說明書一樣. 剛開始學(xué)的時(shí)候看不明白頭文件很正常,不必再這上面花太多時(shí)間,看看例程照著葫蘆畫瓢即可. 等你慢慢熟練一些寄存器的作用,回頭去看,會(huì)發(fā)現(xiàn)可以輕松看懂.甚至可以看著手冊(cè)寫自己風(fēng)格的頭文件. |
| #include<AT89X51.H.>里面I/O口是已經(jīng)定義好了,比如你用#include<reg51.h> 還要定義I/O口的地址,但是#include<AT89X51.H.>,所以說#include<AT89X51.H.>的范圍更廣一些,或者說更好用一些,前提是,你得熟悉他的文件里的各種設(shè)置 |
| 現(xiàn)在新發(fā)展的51單片機(jī)一般都會(huì)向下兼容傳統(tǒng)51單片機(jī),所以對(duì)于一般應(yīng)用,如果只使用傳統(tǒng)51單片機(jī)的功能和端口,reg52.h 完全可以用的。其實(shí)對(duì)于簡單應(yīng)用,不用頭文件也可以的。 |
| 接口都是自己定義的吧 |
| reg51.h需要定義sbit比較麻煩 |
| 不是自己可以定義么 |
Powered by 單片機(jī)教程網(wǎng)