微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址. 對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止. 8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536. MOV AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數初值為0 OUT 42H,AL ;將計數初值的低字節送入計數器2 OUT 42H,AL ;將計數初值的高字節送入計數器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節,后寫高字節 ;方式3,二進制計數OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數高位MOV AX, 35DEH ;被除數低位 DIV ID ;求計數初值n,結果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內容MOV AH, AL ;保護B口的原狀態OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發聲
上傳時間: 2013-10-17
上傳用戶:sunjet
微機原理多媒體教材:
上傳時間: 2013-11-03
上傳用戶:l銀幕海
《DSP集成開發環境CCS開發指南》教材,簡體中文.part1
上傳時間: 2013-11-23
上傳用戶:破曉sunshine
本書是介紹Verilog HDL入門的教材,希望對各位朋友有用
上傳時間: 2014-01-07
上傳用戶:xiaozhiqban
2008年,我參加了幾次可編程器件供應商舉辦的技術研討會,讓我留下深刻印象的是參加這些研討會的工程師人數之多,簡直可以用爆滿來形容,很多工程師聚精會神地全天聽講,很少出現吃完午飯就閃人的現象,而且工程師們對研討會上展出的基于可編程器件的通信、消費電子、醫療電子、工業等解決方案也有濃厚的興趣,這和其他器件研討會形成了鮮明的對比。 Garnter和iSuppli公布的數據顯示:2008年,全球半導體整體銷售出現25年以來首次萎縮現象,但是,可編程器件卻還在保持了增長,預計2008年可編程邏輯器件(PLD)市場銷售額增長7.6%,可編程器件的領頭羊美國供應商賽靈思公司2008年營業收入預計升6.5%!在全球經濟危機的背景下,這是非常驕人的業績!也足見可編程器件在應用領域的熱度沒有受到經濟危機的影響!這可能也解釋了為什么那么多工程師對可編程器件感興趣吧。 在與工程師的交流中,我發現,很多工程師非常需要普及以FPGA為代表的可編程器件的應用開發知識,也有很多工程師苦于進階無門,缺乏專業、權威性的指導,在Google上搜索后,我發現很少有幫助工程師設計的FPGA電子書,即使有也只是介紹一些概念性的基礎知識,缺乏實用性和系統性,于是,我萌生了出版一本指導工程師FPGA應用開發電子書的想法,而且這個電子書要突出實用性,讓大家都可以免費下載,并提供許多技巧和資源信息,很高興美國賽靈思公司對這個想法給予了大力支持,賽靈思公司亞太區市場經理張俊偉小姐和高級產品經理梁曉明先生對電子書提出了寶貴的意見,并提供了大量FPGA設計資源,也介紹了一些FPGA設計高手參與了電子書的編撰,很短的時間內,一個電子書項目團隊組建起來,北京郵電大學的研究生田耘先生和賽靈思公司上海辦事處的蘇同麒先生等人都參與了電子書的編寫,他們是有豐富設計經驗的高手,在大家的共同努力下,這本凝結著智慧的FPGA電子書終于和大家見面了!我希望這本電子書可以成為對FPGA有興趣或正在使用FPGA進行開發的工程師的手頭設計寶典之一,也希望這個電子書可以對工程師們學習FPGA開發和進階有實用的幫助!如果可能,未來我們還將出版后續版本!
上傳時間: 2013-10-21
上傳用戶:copu
J-Link V8個人使用經驗寫成的用戶手冊
上傳時間: 2013-10-07
上傳用戶:hulee
CDMA擴頻原理_培訓教材,簡單介紹CDMA原理。比較通俗的那種,避免復雜數學運算??破招再|的。
上傳時間: 2014-12-29
上傳用戶:66666
教你如何制作一個J-Link V8仿真器! 已經成功!
上傳時間: 2013-10-15
上傳用戶:truth12
愛立信WCDMA培訓教材
上傳時間: 2013-11-10
上傳用戶:gxy670166755
華為七號信令系統教材
上傳時間: 2013-11-18
上傳用戶:Ants