www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]   PIC16F877A單片機(jī)是MicroChip公司的中檔產(chǎn)品,它采用14位的RISC指令系統(tǒng),內(nèi)部集成了A/D轉(zhuǎn)換器、EEPROM、模擬比較器、帶比較和捕捉功能的定時器/計(jì)數(shù)器、PWM輸出,異步串行通信( USART)電路等?!?

 

  PIC16F877A單片機(jī)是MicroChip公司的中檔產(chǎn)品,它采用14位的RISC指令系統(tǒng),內(nèi)部集成了A/D轉(zhuǎn)換器、EEPROM、模擬比較器、帶比較和捕捉功能的定時器/計(jì)數(shù)器、PWM輸出,異步串行通信( USART)電路等。

  1).程序存儲器和堆棧PIC16F877A單片機(jī)內(nèi)部具有8K×14位的Flash程序存儲器,程序存儲器具有13位寬的程序計(jì)數(shù)器PCo程序存儲器的地址范圍為OOOOH—1FFFH。由程序計(jì)數(shù)器提供13條地址線進(jìn)行單元選擇,每個單元寬14位(即PIC16F877A的指令字節(jié)寬度為14位),能夠存放一條PIC單片機(jī)系統(tǒng)指令。

 

  在系統(tǒng)上電或其他復(fù)位情況下,程序計(jì)數(shù)器均從OOOOH地址單元開始工作。如果遇到調(diào)用子程序或系統(tǒng)發(fā)生事件中斷時,將把當(dāng)前程序斷點(diǎn)處的地址送入8級×14位的堆棧區(qū)域進(jìn)行保護(hù)。堆棧是一個獨(dú)立的存儲區(qū)域,在調(diào)用的子程序或中斷服務(wù)程序執(zhí)行完后,再恢復(fù)斷點(diǎn)地址。通過14位程序總線,取出對應(yīng)程序指令的機(jī)器碼,送入指令寄存器,將組成的操作碼和操作數(shù)進(jìn)行有效分離。如果操作數(shù)為地址,則進(jìn)入地址復(fù)用器;如果操作數(shù)為數(shù)據(jù),則進(jìn)入數(shù)據(jù)復(fù)用器。而操作碼將在指令譯碼和控制單元中轉(zhuǎn)化為相應(yīng)的功能操作。

  PIC的多數(shù)指令均是順序執(zhí)行,即使條件跳轉(zhuǎn)也是隔行間接跳轉(zhuǎn)。具有大范圍轉(zhuǎn)移功能的指令只有兩條:無條件轉(zhuǎn)移GOTO語句和調(diào)用子程序CALL語句。但它們受到2KB范圍的約束。所以必須將整個程序存儲器以2KB為單位進(jìn)行分頁。如下圖所示,8KB程序存儲器共分作4頁,分別稱為頁0、頁1、頁2和頁3。

  PIC16F877A單片機(jī)的上電復(fù)位地址是OOOOH,中斷入口地址是0004H,中斷產(chǎn)生時PC指針會自動指向該地址。在進(jìn)行中斷應(yīng)用時,特別是涉及多個中斷同時打開時,必須要逐個對中斷標(biāo)志位( XXIF)進(jìn)行判斷。編程時,在0000H~0003H單元內(nèi)要放置一條GOTO跳轉(zhuǎn)指令,跳轉(zhuǎn)到主程序,以避開0004H存儲器單元。

  2).?dāng)?shù)據(jù)存儲器PIC單片機(jī)的數(shù)據(jù)存儲器與傳統(tǒng)的MCS-51單片機(jī)一樣,在配置結(jié)構(gòu)上可分為通用寄存器和特殊功能寄存器兩大類。數(shù)據(jù)存儲器的每個存儲單元除具備普通存儲器功能之外,還能實(shí)現(xiàn)移位、置位、復(fù)位和位測試等通常只有寄存器才能完成的操作,功能非常強(qiáng)大。PIC16F877A單片機(jī)RAM數(shù)據(jù)存儲器與程序存儲器一樣,在其51 2個地址空間( 000H—1FFH)進(jìn)行類似區(qū)域劃分,分為4個體( Bank),從左到右分別記為體0、體1、體2和體3,每個“體”均為128×8位寬的存儲單元。特殊功能寄存器安排在低位地址存儲單元,通用寄存器在高位地址存儲單元。下圖是PIC16F877A的寄存器組映射圖,對通用寄存器可以直接進(jìn)行訪問,也可以通過寄存器FSR間接訪問。

  通過比較可知,程序存儲器的4等分區(qū)域采用串接方式排列,而數(shù)據(jù)存儲器的4等分區(qū)域采用并接方式排列。

  通用寄存器PIC16F877A單片機(jī)的通用寄存器扮演了其他單片機(jī)中的通用寄存器和片內(nèi)RAM存儲器的雙重角色。

  PIC16F877A單片機(jī)的通用寄存器主要分布在數(shù)據(jù)存儲器RAM各體的下半部分區(qū)域,包括體O和體I區(qū)域各有96個單元(20H—7FH和AOH—FFH)及體2和體3區(qū)域各有1 12個單元(110H—17FH和190H~1FFH)。在體1、體2和體3的數(shù)據(jù)存儲器RAM體內(nèi),分別存在一個映射的地址區(qū)域:FOH—FFH、170H—17FH和1FOH—1FFH。這些單元都是虛擬設(shè)計(jì),本身的硬件結(jié)構(gòu)并不存在,但它們的地址信息都可以索引(或映射)到體O中的高地址(70H—7FH)處的16個RAM單元。正是基于這樣的數(shù)據(jù)存儲器結(jié)構(gòu),實(shí)際的通用寄存器單元數(shù)為368個。

  特殊功能寄存器特殊功能寄存器SFR主要分布在數(shù)據(jù)存儲器RAM各體的上半部分區(qū)域。PIC16F87X系列單片機(jī)的特殊功能寄存器的布局保持了高度一致,目的是便于PIC單片機(jī)之間的相互兼容和調(diào)換。

  特殊功能寄存器中,有的專門用于控制CPU內(nèi)核的性能配置,有的專門用于控制各種外圍設(shè)備模塊的操作,因此又可依用途分為兩類:一類是與CPU內(nèi)核相關(guān)的寄存器,另一類是與外圍模塊相關(guān)的寄存器。在此我們僅介紹與CPU內(nèi)核相關(guān)的幾個常用特殊功能寄存器,其余的則到講解各種功能部件和外圍模塊時再介紹。

  (1).狀態(tài)寄存器STATUS

  狀態(tài)寄存器的內(nèi)容用來記錄算術(shù)邏輯單元ALU的運(yùn)算狀態(tài)和算術(shù)特征、CPU的特殊運(yùn)行狀態(tài)、以及RAM數(shù)據(jù)存儲器的體間選擇等信息。狀態(tài)寄存器與通用寄存器有著本質(zhì)的區(qū)別,例如功能位/TO和/PD只能讀;另一些位的狀態(tài)將取決于運(yùn)算結(jié)果。

  狀態(tài)寄存器STATAS(地址03H、83H、103H、183H):

  注意:對于借位,極性相反,執(zhí)行減法指令時,是通過加上第二操作數(shù)的補(bǔ)碼實(shí)現(xiàn)的;對于移位指令( RRF、RLF),是把源寄存器的最高位或最低位放入進(jìn)位位C實(shí)現(xiàn)的。

  (2).選擇寄存器OPTION 選擇寄存器OPTION是一個可讀/寫寄存器,它含有用于設(shè)置定時器TMRO前分頻器/監(jiān)視定時器WDT后分頻器、外部INT中斷、TMRO和B口的弱上拉等各種控制位。

  注意:如果需要定時器TMRO得到1:1的前分頻值,可以把前分頻器分配給監(jiān)視定時器WDT(即PSA=1)。

 

  Bit2—Bit0( PS2—PSO)前分頻器倍率選擇位。

  注意:當(dāng)使用低電壓編程LVP并且PORTB引腳弱上拉使能時,TRISB的Bit3清O以關(guān)閉RB3的弱上拉才能確保芯片的正確運(yùn)行。

  (3).間接尋址寄存器INDF和文件選擇寄存器FSR

  間接尋址寄存器INDF位于數(shù)據(jù)存儲器各體的最低位單元,即OOH、80H、100H和180Ho它們是互相映射,只具有地址編碼,但物理上并不真正存在的虛擬寄存器。INDF必須與文件選擇寄存器FSR配合,才能實(shí)現(xiàn)間接尋址。當(dāng)訪問INDF地址時,實(shí)際是訪問以FSR內(nèi)容為地址所指向的數(shù)據(jù)存儲器RAM單元。PIC系列單片機(jī)采用這種獨(dú)特而巧妙的構(gòu)想,實(shí)現(xiàn)對數(shù)據(jù)存儲器的循環(huán)訪問,也使PIC指令集系統(tǒng)得到很大的精簡。

  在PIC單片機(jī)指令系統(tǒng)中,直接尋址和間接尋址是很重要的數(shù)據(jù)訪問方式,主要是借助于狀態(tài)寄存器相關(guān)位的補(bǔ)充實(shí)現(xiàn)數(shù)據(jù)存儲器的選擇。直接尋址/間接尋址方式示意圖如上圖所示。在直接尋址中,體選碼來自狀態(tài)寄存器STATUS的RP1和RPO位,體內(nèi)的單元地址直接來自指令機(jī)器碼;而在間接尋址中,體選碼由STATUS的IRP位和FSR寄存器的Bit7組成,體內(nèi)單元地址來自FSR的低7位。

  (4).與PC相關(guān)的寄存器PCL和PCLATH

  PIC16F877A單片機(jī)程序計(jì)數(shù)器PC指針寬13位,它總是指向CPU下一條指令所在程序存儲器單元的地址。為了與其它8位寬的寄存器進(jìn)行數(shù)據(jù)交換,將PC指針分成PCL和PCH兩部分:低8位PCL有自己的專用地址,數(shù)據(jù)信息可讀寫:而高5位PCH沒有自己的地址,是根本不存在的,也就不能直接寫入,只能借用寄存器PCLATH進(jìn)行間接裝載。PCLATH實(shí)現(xiàn)對高5位PCH的裝載分兩種情況:一種情況是當(dāng)執(zhí)行以PCL為目標(biāo)的寫操作指令時,PC的低8位來自算術(shù)邏輯單元ALU的運(yùn)算結(jié)果,PC的高5位來自PCLATH的低5位;另一種情況是執(zhí)行跳轉(zhuǎn)指令GOTO或調(diào)用子程序指令CALL時,PC的低11位直接來自指令碼所攜帶的1 1位地址信息,而PC的高2位由PCLATH的第4位、第3位裝載。具體如下圖所示。

  (5).電源控制寄存器PCON

  電源控制寄存器只有兩個有效位,其中一位用來記錄和區(qū)分是否發(fā)生了上電復(fù)位和外部引腳/MCLR輸入低電平時引起的手動復(fù)位或看門狗超時溢出復(fù)位;另一位用來記錄和鑒別是否發(fā)生了掉電復(fù)位。

  電源控制寄存器兩個有效位的含義如下。

  BitO/BOR:電源上電復(fù)位標(biāo)志,被動參數(shù)。

  0:發(fā)生了上電復(fù)位。當(dāng)發(fā)生上電復(fù)位之后,系統(tǒng)自動清零。應(yīng)該用軟件及時將其置位,以便下次利用該位來判斷是否發(fā)生了電源上電復(fù)位:

  1:未發(fā)生上電復(fù)位。

  Bitl/POR:掉電鎖定復(fù)位標(biāo)志,被動參數(shù)。

  0:發(fā)生了掉電鎖定復(fù)位。當(dāng)發(fā)生掉電鎖定復(fù)位之后,系統(tǒng)自動清零。應(yīng)該用軟件及時將其置位,以便下次利用該位來判斷是否發(fā)生了電源掉電鎖定復(fù)位:

  1:未發(fā)生掉電鎖定復(fù)位。

  3).EEPROM數(shù)據(jù)存儲器

  PIC16F877A單片機(jī)內(nèi)含一個256×8位EEPROM數(shù)據(jù)存儲器模塊。它可在線擦/寫,用于掉電時數(shù)據(jù)的保留。

  對EEPROM數(shù)據(jù)存儲器進(jìn)行寫入操作時,不會影響PIC單片機(jī)其他指令的執(zhí)行。PIC16F877A單片機(jī)EEPROM數(shù)據(jù)存儲器的單元空間為256X8位,對應(yīng)地址的范圍是OOH—FFH。其中的數(shù)據(jù)信息并不直接映射在文件寄存器中,只能通過特殊功能寄存器的間接尋址來訪問。

  涉及到EEPROM數(shù)據(jù)存儲器讀/寫操作的共有4個特殊功能寄存器。

  (1).EEDATA:

  是一個專用數(shù)據(jù)讀/寫寄存器,用于臨時存放對EEPROM數(shù)據(jù)存儲器進(jìn)行讀/寫操作的數(shù)據(jù)。

  (2). EEADR:

  是一個專用地址讀/寫寄存器,用于臨時存放對EEPROM數(shù)據(jù)存儲器進(jìn)行讀/寫訪問的單元地址。

  (3).EECON1:

  EEPROM數(shù)據(jù)存儲器讀/寫控制第一寄存器,主要用于讀/寫方式的設(shè)定和初始化尋址控制。EECON1寄存器中有3位是無效定義。

  其各位的含義如下:

  BitO/RD:EEPROM數(shù)據(jù)存儲器數(shù)據(jù)讀出方式控制位。

  O:不處于EEPROM讀操作過程,或在一個讀操作周期后由硬件自動清零: 1:啟動E'PROM讀操作,軟件主動置位。

  Bit1/WR:寫操作控制位,復(fù)合參數(shù)。

  0:不處于EEPROM寫操作過程,或在一個寫操作周朔后由硬件自動清零;

  1:啟動EEPROM寫操作,軟件主動置位。

  Bit2/WREN:EEPROM寫使能位。

0:使能對EEPROM寫

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉