![51單片機頭文件reg5h詳解_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/b7131386-cd91-45c6-b856-71c2d7b21795/b7131386-cd91-45c6-b856-71c2d7b217951.gif)
![51單片機頭文件reg5h詳解_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/b7131386-cd91-45c6-b856-71c2d7b21795/b7131386-cd91-45c6-b856-71c2d7b217952.gif)
![51單片機頭文件reg5h詳解_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/b7131386-cd91-45c6-b856-71c2d7b21795/b7131386-cd91-45c6-b856-71c2d7b217953.gif)
![51單片機頭文件reg5h詳解_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/b7131386-cd91-45c6-b856-71c2d7b21795/b7131386-cd91-45c6-b856-71c2d7b217954.gif)
![51單片機頭文件reg5h詳解_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/b7131386-cd91-45c6-b856-71c2d7b21795/b7131386-cd91-45c6-b856-71c2d7b217955.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、我們在用c語言編程時往往第一行就是頭文件,51單片機為reg51.h或 reg52.h,51單片機相對來說比擬簡單,頭文件里面內(nèi)容不多,像飛思卡爾、 ARM 系列的單片機頭文件往往內(nèi)容就非常多,盡管如此,對一些初次接觸單片機的朋 友來說,51的頭文件還是搞不太活楚,今天具體來說明一下.1文件包含處理概念所謂文件包含是指在一個文件內(nèi)將另外一個文件的內(nèi)容全部包含進來.因 為被包含的文件中的一些定義和命令使用的頻率很高,幾乎每個程序中都可能要用到,為了提升編程效率,減少編程人員的重得勞動,將這些定義和命令單獨組成一個文件,如reg51.h,然后用#include包含進來就可以了,這個就相當丁工業(yè)上的
2、標準零件,拿來直接用就可以了.2存放器地址及位地址聲明的原因reg51.h里面主要是一些特殊功能存放器的地址聲明,對可以位尋址的,還包括一 些位地址的聲明,如果如 sfr P1=0x80; sfr IE=0xA8;sbit EA=0xAF 等.sfr P1 = 0x90這句話表示:P1 口所對應(yīng)的特殊功能存放器 P1在內(nèi)存中的地址為0x80, sbit EA=0xAF 這句話表示 EA這一位的地址為 0xAF.注意這里出現(xiàn)了一個使用很頻繁的 sfr和sbit.sfr表小特殊功能存放器的意思,它并非標準C語舌的關(guān)鍵字,而是Keil為能直接訪問80C51中的SFR而提供了一個新的關(guān)鍵詞,其用法是:
3、sfr特殊功 能存放器名=地址值注意對于頭文件里“特殊功能存放器名,用戶實際上也可以修改 的,如p 1 =0x80,也可改為A 1 =o x80,但sfr和地址值那么不能更改,否者會編譯出 錯.sbit表小位的意思,它也是非標準C語舌的關(guān)鍵字,編寫程序時如需操作 存放器的某一位可位尋址的存放器才能用時,需定義一個位變量,此時就要 要到sbit,如sbit deng=P1A0,sbit EA = 0xAF;需要注意的是,位定義時有些特殊,用法有三種:第一種方法:sbit位變量名=存放器位地址值第二種方法:sbit位變量名=SFR名稱a存放器位值0 7 第三種方法:sbit位變量名=SFR地址值a
4、存放器位值如:sbit IT0=0x88 1說明:0x88是IT0的位地址值sbit deng=P1A2 2說明:其中P1必須先用sfr定義好sbit EA=0xA8A7 3說明:0xA8就是IE存放器的地址值以上三種定義方法需注意的是IT0 deng EA可由用戶隨便定義,但必須滿足C語言對變量名的定義規(guī)那么.除些外其它的那么必須根據(jù)上面的格式寫,如“名稱a變量位地址值,中“以,它是由keii軟件的規(guī)定的,不能寫成其它的,只能這樣能才編譯通過.以上是對存放器地址和位地址的定義和聲明作了解釋,大家需要牢牢記?。褐挥袑Υ娣牌骷跋嚓P(guān)位進行聲明地址后,我們才能對其進行賦相關(guān)的值,keil軟件才能編譯
5、通過.至于說為什么,這可能一句話兩句話也說不清楚.3內(nèi)存、SFR、位、地址等的通俗解釋前面講到了存放器 地址和位地址前提能位尋址聲明的目的是為告訴C編譯器相應(yīng)存放器及其位在內(nèi)存中的地址,這樣我們對存放器及一些位賦的變量和數(shù)值才能正保證存,然后才能供CPU正確的調(diào)用,完成相應(yīng)的功能.上段文字出現(xiàn)了存放器SFR、位,地址、內(nèi)存等,單片機學(xué)習(xí)過程中還會出現(xiàn) ROM RA附名詞,可能大家覺得不是很好理解,這里可以通俗的解釋一下,如下面三個圖 所示.我們把內(nèi)存比作賓館,ROM RAM SFR相當于賓館里具體的有三種不同功能 樓層具 體這個賓館多少層即多少 ROM RAM SFR視各個賓館或者每種 單片機
6、而不同,每層8個 房間相當于8位,每個房間要么住男人要么住女人 相當于每位 要么放入數(shù)字1要么放入數(shù)字 0, keil編譯器就相當于 賓館的工作人員,旅客去住旅館相當寫程序的過程,住賓館的人必須事先要給工作人員說你是哪一層哪一個房間即聲明存放器地址和位地址,賓館工作人員才能把你帶到你的房間里去 這里假設(shè)這個賓館可以由旅客自己決定住哪個房間.BP:只有對存放器及相關(guān)位進行聲明地址后, 我們才能對其進行賦相關(guān)的值,keil軟件才能編譯通過.賓館五層四層三層二層一層SFR男人女人男人女人男人男人女人女人男人女人男人女人男人男人女人女人男人女人男人女人男人男人女人女人男人女人男人女人男人男人女人女人男
7、人女人男人女人男人男人女人女人房間1房間2房間3房間4房間5房間6房間7房間8內(nèi)存1010110010101100101011001010110010101100位0位1位2位3位4位5位6位7存一賓館一般房間和特殊房間就存儲尊ram 此層為賓館工作人員房間哦儲廖ROh 此層為住客人房間此層為特殊工作人員房間層8個房間每層樓需要個地址,每個房間也有地址4 REG51.K文件原文及解釋翻開reg51.h可以看到這樣的一些內(nèi)容此文件一般在 C:KEILC51INC 下,INC文件夾根目錄里有不少頭文件,并且里面還有很多以公司分類的文件夾, 里面也都是相關(guān)產(chǎn)品的頭文件.如果我們要使用自己寫的頭文件,
8、使用的時候 只需把對應(yīng)頭文件拷貝到INC文件夾里就可以了.下面附出頭文件的原文,并把注釋文件一并附后./*REG51.HHeader generic 80C51 and 80C31 microcontroller.Copyright c 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.*/#ifndef _REG51_H_#define REG51H/* BYTE Register */sfr P0=0x80; /二態(tài)雙 |可IO 口P0 口此句話的意思是:特殊功能存放器P 0 地址為0x80
9、,可位尋址,下同低8位地址總線/數(shù)據(jù)總線(一般不用而只作普通I/ O 口,注意作I / O 口用時,硬件上需接上接電阻)sfr P1 = 0x90; 準雙向IO 口 P1 口sfr P2 = 0xA0; /準雙向 IO 口 P2 口/高8位地址總線,一般也作普通I/O用sfr P3 = 0xB0; /雙功能/1.準雙向IO 口 P3 口/2. P30RXD串行數(shù)據(jù)接受/ P31TXD串行數(shù)據(jù)發(fā)送/ P32夕卜部中斷0 信號申請/ P33夕卜部中斷1 信號申請/ P34定時/計數(shù)器T0 外部計數(shù)脈沖輸入/ P35定時/計數(shù)器T1外部計數(shù)脈沖輸入/ P36WR 片外RAM 寫脈沖信號輸入/ P37
10、RD片外ram讀脈沖信號輸入sfr PSW = 0xD0; /可以位尋址(C語言 編程時可不考慮此存放器)程序狀態(tài)存放器 Program Status WORD (程序狀態(tài)信息)/psw.7(CY)進位標志/psw.6(AC)輔助進位標志位低四位向高四位進位或借位時AC=1主要用于十進制調(diào)整/psw.5(F0)用戶可自定義的程序標志位/psw.4(RS1)/psw.3(RS0)工作存放器選擇位/任一時刻只有一組存放器在工作/0 0 0 區(qū) 00H07H/0 11區(qū)08H0fH/1 02區(qū)10H17H/1 13區(qū)18H1FH/psw.2(OV)溢出標志位/psw.1()保存為,木可使用/psw.
11、0(P)奇偶校驗位sfr ACC=0xE0;/累加器A特殊功能存放器可位尋址sfr B =0xF0;/布器B 主要用于乘除運算sfr SP :=0x81;堆棧指針存放器SP存放站定棧頂?shù)刂?、sfr DPL=0x82;/sfr DPH = 0x83; /數(shù)據(jù)指針存放器 DPTR、/對片外RAM及擴展IO進行存取用的地址指 針sfr PCON = 0x87; /電源限制存放器 、不能位尋址/治理單片機的電源局部包括上電復(fù)位、掉電模式、空閑模式等/單片機復(fù)位時PCON被全部清0,編程時一般是用到SMOD位,其它的 一般不用/D7 SMOD該位與串口通信波特率有關(guān)/SMOD=0 串口方式1 2 3波特
12、率正常/SMOD=1 串口方式1 2 3波特率加倍sfr TCON = 0x88; 定時器/計數(shù)器 限制存放器 可以位尋址/D7 TF1 定時器1溢出標志位/D6TR1定時器1運行限制位/D5TF0定時器0溢出標志位/D4TR0定時器0運行限制位/D3IE1外部中斷1請求標志/D2IT1外部中斷1觸發(fā)方式選擇位/D1IE0外部中斷0請求標志/D0IT0外部中斷0觸發(fā)方式選擇位sfr TMOD = 0x89; 定時器/計數(shù)器 工作方式存放器不能位尋址確定工作方式和功能/D7 GATE 門限制位/GATE=0 ;定時器/計數(shù)器由TRX (x=0 , 1)來限制/GATE=1 ;定時器/計數(shù)器由TR
13、X (x=0 , 1)和外部中斷引腳(init0 , 1)來共同限制/D6 C/T 定時器、計數(shù)器選擇位/ 0選擇定時器模式/ 1選擇計數(shù)器模式/D5 M1/D4 M0/M1 M0工作方式/0 0/0 1方式013位定時器/計數(shù)器方式116位定時器/計數(shù)器/10方式28位自動重裝定時器/計數(shù)器/11方式3僅適用T0分成兩個8位計數(shù)器,T1停止計數(shù)/D3 GATE 門限制位/GATE=0 ;定時器/計數(shù)器由TRX (x=0 , 1)來限制/GATE=1 ;定時器/計數(shù)器由TRX (x=0 , 1)和外部中斷引腳(init0 , 1)來共同限制/D2 C/T定時器、計數(shù)器選擇位/0選擇定時器模式/
14、1選擇計數(shù)器模式/D1 M1/D0 M0/M1M0工作方式/00方式013位定時器/計數(shù)器/01方式116位定時器/計數(shù)器/10方式28位自動重裝定時器/計數(shù)器/11方式3僅適用T0分成兩個8位計數(shù)器,T1停止計數(shù)sfr TL0 = 0x8A;定時器/計數(shù)器0高8位容器加1計數(shù)器sfr TL1 = 0x8B;/定時器/計數(shù)器1高8位容器sfr TH0 = 0x8C;定時器/計數(shù)器0低8位 容器sfr TH1 = 0x8D;定時器/計數(shù)器1低8位容器sfr IE = 0xA8;中斷允許存放器可以位尋址/D7 EA全局中斷允許位/D6 NULL/D5 ET2定時器/計數(shù)器2中斷允許位 interr
15、upt 5/D4ES串行口中斷允許位interrupt 4/D3ET1定時器/計數(shù)器1中斷允許位 interrupt 3/D2EX1外部中斷1中斷允許位interrupt 2/D1ET0定時器/計數(shù)器0中斷允許位interrupt 1/D0EX0外部中斷0中斷允許位interrupt 0sfr IP = 0xB8;/中斷優(yōu)先級存放器可進行位尋址/D7 NULL/D6 NULL/D5 NULL/D4PS串行口中斷定義優(yōu)先級限制位/1串行口中斷定義為高優(yōu)先級中斷/0串行口中斷定義為低優(yōu)先級中斷/D3PT1/1 定時器/計數(shù)器1中斷定義為高優(yōu)先級中斷/0定時器/計數(shù)器1中斷定義為低優(yōu)先級中斷/10外
16、部中斷1定義為高優(yōu)先級中斷 夕卜部中斷1定義為低優(yōu)先級中斷/D1PT0/1定時器/計數(shù)器0中斷定義為高優(yōu)先級中斷/0定時器/計數(shù)器0中斷定義為低優(yōu)先級中斷/D0 PX0/1外部中斷0定義為高優(yōu)先級中斷/D2 PX1外部中斷0定義為低優(yōu)先級中斷/0sfr SCON = 0x98; /串行口限制存放器可以進行位尋址/D7 SM0/D6 SM1/ SM0 SM1串行口工作方式/ 00問步移位存放器方式/ 0110位冊收發(fā)8位數(shù)據(jù),波特率可變定時器1溢出率限制/ 1011位冊收發(fā)9位數(shù)據(jù),波特率固定/1111 冊收發(fā)9位數(shù)據(jù),波特率可變定時器1溢出率限制/D5SM2多機通信限制位主要用于方式2和方式3
17、/D4REN允許串行接收位/D3TB8方式2,3中發(fā)送數(shù)據(jù)的第9位/D2RB8方式2,3中接受數(shù)據(jù)的第9位/D1TI 發(fā)送中斷標志位/D0RI接受中斷標志位sfr SBUF = 0x99; 串行數(shù)據(jù)緩沖區(qū) /*卜面是位尋址區(qū)上面做過解釋的就不在下面解釋了*/*/* BIT Register */* PSW */sbit CY=0xD7;sbit AC=0xD6;sbit F0 =0xD5;sbit RS1=0xD4;sbit RS0=0xD3;sbit OV=0xD2;sbit P =0xD0;/* TCON */sbit TF1 = 0x8F;sbit TR1 = 0x8E;sbit TF0 = 0x8D;sbit TR0 = 0x8C;sbit IE1 = 0x8B;sbit IT1 = 0x8A;sbit IE0 = 0x89;sbit IT0 = 0x88;/* IE */sbit EA = 0xAF;sbit ES = 0xAC;sbit ET1 = 0xAB;sbit EX1 = 0xAA;sbit ET0 = 0xA9;sbit EX0 = 0xA8;/* IP */sbit PS = 0xBC;sbit PT1 = 0xBB;sbit PX1 = 0xBA;sbit PT0 = 0xB9;sbit PX0 =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國鋁合金梳狀加熱器行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國海島絲行業(yè)投資前景及策略咨詢研究報告
- 智能辦公環(huán)境下的工作效率提升策略研究報告
- 2025年度婚姻資產(chǎn)分配協(xié)議公證與婚后財務(wù)規(guī)劃合同
- 2025年度園林景觀設(shè)計施工合同及維護管理方案
- 2025年度科技創(chuàng)新創(chuàng)業(yè)園區(qū)宣傳與品牌建設(shè)合同
- 2025年度護士崗位勞動合同范本(含勞動爭議解決)
- 二零二五年度酒店客房送餐服務(wù)合同
- 2025年度新能源汽車產(chǎn)業(yè)借款合同與充電樁建設(shè)擔保合同
- 2025年工行個人創(chuàng)業(yè)貸款合同標準文本
- 2025-2030年中國納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 2025年貴州蔬菜集團有限公司招聘筆試參考題庫含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計劃樣本(四篇)
- 進入答辯環(huán)節(jié)的高職應(yīng)用技術(shù)推廣中心申報書(最終版)
- 稿件修改說明(模板)
- GB/T 33107-2016工業(yè)用碳酸二甲酯
- GB/T 16604-2017滌綸工業(yè)長絲
- 勞動合同法經(jīng)典講義
- 工時定額編制標準(焊接)
評論
0/150
提交評論