接口課程設(shè)計報告模板_第1頁
接口課程設(shè)計報告模板_第2頁
接口課程設(shè)計報告模板_第3頁
接口課程設(shè)計報告模板_第4頁
接口課程設(shè)計報告模板_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 中南民族大學計算機科學學院課程設(shè)計報告課 程 單片機與接口課程設(shè)計 設(shè)計題目 鍵盤控制的多種波形發(fā)生器 年級專業(yè) 2008級自動化 學 號 學生姓名 指導教師 苗 2009年 12 月 28 日課程設(shè)計量化評分標準指標最高分評分要素評分方案設(shè)計35方案選擇合理,分析、設(shè)計正確,原理清楚,電路、程序流程圖清晰,結(jié)構(gòu)合理,程序簡潔、正確。調(diào)試15過程清晰,調(diào)試方案設(shè)計合理,測試點選擇適當,程序編寫正確,調(diào)試步驟清楚。結(jié)果20電路及程序運行結(jié)果正確,達到預期效果。設(shè)計報告20報告結(jié)構(gòu)嚴謹,邏輯嚴密,論述層次清晰,語言流暢,表達準確,重點突出,報告完全符合規(guī)范化要求,用計算機打印成文。工作態(tài)度10工

2、作態(tài)度認真,按時完成設(shè)計任務(wù),是否獨立完成???評 成 績指導老師評語:設(shè)計題目:鍵盤控制的多種波形發(fā)生器一、 要求1、 具有產(chǎn)生方波、三角波、鋸齒波和梯形波四種周期性波形的功能。同時要求用鍵盤控制波形的選擇。2、 方案選擇合理,分析、設(shè)計正確,原理清楚,電路、程序流程圖清晰,結(jié)構(gòu)合理,程序簡潔、正確。3、 過程清晰,調(diào)試方案設(shè)計合理,測試點選擇適當,程序編寫正確,調(diào)試步驟清楚。4、 電路及程序運行結(jié)果正確,達到預期效果。5、 在平時的學習中,我們所學的知識大都是課本上的,在機房的練習大家也都是分散的對各個章節(jié)的內(nèi)容進行練習。因此,缺乏一種系統(tǒng)的設(shè)計鍛煉。在課程所學結(jié)束以后,這樣的課程設(shè)計十分

3、有助于學生的知識系統(tǒng)的總結(jié)到一起二、分析波形產(chǎn)生是通過單片機執(zhí)行某一個波形發(fā)生程序,向DA轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)送數(shù)據(jù),從而在DA轉(zhuǎn)換電路的輸出端得到相應的電壓波形在生產(chǎn)實踐中使用的信號大多數(shù)是周期性變化的,我們把各種各樣的波形在一個周期中的變化情況離散化,再根據(jù)二進制的規(guī)律進行編碼,得到每一種波形所對應的波代碼。把這些波代碼存儲到存儲器中,利用電路選擇其中的一組代碼輸出,經(jīng)過數(shù)模轉(zhuǎn)換器和放大器,獲得連續(xù)變化的波形由8086產(chǎn)生的數(shù)字信號通過DAC0832轉(zhuǎn)換為模擬信號,由數(shù)字量的大小和直接和模擬信號成正比,頻率的調(diào)節(jié)可以通過信號的延時來實現(xiàn)。再通過,濾波和電容的充電來實現(xiàn)三角波和方波等

4、。波形的產(chǎn)生通過單片機內(nèi)的程序?qū)崿F(xiàn),采用DA轉(zhuǎn)換器來控制輸出,以便由程序來控制輸出波形的幅值變化,從而實現(xiàn)波形幅值改變。頻率的產(chǎn)生由硬件實現(xiàn),頻率的變化由程序來控制,通過改變定時器的初值來改變輸出波形相鄰兩點的時間間隔,從而實現(xiàn)波形頻率的改變。波形的合成也通過程序?qū)崿F(xiàn),具有很高的精度和線性組合的靈活性。該設(shè)計電路簡單,絕大部分功能由程序?qū)崿F(xiàn),減少了硬件開銷。通過鍵盤控制波形頻率的增減以及波形的選擇.三、設(shè)計 1、硬件設(shè)計 8086單片機:如果按功能劃分,它由8個部件組成,即微處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM/EPROM)、I/O口(P0口、P1口、P2口、P3口)、串

5、行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)的集中控制方式。各功能部件的介紹:1)數(shù)據(jù)存儲器(RAM):片內(nèi)為128個字節(jié)單元,片外最多可擴展至64K字節(jié)。2)程序存儲器(ROM/EPROM):ROM為4K,片外最多可擴展至64K。3)中斷系統(tǒng):具有5個中斷源,2級中斷優(yōu)先權(quán)。4)定時器/計數(shù)器:2個16位的定時器/計數(shù)器,具有四種工作方式。5)串行口:1個全雙工的串行口,具有四種工作方式。6)特殊功能寄存器(SFR)共有21個,用于對片內(nèi)各功能模塊進行管理、監(jiān)控、監(jiān)視。7)微處理器:為8位CPU,且內(nèi)含一個1位CPU(位處理器),不僅可處理字節(jié)數(shù)據(jù),還可以進行位變量的處理。8)四

6、個8位雙向并行的I/O端口,每個端口都包括一個鎖存器、一個輸出驅(qū)動器和一個輸入緩沖器。這四個端口的功能不完全相同。A、P0口既可作一般I/O端口使用,又可作地址/數(shù)據(jù)總線使用;B、P1口是一個準雙向并行口,作通用并行I/O口使用;C、 P2口除了可作為通用I/O使用外,還可在CPU訪問外部存儲器時作高八位地址線使用;D、P3口是一個多功能口除具有準雙向I/O功能外,還具有第二功能??刂埔_介紹:1)電源:單片機使用的是5V電源,其中正極接40引腳,負極(地)接20引腳。2)時鐘引腳XTAL1、XTAL2時鐘引腳外接晶體與片內(nèi)反相放大器構(gòu)成了振蕩器,它提供單片機的時鐘控制信號。時鐘引腳也可外接晶

7、體振蕩器。振蒎電路:單片機是一種時序電路,必須提供脈沖信號才能正常工作,在單片機內(nèi)部已集成了振蕩器,使用晶體振蕩器3)RST:當振蕩器運行時,在此引腳外加上兩個機器周期的高電平將使單片機復位(RST)。我們在此引腳與VCC之間連接一個約8.2千歐的下拉電阻,與引腳之間連接一個約10微法的電容,以保證可靠復位。在單片機正常工作時,此引腳應為0。5V低電平。4)ALE:當訪問單片機外部存儲器時ALE(地址鎖存允許)輸出脈沖的負跳沿用于16位地址的底8位的鎖存信號。即使不訪問外部鎖存器,ALE端仍有正脈沖信號輸出,此頻率約為時鐘振蕩器的1/6。但是每當訪問外部數(shù)據(jù)存儲器時,在兩個機器周期中ALE只出

8、現(xiàn)一次,即丟失一個ALE脈沖。因此,嚴格來說,用戶不能用ALE做時鐘源或定時。ALE端可以驅(qū)動8個TTL負載5)/PSEN(29腳):此腳的輸出是單片機訪問外部程序存儲器的讀選通信號。在由外部程序存儲器取指令(或常數(shù))期間,每個機器周期PSEN兩次有效。但在此期間,每當訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號不出現(xiàn)。/PSEN可以驅(qū)動(吸收或者輸出電平)8個LSTTL負載。6)/EA/VPP(31腳):當EA端保持高電平時,單片機訪問內(nèi)部存儲器,但在PC值超過0FFFH時,講自動轉(zhuǎn)向執(zhí)行外部存儲器內(nèi)的程序。當/EA保持低電平時,則只訪問外部程序存儲器,不管是否有內(nèi)部存儲器。DAC083

9、2芯片:DAC0832是采樣頻率為八位的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級輸入寄存器。DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運算放大器轉(zhuǎn)換成電壓。DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。所以這個芯片的應用很廣泛,關(guān)于DAC0832的引腳功能如下:D0D7:數(shù)字信號輸入端。ILE:輸入寄存器允許,高電平有效。CS:片選信號,低電平有效。WR1:寫信號1,低電平有效。XFER:傳送控制信號,低電平有效。WR2:寫信號2,低電平有效。IOUT1、IOUT2:DAC電流輸出端。RfB:是集成

10、在片內(nèi)的外接運放的反饋電阻。 VREF:基準電壓(-1010V)。Vcc:是源電壓(+5+15V)。AGND:模擬地 NGND:數(shù)字地,可與AGND接在一起使用。 電路圖設(shè)計:1、 0832片選信號CS5插孔和譯碼輸出FF80H插孔相連。2、 連JX2JX0。鍵盤輸入部分主要用于選擇波形。鍵盤共設(shè)4個鍵,用于選擇三角波、方波、鋸齒波、梯形波4種不同的波形,。8086單片機用來執(zhí)行某一波形發(fā)生程序,向DA轉(zhuǎn)換器的輸入端發(fā)送數(shù)據(jù),將其轉(zhuǎn)化成模擬量,并通過運算放大器調(diào)節(jié)波形的幅值,經(jīng)過濾波器的濾波,從而在輸出端得到所需的波形。 2、軟件編程流程圖設(shè)計:程序代碼:CODE SEGMENT ASSUME

11、 CS:CODEDAPORT EQU 0FF80hPA EQU 0FF20H ;?PB EQU 0FF21H ;?PC EQU 0FF22H ;? ORG 10d0HSTART: MOV AL,0FFH MOV CX,0800H JMP START0 ;初始化BUF DB ?,?,?,?,?,?KZ DB ?ltime db ?lkey db ?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHST

12、ART0: CALL DISPKEY ;請求鍵盤掃描 CMP KZ,01H ;判斷按下鍵是否為1 JZ DACON1 ;為1,跳轉(zhuǎn)到DACON1 CMP KZ,02H ;判斷是否為2 JZ DACON2 ;為2跳轉(zhuǎn)到DACON2 CMP KZ,03H ;是否為3 JZ DACON3 ;為3跳轉(zhuǎn)到DACON3 CMP KZ,04H ;是否為4 JZ JZ1 ;跳轉(zhuǎn)到JZ1 JMP START0 ;跳轉(zhuǎn)到START0JZ1:JMP DACON4 ;跳轉(zhuǎn)到DACON4DACON1: MOV AL,0H ;賦值0hal MOV DX,0FF80H ;8086I/O口0ff80h OUT DX,AL ;

13、al口為輸出口 CALL DELAY ;延時子程序 MOV AL,0FFH ;賦值0ffh OUT DX,AL CALL DELAY ;延時子程序 CALL DISPKEY CMP KZ,02H ;跳轉(zhuǎn)DACON2 JZ DACON2 CMP KZ,03H JZ DACON3 ;跳轉(zhuǎn)DACON3 CMP KZ,04H JZ DACON4 ;跳轉(zhuǎn)DACON4 JMP DACON1 DACON2: MOV AL,0h 賦值0hal P1: MOV DX,0FF80H OUTDX,AL INCAL ;自加1 CMP AL,08FH ;判斷是否等于08fh JNZ P1 CALL DISPKEY ;請

14、求鍵盤掃描 CMP KZ,01H JZ DACON1 ;跳轉(zhuǎn)DACON1 CMP KZ,03H JZ DACON3 ;跳轉(zhuǎn)DACON3 CMP KZ,04H JZ DACON4 ;跳轉(zhuǎn)DACON4 JMP DACON2 DACON3: MOV AL, 0 ;賦值UP: MOV DX,0FF80H OUT DX,AL INC AL ;自加1 CMP AL,0FFH ;與0ffh比較 JNZ UP ;循環(huán) DEC AL ;自減1DOWN: OUT DX,AL DEC AL CMP AL,00H ;比較 JNZ DOWN CALL DISPKEY ;請求鍵盤掃描 CMP KZ,01H JZ DACO

15、N1 ;跳轉(zhuǎn)DACON1 CMP KZ,02H JZ DACON2 ;跳轉(zhuǎn)DACON2 CMP KZ,04H JZ DACON4 ;跳轉(zhuǎn)DACON4 JMP DACON3 ;循環(huán) DACON4:MOV AL, 0 ;賦值UP1: MOV DX,0FF80H OUT DX,AL INC AL ;自加1 CMP AL,088H JNZ UP1 CALL DELAY ;調(diào)用延時子程序 UP2: DEC AL DOWN1: OUT DX,AL CMP AL,0 ;作比較 JNZ UP2 CALL DELAY ;調(diào)用延時子程序 CALL DISPKEY ;鍵盤掃描 CMP KZ,01H JZ JZ2 C

16、MP KZ,02H JZ JZ3 CMP KZ,03H JZ DACON3 ;跳轉(zhuǎn)DACON3 JMP DACON4JZ2:JMP DACON1 ;跳轉(zhuǎn)DACON1JZ3:JMP DACON2 ;跳轉(zhuǎn)DACON42Dispkey: ;鍵盤掃描子程序代碼call keymov ah,al ;newkeymov bl,ltime ;ltimemov bh,lkey ;lkeymov al,01hmov dx,PA ;0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hd

17、isk4:dec ahcmp ah,82hjz disk6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5:mov ah,0fhdisk6:mov bl,ahmov ah,bhdisk7:mov ltime,blmov lkey,bhmov KZ,bhmov al,ahretkey:mov al,0ffhmov dx,PB ;0ff22hout dx,almov bl,00hmov ah,0fehmov cx,08hkey1:mov al,ahmov dx,PA ;0ff21hout dx,alrol al,0

18、1hmov ah,alnopnopnopnopnopnopmov dx,PC ;0ff23hin al,dxnot alnopnopand al,0fhjnz key2inc blloop key1jmp nkeykey2:test al,01hje key3mov al,00hjmp key6key3:test al,02hje key4mov al,08hjmp key6key4:test al,04hje key5mov al,10hjmp key6key5:test al,08hje nkeymov al,18hkey6:add al,blcmp al,10hjnc fkeymov b

19、l,almov bh,0h mov si,offset data2mov al,bx+siretnkey:mov al,20hfkey:retdata2:db 07h,04h,08h,05h,09h,06h,0ah,0bhDB 01h,00h,02h,0fh,03h,0eh,0ch,0dhDELAY: PUSH CX MOV CX,0FFFFH ;延時子程序初始化 loop $ POP CX RET CODE ENDSEND START 3、調(diào)試說明運行實驗程序:1、 在系統(tǒng)顯示監(jiān)控提示符“P.”時,按SCAL鍵,待系統(tǒng)返P后,輸入10D0,再按EXEC鍵,在系統(tǒng)上顯示執(zhí)行符“”。2、分別按下1、2、3、4鍵盤按鍵3、用示波器測量0832左側(cè)AOUT插孔,應有方波、三角波、梯形波和鋸齒波。3

溫馨提示

  • 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

提交評論