8098單片機存儲空間與總線控制
2013/11/25 14:12:54
8098是程序存儲器和數(shù)據(jù)存儲器合二為一的普林斯頓結(jié)構(gòu)。直接尋址范圍為64KB。其中大部分空間(0100H~1FFFH和2080H~FFFFH)是用戶可以自由使用的空間,可用來存放程序、數(shù)據(jù)或用I/O口的映像存儲區(qū)。
一、存儲空間分配
1 特殊功能寄存器(SFR)
8098地址為00H~FFH的空間為內(nèi)部RAM空間,它由特殊功能寄存器(SFR)和寄存器陣列組成,其中00H~17H單元為24個SFR。8098內(nèi)部的各功能部件都通過SFR時行控制。SFR的功能如下表所示。其中許多SFR具有兩種功能,即讀操作時為一種功能,寫操作時為另外一種功能
SFR及其功能說明一覽表
寄存器 名稱 功能說明
R0 零寄存器 讀出值恒為零,作變址尋址的基地址
AD—RESULT A/D結(jié)果寄存器 存入A/D轉(zhuǎn)換結(jié)果的高低字節(jié),只能按字節(jié)讀出
AD—COMMAND A/D命令寄存器 控制A/D轉(zhuǎn)換
HIS—MODE HIS方式寄存器 用于設(shè)置高速運輸入部件的工作方式
HIS—TIME HIS時間寄存器 有高、低兩字節(jié),存放觸發(fā)HIS的時間值,只能按字讀出
HSO—TIME HIO時間寄存器 有高、低兩字節(jié),存放高速輸出的時間值
HIS—STATUS HIS狀態(tài)寄存器 批示在HIS—TIME所記錄的時刻
SBUP(TX) 串行口發(fā)送緩沖器 存放要發(fā)送的數(shù)據(jù)字節(jié)
SBUP(RX) 串行口接收緩沖器 存放剛收到的數(shù)據(jù)字節(jié)
INT—MASK 中斷屏蔽寄存器 設(shè)置各中斷源的中斷允許/禁止
INT—PENDINC 中斷登記寄存器 用來記錄各中斷源的中斷申請
WATCHDOC 監(jiān)督定時寄存器 具有技術(shù)功能,用來以時鐘脈沖計數(shù)
TIMER1 定時器1 具有高字節(jié)和低字節(jié)的16位定時計數(shù)器
TIMER2 定時器2 具有高字節(jié)和低字節(jié)的16位定時計數(shù)器
IO—PORT0 P0口寄存器 存放P0口各引腳的輸入值
IO—PORT1 P1口寄存器 用于對P1口的讀寫,這是8096BH的P1口
IO—PORT2 P2口寄存器 用于對P2的讀寫
BAUD—RATE 波特率寄存器 存放串行口的波特率
SP—STAT 串行口狀態(tài)寄存器 批示串行口的工作狀態(tài)
SP—CON 串行口控制寄存器 設(shè)置轉(zhuǎn)行口的工作方式
IOS0 I/O狀態(tài)寄存器0 存放HSO狀態(tài)信息
IOS1 I/O狀態(tài)寄存器1 存放定時器及HIS的狀態(tài)信息
IOC0 I/O控制寄存器0 控制HIS引腳的輸入,定時器2的源及時鐘源
IOC1 I/O控制寄存器1 控制P2口引腳的利用功能、定時器
PWM—ONTROL 脈寬調(diào)制控制寄存器 設(shè)置PWM脈沖寬
2,寄存器的陣列
在內(nèi)部RAM中,除24個SFR外,其余各寄存器構(gòu)成寄存器陣列。在232個寄存器陣列中 ,18H和19H兩個單元作為堆棧指針(若無堆棧操作,則這兩個單元可作為內(nèi)部RAM使用)內(nèi)容可由用戶程序在初始化時設(shè)定,指向64KB存儲空間的任何地方。其余230個單元作為用戶寄存器使用,它們相當(dāng)于RALU的230個(或232個)累加器。
3,掉電保護空間
8098內(nèi)部RAM空間頂部的16個字節(jié)(FOH—FFH)接Vcc和Vpd引腳電源,在Vcc電壓下降期間,可由Vpd引腳的備用電源供電,以維持這些單元中的內(nèi)容不被丟失。此備用電源的電流約為1MA,電壓為4.5~5.5V,故可用電池作此引腳的后備電源。
為了防止在電源電壓下降時對上述單元進行誤寫入,必須RESET引腳在電壓下降時首先下拉為低電平,并保持兩個狀態(tài)周期,使CPU和其它有關(guān)寄存器復(fù)位,不再進行寫入操作。此后,只要Vrd維持不變,上述單元中的內(nèi)容就會長期保存。
當(dāng)Vcc升至正常值時,RESET仍應(yīng)保持低電平,當(dāng)片內(nèi)振蕩器起振時,8098必須穩(wěn)定供電。時鐘振蕩穩(wěn)定兩個狀態(tài)周期后,RESET引腳可被拉成高電平,8098脫離供電周期后,開始執(zhí)行2080H單元的指令。
二、存儲控制器
存儲控制乃是RALU用以訪問存儲器(寄存器組或用寄存器空間諸單元除外)的中間媒介,它通過A—BUS和其他控制線與RALU向連接。由于A—BUS是8位的,因此,為避免頻繁地從RADLU取指令地址,加快取指令速度,在存儲控制器中設(shè)有一個輔助程序計數(shù)器(或稱為PC),當(dāng)順序執(zhí)行指令時,每次取指令后該PC值自動加1,只有執(zhí)行跳轉(zhuǎn)指令或子程序調(diào)用指令時,才把RALU的主PC的內(nèi)容通過A—BUS加載到PC中去。
此外,存儲控制器中還有一個4字節(jié)的寄存器陣列,以加速執(zhí)行過程,除在外總線周期期間插入等待狀態(tài)外,此4個寄存器陣列對RALU和用戶來說可自由使用。
三、系統(tǒng)總線
8098有多種運行方式,最常用的是標(biāo)準(zhǔn)總線方式。在此方式下,CPU通過16位地址線AD0~AD15對片外存儲器或I/O尋址,其中低8位地址線與8位數(shù)據(jù)總線多路切換運行。這些線公用P3和P4口的引腳。地址鎖存允許信號ALE用于分離總線上的地址和數(shù)據(jù)信息,其下降沿鎖存低8位地址AD—AD7。
1, 總線定時
當(dāng)從外存儲器取數(shù)時,ALE變高,16位地址從AD0~AD15送出,隨后ALE變低,其下降沿將地址低8位送入地址鎖存器。然后地址信號從引腳上消失,RD降為低電平,此時,片外存儲器應(yīng)將其數(shù)據(jù)送入8098的數(shù)據(jù)總線,在RD上升沿之前,來自片內(nèi)存儲器的數(shù)據(jù)必須在總線上穩(wěn)定一段時間,這就是讀操作。
片外存儲器的寫操作要求的時序與讀操作相似。主要區(qū)別為寫操作由WR取代RD。當(dāng)WR下降時,8098從總線上撤銷地址信號的同時送出所要寫的數(shù)據(jù)。
為實現(xiàn)對低速寄存器的存取及總線共享(DMA),8098提供了一條準(zhǔn)備就緒READY信號。當(dāng)READY為低電平時,CPU進入等待狀態(tài),READY變高,CPU繼續(xù)對存儲器進行讀寫操作。
2,芯片配置寄存器
8098內(nèi)設(shè)一個存放芯片操作方式信息的寄存器CCR,通過CCR選擇不同的操作方式以簡化存儲器系統(tǒng),簡化接口要求和總線控制。其中CCR最高兩位用于控制ROM/EPROM的加密等級。
CCR是一個不屬于內(nèi)部RAM的特殊功能寄存器,系統(tǒng)工作時,無法通過訪問內(nèi)部RAM指令改變CCR內(nèi)容。CCR的內(nèi)容由用戶預(yù)先寫入2018H單元(芯片配置字節(jié)),8098復(fù)位時,該芯片配置字節(jié)被自動送入CCR。CCR一旦被加載,便不能再改變,直至下一次復(fù)位。在每種總線方式下,8098總能正確地讀取該單元的內(nèi)容。
3,總線控制
通過CCR,8098可提供四種類型的總線控制信號。為減少片外硬件,ALE和WR信號線被賦予了雙重功能,由CCR.2和CCR.3選擇。
(1)標(biāo)準(zhǔn)總線方式:此方式提供標(biāo)準(zhǔn)的ALE和WR控制信號。每次寫操作都產(chǎn)生WR信號,當(dāng)總線上出現(xiàn)地址碼時,ALE變?yōu)楦唠娖剑撕蟮南陆笛赜靡詫⒌刂反a的低8位鎖存在外部鎖存器中。
(a) 標(biāo)準(zhǔn)總線方式
(b) 地址有效選通方式
(c) 寫選通方式
(d) 地址有效并寫選通方式
(2)地址有效選通方式:此方式ALE的功能被地址有效選信號ADV取代。一旦外部地址建立起來,ADV變低,直至總線周期結(jié)束才升為高電平,這表明ADV可作為外部存儲器的片選信號。
(3)寫選通方式:8098總線控制器的一個特有功能是利用CCR來選擇WR信號的寬度,顯然,在與靠WR下降沿鎖存數(shù)據(jù)的器件接口時,這一特點非常有用。
(4)地址有效并寫選通方式:此方式ALE引腳出現(xiàn)ADV,WR為窄寬度信號。
4,準(zhǔn)備就緒控制
為簡化就緒控制,8098提供了四種方式的內(nèi)部就緒控制邏輯,可通過CCR.4和CCR.5選擇
內(nèi)部就緒控制邏輯可用來限制慢速器件插入到總線周期中的等待狀態(tài)數(shù)。當(dāng)就緒引腳(READY)被拉成低電平時,總線周期中將插入等待狀態(tài) ,直到READY升為高電平或者到已插入的等待狀態(tài)數(shù)等于CCR.4和CCR.5所限定的數(shù)目為止。兩種情況以先出現(xiàn)者為準(zhǔn)。
一、存儲空間分配
1 特殊功能寄存器(SFR)
8098地址為00H~FFH的空間為內(nèi)部RAM空間,它由特殊功能寄存器(SFR)和寄存器陣列組成,其中00H~17H單元為24個SFR。8098內(nèi)部的各功能部件都通過SFR時行控制。SFR的功能如下表所示。其中許多SFR具有兩種功能,即讀操作時為一種功能,寫操作時為另外一種功能
SFR及其功能說明一覽表
寄存器 名稱 功能說明
R0 零寄存器 讀出值恒為零,作變址尋址的基地址
AD—RESULT A/D結(jié)果寄存器 存入A/D轉(zhuǎn)換結(jié)果的高低字節(jié),只能按字節(jié)讀出
AD—COMMAND A/D命令寄存器 控制A/D轉(zhuǎn)換
HIS—MODE HIS方式寄存器 用于設(shè)置高速運輸入部件的工作方式
HIS—TIME HIS時間寄存器 有高、低兩字節(jié),存放觸發(fā)HIS的時間值,只能按字讀出
HSO—TIME HIO時間寄存器 有高、低兩字節(jié),存放高速輸出的時間值
HIS—STATUS HIS狀態(tài)寄存器 批示在HIS—TIME所記錄的時刻
SBUP(TX) 串行口發(fā)送緩沖器 存放要發(fā)送的數(shù)據(jù)字節(jié)
SBUP(RX) 串行口接收緩沖器 存放剛收到的數(shù)據(jù)字節(jié)
INT—MASK 中斷屏蔽寄存器 設(shè)置各中斷源的中斷允許/禁止
INT—PENDINC 中斷登記寄存器 用來記錄各中斷源的中斷申請
WATCHDOC 監(jiān)督定時寄存器 具有技術(shù)功能,用來以時鐘脈沖計數(shù)
TIMER1 定時器1 具有高字節(jié)和低字節(jié)的16位定時計數(shù)器
TIMER2 定時器2 具有高字節(jié)和低字節(jié)的16位定時計數(shù)器
IO—PORT0 P0口寄存器 存放P0口各引腳的輸入值
IO—PORT1 P1口寄存器 用于對P1口的讀寫,這是8096BH的P1口
IO—PORT2 P2口寄存器 用于對P2的讀寫
BAUD—RATE 波特率寄存器 存放串行口的波特率
SP—STAT 串行口狀態(tài)寄存器 批示串行口的工作狀態(tài)
SP—CON 串行口控制寄存器 設(shè)置轉(zhuǎn)行口的工作方式
IOS0 I/O狀態(tài)寄存器0 存放HSO狀態(tài)信息
IOS1 I/O狀態(tài)寄存器1 存放定時器及HIS的狀態(tài)信息
IOC0 I/O控制寄存器0 控制HIS引腳的輸入,定時器2的源及時鐘源
IOC1 I/O控制寄存器1 控制P2口引腳的利用功能、定時器
PWM—ONTROL 脈寬調(diào)制控制寄存器 設(shè)置PWM脈沖寬
2,寄存器的陣列
在內(nèi)部RAM中,除24個SFR外,其余各寄存器構(gòu)成寄存器陣列。在232個寄存器陣列中 ,18H和19H兩個單元作為堆棧指針(若無堆棧操作,則這兩個單元可作為內(nèi)部RAM使用)內(nèi)容可由用戶程序在初始化時設(shè)定,指向64KB存儲空間的任何地方。其余230個單元作為用戶寄存器使用,它們相當(dāng)于RALU的230個(或232個)累加器。
3,掉電保護空間
8098內(nèi)部RAM空間頂部的16個字節(jié)(FOH—FFH)接Vcc和Vpd引腳電源,在Vcc電壓下降期間,可由Vpd引腳的備用電源供電,以維持這些單元中的內(nèi)容不被丟失。此備用電源的電流約為1MA,電壓為4.5~5.5V,故可用電池作此引腳的后備電源。
為了防止在電源電壓下降時對上述單元進行誤寫入,必須RESET引腳在電壓下降時首先下拉為低電平,并保持兩個狀態(tài)周期,使CPU和其它有關(guān)寄存器復(fù)位,不再進行寫入操作。此后,只要Vrd維持不變,上述單元中的內(nèi)容就會長期保存。
當(dāng)Vcc升至正常值時,RESET仍應(yīng)保持低電平,當(dāng)片內(nèi)振蕩器起振時,8098必須穩(wěn)定供電。時鐘振蕩穩(wěn)定兩個狀態(tài)周期后,RESET引腳可被拉成高電平,8098脫離供電周期后,開始執(zhí)行2080H單元的指令。
二、存儲控制器
存儲控制乃是RALU用以訪問存儲器(寄存器組或用寄存器空間諸單元除外)的中間媒介,它通過A—BUS和其他控制線與RALU向連接。由于A—BUS是8位的,因此,為避免頻繁地從RADLU取指令地址,加快取指令速度,在存儲控制器中設(shè)有一個輔助程序計數(shù)器(或稱為PC),當(dāng)順序執(zhí)行指令時,每次取指令后該PC值自動加1,只有執(zhí)行跳轉(zhuǎn)指令或子程序調(diào)用指令時,才把RALU的主PC的內(nèi)容通過A—BUS加載到PC中去。
此外,存儲控制器中還有一個4字節(jié)的寄存器陣列,以加速執(zhí)行過程,除在外總線周期期間插入等待狀態(tài)外,此4個寄存器陣列對RALU和用戶來說可自由使用。
三、系統(tǒng)總線
8098有多種運行方式,最常用的是標(biāo)準(zhǔn)總線方式。在此方式下,CPU通過16位地址線AD0~AD15對片外存儲器或I/O尋址,其中低8位地址線與8位數(shù)據(jù)總線多路切換運行。這些線公用P3和P4口的引腳。地址鎖存允許信號ALE用于分離總線上的地址和數(shù)據(jù)信息,其下降沿鎖存低8位地址AD—AD7。
1, 總線定時
當(dāng)從外存儲器取數(shù)時,ALE變高,16位地址從AD0~AD15送出,隨后ALE變低,其下降沿將地址低8位送入地址鎖存器。然后地址信號從引腳上消失,RD降為低電平,此時,片外存儲器應(yīng)將其數(shù)據(jù)送入8098的數(shù)據(jù)總線,在RD上升沿之前,來自片內(nèi)存儲器的數(shù)據(jù)必須在總線上穩(wěn)定一段時間,這就是讀操作。
片外存儲器的寫操作要求的時序與讀操作相似。主要區(qū)別為寫操作由WR取代RD。當(dāng)WR下降時,8098從總線上撤銷地址信號的同時送出所要寫的數(shù)據(jù)。
為實現(xiàn)對低速寄存器的存取及總線共享(DMA),8098提供了一條準(zhǔn)備就緒READY信號。當(dāng)READY為低電平時,CPU進入等待狀態(tài),READY變高,CPU繼續(xù)對存儲器進行讀寫操作。
2,芯片配置寄存器
8098內(nèi)設(shè)一個存放芯片操作方式信息的寄存器CCR,通過CCR選擇不同的操作方式以簡化存儲器系統(tǒng),簡化接口要求和總線控制。其中CCR最高兩位用于控制ROM/EPROM的加密等級。
CCR是一個不屬于內(nèi)部RAM的特殊功能寄存器,系統(tǒng)工作時,無法通過訪問內(nèi)部RAM指令改變CCR內(nèi)容。CCR的內(nèi)容由用戶預(yù)先寫入2018H單元(芯片配置字節(jié)),8098復(fù)位時,該芯片配置字節(jié)被自動送入CCR。CCR一旦被加載,便不能再改變,直至下一次復(fù)位。在每種總線方式下,8098總能正確地讀取該單元的內(nèi)容。
3,總線控制
通過CCR,8098可提供四種類型的總線控制信號。為減少片外硬件,ALE和WR信號線被賦予了雙重功能,由CCR.2和CCR.3選擇。
(1)標(biāo)準(zhǔn)總線方式:此方式提供標(biāo)準(zhǔn)的ALE和WR控制信號。每次寫操作都產(chǎn)生WR信號,當(dāng)總線上出現(xiàn)地址碼時,ALE變?yōu)楦唠娖剑撕蟮南陆笛赜靡詫⒌刂反a的低8位鎖存在外部鎖存器中。
(a) 標(biāo)準(zhǔn)總線方式
(b) 地址有效選通方式
(c) 寫選通方式
(d) 地址有效并寫選通方式
(2)地址有效選通方式:此方式ALE的功能被地址有效選信號ADV取代。一旦外部地址建立起來,ADV變低,直至總線周期結(jié)束才升為高電平,這表明ADV可作為外部存儲器的片選信號。
(3)寫選通方式:8098總線控制器的一個特有功能是利用CCR來選擇WR信號的寬度,顯然,在與靠WR下降沿鎖存數(shù)據(jù)的器件接口時,這一特點非常有用。
(4)地址有效并寫選通方式:此方式ALE引腳出現(xiàn)ADV,WR為窄寬度信號。
4,準(zhǔn)備就緒控制
為簡化就緒控制,8098提供了四種方式的內(nèi)部就緒控制邏輯,可通過CCR.4和CCR.5選擇
內(nèi)部就緒控制邏輯可用來限制慢速器件插入到總線周期中的等待狀態(tài)數(shù)。當(dāng)就緒引腳(READY)被拉成低電平時,總線周期中將插入等待狀態(tài) ,直到READY升為高電平或者到已插入的等待狀態(tài)數(shù)等于CCR.4和CCR.5所限定的數(shù)目為止。兩種情況以先出現(xiàn)者為準(zhǔn)。
提交
查看更多評論
其他資訊
2025中歐綠色建筑工業(yè)化論壇9月北京啟幕 全球智慧共推建筑產(chǎn)業(yè)“雙碳”轉(zhuǎn)型
喜訊!華強電子網(wǎng)榮獲“2025年中國產(chǎn)業(yè)互聯(lián)網(wǎng)創(chuàng)新企業(yè)”
深入實施“人工智能+”行動 浪潮軟件集團看好人工智能+工業(yè)質(zhì)檢廣闊前景,持續(xù)布局線纜行業(yè)智能質(zhì)檢
海爾新增2家卓越級智能工廠,總數(shù)品類行業(yè)雙第一
深度剖析格力打破磁懸浮壓縮機國外壟斷,底氣來自對自主創(chuàng)新的堅守!

投訴建議