❶ 誰幫我找一篇自適應交通燈控制器的設計的論文,是基於單片機的。
基於單片機的交通燈控制系統設計
摘要:十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那麼靠什麼來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈控制方式很多。本系統採用MSC-51系列單片機ATSC51和可編程並行I/O介面晶元8255A為中心器件來設計交通燈控制囂,實現了能根據實際車流量通過8051晶元的P1口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮。倒計時剩5秒時黃燈閃爍警示;車輛闖紅燈報警;綠燈時間可檢測車流量並可通過雙位數碼管顯示。本系統實用性強、操作簡單、擴展功能強。
關鍵詞:單片機;交通燈
單片機技術的發展對社會進步產生了巨大的影響。今天,單片機及其應用技術的發展速度、深度及其廣度,在國防、科學研究、政治經濟、教育文化等方面幾乎無所不及。將之用於交通燈控制系統設計,對於疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。
1、單片機涵義
一台能夠工作的計算機要有這樣幾個部份構成:CPU(進行運算、控制)、RAM(數據存儲)、ROM(程序存儲)、輸入,輸出設備(例如:串列口、並行輸出口等)。在個人計算機上這些部份被分成若干塊晶元,安裝一個稱之為主板的印刷線路板上。而在單片機中,這些部份,全部被做到一塊集成電路晶元中了,所以就際=缸單片(單晶元)機,單片機即微控制器(Microniroller μC)有一些單片機中除了上述部份外,還集成了其它部份如AID,DIA,定時計數器,RTC,各種串列介面等。 2、MSC-51晶元簡介
2.1 MSC-51結構
8051是MCS-51系列單片機的典型產品,8051單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時,計數器、並行介面、串列介面和中斷系統等幾大單元及數據匯流排、地址匯流排和控制匯流排等三大匯流排。
2.2 8255晶元簡介
8255可編程並行介面晶元有三個輸入輸出埠,即A口、B口和c口,對應於引腳PAT—PA0、PB7-PB0和PC7-PC0。其內部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數據埠。c口作為控制或狀態信息的埠,它在方式字的控制下,可以分成4位的埠,每個埠包含一個4位鎖存器。它們分別與埠A/B配合使用,可以用作控制信號輸出或作為狀態信號輸入。
8255有兩種控制命令字;一個是方式選擇控制字;另一個是c口按位置位/復位控制字。
2.3 74LS373簡介
SN74LS373。SN74LS374常用的8d鎖存器。常用作地址鎖存和I/0輸出,可以用74he373代換,74H373是高速CMOS器件,功能與74LS373相同,兩者可以互換。74LS373內有8個相同的D型(三態同相)鎖存器,由兩個控制端(11腳c或EN;1腳OUT、CONT、OE)控制。當OE接地時,若G為高電平,741Ls373接收由PPU輸出的地址信號;如果G為低電平,則將地址信號鎖存。
3、系統硬體
3.1 交通管理的方案論證
東西、南北兩幹道交於一個十字路口,各幹道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行。綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態即將切換,且黃燈燃亮時間為東西、南北兩千道的公共停車時問。設東西道比南北道的車流量。
3.2 系統硬體設計
選用設備8031單片機一片選用設備:8031彈片機一片,8255並行通用介面晶元一片,74LS07兩片,MAX692『看門狗』一片,共陰極的七段數碼管兩個雙向晶閘管若干,7805三端穩壓電源一個,紅、黃、綠交通燈各兩個。開關鍵盤、連線若干。
4、控制器的軟體設計
4.1 每秒鍾的設定
延時方法可以有兩種:一種是利用NCS-51內部定時器才生溢出中斷來確定1秒的時間,另一種是採用軟延時的方法。
4.2 計數器硬體延時
4.2.1 初值計算
定時器工作時必須給計數器送計數器初值,這個值是送到TH和TL中的。他是以加法記數的,並能從全1到全0時自動產生溢出中斷請求。因此,我們可以把計數器記滿為零所需的計數值設定為c和計數初值設定為TC。
4.2.2 1秒的方法
我們採用在主程序中設定一個初值為20的軟體計數器和使TO定時5O毫秒,這樣每當TO到50毫秒時cPu就響應它的溢出中斷請求,進入他的中斷服務子程序。在中斷服務子程序中,cPu先使軟體計數器減1,然後判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。
4.3 計數器軟體延時
MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機的工作頻率為6MHZ。機器周期與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數,這樣我們就可以通過指令的執行條數來確定1秒的時間。
4.4 時間及信號燈的顯示
4.4.1 8051並行口的擴展
8051雖然有4個8位I/0埠,但真正能提供借用的只有Pl口。因為P2和P0口通常用於傳送外部傳送地址和數據,P3口也有它的第二功能。因此,8031通常需要擴展。由於我們用外部輸入設定紅綠燈倒計時初值、數碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個I/0埠,顯然8031的埠是不夠,需要擴展。
擴展的方法有兩種:(1)借用外部RAM地址來擴展I/0埠;(2)採用I/0介面新片來擴充。我們用8255並行介面信片來擴展I/0埠。
4.4.2 8255與8051的連接
用8051的PO口的pO.7連接8255的片選信號,我們用8031的地址採用全解碼方式,當pO.7:0時片選有效,其他無效,pO.1用於選擇8255埠。
5、結 論
本系統就是充分利用了8051和8255晶元的I/O引腳。系統統採用MSC-51系列單片機Intel8051和可編程並行I/0介面晶元8255A為中心器件來設計交通燈控制器,實現了能根據實際車流量通過8031晶元的Pl口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過PA口輸出,顯示時間直接通過8255的PC口輸出至雙位數碼管);車輛闖紅燈報警;綠燈時間可檢測車流量並可通過雙位數碼管顯示。
參考文獻:
[1]張毅剛,新編MCS-51單片機應用系統設計[M]哈爾濱:哈爾濱工業大學出版社,2006
[2]王義軍,單片機原理及應用習題與實驗指導書[M],北京:中國電力出版社,2006
[3]陳明熒8051單片機課程設計實訓教材[M],北京:清華大學出版社。2004
❷ FC(紅白機)的6502主控晶元是干什麼的
FC(紅白機)的cpu不是MOS的6502而是理光的2A03,2A03是個cpu這個cpu是6502內核,並且缺少10進制轉換指令,增加了聲音處理器(APU,PSG)他的功能是輸出5個聲音通道:方波1,方波2,三角波,雜訊波,1bit-DPCM采樣。是通過CPU地址空間4000開始的地址控制。至於顯示處理就是2C02(NTSC)了,也是通過cpu的某段地址空間進行數據交換,具體地址忘記了。2A03當然就是處理游戲程序+音頻輸出,2C02就是處理顯示,輸出視頻信號。我記得以前做過一個實驗,就是把游戲帶斜著插到插槽里,把左邊插進去,右邊插入一點,結果,游戲還能運行,只不過花了屏。這就證明,只要把程序地址線接入系統,程序就能運行,PPU地址線如何。至於你說的顯卡,我認為就是PPU。紅白機和電視有兩種介面。1AV,2RF。RF信號也是通過AV變換來的。而VIDEO信號就是放大了PPU輸出的視頻信號。audio信號就是2a03-apu/psg輸出的音頻信號。你說的3跟線應該是AV信號的3跟線,紅黃白,按顏色插電視就行,就是視頻+左聲道+右聲道。
❸ 計算機組成原理復習題
DABBC
CDAAD
DBABD
DBABD
❹ 脈沖傳輸
1 a
2 b (??好象沒有最准確的)
3 b
4 d
5 b
❺ 為什麼用現代的單片機還是實現不了以前的紅白機那麼好
這個問題,我有點印象,6502不管視頻,它相當於電腦的CPU,負責處理游戲指令。 圖形有另一塊晶元控制,應該是叫PPU。過去的游戲機都是這樣的結構,現在的不知道還是不是了。 過去的紅白機用的好像是射頻RF介面,我記得以前的老電視只有這樣的接..
❻ 當年的Fc《魂斗羅》《瑪麗》是用什麼工具做的。如何反編譯。
匯編和c都可以,這里有個編程器http://pocket.92wy.com/fc_info_33534.html
任夭堂游戲編程探密(文字版)
第一章 任天堂游戲結構概論
長期以來,由於任天堂公司在技術上的封鎖和國內游戲開發工具的久缺.任天堂游戲
蒙上了一層神密的面紗,中國人只能玩任天堂游戲.而不能象蘋果機、中華學習機那樣了解
游戲程序、自己動手編寫游戲。近年來,隨著任夭堂系列游戲機配套鍵盤的問世,逐步創造了
揭開這層面紗的條件.特別是配有列印機介面的「裕興」、「金字塔」等高檔游戲機鍵盤的陸續
推出,用戶僅僅編寫一個簡單的反匯編程序就可列印出系統軟體的源程序,從而為探索任天
堂游戲軟體的奧秘提供了有效的手段。
有人疑問任夭堂游戲機的中央處理器同中華學習機一樣也是八位的CPU.但為什麼
它能夠產生出如此絢麗多彩的動畫、美妙動聽的音響、栩栩如生的角色,其效果遠遠勝過美
國的「雅達利「,更強過中華學習機的游戲呢?究其原因,關鍵在於任天堂游戲機的設計者們
在傳統的八位機上獨具匠心、另闢蹊徑,從硬體上進行了獨創的改造,在軟體上進行了大膽
的嘗試,使一個CPU發揮了兩個CPU的功效,產生了絕妙非凡的藝術效果.從而以物美價
廉的絕對優勢迅速佔領了游戲機市場,掀起了家庭娛樂領域的第三次浪潮。本文擬從分析任
天堂游戲的軟、硬體特點出發,揭開任天堂游戲編程的秘密.以一與廣大同好切磋。
1·1 任天堂游戲機的硬體特點
1·1·1電路原理框圖
任天堂游戲機的硬體共分兩部分:主要部分是游戲機.從屬部分是游戲卡。游戲機提供
游戲的運行環境,游戲卡提供支持游戲的軟體,其電路原理框圖如圖1一1。
上圖中6527 CPU為中央處理器,田於它的任務是處理程序,所以一般把與它相連的部
件加以前綴"P".故CPU的地址匯流排表示為PADD,數據匯流排表示為PDATA,CPU管理的
存儲器表示為PRAM,PROM等。同樣.6528 PPU的任務是處理圖像,所以凡與它相關的部
件均加以前綴「V」。
1·1·2 中央處理器6527 CPU
1.CPU的內部結構
6527 CPU是一個八位單片機,在它的內部除固化有6502系列的CPU外,還有一個
可編程音響發生器PSG(Programable Sound Generator)和24個八位只寫寄存器,其地址空
間分配為$4000-$4017.主要用於CPU的I/O操作,PSG音響發生器的工作就是由這些
寄存器控制完成的.
1·1·4 游戲卡
1、游戲卡的基本組成
普通的單節目游戲卡一般由兩片ROM或EPROM組成,ROM的容量由游戲程序量的
大小決定.最簡單的任天堂游戲為24K,故這種卡內有塊16K的ROM存放程序,一塊
8K的ROM存圖形字模(目前有軟封裝的IC,它把兩塊ROM封在一起)。典型的任天堂
游戲程序量為40K,它使用一塊32K的ROM存程序、一塊8K的ROM存字模。當程序量大
於40K時則要對ROM進行容量擴充.
2、游戲卡各腳的功能
游戲卡是一60腳的接插件,各腳功能見圖1一4。
3、常用 ROM引腳功能簡介
游戲卡中常用ROM或EPROM的型號有27C64(8 X 8K)、27C128(8X l6K)、27C256(8
X 32K), 27C512 (8 X 64 K ), 27C1000 (8 X 128K),或後綴數字相同而前綴不同的其它公
司產品,盒卡中還有2兆位(8 x 256K)至8兆位(8X 1000K)的晶元。其中27C64~27C512為28
腳的晶元,27C1000或更大容量的晶元為32腳(個別的27C1000仍為28腳,它使用了OE.
CE中的一個腳作為地址線).
1·2 任夭堂游戲軟體的特點
目前流行的任夭堂游戲軟體有數百種,內容已涉及及到政治、經濟、軍事、戰爭、教育、管
理、體育、娛樂等各個領域.可以說任天堂游戲已兼顧了男、女、老、中、青、少、幼各個年齡階
層,深受世界各國人民所喜愛。也許這就是它迅速普及的主要原因。但是,任天堂游戲盡管
內容千變萬化、情節各異,其軟體結構和處理方法則是基本相同的,它們有著共同的特點。
1·2·1 任天堂游戲的軟體結構
歸納起來,任天堂游戲軟體結構可分為兩大類:基本結構和擴展結構.
一、基本結構
基本的任夭堂游戲軟體容分為40K位元組(標准卡標注為LB)。典型游戲如,《1942》、《超
級瑪麗》、《拆屋工》等.其中32k為游戲控製程序,供CPU執行;8K為圖形字模,由PPU處
理。另外還有一種低配置結構,軟體容量為24K{標注為LA),這是一種早期軟體。其中控制
程序為16K;字模為8K。典型游戲有《火箭車》、《馬戲團》、《金塊Ⅰ、Ⅱ》等。
40K軟體的控製程序存放地址在CPU管理的$8000一$FFFF空間;字模地址在PPU
管理的$0000-$1FFF空間。16K軟體的控製程序存放地址為$C000-$FFFF;字模地
址也是$0000一$1FFF。
二、擴展結構
容量在40K以上的軟體均為擴展結構。它們在基本結構的基礎上或者擴展控製程序
區、或者擴展字模區。擴展方法是在某段地址范圍進行空間存儲體切換。一般程序區在
$8000-$BFFF空間切換;字模區在$0000-$1FFF空間切換。切換種類以軟體容量的
大小略有不同:
對於48K卡(標注為LC〕,其程序部分為32K;宇模部分為16K,分兩個8K存儲體.
典型游戲有《七寶奇謀》、《影子傳說》等。
通常把24k-48K容量的游戲卡稱為低檔卡或低檔游戲。
對於64K卡(標注為LD)有兩種結構:一種是其程序部分為32K;字模部分為32x,分
為四個8K存儲體.典型游戲有《迷宮組曲》,《智慧城》、《沙羅曼蛇一代》、《北斗神拳一代》
等;第二種則是程序與字模共用64k,分為四個存儲體.典型游戲有《米老鼠大冒險》、《冒險
島》、《俄羅斯方塊1、2》等。
80K的游戲不多(標注為LE),常見的有《中國拳》、《金牌瑪麗》等。其程序部分為48K,
前32K分為兩個16k存儲體;字模部分為32k,分為四個8k存儲體。
通常稱64k、80K的游戲為中檔卡。
對於128K卡(標注為LF),其程序部分與字模部分棍合共用128k,分為八個16K存儲
體,其中前七個存儲體地址映射於$8000-$BFFF:最後一個存儲體(稱為HOME BANK)
映射於$0000一$FFFF,典型游戲有《魔界村》、《怒》、《火之鳥方》、《未來戰士》、《洛克人》、
《1943》 《1944 》《嵌特殊部隊》、《沖撞霹靂機車》等。
這類游戲卡中一般都配有一塊8K的RAM(動態隨機存儲器〕存儲當前使用的字模。
對於160k卡(標注為LG),其程序部分為128K;字模部分為32K。典型游戲有《倚天屠
龍記》、《立體大賽車》、《歡樂叮當》等。
對於256K卡(標注為LH),其程序部分為128K;字模部分為128K。典型游戲有《柯拉
米世界》、《惡魔城》、《雙截龍》、《松鼠歷險記》《人間兵器》、《聯合大作戰)等。另外,還有《魂
斗羅》、《赤色要塞》、《綠色兵團》、《立體籃球》《荒野大鏢客》等256K游戲被壓縮為128K游
戲,目前這類游戲的256K版已不多見,常見的均為128K的壓縮版;
通常稱128K一256K容量的游戲為高檔卡或強卡。
對於高於256K容是的游戲則稱為特卡,如《不動明王傳》,《戰斧》、《孔雀王》,《大旋風》
等游戲容量已達2M-4M。但由於任天堂系列游戲機的CPU的處理速度、畫面的解析度、音
域音色等方面的限制,即使軟體容量再增大,游戲效果也不會提高多少.總達不到街機的水
平,故目前單個游戲的容量大於256K的尚不多見。
1·3 任天堂游戲的圖像處理方法
本節簡要介紹任天堂游戲的圖像處理方法。
1·3·1屏幕顯示原理
任天堂游戲機中的CPU雖然仍屬65系列的CPU,但它的顯示方式與中華學習機截然
不同。其顯示屏幕由三類四層顯示頁面鉤成。三類顯示頁依次為:卡通(角色或動畫)頁、背
景頁、底背景頁。卡通頁用於顯示游戲中的角色,它有兩個頁面:卡通零頁——使角色顯示於
背景之前;卡通一頁——使角色顯示於背景之後。卡通員的顯示解析度為256x240點,卡通
可以點為單位移動。背景頁主要用於游戲畫面的顯示,它共有四個顯示頁面,每頁的兩邊互
相相連並排成「田」字,採取字元顯示方式,顯示解析度為32列* 30行,每幅畫面由$60個
圖形塊構成,游戲中可任取一個頁面顯示。底背景頁主要用於大面積的單色顯示,以襯托出
蘭天、草地、沙漠、大海等效果,顯示解析度為1x1。 四層顯示頁的排列由前向後依次為:卡
通零頁、背景頁、卡通一頁、底背景頁(見圖1一6)。系統默認的排列方式為背景00頁與卡通
賈、底背景頁四層頁面重疊,前面顯示頁的內容可以遮住後面顯示頁的內容,因而很容易構
成具有一定景深次序的立體畫面。
1·3·2背景處理技術
任天堂游戲中的背景畫面顯示採用字元方式,每個字元通常稱為背景圖形塊。每個圖
形塊為8*8點陣,其字模數據存放在由PPU管理的一段內存中,稱為背景字型檔,一般使用
$1000一$1FFF地址,共4K位元組.每個字模由連續的16個單元組成,故一次最多可定義
256個字元,序號依次為0~255.顯示字元時,只要把字元序號置入屏幕對應的顯示單元中
即可。
任關堂游戲中的背景處理由PPU獨立完成,每一個背景頁面對應PPU的1024個單
元,為順序對應關系。背景00頁對應PPU地址為$2000--$23FF,其中$2000一$23BF
對應於960個圖形顯示單元,$23C0--23FF為該顯示頁的配色單元;背景10頁對應的
PPU地址為$2400一$27FF;同樣,後面的兩頁依次對應$2800---$2BFF、$2C00
$2FFF。由於游戲機中只有一塊2K的VRAM(PPU使用的RAM),故一般只使用前兩個
頁面,通常稱其為背景零頁和背景一頁。游戲中可通過設置軟開關的方法控制畫面的橫、縱
向,以使兩幅面面橫向並列或縱向銜接。
在實際游戲中,要經常用到背景畫面的橫向卷動和縱向滾動。如(魂斗羅,游戲中的卻
一、五、六、七、八關是橫向卷動,第三關則是縱向滾動。這些畫面位移效果是如何實現的呢?
我們知道,中華學習機中的畫面位移是通過反復改寫顯示映射單元的內容而實現的,這種方
法處理速度慢、控製程序冗長。任天堂則採取了截然不同的方法。它通過硬體的待殊處理,
引入了顯示窗口的概念。畫面位移時,每個顯示單元的內容不變,而令顯示窗口向相反的方
向移動,從而實現了畫面的橫向卷動和縱向滾動。如《魂斗羅》中第一關橫向卷動的控制方法
是.令兩個背景頁橫向銜接,游戲開始時,背景零頁繪滿32列,而背景一頁僅繪制12列,令
顯示窗口對正零頁,當游戲中的角色前進到畫面右邊的一定位置時,則令顯示窗口右移一
格,同時繪制一頁的第13列;這樣,顯示窗口每右移一格,畫面繪制一列,從而使游戲畫面連
綿不絕,每移出一頁畫面(32列)令頁數計數器加一,當累計到一定頁數時則令窗口不再移
動,進行關底處理。這一畫面的位移控制極為簡單,僅通過向位移軟開關$2005置入移位數
據就可實現。F BASIC的控製程序為:
POKE &H2005,x:POKE &H2005,0
x為位移參數。其機器語言的控製程序為:
LDA x
STA $ 2005
LDA #$00
STA $ 2005
畫面的縱向位移則更為簡單,如《魂斗羅》的第三關——瀑布天險是一個縱版畫面,角色要從
最底層跳升到最頂層與關底魔頭決斗,游戲進程中畫面隨看角色的跳躍不停的上滾。實際--
這一位移過程是在一頁面面中進行的,控制方法是,每當角色前進到畫面上方某一位置時,
改寫畫面最底行的圖形數據,使其為即將移入畫面的一行.然後令顯示窗口向上移一格,由
於窗口是在一個顯示頁上移動,故最底行即是最頂行(這時可把一頁面面理解為上、下邊連
接的圓筒,顯示窗口是套在畫面圓筒外面稍大的一個圓筒,窗口移動一格就是向上旋轉一
格)。F BASIC控製程序為,
POKE &H2005,0:POKE &H2005,Y
Y為位移參數。相應的機器語言程序為,
LDA #$00
STA $2005
LDA Y
STA $2005
以上畫面的送效、位移操作都是在CPU響應非屏蔽中斷期間完成的(非屏蔽中斷是在
電視機的場回掃期間發出和響應的,這時的電視屏是黑的),所以我們感覺佈道位移的痕跡。
關於任天堂游戲中背景畫面的繪制 移動及畫面的分裂位移和扭曲等效果的實現,將在第六章詳細討論。
1·3·3動畫處理技術
組成任天堂游戲中動畫的最小單位是卡通塊,每個卡通塊為8X8點陣.與一個字元同
樣大小。卡通塊也有一個圖形字型檔,對應的PPU地址為$0000-$OFFF。每個個卡通塊的字
模數據也由連續的16個單元組成,故一次最多可定義256個卡通塊,序號依次為0-255
6527CPU規定.在一幅畫面上只允許同時顯示64個8x8點陣的卡通塊〔這是由PPU
內卡通定義區的RAM分配決定的〕,如《超級瑪麗》中,瑪麗在吃紅蘑菇之前為16x16點
陣大小(即由4個卡通塊組成),當吃了紅蘑菇之後身體長大一倍,變為32X 32點陣(即由
16個卡通塊組成〕的卡通。但實際游戲中要求顯示的卡通塊數往往遠遠超過這一限制,如目
前較流行的打鬥游戲《街霸》中,一個卡通即為128*64點陣(由128個卡通塊組成)有時還
更大,這是怎麼實現的呢?
原來在實際游戲中,對卡通進行了分時控制。所謂分時控制就是在不同的時間里顯示半
通的不同部分,依靠人眼的視覺惰性產生連續的感覺。如《魂斗羅》游戲中的卡通顯示(兩個
正面角色、敵人、發射的子彈、暗堡的閉合與開啟都是卡通)就是每一次中斷顯示卡通的二分
之一實現的。
卡通的定義操作極其簡單,系統規定一個卡通塊由連續的四個內存單元定義,第一寸
單元指定卡通顯示的Y坐標、第二個為卡通塊在字型檔中的序號、第三個為卡通塊的顯示狀
態〔配色組合、左右翻轉、上下顛倒以及顯示於那個卡通頁面,,第四個為顯示的X坐標。編
程中可任意指定定義卡通的內存頁面(一般選二頁或三頁,即$200一$2FF, $300
$3FF)。
關於任天堂游戲中的卡通的定義及運動控制將在第七章討論。
1·4 任天堂游戲的音響處理
在大部分任天堂游戲的過程始、終,一直伴奏著和諧動聽的背景音樂;隨岩游戲的進行
和角色的動作還不時發出逼真的效果音響,而且這些音響的發出與背景的移動、角色的運動
三者並行工作,互不幹擾,許多朋友玩過中華機上的游戲,如《警察抓小偷》《富士山決戰》
等,這些游戲中的音響發出與角色的動作是不能同時進行的,即角色動作時沒有音響;發出
音響時角色的動作要停下來.任天堂游戲中的音響處理確有獨到之處.由於在6527 CPU內
固化有可編程音響發生器,所以音響控製程序特別簡潔,任天堂游戲的發聲系統由五個聲部
組成,對應於CPU管理的$40DO——$4013二十個單元,每個聲部使用四個單元,它們的作
用依次為音色音量、音形包絡、音調細調、音調粗調。第一、二、三聲部可進行和聲旋律演奏,
也可以選取任一聲部發出效果音,如執行F BASIC程序
POKE &H4015,1:POKE &H4000. 255,255,255,255
就可發出長達三分鍾的頻率由低到高的警報聲。第四聲部可以模仿連續不斷的雜訊,如風
聲 雨聲 鍾生 腳步聲 火車聲等等 第五聲部則可模仿出人的講話聲。任天堂游戲中
背景音樂一般都是使用前三個聲部演奏的,演奏程序也是放在中斷中處理的.五個聲部的發
聲總開關由$4015控制,$4015的D0——D4位依次控制翻第一至第五聲部的工作狀態,置
0關閉、置1開啟。
❼ 紅白機上的CPU,UA6527P,UA6527,HA6527,都啥區別
按照單片機的命名規范,UA6527和HA6527是可以完全代換的,只是生產廠家不同,UA6527P和UA6527是同一家廠商生產,但是UA6527是NTSC制式,UA6527P是PAL制式,兩者代換可能出現問題
❽ 判斷題:CPU與介面交換數據的方式中,查詢方式花費CPU的時間最多
方法1: 她先給孩子甲一塊糖,盯著甲吃完,然後再給第二塊,等吃完第二塊又給第 三 塊,吃完第三塊又給第四塊。接著給孩子乙,其過程與孩子甲完全一樣。依次類推 ,直至到 第10個孩子發完四塊糖。看來這種方法效率太低,重要之點還在於孩子們吃 糖時她一直在守 候,什麼事也不能幹。
方法2: 每人發一塊糖各自去吃,並約定誰吃完後就 向她舉手報告,再發第二塊。看 來這種新方法提高了工作效率,而且在未接到孩子們吃完糖 的 報告以前,她還可以 騰出時間給孩子們改作業。但是這種方法還可以改進。
方法3: 進行批處理:每人拿4塊糖各自去吃,吃完4塊糖後再向她報告。顯然這種方 法工作 效率大大提高,她可以騰出更多的時間改作業。
方法4: 權力下放,把發糖的事交給另一個人分管,只是必要時她才過問一下。
在計算機系統中,CPU管理外圍設備也有幾種類似的方式:
1 程序查詢方式 程序查詢方式是早期計算機中使用的一種方式。數據在CPU和外圍設備之間的傳送 完全靠計算機程序控制,查詢方式的優點是CPU的操作和外圍設備的操作能夠同步,而 且硬體結構比較簡單。但問題是,外圍設備動作很慢,程序進入查詢循環時將白白浪 費掉CPU很多時間。這種情況同上述例子中第一種方法相仿,CPU此時只能等待,不能 處理其他業務。即使CPU採用定期地由主程序轉向查詢設備狀態的子程序進行掃描輪詢 的辦法,CPU寶貴資源的浪費也是可觀的。因此當前除單片機外,很少使用程序查詢方 式。
2 程序中斷方式 中斷是外圍設備用來「主動」通知CPU,准備送出輸入數據或接收輸出數據的一種 方法。通常,當一個中斷發生時,CPU暫停它的現行程序,而轉向中斷處理程序,從而 可以輸入或輸出一個數據。當中斷處理完畢後,CPU又返回到它原來的任務,並從它停 止的地方開始執行程序。這種方式和我們前述例子的第二種方法相類似。可以看出, 它節省了CPU寶貴的時間,是管理I/O操作的一個比較有效的方法。中斷方式一般適用 於隨機出現的服務,並且一旦提出要求,應立即進行。同程序查詢方式相比,硬體結 構相對復雜一些,服務開銷時間較大。
3 直接內存訪問(DMA)方式 用中斷方式交換數據時,每處理一次I/O交換,約需幾十微秒到幾百微秒。對於一 些高速的外圍設備,以及成組交換數據的情況,仍然顯得速度太慢。直接內存訪問 (DMA)方式是一種完全由硬體執行I/O交換的工作方式。這種方式既考慮到中斷響應, 同時又要節約中斷開銷。此時,DMA控制器從CPU完全接管對匯流排的控制,數據交換不 經過CPU,而直接在內存和外圍設備之間進行,以高速傳送數據。這種方式和前述例子 的第三種方法相仿,主要優點是數據傳送速度很高,傳送速率僅受到內存訪問時間的 限制。與中斷方式相比,需要更多的硬體。DMA方式適用於內存和高速外圍設備之間大 批數據交換的場合。
4 通道方式 DMA方式的出現已經減輕了CPU對I/O操作的控制,使得CPU的效率有顯著的提高, 而通道的出現則進一步提高了CPU的效率。這是因為,CPU將部分權力下放給通道。通 道是一個具有特殊功能的處理器,某些應用中稱為輸入輸出處理器(IOP),它可以實現 對外圍設備的統一管理和外圍設備與內存之間的數據傳送。這種方式與前述例子的第 四種方法相仿,大大提高了CPU的工作效率。然而這種提高CPU效率的辦法是以花費更 多硬體為代價的。
5 外圍處理機(PPU)方式 外圍處理機(PPU)方式是通道方式的進一步發展。由於PPU基本上獨立於主機工作 ,它的結構更接近一般處理機,甚至就是微小型計算機。在一些系統中,設置了多台 PPU,分別承擔I/O控制、通信、維護診斷等任務。從某種意義上說,這種系統已變成 分布式的多機系統。
綜上所述,程序查詢方式和程序中斷方式適用於數據傳輸率比較低的外圍設備,而DMA方式、 通道方式 和PPU方式適用於數據傳輸率比較高的設備。目前,單片機和微型機中多采 用程序查詢方式、程序中斷方式和DMA方式。通道方式和PPU方式大都用在中、大型計 算機中。 總結:單片機多數用程序查詢方式;微機則用中斷和DMA方式;大中型計算機採用通道 方式和PPU方式。