機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
PIC單片機16F84的內(nèi)部硬件資源(二)
PIC單片機16F84的內(nèi)部硬件資源(二)
 更新時間:2008-7-26 17:06:09  點擊數(shù):3
【字體: 字體顏色
3 數(shù)據(jù)存儲器
  在單片機PIC16F84中,除了有存放程序的程序存儲器外,還有數(shù)據(jù)存儲器。單片機在執(zhí)行程序過程中,往往需要隨時向單片機輸入一些數(shù)據(jù),而且有些數(shù)據(jù)還可能隨時改變。在這種情況下就需用數(shù)據(jù)存儲器。由于數(shù)據(jù)存儲器不但要能隨時讀取存放在其各個單元內(nèi)的數(shù)據(jù),而且還需隨時寫進新的數(shù)據(jù),或改寫原來的數(shù)據(jù)。因此,數(shù)據(jù)存儲器需由隨機存儲器RAM構(gòu)成。RAM存儲器在斷電時,所存數(shù)據(jù)隨即丟失,這在實際應(yīng)用中有時會帶來不便。但是,在16F84中有64×8位E2PROM數(shù)據(jù)存儲器。存放在E2PROM中的數(shù)據(jù)在斷電時不會丟失。
  16F84中的RAM數(shù)據(jù)存儲器如表1所示,該RAM分為兩個存儲體:即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體均可以直接用內(nèi)部總線傳送信息,所以它們都是以寄存器方式工作和尋址。這些八位寄存器,又可分為通用寄存器和專用寄存器兩個部分。通用寄存器存放數(shù)據(jù),專用寄存器存放控制單片機運作的信息。每個存儲體最大可擴展到7FH(128個字節(jié))。在每個存儲體中,專用寄存器被安排在低位地址空間,通用寄存器被安排在高位地址空間。
  通用寄存器用法單一,但專用寄存器卻各有各的用處,現(xiàn)將較基本的專用寄存器作一簡單介紹。
  (1)程序計數(shù)器(PCL、PCLATH)。程序計數(shù)器PC是對程序進行管理的計數(shù)器。PIC16F84的程序計數(shù)器為13位寬,最大可尋址的存儲空間為8k×14位。實際上16F84只使用前1k×14位(0000~03FFH)存儲空間。因程序計數(shù)器有13位寬,而專用寄存器只有8位。因此PC由兩個專用寄存器構(gòu)成。其低八位PCL是一個可讀/寫寄存器(地址為02H或82H),而高字節(jié)PCH(有效位5位)不能直接進行讀/寫操作,它是通過一個8位的保持寄存器PCLATH(地址為0A或8AH)把高5位地址傳送給程序計數(shù)器的高字節(jié)。當執(zhí)行CALL、GOTO指寫PCL時,PC值的高字節(jié)就從PCLATH寄存器中裝入。
  (2)狀態(tài)寄存器STATUS。狀態(tài)寄存器STATUS含有算術(shù)邏輯單元ALU運算結(jié)果的狀態(tài)(如有無進位等)、復(fù)位狀態(tài)及數(shù)據(jù)存儲體選擇位。有關(guān)位位的設(shè)定如表2所示,功能如下:
  1)第0位。進位/借位位C。執(zhí)行加、減運算指令
表2  
 IRP RP1 RP0 TO PD Z DC C
后,若結(jié)果有進位或借位,則C被置1,否則置0。在執(zhí)行移位指令時,也要用到這一位。
  2)第1位。輔助進位/借位位DC。執(zhí)行加、減運算指令后,若結(jié)果的低四位向高四位有進位或借位,則DC置1,否則置0。
  3)第2位。零標志位運算結(jié)果為零,Z被置1;運算結(jié)果不為零,Z被清零。
  4)第3位。低功耗標志位PD。上電復(fù)位或執(zhí)行CLRWDT指令后置1,執(zhí)行SLEEP指令后被清零。
  5)第4位。定時時間到標志位TO。上電復(fù)位或執(zhí)行CLRWDT、SLEEP指令后被置1,監(jiān)視定時器的定時時間到被清零。
  6)第5位和第6位(RP0、RP1)。這兩位是用于直接尋址時的寄存器體選擇位。即00——選中Bank0(00H~7FH);01——選中Bank1(80H~FFH),16F84只有兩個存儲體。故10、11不用。
  7)第7位IRP。這是間接尋址的寄存體選擇位。0——選中Bank0、1(00H~FFH),1——選中Bank2、3。16F84只有Bank0、1,所以此IRP位應(yīng)被置為0。
  (3)間接尋址INDF和FSR寄存器
  INDF寄存器不是一個物理寄存器,而是一個邏輯功能的寄存器(地址為00H或80H),當對INDF寄存器進行尋址時,實際上是訪問FSR寄存器內(nèi)容所指的單元,即把FSR寄存器作為間接寄存器使用。FSR稱為“寄存器選擇”寄存器,地址為(04H或84H)。對INDF寄存器本身進行間接尋址訪問,將讀出FSR寄存器的內(nèi)容,例如當FSR=00H時,間接尋址讀出INDF的數(shù)據(jù)將為00H。用間接尋址方式寫入INDF寄存器時,雖然寫入操作可能會影響STATUS中的狀態(tài)字,但寫入的數(shù)據(jù)是無效的。

  知識競賽試題:
  17簡述上文中16F84的數(shù)據(jù)存儲器的一般特點。
  18用語言簡述下文程序清單中部分程序的功能,并對主程序指令功能作進一步解釋。

  • 上一篇: PIC單片機16F84的內(nèi)部硬件資源(三)
  • 下一篇: PIC單片機16F84的內(nèi)部硬件資源(一)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1