版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計IV</b></p><p><b> 設(shè)計說明書</b></p><p> 數(shù)學(xué)與計算機科學(xué)學(xué)院</p><p> 2013年9月10日 </p><p><b> 課程設(shè)計任務(wù)書</b></p><p>
2、; 2013—2014學(xué)年第一學(xué)期</p><p> 課程設(shè)計名稱: 課程設(shè)計IV </p><p> 設(shè)計題目: 8251A可編程通訊接口與PC機通訊 </p><p> 完成期限:自 2013 年 9 月 2日至 2013年 9 月 14 日共 2 周</p><p> 設(shè)計依據(jù)要求及主要內(nèi)容<
3、;/p><p><b> 一、目的任務(wù):</b></p><p> 依據(jù)實驗器材提供的功能,利用可編程串行接口8251芯片,實現(xiàn)與PC機通訊。</p><p><b> 二、設(shè)計內(nèi)容:</b></p><p> 1. 復(fù)習(xí)相關(guān)課程內(nèi)容:微機原理及應(yīng)用課程相關(guān)內(nèi)容;匯編語言程序設(shè)計的相關(guān)內(nèi)容;熟悉
4、模擬電路、數(shù)字電路的相關(guān)知識;</p><p> 2. 熟悉實驗相關(guān)器材的主要功能。</p><p> 3. 在上述基礎(chǔ)上,根據(jù)課程設(shè)計的基本要求,完成以下各項任務(wù)(反映在設(shè)計說明書中):</p><p> ?。?)題目要求涉及的硬件電路圖及摘要說明。</p><p> ?。?)題目的工作原理及相應(yīng)描述。</p><p
5、> ?。?)程序流程框圖。</p><p> (4)程序文本輸入及實驗完成。</p><p><b> 三、設(shè)計要求:</b></p><p> 1.軟件程序文檔 ;2.硬件電路圖(用專用軟件);3.完成實驗;4.完成設(shè)計說明書。</p><p><b> 課程設(shè)計評閱</b><
6、/p><p><b> 摘 要</b></p><p> 設(shè)計了一個8251可編程通訊接口與PC機通信,8251是一種可編程的通用同步/異步接收發(fā)送器,被廣泛應(yīng)用于Intel80X86為CPU的 微型計算機中。本設(shè)計采用8253芯片的分頻作為8251的收發(fā)時鐘頻率,實現(xiàn)8251可編程通信接口與PC機的通訊。 </p><p> 關(guān)鍵詞:異步
7、;串行通信;8251</p><p><b> 目 錄</b></p><p> 1課題描述······················
8、3;····································
9、183;······1</p><p> 2課題分析·························&
10、#183;····································
11、;····2</p><p> 2.1 8251基本功能··························
12、83;·································2</p><p&
13、gt; 2.2 8251的內(nèi)部結(jié)構(gòu)·································
14、3;························2</p><p> 2.3 8251編程字······
15、83;····································&
16、#183;·················2</p><p> 3.設(shè)計過程··············
17、;····································
18、83;···············4</p><p> 3.1 電路圖設(shè)計···············
19、3;····································
20、183;·········4</p><p> 3.2 硬件設(shè)計·····················
21、3;····································
22、183;····4</p><p> 3.3 軟件設(shè)計··························
23、3;····································4&
24、lt;/p><p> 4驗證測試································&
25、#183;································12</p><p>
26、 5總結(jié)····································
27、;·································13</p><p&g
28、t; 參考文獻···································
29、183;······························14</p><p><b> 1
30、課題描述</b></p><p> 利用8253芯片的分頻作為8251的收發(fā)時鐘頻率,8251異步串行通信,實現(xiàn)8251可編程通信接口與PC機的通訊。采用查詢 I/O方式,故收/發(fā)程序中只需檢查發(fā)/收準(zhǔn)備好的狀態(tài)是否置位,即可收發(fā) l個字節(jié),每按動一次任一數(shù)字鍵,就把該鍵值通過8251發(fā)送給PC機接收,并在PC機屏幕上顯示出該鍵值。</p><p><b> 2
31、課題分析</b></p><p> 2.1 8251基本功能</p><p> 8251A是一種可編程的通用同步/異步接收發(fā)送器,通常作為串行通信接口使用,被廣泛應(yīng)用Intel80X86為CPU的 微型計算機中。其基本功能為:</p><p> (1)它是全雙工、雙緩沖器的接收/發(fā)送器。</p><p> (2)可工作在同
32、步或異步工作方式。同步方式工作時,波特率在0~64K范圍內(nèi);異步方式時,波特率在0~ 9.2K范圍內(nèi)。</p><p> (3)同步方式時,字符可選擇為5~8bit,可加奇偶校驗位,可自動檢測同步字符。</p><p> (4)異步方式時,字符可選擇為5~8bit,可加奇偶校驗位,自動為每個字符添加一個啟動位,并允許通過編程選擇1、2.5、或2位停止位。</p><
33、p> 2.2 8251內(nèi)部結(jié)構(gòu)</p><p> 本設(shè)計采用異步方式,則由發(fā)送控制電路在其首尾加上起始位和停止位,然后從起始位開始,經(jīng)移位寄存器從數(shù)據(jù)輸出線TXD逐位串行輸出。</p><p> 圖 2.1 8251內(nèi)部結(jié)構(gòu)</p><p> 2.3 8251編程字</p><p><b> 工作方式控制字</
34、b></p><p> D1D0確定是工作于同步方式還是異步方式。D1D0=00為同步方式,當(dāng)方式設(shè)為同步時,方式控制字后必須裝入 同步字符,并由同一個方式控制字規(guī)定裝入單同步字符還是雙同步字符;D1D0≠00為異步方式,且有3種組合來 選擇輸入的時鐘頻率與波特率之間的系數(shù)。</p><p> D3D2確定每個字符的數(shù)據(jù)位(不包括奇偶校驗位)。</p><p&
35、gt; D5D4確定是否校驗和奇偶校驗的性質(zhì)。</p><p> D7D6含義因同步方式或異步方式而異。異步方式(D1D0≠00)時用來確定停止位個數(shù)。同步方式時D6用來確定 是內(nèi)同步(SYNDET腳為輸出)還是外同步(SYNDET為輸入),D7用來確定同步字符個數(shù)。外同步方式時,同步字 符只用于發(fā)送,接收時不作用。</p><p> 例:某異步通訊,數(shù)據(jù)位為8位,1位起始位、2位停
36、止位、奇校驗、波特率系數(shù)為16。</p><p> 則有:11011110B=0DEH</p><p> MOV DX,309H ;8251A命令口</p><p> MOV AL,0DEH</p><p><b> OUT DX,AL</b></p><p> (2)工作命令控制字&l
37、t;/p><p> D0設(shè)置為1允許8251A開始發(fā)送操作。只有命令字的D0=1,引腳TXDRY(通知CPU:發(fā)送器準(zhǔn)備好)才可能有效(為1)??勺鳛榘l(fā)送中斷屏蔽位。</p><p> D1 設(shè)置為1強制引腳DTR有效,表示數(shù)據(jù)終端準(zhǔn)備好,通知調(diào)制解調(diào)器:8251A已準(zhǔn)備好。 D2 設(shè)置為1允許8251A開始接收數(shù)據(jù)。只有命令字D2=1,RXRDY才有可能為1。允許接收時必須使錯誤標(biāo)志復(fù)
38、位(見D4)。在同步方式時還必須指定進入同步搜索操作(見D7)。</p><p> D3設(shè)置為1迫使TXD端發(fā)送低電平,以此作斷點字符。</p><p> D4設(shè)置為1則對狀態(tài)字中的所有操作出錯標(biāo)志(FE,OE,PE)復(fù)位。</p><p> D5設(shè)置為1強制RTS引腳(請求發(fā)送)有效,向調(diào)制解調(diào)器提出發(fā)送請求。</p><p> D
39、6設(shè)置為1強制8251A內(nèi)部復(fù)位,使之回到準(zhǔn)備接收方式字的狀態(tài)。</p><p> D7只用于同步方式。為使8251A進入同步搜索操作,將輸入的信息和同步字符比較。</p><p><b> (3)狀態(tài)字</b></p><p> 狀態(tài)字的作用是8251A向CPU送去數(shù)據(jù)傳送操作中的各種狀態(tài)信息。方式字,同步字符,命令字都是CPU寫入82
40、51A的,以控制8251A的工作方式和操作。那么,8251A在發(fā)送,接收數(shù)據(jù)的過程中實際工作狀態(tài)如何呢?如一個字符接收全了 沒有?接收的數(shù)據(jù)有沒有錯誤?有什么類型的錯 誤?發(fā)送緩沖器空了沒有?發(fā)送移位寄存器空了沒有?等等,這些在發(fā)送/接收數(shù)據(jù)操作過程中的狀態(tài)信息隨 時寄存在8251A內(nèi)部的狀態(tài)沖寄存器內(nèi),CPU可以通過I/O讀操作(=1)把狀態(tài)字讀入加以分析,控制CPU和 8251A之間的數(shù)據(jù)交換。狀態(tài)位D0(TXRDY)——發(fā)送器準(zhǔn)
41、備好。狀態(tài)位D1(RXRDY)——接收準(zhǔn)備好。</p><p> 狀態(tài)位D2(TxE)——發(fā)送器空。狀態(tài)位D3(PE)——奇偶校驗錯標(biāo)志</p><p> 狀態(tài)位D4(OE)——溢出(覆蓋)錯誤標(biāo)志。狀態(tài)位D5(FE)——幀格式錯誤標(biāo)志</p><p> 狀態(tài)位D6(SYNDET)——同步檢測。狀態(tài)位D7(DSR)——數(shù)據(jù)裝置準(zhǔn)備好。</p>&
42、lt;p><b> 3 設(shè)計過程</b></p><p><b> 3.1電路設(shè)計</b></p><p> 本次設(shè)計利用實驗機內(nèi)的8253芯片的分頻作為8251的收發(fā)時鐘頻率。利用實驗機內(nèi)小鍵盤,每按動一次任一數(shù)字鍵 ,就把該鍵值通過8251發(fā)送給PC機接收,并在PC機屏幕上顯示出該鍵值。</p><p>
43、 圖3.1 8251與CPU的連接</p><p><b> 3.2 硬件設(shè)計</b></p><p> 采用最簡單的發(fā)送線TxD、接收線 RxD和 地線GND三 根線連接就能進行通信。采用8251A作為接口的主芯片再配置少量附加電路,如波特率發(fā)生器、 RS—232C 與TTL電平轉(zhuǎn)換電路、地址譯碼電路等就可構(gòu)成一個串行通信接口。</p><p
44、><b> 3.3 軟件設(shè)計</b></p><p><b> (1) 程序流程圖</b></p><p> 圖3.2 主程序流程圖 圖3.3 中斷服務(wù)程序流程圖</p><p><b> (2)程序清單</b><
45、/p><p> CODE SEGMENT ;PC8251.ASM,8251TXD-->PCRXD</p><p> ASSUME CS:CODE</p><p> SECOPORT EQU 03F9H</p><p> SEDAPORT EQU 03F8H</p><p> P
46、A EQU 0FF21H ;字位口</p><p> PB EQU 0FF22H ;字形口</p><p> PC EQU 0FF23H ;鍵入口</p><p><b> ORG 1A00H</b></p><p&g
47、t; START: JMP START0</p><p> BUF DB </p><p> KZ DB </p><p> lcntkz dw </p><p> ;lkey db &l
48、t;/p><p> zp dw </p><p> data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH</p><
49、p> START0: call for8251</p><p> mov zp,offset buf</p><p> CALL BUF1 ;DISP:8251-1</p><p> redikey: call dispkey</p><p> cmp KZ,10h</p><p><b
50、> jc wattxd</b></p><p> jmp funckey</p><p> WATTXD: MOV DX,SECOPORT</p><p><b> IN AL,DX</b></p><p> TEST AL,01H</p><p><b&g
51、t; JZ WATTXD</b></p><p><b> MOV AL,KZ</b></p><p> MOV DX,SEDAPORT</p><p><b> OUT DX,AL</b></p><p><b> mov bx,zp</b></p
52、><p> mov [bx],al</p><p> cmp bx,offset buf+5</p><p><b> jz zp1</b></p><p><b> inc bx</b></p><p><b> mov zp,bx</b><
53、;/p><p> jmp redikey</p><p> zp1: mov zp,offset buf</p><p> jmp redikey</p><p> funckey: CMP KZ,1FH</p><p> JNZ REDIKEY</p>&l
54、t;p> call buf2 ;good</p><p> monit: CALL DISP</p><p><b> JMP monit</b></p><p> dispkey: call disp</p><p><b> call key</b></p
55、><p> XD: MOV BX,lcntkz</p><p> MOV CX,[BX]</p><p><b> MOV AH,AL</b></p><p><b> CMP AL,CH</b></p><p><b> JE XD1<
56、/b></p><p> MOV CL,88H</p><p> XD1: DEC CL</p><p> CMP CL,82H</p><p><b> JE XD3</b></p><p> CMP CL,0EH</p><p><b
57、> JE XD3</b></p><p> CMP CL,00H</p><p><b> JE XD2</b></p><p> MOV AL,20H</p><p><b> JMP XD3</b></p><p> XD2:
58、 MOV CL,0FH</p><p> XD3: MOV BX,lcntkz</p><p><b> MOV CH,AH</b></p><p> MOV [BX],CX</p><p><b> mov kz,al</b></p>
59、<p><b> RET</b></p><p> key: mov al,0ffh</p><p> mov dx,0ff22h</p><p><b> out dx,al</b></p><p> mov bl,00h</p><
60、;p> mov ah,0feh</p><p> mov cx,08h</p><p> key1: mov al,ah</p><p> mov dx,0ff21h</p><p><b> out dx,al</b></p><p> rol al,
61、01h</p><p><b> mov ah,al</b></p><p><b> nop</b></p><p><b> nop</b></p><p><b> nop</b></p><p><b>
62、 nop</b></p><p><b> nop</b></p><p><b> nop</b></p><p> mov dx,0ff23h</p><p><b> in al,dx</b></p><p><b>
63、 not al</b></p><p><b> nop</b></p><p><b> nop</b></p><p> and al,0fh</p><p><b> jnz key2</b></p><p><b>
64、; inc bl</b></p><p> loop key1 </p><p><b> jmp nkey</b></p><p> key2: test al,01h</p><p><b> je key3</b></p><p>
65、mov al,00h</p><p><b> jmp key6</b></p><p> key3: test al,02h</p><p><b> je key4</b></p><p> mov al,08h</p><p><b> j
66、mp key6</b></p><p> key4: test al,04h</p><p><b> je key5</b></p><p> mov al,10h</p><p><b> jmp key6</b></p><p> key
67、5: test al,08h</p><p><b> je nkey</b></p><p> mov al,18h</p><p> key6: add al,bl</p><p> cmp al,10h</p><p><b> jnc
68、 fkey</b></p><p><b> mov bl,al</b></p><p><b> MOV BH,0H</b></p><p> MOV SI,OFFSET DATA2</p><p> MOV AL,[bx+si]</p><p><
69、;b> RET</b></p><p> nkey: MOV AL,20h</p><p><b> fkey: ret</b></p><p> data2:DB 07h,04h,08h,05h,09h,06h,0ah,0bh,DB 01h,00h,02h,0fh,03h,0eh,0ch,0dh</p>
70、<p> for8251: CALL T8253</p><p> MOV AL,65H</p><p><b> OUT DX,AL</b></p><p> MOV DX,03f9h</p><p> MOV AL,25h</p><p><b> OUT D
71、X,AL</b></p><p> MOV DX,03f9h</p><p> MOV DX,65h</p><p><b> OUT DX,AL</b></p><p> MOV DX,03f9h</p><p> MOV AL,4eh</p><p&g
72、t;<b> OUT DX,AL</b></p><p> MOV DX,03f9H</p><p> MOV AL,25h</p><p><b> out dx,al</b></p><p><b> ret</b></p><p> T
73、8253: MOV DX,43H ;9600</p><p> MOV AL,76H</p><p><b> OUT DX,AL</b></p><p> MOV DX,41H</p><p> MOV AL,0CH</p><p><b> OUT DX,AL</b
74、></p><p> MOV DX,41H</p><p> MOV AL,00H</p><p><b> OUT DX,AL</b></p><p> MOV DX,03F9H</p><p> MOV DX,03f9h</p><p><b>
75、; RET</b></p><p> DISP: MOV AL,0FFH ;00H</p><p><b> MOV DX,PA</b></p><p><b> OUT DX,AL</b></p><p> MOV CL,0DFH ;20H ;顯示子程序 ,5ms <
76、/p><p> MOV BX,OFFSET BUF</p><p> DIS1: MOV AL,[BX]</p><p> MOV AH,00H</p><p><b> PUSH BX</b></p><p> MOV BX,OFFSET DATA1</p><p&
77、gt;<b> ADD BX,AX</b></p><p> MOV AL,[BX]</p><p><b> POP BX</b></p><p><b> MOV DX,PB</b></p><p><b> OUT DX,AL</b><
78、;/p><p><b> MOV AL,CL</b></p><p><b> MOV DX,PA</b></p><p><b> OUT DX,AL</b></p><p><b> PUSH CX</b></p><p>
79、 DIS2: MOV CX,00A0H</p><p><b> INC BX</b></p><p> ROR CL,1 ;SHR CL,1</p><p><b> JMP DIS1</b></p><p> LX1: MOV AL,0FFH</p><p&
80、gt;<b> MOV DX,PB</b></p><p><b> OUT DX,AL</b></p><p><b> RET</b></p><p> BUF1: MOV BUF,08H</p><p> MOV BUF+1,02H</p>&
81、lt;p> MOV BUF+2,05H</p><p> MOV BUF+3,01H</p><p> MOV BUF+4,17H</p><p> MOV BUF+5,01H</p><p><b> RET</b></p><p> BUF2: MOV BUF,09H&l
82、t;/p><p> MOV BUF+1,00H</p><p> MOV BUF+2,00H</p><p> MOV BUF+3,0dH</p><p> MOV BUF+4,10H</p><p> MOV BUF+5,10H</p><p><b> RET</b&
83、gt;</p><p> BUF3: MOV BUF,0eH</p><p> MOV BUF+1,18H</p><p> MOV BUF+2,18H</p><p> MOV BUF+3,10H</p><p> MOV BUF+4,10H</p><p> MOV BUF+
84、5,10H</p><p><b> RET</b></p><p> CODE ENDS</p><p><b> END START</b></p><p><b> 4 驗證測試</b></p><p> 采用DICE-8086對本
85、設(shè)計進行驗證。在P.態(tài)下,運行實驗程序,如在PC機和實驗系統(tǒng)聯(lián)機狀態(tài)下,可用鼠標(biāo)左鍵單擊菜單欄“文件”或工具欄“新建圖標(biāo)”, 建立以“.ASM”為后綴的文件,輸入源文件并保存,再單擊工具欄中編譯,即可完成源文件自動編譯、裝載目標(biāo)代碼功能,再單擊“調(diào)試”中“R運行”或工具圖標(biāo)運行,運行后的結(jié)果如圖4.1,此時數(shù)碼顯示8251—1,等待按鍵,發(fā)送鍵值;運行“串口調(diào)試助手”,按動小鍵盤數(shù)字鍵,在PC機屏幕上顯示相應(yīng)的數(shù)字,按MON鍵發(fā)送結(jié)束,
86、串口調(diào)試助手顯示如圖4.2。按RST鍵,返回P.態(tài)。</p><p><b> 測試結(jié)果如下:</b></p><p> 圖4.1 裝載運行程序結(jié)果</p><p> 圖4.2 小鍵盤輸入后串口調(diào)試助手顯示</p><p><b> 5總結(jié)</b></p><p>
87、 課程設(shè)計的過程是艱辛的,但是收獲卻是很大的。這次課程設(shè)計主要是應(yīng)用以前學(xué)習(xí)的8253芯片的分頻作為8251的收發(fā)時鐘頻率,8251異步串行通信,實現(xiàn)8251可編程通信接口與PC機的通信,每按動一次任一數(shù)字鍵,就把該鍵值通過8251發(fā)送給PC機接收,并在PC機屏幕上顯示出該鍵值。 </p><p> 首先,綜合課程設(shè)計把以前學(xué)習(xí)到的知識得到鞏固和進一步的提高認(rèn)識,對已有知識有了更進一步的理解和認(rèn)識,再次,在課程
88、設(shè)計中碰到了很多的問題,通過查閱相關(guān)書籍資料,自己鉆研,特別是得到了老師的諄諄教導(dǎo),老師給予了我很大的幫助,不僅給了我思路上的開闊,還讓我認(rèn)識到了自己對以前所學(xué)知識的不足方面。當(dāng)然,通過這次課程設(shè)計,也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,會不斷的完善自我,不斷進取,能使自己有一個大的發(fā)展。</p><p><b> 參考文獻</b></p><p> [1]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機與pc機通訊
- 單片機串行口與pc機通訊資料
- 單片機課程設(shè)計--單片機串行通訊
- 基于usb協(xié)議的pc機與430單片機的通訊系統(tǒng)設(shè)計
- 單片機課程設(shè)計報告--雙機串行通訊
- pc機與單片機串行通信課程設(shè)計
- 基于usb協(xié)議的pc機與430單片機的通訊系統(tǒng)設(shè)計-畢業(yè)論文
- pc機與gps接收機的通訊程序設(shè)計與實現(xiàn)
- 基于PC-104與PC機之間USB通訊的實現(xiàn).pdf
- pc機與單片機串口通信
- 兩機通訊課程設(shè)計
- 畢業(yè)論文---單片機串口與電腦通訊
- 兩個單片機串行通訊與仿真
- 畢業(yè)論文---單片機串口與電腦通訊
- 基于單片機的modbus通訊器設(shè)計
- 《單片機原理與應(yīng)用》課程設(shè)計---可編程定時計數(shù)器
- 實驗單片機與pc機串口通信
- 8251串口通訊課程設(shè)計
- 單片機rs-485多機通訊的實現(xiàn)
- 單片機串口通信課程設(shè)計-- pc和單片機的串行雙工通信
評論
0/150
提交評論