三角波發(fā)生器設(shè)計報告.doc_第1頁
三角波發(fā)生器設(shè)計報告.doc_第2頁
三角波發(fā)生器設(shè)計報告.doc_第3頁
三角波發(fā)生器設(shè)計報告.doc_第4頁
三角波發(fā)生器設(shè)計報告.doc_第5頁
免費預覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

計算機硬件技術(shù)課程設(shè)計 學院: 自動化工程學院 班級: 姓名: 學號: 同組人: 2015年1月目錄一、目的二、內(nèi)容三、設(shè)計任務(wù)四、方案選擇及原理五、所用器件六、原理及結(jié)果圖七、流程圖八、程序代碼九、設(shè)計中遇到的問題十、收獲及體會 三角波發(fā)生器一、目的1、 了解和掌握8086、DAC0832等接口芯片和示波器的原理和功能;2、 能用這些接口芯片構(gòu)建一個簡單的系統(tǒng)控制對象,3、 掌握接口電路的綜合設(shè)計與使用;4、 通過自己動手,進一步了解計算機工作原理,接口技術(shù),提高計算機硬件,軟件綜合應(yīng)用能力,即對微機原理,接口技術(shù),匯編語言程序設(shè)計進行綜合訓練。2、 內(nèi)容 利用D/A設(shè)計一個三角波發(fā)生器,可利用按鍵改變其輸出波形的幅值。例如,可利用5個按鍵改變其輸出波形的幅值,當按下按鍵時使D/A輸出幅值從1V增加到5V。三、設(shè)計任務(wù)1、選用8086和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳?yīng)的功能。2、畫出詳細的硬件連接圖。3、畫出軟件流程圖。4、給出所有程序清單并加上必要注釋。5、完成設(shè)計說明書(列出參考文獻,所用器件型號)。四、方案選擇及原理D/A轉(zhuǎn)換器產(chǎn)生各種波形的原理:利用D/A轉(zhuǎn)換器輸出的模擬量與輸入數(shù)字量成正比關(guān)系這一特點,將D/A轉(zhuǎn)換器作為微機輸出接口,CPU通過程序向D/A轉(zhuǎn)換器輸出隨時間呈現(xiàn)不同變化規(guī)律的數(shù)字量,則D/A轉(zhuǎn)換器就可輸出各種各樣的模擬量,如方波、三角波、鋸齒波、正弦波等。五、所用器件CPU8086、地址鎖存器74LS373、譯碼器74154、數(shù)/模轉(zhuǎn)換器DAC0832主要器件簡介8086功能簡介1. 概述Intel 8086是一個由Intel于1978年所設(shè)計的16位微處理器芯片。8086 CPU有20條地址線,可直接尋址1MB的存儲空間,每一個存儲單元可以存放一個字節(jié)(8位)二進制信息。為了便于對存儲器進行存取操作,每一個存儲單元都有一個惟一的地址與之對應(yīng),其地址范圍用十進制表示為01048575,用十六進制表示為00000HFFFFFH。Intel 8086擁有四個16位的通用寄存器,也能夠當作八個8位寄存器來存取,以及四個16位索引寄存器(包含了堆棧指標)。資料寄存器通常由指令隱含地使用,針對暫存值需要復雜的寄存器配置。它提供64K 8 位元的輸出輸入(或32K 16 位單元),以及固定的向量中斷。大部分的指令只能夠存取一個內(nèi)存位址,所以其中一個操作數(shù)必須是一個寄存器。運算結(jié)果會儲存在操作數(shù)中的一個。 Intel 8086有四個內(nèi)存區(qū)段(segment) 寄存器,可以從索引寄存器來設(shè)定。區(qū)段寄存器可以讓 CPU 利用特殊的方式存取1 MB內(nèi)存。8086 把段地址左移 4 位然后把它加上偏移地址, 8086 的尋址方式改變讓內(nèi)存擴充較有效率。 2. CPU工作于最小模式中部分引腳信號定義(1) AD15 AD0(Address Data Bus):地址/數(shù)據(jù)總線,雙向,三態(tài)。 這是一組采用分時的方法傳送地址或數(shù)據(jù)的復用引腳。根據(jù)不同時鐘周期的要求,決定當前是傳送要訪問的存儲單元或I/O端口的低16位地址,還是傳送16位數(shù)據(jù),或是處于高阻狀態(tài)。(2) (RD)讀選通信號,三態(tài),輸出,低電平有效信號低電平有效時,表示CPU正在進行讀存儲器或讀I/O端口的操作(3) (WR)寫選通信號,三態(tài),輸出,低電平有效信號有效時,表明CPU正在執(zhí)行寫總線周期,同時由信號決定是對存儲器還是對I/O端口執(zhí)行寫操作(4) (M/IO)存儲器或I/O端口控制信號,三態(tài),輸出信號為高電平時,表示CPU正在訪問存儲器,為低電平時,表示CPU正在訪問I/O端口。(5) INTR(Interrupt Request)可屏蔽中斷請求信號,輸入,電平觸發(fā)或邊沿觸發(fā),高電平有效CPU在每條指令周期的最后一個時鐘周期檢測此信號,一旦檢測到此信號有效,并且中斷允許標志位IF=1時,CPU在當前指令執(zhí)行完后,轉(zhuǎn)入中斷處理程序。用STI指令,可使中斷允許信號標志位IF置“1”,用CLI指令可使IF置“0”,從而可實現(xiàn)中斷屏蔽。3. 8086指令系統(tǒng)按功能分類,8086的指令共有六大類,它們是:數(shù)據(jù)傳送指令、算術(shù)運算指令、邏輯運算和移位指令、字符串處理指令、控制轉(zhuǎn)移指令以及處理器控制指令。常用指令簡介:(1) MOV 傳送指令(Move)指令格式: MOV目的,源指令功能:將源操作數(shù)(一個字或一個字節(jié))傳送到目的操作數(shù)(2) IN輸入指令(Input)指令格式: IN AL,端口地址或 IN AX,端口地址 IN AL,DX ;端口地址存放在DX寄存器中或 IN AL,DX指令功能:輸入指令用來從指定的外設(shè)寄存器取信息送入累加器。(3) OUT輸出指令(Output)指令格式: OUT AL,端口地址或 OUT AX,端口地址 OUT AL,DX ;端口地址存放在DX寄存器中或 OUT AL,DX指令功能:輸出指令用來把累加器的內(nèi)容送往指定的外設(shè)存儲器當端口地址大于FFH時,必須使用第二種尋址方式,即先將端口號送入DX寄存器,再執(zhí)行操作。(4) CMP比較指令(Compare)指令格式:CMP目的,源指令功能:兩個操作數(shù)相減,不產(chǎn)生運算結(jié)果,僅影響標志,接著可用條件跳轉(zhuǎn)指令決定程序去向(5)JMP無條件轉(zhuǎn)移指令指令格式:JMP目的指令功能:使程序無條件的轉(zhuǎn)移到指定的地址去執(zhí)行74LS373功能簡介74LS373是常用的地址鎖存器芯片,它實質(zhì)是一個是帶三態(tài)緩沖輸出的8D觸發(fā)器。74LS373工作原理簡述:(1)1腳是輸出使能(OE),是低電平有效,當1腳是高電平時,不管輸入3、4、7、8、13、14、17、18如何,也不管11腳(鎖存控制端,G)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài));(2)當1腳是低電平時,只要11腳(鎖存控制端,G)上出現(xiàn)一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳3、4、7、8、13、14、17、18的狀態(tài)。鎖存端LE由高變低時,輸出端8位信息被鎖存,直到LE端再次有效。當三態(tài)門使能信號OE為低電平時,三態(tài)門導通,允許Q0Q7輸出,OE為高電平時,輸出懸空。74154功能簡介74154為4線16線譯碼器,當選通端(E1、E2)均為低電平時,可將地址端(ABCD)的二進制編碼在一個對應(yīng)的輸出端,以低電平譯出。如果將E1和E2中的一個作為數(shù)據(jù)輸入端,由ABCD對輸出尋址。A、B、C、D譯碼地址輸入端(低電平有效) E1、E2選通端(低電平有效)015輸出端(低電平有效)。DAC0832功能簡介DAC0832是CMOS工藝制造的8位單片D/A轉(zhuǎn)換器,屬于R-2RT型電阻網(wǎng)絡(luò)的8位D/A轉(zhuǎn)換器,建立時間150ms,為電流輸出型,并且片內(nèi)帶輸入數(shù)字鎖存器。DAC0832與89S52接成的是單緩沖方式,由于DAC0832是電流輸出,而我們用的是模擬電壓,在這種情況下,要將輸出的電流轉(zhuǎn)換成電壓,轉(zhuǎn)換電路接成同相電壓輸出形式。引腳的功能定義1、DI0DI7:8位數(shù)字量輸入信號。2、CS:輸入寄存器的選擇信號,低電平有效。3、WRI、WR2:前者為輸入寄存器的“寫”選通信號,低電平有效。后者為DAC寄存器的“寫”選通信號。4、XFER:數(shù)據(jù)轉(zhuǎn)移控制信號,用來控制WR2信號,低電平有效。5、IOUTI:電流輸出引角1端,此電流輸出端為是“1”的各位權(quán)電流匯集輸出端。當DAC寄存器全為“1”時,此電流最大,當DAC寄存器全為“0”時,此電流為“0”。6、IOUT2:電流輸出引角2端,此電流輸出端是邏輯電平為“0”的各位輸出電流之和。在數(shù)值上,IOUT,+IOUT2=常數(shù)。7、Rfb:反饋信號輸入端,芯片內(nèi)已連接有反饋電阻。8、VREF:基準電壓輸入端,可在-10V+10V范圍內(nèi)選擇。9、AGND、DGND:模擬地和數(shù)字地,為了防止串擾,系統(tǒng)的模擬地應(yīng)共接與一點,系統(tǒng)字地匯于一點,然后兩地再共接與一點。10、VCC:工作電源,可在+5V+15V間選擇。六、原理及結(jié)果圖原理圖運行結(jié)果七、流程圖八、程序代碼CODE SEGMENT ;代碼段開始ASSUME CS:CODE ;代碼段定義START: MOV CX,256 ;計數(shù)器設(shè)為256,計數(shù)器大小與上升高度相等 MOV AL,00H ;高度初始值為0 MOV DX,0000H;DAC0832地址為0000HLOOP1: OUT DX,AL ;輸出AL MOV BX,125 ;延遲環(huán)節(jié)的計數(shù)器使用BX,延遲125個單位時間DELAY1:DEC BX ;BX自減1 JNZ DELAY1 ;直到BX為0才延遲結(jié)束 INC AL ;AL自加1 LOOP LOOP1 ;三角波上升過程的循環(huán),256次后結(jié)束 MOV CX,256 ;計數(shù)器重設(shè)為256,開始AL下降 MOV AL,0FFH ;AL為255 MOV DX,0000H LOOP2: OUT DX,AL ;輸出AL MOV BX,125 ;延遲DELAY2:DEC BX JNZ DELAY2 DEC AL ;AL自減1 LOOP LOOP2 ;三角波下降的循環(huán),256次后返回上一段程序 JMP START ;AL再次上升 CODE ENDS ;代碼段結(jié)束 END START ;整個程序結(jié)束九、設(shè)計中遇到的問題 本次大作業(yè)中所用到的proteus仿真軟件可以說是很熟悉了,只要的問題的如何在軟件當中畫出他的仿真電路圖,根據(jù)在計算機硬件這門課程中學到的有關(guān)于cpu8086以及D/A數(shù)模轉(zhuǎn)換的基礎(chǔ)知識原理,在繪制仿真的過程中,在如何用鍵盤輸入1-5V這個環(huán)節(jié)上可謂是下了蠻大功夫,在仿真的過程中實在不知道如何輸入這一環(huán)節(jié),為此和同學討論了許久怎樣實現(xiàn)這個功能,最后被網(wǎng)上一篇有關(guān)微機原理的內(nèi)容點醒,于是用了5個開關(guān)分別接入1,2,3,4,5V,在仿真的過程可以接入1,2,3,4,5V,通過這樣改變幅值。而這CPU程序代碼這一塊,書上107頁有實現(xiàn)三角波輸出的具體代碼段,主要是通過EMU8086仿真運行,在一番修改過后時間得到正確的代碼,再轉(zhuǎn)化成.exe格式放入8086中,最終實現(xiàn)

溫馨提示

  • 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

提交評論