單片機與接口課程設計串行數據發(fā)送器_第1頁
單片機與接口課程設計串行數據發(fā)送器_第2頁
單片機與接口課程設計串行數據發(fā)送器_第3頁
單片機與接口課程設計串行數據發(fā)送器_第4頁
單片機與接口課程設計串行數據發(fā)送器_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 中南民族大學計算機科學學院課程設計報告課 程 單片機與接口課程設計 設計題目 串行數據發(fā)送器 年級專業(yè) 學 號 學生姓名 指導教師 2010年 12 月 27 日課程設計量化評分標準 指標最高分評分要素評分方案設計35方案選擇合理,分析、設計正確,原理清楚,電路、程序流程圖清晰,結構合理,程序簡潔、正確。  調試15過程清晰,調試方案設計合理,測試點選擇適當,程序編寫正確,調試步驟清楚。 結果20電路及程序運行結果正確,達到預期效果。  設計報告20報告結構嚴謹,邏輯嚴密,論述層次清晰,語言流暢,表達準確,重點突出,報告完全符合規(guī)范

2、化要求,用計算機打印成文。 工作態(tài)度10工作態(tài)度認真,按時完成設計任務,是否獨立完成。  總 評 成 績 設計題目: 串行數據發(fā)送器一、要求開關發(fā)送數據,發(fā)送的數據送本機數碼顯示二、分析 本設計通過開關傳送數據并行數據,再把并行數據轉化成串行數據實現兩臺pc機的串行數據傳輸,用數碼管數據三、設計 1、硬件設計a. 設計方案:1號機通過開關輸入數據,并行輸入8255 pa口;cpu讀8255 pa口并把數據傳給8251;8251把數據發(fā)給2號機,兩臺機數碼管同時顯示數據。b.硬件連接圖 2、軟件編程a. 流程圖 1號機開始8255讀取開關值延時讀取8251

3、串行口狀態(tài)判發(fā)送否?8251發(fā)送開關輸入的二進制數據讀取8251串行口狀態(tài)判允許接收否?從串行口讀取數據判接收的數據是否與剛才發(fā)送的數據等顯示err用十六進制顯示數據ynynyn2號機b匯編程序1號機程序:code segment assume cs:codesecoport equ 03f9hsedaport equ 03f8hpa equ 0ff20h ;字位口pb equ 0ff21h ;字形口pc equ 0ff22h ;鍵入口ioconpt equ 0ff2bh ;8255控制口ioaptequ 0ff28h ;8255pa口org 13f0hstart: jmp start0buf

4、 db ?,?,?,?,?,?kz db ?ltime db ?lkey db ?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8fhstart0: call for8251 ;8251初始化 call buf1 ;數碼管全滅 call disp k: mov al,90h ;開關輸入數字 mov dx,ioconpt out dx,al nop nop nopioled1: mov dx,ioapt

5、in al,dx and al,0fh mov kz,almov cx,0005fhdelay: loop delaywattxd: mov dx,secoport ;發(fā)送數據 in al,dx test al,01h jz wattxd mov al,kz mov dx,sedaport out dx,alwatrxd:mov dx,secoport in al,dx test al,02hjz watrxd mov dx,sedaport in al,dx cmp kz,al ;校驗發(fā)送數據 jz seri2 call buf2 ;顯示errsererr: call disp jmp se

6、rerrseri2: mov buf,al call disp jmp kdata2:db 07h,04h,08h,05h,09h,06h,0ah,0bhdb 01h,00h,02h,0fh,03h,0eh,0ch,0dhfor8251: call t8253 mov al,65h out dx,al mov dx,03f9h mov al,25h out dx,al mov dx,03f9h mov al,65h out dx,al mov dx,03f9h mov al,4eh out dx,al mov dx,03f9h mov al,25h out dx,al rett8253:mov

7、 dx,43h ;8253初始化 mov al,76h out dx,al mov dx,41h mov al,0ch out dx,al mov dx,41h mov al,00h out dx,al mov dx,03f9h mov dx,03f9h retdisp: mov al,0ffh ;數碼管顯示程序mov dx,paout dx,almov cl,0dfh mov bx,offset bufdis1: mov al,bx mov ah,00h push bx mov bx,offset data1 add bx,ax mov al,bx pop bx mov dx,pb out

8、dx,al mov al,cl mov dx,pa out dx,al push cxdis2: mov cx,0180h loop $ pop cx cmp cl,0feh ;01h jz lx1 inc bx ror cl,1 ;shr cl,1 jmp dis1lx1:mov al,0ffh mov dx,pb out dx,al retbuf1: mov buf,10h ;數碼管滅 mov buf+1,10h mov buf+2,10h mov buf+3,10h mov buf+4,10h mov buf+5,10h retbuf2: mov buf,0eh ;err mov buf

9、+1,18h mov buf+2,18h mov buf+3,10h mov buf+4,10h mov buf+5,10h retcode endsend start2號機程序:code segment assume cs:codesecoport equ 03f9hsedaport equ 03f8hpa equ 0ff20h ;字位口pb equ 0ff21h ;字形口pc equ 0ff22h ;鍵入口org 1510hstart: jmp start0buf db ?,?,?,?,?,?zp dw ?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0

10、f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8fhstart0: call for8251 mov zp,offset buf call buf1watrxd: call dispmov dx,secoportin al,dxtest al,02hjz watrxdmov dx,sedaportin al,dxpush axwattxd: mov dx,secoportin al,dxtest al,01hjz wattxdmov dx,sedaportpop axout dx,al

11、mov bx,zpmov bx,alcmp bx,offset buf+5jz serial1inc bxmov zp,bxjmp watrxdserial1: mov zp,offset bufjmp watrxddisp: mov al,0ffh ;00hmov dx,paout dx,almov cl,0dfh ;20h ;顯示子程序 ,5msmov bx,offset bufdis1: mov al,bx mov ah,00hpush bxmov bx,offset data1 add bx,ax mov al,bxpop bxmov dx,pbout dx,almov al,clmo

12、v dx,paout dx,alpush cxdis2: mov cx,00a0h loop $ pop cxcmp cl,0feh ;01hjz lx1inc bxror cl,1 ;shr cl,1jmp dis1lx1: mov al,0ffhmov dx,pbout dx,alretfor8251: call t8253 ;8251初始化mov al,65hout dx,almov dx,03f9hmov al,25hout dx,almov dx,03f9hmov al,65hout dx,almov dx,03f9hmov al,4ehout dx,almov dx,03f9hmo

13、v al,25hout dx,alrett8253: mov dx,43h ;8253初始化 mov al,76h out dx,al mov dx,41h mov al,0ch out dx,al mov dx,41h mov al,00h out dx,al mov dx,03f9h mov dx,03f9h retbuf1: mov buf,08h mov buf+1,02h mov buf+2,05h mov buf+3,01h mov buf+4,17h mov buf+5,02h retcode endsend start 3、調試說明 二號機先運行,數碼管顯示8251-2(否則重新運行);一號機運行程序后,數碼管全熄滅(否則重新運行),輸入四位二進制數。延時過長一號機數碼管會閃爍,二號機6個數碼管依次顯示剛輸入的數據。 4

溫馨提示

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

評論

0/150

提交評論