占空比可調(diào)的脈沖發(fā)生器_第1頁
占空比可調(diào)的脈沖發(fā)生器_第2頁
占空比可調(diào)的脈沖發(fā)生器_第3頁
占空比可調(diào)的脈沖發(fā)生器_第4頁
占空比可調(diào)的脈沖發(fā)生器_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、沈陽航空航天大學課 程 設 計 報 告課程設計名稱:微機系統(tǒng)綜合課程設計課程設計題目:占空比可調(diào)的脈沖發(fā)生器院(系):計算機學院專 業(yè):計算機科學與技術(shù)班 級:學 號:姓 名:指導教師:張維君完成日期:2012年7月15日目 錄第1章 總體設計方案11.1課程設計的內(nèi)容和要求11.2 課程設計原理11.3 方案設計11.4 方案論證21.5設計環(huán)境2第2章 詳細設計方案32.1 模塊設計32.2 程序流程圖42.3 硬件連線圖6第3章 調(diào)試及結(jié)果分析73.1 調(diào)試步驟及方法73.2 實驗結(jié)果73.3 結(jié)果分析8參考文獻9附 錄(源程序)10第1章 總體設計方案1.1課程設計的內(nèi)容和要求一、課程

2、設計內(nèi)容:具體內(nèi)容如下:1. 用8255和8253產(chǎn)生脈寬可調(diào)的脈沖信號;2. 用實驗箱上鍵盤中的兩個按鍵調(diào)節(jié)脈沖;3. 按脈寬增加鍵脈寬逐漸增大,按脈寬減小鍵脈寬逐漸減小;二、課程設計要求:1. 認真查閱相關(guān)資料;2. 獨立設計、調(diào)試并通過指導教師現(xiàn)場驗收;3. 撰寫課程設計報告。1.2 課程設計原理根據(jù)課設要求,要實現(xiàn)通過鍵盤按鍵調(diào)節(jié)脈寬的脈沖信號發(fā)生器。本次設計中主要使用了8259可編程中斷控制器,8255可編程并行接口芯片,8279鍵盤/顯示芯片,8253定時/計數(shù)器以及部分連線來實現(xiàn)以上功能。利用8253芯片產(chǎn)生一定頻率的脈沖信號,并用8255芯片以程序查詢方式,檢測該信號上高、低電

3、平的持續(xù)時間,還要利用8259芯片的中斷信號掃描信號,通過改變高電平的持續(xù)時間來調(diào)節(jié)占空比。最后,應用8279芯片將結(jié)果顯示到數(shù)碼管上。1.3 方案設計根據(jù)本次課程設計要求,用8253芯片計數(shù)器0產(chǎn)生低頻率的方波信號,然后疊加一個矩形波,使之成為一個改變分頻就可以改變占空比的矩形波。再將該矩形波作為計數(shù)器1產(chǎn)生的輸入信號,使計數(shù)器1產(chǎn)生脈寬可調(diào)的脈沖信號,并把該脈沖信號接到8255的一個引腳(PB0),運用程序查詢方式循環(huán)檢測這個引腳高、低電平持續(xù)時間。利用芯片8259的中斷功能循環(huán)掃描芯片8253計數(shù)器1的分頻數(shù),通過分頻數(shù)計算占空比的值。在BX中存放分頻數(shù) NUM,在CX中存放(NUM-1

4、)。然后,將BX中的數(shù)擴大100倍,再除以CX中的值,以此來計算出被擴大100倍后的占空比;接下來就是顯示正確的占空比,將前面得到的準占空比除以10,再將AH中的結(jié)果存到CH中,將AL中的結(jié)果存到CL中,最后,由8279芯片將最終結(jié)果顯示到數(shù)碼管上。1.4 方案論證通過仔細閱讀課程設計任務書,對本次課程設計所要完成的題目和要求要充分理解,從以下兩方面進行方案論證。u 對預設使用的芯片進行論證8253可編程定時/計數(shù)器的功能:一是作為計數(shù)器,即在設置好計數(shù)初值后,便開始對外部脈沖作減1操作,當減為0時,輸出一個信號;二是作為定時器,在設置好定時參數(shù)后,便開始對外部信號作減1操作,并按定時常數(shù)不斷

5、地輸出為時鐘周期整數(shù)倍的定時間隔。8255A是可編程并行輸入輸出接口芯片,具有三個8位并行端口,40個引腳,雙列直插式封裝。有三種輸入輸出方式,用于輸出給定信號。8259A是可編程中斷控制器芯片,用于管理和控制80x86的外部中斷請求,坑人可實現(xiàn)中斷優(yōu)先級判定,提供中斷信號,屏蔽中斷輸入等功能。8279是可編程鍵盤/顯示接口芯片。它的功能主要包括鍵盤輸入和顯示控制部分,其中鍵盤部分提供掃描功能。顯示部分則是提供掃描方式的顯示接口,可與8位或16位LED數(shù)碼管連接構(gòu)成。u 對預設計的程序進行論證用小燈測試8253芯片產(chǎn)生的脈沖信號的頻率,已達到設計中所要求的低頻率信號。逐步測試數(shù)據(jù)采集模塊,計算

6、占空比模塊,顯示模塊。經(jīng)過認真仔細論證,證明所提出的方案切實可行。1.5設計環(huán)境軟件環(huán)境:LCT88EA應有軟件、Win2000、PC機硬件環(huán)境:AEDK實驗箱第2章 詳細設計方案2.1 模塊設計1. 主模塊:在主程序中,主要實現(xiàn)各個芯片的初始化,將8253芯片的計數(shù)器0設置為工作方式3,低8位讀寫,二進制計數(shù)方式,使其輸出方波在與一個矩形波疊加產(chǎn)生新的矩形波。,再將該矩形波作為計時器1的輸入信號,并將計數(shù)器1設置為工作方式2,低8位讀寫,十進制計數(shù)方式,使計數(shù)器1產(chǎn)生低頻率符合要求的脈沖信號;2. 數(shù)據(jù)結(jié)構(gòu)部分:用BX寄存器存儲當前的分頻數(shù),用CX寄存器存儲當前分頻數(shù)減一數(shù)。在內(nèi)存中開辟了一

7、個字節(jié)空間DISBUF,用來存放每種模式所要顯示的結(jié)果在TAB表中的編碼,在中斷服務程序中通過按照這個空間中的8個編碼查表顯示數(shù)碼管上所要顯示的結(jié)果。3. 數(shù)據(jù)采集模塊:采用程序查詢方式,循環(huán)檢測8253芯片計數(shù)器1的分頻狀態(tài)。記錄當前分頻數(shù)NUM,并保存到BX寄存器。4. 計算占空比模塊:將BX中的數(shù)減一得到的數(shù)存入CX中,然后,將BX中的數(shù)乘以100,再除以CX中的值,以此來計算出被擴大100倍后的占空比;接下來就是顯示正確的占空比,將前面的到的準占空比除以10,再將AH中的結(jié)果存到CH中,將AL中的結(jié)果存到CL中。5. 顯示模塊:根據(jù)CH、CL中的值,由8279芯片查表后將對應的數(shù)據(jù)顯示

8、到數(shù)碼管上,以得到最后的正確結(jié)果。2.2 程序流程圖本次設計的主流程圖如圖所示;采集數(shù)據(jù)模塊流程圖如圖2.2.2所示;計算占空比模塊流程圖如圖所示;顯示占空比模塊流程圖如圖2.2.4所示。 圖 占空比測量的主流程圖 圖 數(shù)據(jù)采集模塊流程圖 圖2.2.3 計算占空比模塊流程圖圖 顯示模塊流程圖2.3 硬件連線圖本次設計用到四個芯片,分別是8259可編程中斷控制器,8255可編程并行接口芯片,8279鍵盤/顯示芯片,8253定時/計數(shù)器。其中8255芯片的A、B、C端口及控制端口的地址為分別為200H,201H,202H,203H;鍵盤/顯示芯片8279的數(shù)據(jù)端口地址為210H,控制端口地址為21

9、2H;定時/計數(shù)器芯片8253的端口地址為228-22BH。芯片8259的端口地址為220H具體連接情況如圖2.2所示。圖2.2 硬件連線圖 第3章 調(diào)試及結(jié)果分析3.1 調(diào)試步驟及方法在開始的時候,每次都沒有結(jié)果顯示。于是通過單步調(diào)試,通過查看各個寄存器中的值,來驗證各模塊是否正常跳轉(zhuǎn)以及模塊的正確性。結(jié)果,在數(shù)據(jù)中斷中沒有中斷產(chǎn)生。經(jīng)過調(diào)試,可以正常顯示預定的占空比的值,但是無法對占空比進行調(diào)節(jié)。經(jīng)過思考發(fā)現(xiàn),問題出在數(shù)據(jù)顯示模塊,每次顯示完第一次預定的值以后沒有對數(shù)碼管進行清空,所以顯示出現(xiàn)問題。之后,修改程序,在每次顯示之前對數(shù)碼管進行清空操作。問題得到解決。進一步修改,在計算模塊中,

10、將BX寄存器中的值乘以100后得到的結(jié)果存到AX寄存器中,用DX:AX做被除數(shù),防止因BX中數(shù)值過大而使AL寄存器產(chǎn)生溢出而得到的不正確的結(jié)果。修改后,再次測試,則可以得到穩(wěn)定而且正確的結(jié)果,誤差很小。3.2 實驗結(jié)果本設計已經(jīng)基本滿足任務書的要求。現(xiàn)將結(jié)果簡單介紹如下:1. 當將計數(shù)器1的初值賦為5,即產(chǎn)生五分頻的脈沖信號時,數(shù)碼管顯示結(jié)果為0.80;2. 當按下實驗箱上的”+”時,顯示的占空比值增加,向1逼近。3. 當按下實驗箱上的”-”時,顯示的占空比值減小。向0.5逼近。3.3 結(jié)果分析由實驗結(jié)果可知,由8253產(chǎn)生的方波最小的占空比的值為0.5。方波和矩形波疊加之后應該可以產(chǎn)生占空比

11、小于0.5的值,但是此程序沒有實現(xiàn)這個功能,有待提高。參考文獻1 龔尚福.微機原理與接口技術(shù)M.西安:西安電子科技大學出版社,20032 王忠民.微型計算機原理M. 西安:西安電子科技大學出版社,20033 沈美明,溫冬嬋. IBM-PC匯編語言程序設計M.北京:清華大學出版,2001附 錄(源程序)TIM_CTLEQU 22bHTIMER0EQU 228HTIMER1EQU 229HTIMER2EQU 22AHPC8255EQU 203HPC8255CEQU 202HPC8255B EQU 201HZ8279EQU 212HD8279EQU 210HLEDMODEQU 00H ;左邊輸入,八

12、位顯示外部譯碼八位顯示CODE SEGMENTASSUMECS:CODESTART: JMP S NUM DB 5S: cli MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0c2H OUT DX,AL CALL INIT8253 CALL INIT8259 MOV DX,TIM_CTL MOV AL,00010110B ;計數(shù)器0,低8位讀寫,工作方式3,二進制 OUT DX,AL MOV AL,00000101B MOV DX,TIMER0 OUT DX,AL MOV DX,TIM_CTL MOV AL,01010101B ;計數(shù)器1,低8位讀寫,工作方式2,十進制 OUT

13、 DX,AL MOV AL,NUM MOV DX,TIMER1 OUT DX,AL MOVDX,PC8255 MOVAL,10000010B ;A方式0,輸出 B方式0,輸入 C輸出 OUTDX,AL MOVDX,PC8255B MOVBX,0 MOVCX,0 CALL DISPLAY mov dx,223h out dx,al mov al,30h out dx,al STI JMP $A1: NOP JMP A1INIT8259: MOV AL,13H MOV DX,220H OUT DX,AL MOV DX,221H MOV AL,30H OUT DX,AL MOV AL,03 OUT

14、DX,AL MOV AL,0FEH ;ocw1 OUT DX,AL IN AL,DX MOVAX,0 MOVDS,AX MOVSI,30H*4 MOVAX,OFFSET INTR1 MOVSI,AX MOVAX,CS MOVSI+2,AX retINIT8253: push AX MOV DX,TIM_CTL MOVAL,00010110B ;計數(shù)器0,低8位讀寫,工作方式2,二進制 OUTDX,AL MOVAL,00000101B MOVDX,TIMER0 OUTDX,AL MOV AL,10110101B MOV DX,TIM_CTL OUT DX,AL MOV AX,6144 MOV D

15、X,TIMER2 OUT DX,AL MOV AL,AH OUT DX,AL POP AX RET intr1: call readkey CMP AL,12H ;是減小 JE down CMP AL,13H JE upiretDOWN: JMP AUP: INC NUM INC NUM JMP A RETA: MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0c2H OUT DX,AL CALL DISPLAYIRETreadkey: MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0C2H OUT DX,AL WAIIT: NOP MOV AX,0 IN AL,

16、DX MOV BL,AL AND AL,80H CMP AL,80H JE WAIIT ;FIFO正在清除期間則跳轉(zhuǎn)等待 MOV AL,BL AND AL,0FH CMP AL,00H JE WAIIT ;無鍵按下則等待 MOV DX,Z8279 MOV AL,82H ;置 讀FIFO RAM命令字 OUT DX,AL MOV DX,D8279 ;讀入FIFO RAM內(nèi)容 IN AL,DX ret DISPLAY: MOV CX,00H MOV BX,00H MOV DX,0 MOV CL,NUM DEC NUM MOV BL,NUMMOVAX,100 MULBX DIVCX MOVCL,10

17、 DIVCL MOVCH,AH ;個位 MOVCL,AL ;十位 PUSH CSPOP DS MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0C2H OUT DX,AL MOV DX,Z8279MOV AL,LEDMODOUT DX,ALMOV AL,90HOUT DX,AL MOVAL,CHLEABX,LEDXLAT MOVDX,D8279 OUTDX,AL ;顯示個位 MOVAL,CL LEABX,LEDXLAT MOVDX,D8279 OUTDX,AL ;顯示十位 MOVAL,10111111b MOVDX,D8279OUT DX,AL ;顯示小數(shù)點RETLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39HDB 5EH,79H,71H CODE ENDSEND START 課程設計總結(jié):上個學期的微機原理課程結(jié)束以后,對所學的知識朦朦朧朧,缺乏實踐的考驗。通過本次課程設計,我對微機原理的理論知識有了更加深刻的理解,增強了動手能力。對所學的各芯片,尤其是8259,8253,8255, 8279這四個芯片的結(jié)構(gòu)、功能和使用方法有了更加清晰的認識。通過編寫和調(diào)試程序,我也進一步熟悉了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論