引腳EA}決定了程序存儲(chǔ)器的0000~0FFFH 4KB地址范圍在單片機(jī)內(nèi)部還是外部。當(dāng)EA=1時(shí),程序存儲(chǔ)器的地址分為片內(nèi)的0000~0FFFH 4KB地址范圍和片外程序存儲(chǔ)器的1000~FFFFH 60KB地址范圍;否則,當(dāng)EA=0時(shí),只能尋址外部程序存儲(chǔ)器,0000~FFFFH全部64KB地址空間都在片外。
系統(tǒng)復(fù)位后PC的內(nèi)容為0000H,也就是說(shuō)單片機(jī)上電后都是從程序存儲(chǔ)器的0000H單元開始取指令執(zhí)行程序,一般在此地址單元設(shè)置轉(zhuǎn)移指令,使之轉(zhuǎn)向用戶主程序處。此外,0003~0023H單元被保留用作5個(gè)中斷服務(wù)程序的入口地址:
入口地址 所屬中斷0003H 外部中斷0入口地址
000BH 定時(shí)器0中斷入口地址
0013H 外部中斷1入口地址
001BH 定時(shí)器1中斷入口地址
0023H 串口中斷入口地址
故中斷服務(wù)程序個(gè)主程序一般都被放置在0030H單元以后。
RAM128B的內(nèi)部數(shù)據(jù)存儲(chǔ)器是用得最多的地址空間,所有的操作指令的操作數(shù)據(jù)只能在此地址空間或SFR中。
RAM區(qū)結(jié)構(gòu)如上圖。其中,00H~1FH共32個(gè)單元為工作寄存器區(qū),分為4組,每組8個(gè)單元組成通用寄存器,都用R0~R7表示??梢酝ㄟ^(guò)改變PSW的RS1和RS0、RS1兩位的狀態(tài)來(lái)選擇CPU當(dāng)前使用的工作寄存器組,如下表所示。這樣可以提高CPU的操作效率和響應(yīng)中斷的速度,利于現(xiàn)場(chǎng)的保護(hù)及恢復(fù)。
20H~2FH共16個(gè)字節(jié)128位組成位尋址區(qū),可用位尋址方式訪問(wèn),位地址為00H~7FH。位尋址區(qū)的位地址如下表:
最頂層的30H~7FH共80個(gè)單元為用戶RAM區(qū),作為堆棧或者數(shù)據(jù)緩存器。
普通51子系列單片機(jī)中,地址為00H~7FH的低128B區(qū)域?yàn)镽AM區(qū),而地址為80H~FFH的高128B區(qū)域即為SFR。增強(qiáng)型52子系列中,有地址為00H~FFH的256B的RAM,而SFR的地址和RAM的高128字節(jié)地址80H~FFH是重合的,需要通過(guò)不同的尋址方式來(lái)區(qū)分它們。
SFRSFR是專門用于控制、選擇、管理、存放單片機(jī)內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器,不同的SFR用于管理不同的硬件模塊。
51單片機(jī)內(nèi)的21個(gè)SFR中,有5個(gè)是16位寄存器 ,11個(gè)可以進(jìn)行位尋址。它們的地址分布及功能如下表:
其中PSW用于存放程序運(yùn)行是的各種狀態(tài)信息,其各位定義如下:
位地址 D7H D6H D5H D4H D3H D2H D1H D0H定義 CY AC F0 RS1 RS0 OV F1 P
CY(Carry):進(jìn)位標(biāo)志位,運(yùn)算過(guò)程最高為產(chǎn)生進(jìn)位或借位,則CY=1。
AC(Assistant Carry):輔助進(jìn)位標(biāo)志位,運(yùn)算過(guò)程中低四位向高位有進(jìn)位或借位,則AC=1。
F0/F1:軟件標(biāo)志位,可作為用戶自定義的標(biāo)志位,由用戶置位或復(fù)位。
RS0和RS1(Register Select):RAM中的4組工作寄存器選擇位。
OV(Overflow):溢出標(biāo)志位,運(yùn)算過(guò)程中產(chǎn)生溢出,OV=1。
P(Parity):奇偶標(biāo)志位,執(zhí)行指令是會(huì)根據(jù)ACC中1的個(gè)數(shù)的奇偶自動(dòng)令P置位或清零,奇為1,偶為0;串行通信時(shí),可以由此位驗(yàn)證傳輸?shù)目煽啃浴?/p> 時(shí)鐘和復(fù)位
單片機(jī)內(nèi)部的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)部各種操作的時(shí)間基準(zhǔn),復(fù)位操作使單片機(jī)內(nèi)的電路初始化。
時(shí)鐘電路、單位51單片機(jī)的時(shí)鐘信號(hào)通常由內(nèi)部振蕩或外部振蕩方式來(lái)獲得。接法如圖所示:
在XTAL1和XTAL2引腳外接晶體振蕩器或者陶瓷諧振器,即構(gòu)成內(nèi)部振蕩方式。晶振通常選用6、12或24MHz,單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,外接晶振將構(gòu)成自激振蕩,產(chǎn)生振蕩時(shí)鐘脈沖,電容C1、C2可以穩(wěn)定振蕩頻率,電容值一般為5~30pF。
外部振蕩就是把已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。
評(píng)論