

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p><b> —雙機(jī)通訊程序設(shè)計(jì)</b></p><p> 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p> 第一部分:課程設(shè)計(jì)緒論</p><p><b> 課程設(shè)計(jì)題目</b></p><p><b&
2、gt; 雙機(jī)通信程序設(shè)計(jì)</b></p><p><b> 課程設(shè)計(jì)內(nèi)容</b></p><p> 用匯編語言編寫一個(gè)雙機(jī)通信的程序,用中斷的方式實(shí)現(xiàn)發(fā)送方從鍵盤上鍵入一個(gè)字符,接收方將該接收到的字符顯示在微機(jī)屏幕上。</p><p><b> 課程設(shè)計(jì)要求</b></p><p&g
3、t; 制作接口電纜、編程,畫出程序流程圖,程序調(diào)試。</p><p><b> 課程設(shè)計(jì)分工</b></p><p> 楊晶超負(fù)責(zé)接收端的程序設(shè)計(jì)。王鵬負(fù)責(zé)發(fā)送端的程序設(shè)計(jì)。</p><p> 潘星橋負(fù)責(zé)接收端的流程圖設(shè)計(jì)。彭大偉主要負(fù)責(zé)發(fā)送端的流程圖設(shè)計(jì)。</p><p> 第二部分:課程設(shè)計(jì)內(nèi)容</p
4、><p><b> 串行通信方式</b></p><p> 在計(jì)算機(jī)與外設(shè)之間的信息傳送中,按照一次傳送數(shù)據(jù)的位數(shù)分類,可分為: </p><p> 并行傳送方式:數(shù)據(jù)的各位同時(shí)傳送; </p><p> 串行傳送方式:數(shù)據(jù)的各位按一定的順序逐位分時(shí)傳送。 </p><p> 串行傳送適用于
5、長(zhǎng)距離通信系統(tǒng)及各類計(jì)算機(jī)網(wǎng)絡(luò)。 </p><p> 由于信息在一個(gè)方向上傳輸只占用一根傳輸線,而這根線上既傳送數(shù)據(jù),又傳送聯(lián)絡(luò)信號(hào),為此為區(qū)分這根線傳送的信息流中,哪一部分是聯(lián)絡(luò)信號(hào),哪一部分是數(shù)據(jù),就必須引出串行通信的一系列約定。于是,在串行通信中就有異步通信和同步通信兩種基本串行通信方式。</p><p> 異步通信有字符格式和波特率兩項(xiàng)約定。字符格式:</p>
6、<p> 圖1 異步通信數(shù)據(jù)格式</p><p> 波特率:是單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù),以位/秒為單位,即波特。 </p><p> 異步通信傳送速度一般在50~9600波特范圍內(nèi),用于傳送信息量不大,傳送速度要求較低場(chǎng)合。 </p><p> RS—232—C接口</p><p><b> 1、引腳規(guī)定
7、 </b></p><p> 保護(hù)地:1號(hào)腳,它與設(shè)備的外殼相連,需要時(shí)可以使它直接與大地相連; </p><p> TXD:發(fā)送數(shù)據(jù),2號(hào)腳; </p><p> RXD:接收數(shù)據(jù),3號(hào)腳; </p><p><b> 信號(hào)地:7號(hào)腳; </b></p><p> RTS:
8、請(qǐng)求發(fā)送,這是數(shù)據(jù)終端設(shè)備(以下簡(jiǎn)稱DTE)向數(shù)據(jù)通信設(shè)備(以下簡(jiǎn)稱DCE)提出發(fā)送要求的請(qǐng)求線。 </p><p> CTS:準(zhǔn)許發(fā)送,這是DCE對(duì)DTE提出的發(fā)送請(qǐng)求作出的響應(yīng)信號(hào)。當(dāng)CTS在接通狀態(tài)時(shí),就是通知DTE可以發(fā)送數(shù)據(jù)了。當(dāng)RTS在斷開狀態(tài)時(shí)。CTS也隨之?dāng)嚅_,以備下一次應(yīng)答過程的正常進(jìn)行;當(dāng)RTS在接通狀態(tài)時(shí),只有當(dāng)DCE進(jìn)入發(fā)送態(tài)時(shí),即DCE已準(zhǔn)備接收DTE送來的數(shù)據(jù)進(jìn)行調(diào)制并且DCE與外部
9、線路接通時(shí),CTS才處于接通狀態(tài)。 </p><p> DSR:數(shù)據(jù)通信設(shè)備準(zhǔn)備就緒,它反映了本端數(shù)據(jù)通信設(shè)備當(dāng)前的狀態(tài)。當(dāng)此線在接通狀態(tài)時(shí),表明本端DCE已經(jīng)與信道連接上了且并沒有處在通話狀態(tài)或測(cè)試狀態(tài),通過此線,DCE通知DTE,DCE準(zhǔn)備就緒。DSR也可以作為對(duì)RTS信號(hào)的響應(yīng),但DSR線優(yōu)先于CTS線成為接通態(tài)。 </p><p> DTR:數(shù)據(jù)終端準(zhǔn)備就緒。如果該線處于接通狀
10、態(tài),DTE通知DCE,DTE已經(jīng)作好了發(fā)送或接收數(shù)據(jù)的準(zhǔn)備,DTE準(zhǔn)備發(fā)送時(shí),本設(shè)備是主動(dòng)的,可以在準(zhǔn)備好時(shí),將DTR線置為接通狀態(tài)。如果DTE具有自動(dòng)轉(zhuǎn)入接收的功能,當(dāng)DTE接到振鈴指示信號(hào)RI后,就自動(dòng)進(jìn)入接收狀態(tài),同時(shí)將DTR線置為接通狀態(tài)。 </p><p> RI:振鈴檢測(cè),當(dāng)DCE檢測(cè)到線路上有振鈴信號(hào)時(shí),將RI線接通,傳送給DTE,在DTE中常常把這個(gè)信號(hào)作為處理機(jī)的中斷請(qǐng)求信號(hào),使DTE進(jìn)入接收
11、狀態(tài),當(dāng)振鈴?fù)V箷r(shí),RI也變成斷開狀態(tài)。 </p><p> DCD:接收線路信號(hào)檢測(cè),這是DCE送給DTE的線路載波檢測(cè)線。MODEM在連續(xù)載波方式工作時(shí),只要一進(jìn)入工作狀態(tài),將連續(xù)不斷地向?qū)Ψ桨l(fā)送一個(gè)載波信號(hào)。每一方的MODEM都可以通過對(duì)這一信號(hào)的檢測(cè),判斷線路是否通,對(duì)方是否在工作。 </p><p><b> 2、電氣性能規(guī)定 </b></p>
12、;<p> 1)在TXD和RXD線上。 </p><p> MARK(即數(shù)字“1”)=-3V~-25V </p><p> SPACE(即數(shù)字“0”)=+3V~+25V </p><p> 2)在聯(lián)絡(luò)控制信號(hào)線上(如RTS、CTS、DSR、DTR、RI、DCD等) </p><p> ON(接通狀態(tài))=+3V~+25V
13、 </p><p> OFF(斷開狀態(tài))=-3V~-25V</p><p><b> 3、電平轉(zhuǎn)換 </b></p><p> 凡是有RS—232—C串行接口的微機(jī)系統(tǒng),都需要有兩個(gè)轉(zhuǎn)換電路。由邏輯電平轉(zhuǎn)換芯片實(shí)現(xiàn)的。 </p><p> MC1488芯片可實(shí)現(xiàn)TTL→RS—232—C的邏輯電平轉(zhuǎn)換; </
14、p><p> MC1489芯片可實(shí)現(xiàn)RS—232—C→TTL的電平轉(zhuǎn)換。</p><p> 4、RS—232—C的應(yīng)用</p><p> 圖2 兩個(gè)計(jì)算機(jī)之間通過RS—232—C的連接</p><p> 可編程串行接口芯片8251A</p><p><b> 1、基本性能 </b><
15、/p><p> 1)可用于同步和異步傳送 </p><p> 同步傳送:5~8bit/字符,內(nèi)同步或外同步,自動(dòng)插入同步字符; </p><p> 異步傳送:5~8bit/字符,接收/發(fā)送時(shí)鐘頻率為通信波特率的1,16或64倍; </p><p> 2)可產(chǎn)生中止字符,可產(chǎn)生1,1.5,2位停止位。可檢查假啟動(dòng)位,自動(dòng)檢測(cè)和處理中止字符;
16、 </p><p> 3)波特率:DC-19.2Kbps(異步);DC-64Kbps(同步); </p><p> 4)完全雙工,雙緩沖發(fā)送和接收器; </p><p> 5)具有奇偶、幀、溢出出錯(cuò)檢測(cè)電路。 </p><p><b> 2、內(nèi)部結(jié)構(gòu) </b></p><p><b&
17、gt; 由四大部分組成: </b></p><p> 1)數(shù)據(jù)總線緩沖器:它由狀態(tài)緩沖器、發(fā)送數(shù)據(jù)/命令緩沖器和接收數(shù)據(jù)緩沖器組成,是三態(tài)雙向8位緩沖器,用作8251A和微機(jī)系統(tǒng)數(shù)據(jù)總線之間的接口。其中狀態(tài)緩沖器和接收數(shù)據(jù)緩沖器分別用來存放CPU從8251A讀取的狀態(tài)信息和數(shù)據(jù),發(fā)送數(shù)據(jù)/命令緩沖器用來存放CPU寫入8251A的數(shù)據(jù)/控制字。 </p><p> 2)接收
18、器:接收RXD線上的串行數(shù)據(jù)并按規(guī)定的格式把它轉(zhuǎn)換為并行數(shù)據(jù),存放在接收數(shù)據(jù)緩沖器中。其接收數(shù)據(jù)的速率取決于從 端輸入的接收時(shí)鐘頻率。 </p><p> 當(dāng)8251A工作于異步方式時(shí),若允許接收和準(zhǔn)備好接收數(shù)據(jù)時(shí),它監(jiān)視RXD線,在無字符傳送時(shí),RXD線上為高電平,當(dāng)發(fā)現(xiàn)RXD線上出現(xiàn)低電平時(shí),即認(rèn)為它是起始位,就啟動(dòng)一個(gè)內(nèi)部計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)到一個(gè)數(shù)據(jù)位寬度的一半(若時(shí)鐘脈沖頻率為波特率的16倍時(shí),則為計(jì)數(shù)
19、到第8個(gè)脈沖)時(shí),又重新采樣RXD線,若其仍為低電平,則確認(rèn)它為起始位,此后在 作用下(若 頻率為波特率的16倍時(shí),則每隔16個(gè) 采樣一次RXD線),把RXD線上的數(shù)據(jù)送至移位寄存器,經(jīng)過移位,又經(jīng)過奇偶校驗(yàn)和去掉停止位后,就得到了轉(zhuǎn)換的并行數(shù)據(jù),再傳送給接收數(shù)據(jù)緩沖器,同時(shí)輸出RXRDY有效信號(hào),通知CPU取走字符。 </p><p> 在同步方式時(shí),接收器監(jiān)視RXD線,每出現(xiàn)一個(gè)接收時(shí)鐘,采樣一位數(shù)據(jù)到接收
20、數(shù)據(jù)移位寄存器中,構(gòu)成并行字節(jié),并送到接收數(shù)據(jù)緩沖器中,再與含有同步字符(由程序設(shè)定)的寄存器相比較,看是否相等,若不等,重復(fù)上述過程。當(dāng)找到同步字符后(若規(guī)定為兩個(gè)同步字符,則出現(xiàn)在RXD線的兩個(gè)相鄰字符必須與規(guī)定的字符相同),則置SYNDET信號(hào),表示已找到同步字符。在找到同步字符后,每隔一個(gè)接收時(shí)鐘采樣一次 RXD線上的數(shù)據(jù)位,送到接收數(shù)據(jù)移位寄存器中,經(jīng)移位并按規(guī)定的位數(shù)轉(zhuǎn)換成并行字節(jié)數(shù)據(jù),再把它并行送至接收數(shù)據(jù)緩沖器中,同時(shí)輸
21、出RXRDY有效信號(hào),通知CPU取走字符。 </p><p><b> 3)發(fā)送器 </b></p><p> 要發(fā)送數(shù)據(jù)(字符)由CPU送到發(fā)送數(shù)據(jù)緩沖器中,再由發(fā)送緩沖器并行傳送到發(fā)送數(shù)據(jù)移位寄存器中。 </p><p> 在異步傳送方式時(shí),發(fā)送器先在串行數(shù)據(jù)字符前加上起始位,并根據(jù)約定的要求加上校驗(yàn)位和停止位,然后在 作用下,由TX
22、D線一位一位串行發(fā)送出去。 </p><p> 在同步方式時(shí),發(fā)送器在準(zhǔn)備發(fā)送的數(shù)據(jù)前面先插入一個(gè)或兩個(gè)同步字符(在初始化時(shí),由程序設(shè)定),在數(shù)據(jù)塊的每個(gè)字符后,插入奇偶校驗(yàn)位,然后在 作用下,將數(shù)據(jù)一位以為地由TXD線發(fā)送出去。 </p><p> 不論是同步還是異步,只有當(dāng)操作命令字中的TXEN(允許發(fā)送)為1且 (準(zhǔn)許發(fā)送)引腳為低電平時(shí),發(fā)送器才能發(fā)送數(shù)據(jù)。 </p>
23、;<p> 4)讀/寫控制邏輯和調(diào)制解調(diào)控制電路 </p><p> 讀/寫控制電路用于CPU對(duì)8251A的I/O緩沖器進(jìn)行讀/寫控制,調(diào)制解調(diào)控制電路用于8251A與MODEN或外設(shè)之間的通信聯(lián)絡(luò)的控制。 </p><p> 表1 8251讀/寫功能表</p><p> ?。ㄋ模?251A的引腳功能</p><p>
24、 1、與CPU的連接信號(hào) </p><p><b> ?。浩x信號(hào); </b></p><p> C/ :控制數(shù)據(jù); </p><p><b> ?。鹤x; </b></p><p><b> :寫; </b></p><p> D7~D0:雙向三態(tài)
25、DB,其組合功能如下: </p><p><b> 此外還有: </b></p><p> RESET:復(fù)位,當(dāng)這個(gè)輸入引腳上出現(xiàn)一個(gè)6倍CLK時(shí)鐘周期寬的高電平信號(hào)時(shí),芯片復(fù)位。復(fù)位后,芯片處于空閑狀態(tài),等待命令。 </p><p> CLK:時(shí)鐘輸入,為芯片內(nèi)部有關(guān)電路工作提供的時(shí)鐘,并非 、 。在同步方式,CLK頻率必須大于 或 頻
26、率的30倍;在異步方式,CLK頻率必須大于 或 頻率的4.5倍。另外,CLK的周期要在0.42~1.35μs范圍內(nèi)。 </p><p> TXRDY:發(fā)送器準(zhǔn)備好,高電平有效。只有當(dāng)8251A允許發(fā)送(即操作命令字的TXEN=1)并且 引腳為低電平和發(fā)送數(shù)據(jù)緩沖器為空時(shí),此信號(hào)有效,通知CPU可以向8251A寫入下一個(gè)的字符。CPU向8251A寫入下一個(gè)字符后,TXRDY自動(dòng)復(fù)位。TXRDY可作為查詢方式的狀態(tài)
27、信號(hào),也可作為中斷方式時(shí)的中斷請(qǐng)求信號(hào)。 </p><p> TXE:發(fā)送器空,高電平有效。當(dāng)它有效時(shí),表示發(fā)送數(shù)據(jù)移位寄存器已空。 TXE有效時(shí),TXRDY必有效;發(fā)送數(shù)據(jù)緩沖器滿時(shí),TXE必?zé)o效。 </p><p> RXRDY:接收器準(zhǔn)備好,高電平有效。若操作命令字的RXE(允許接收)位被置1,且當(dāng)8251A已從RXD端逐位接收了一個(gè)字符,并完成了格式變換,接收的字符已以并行數(shù)據(jù)
28、存放在接收數(shù)據(jù)緩沖器中時(shí),此信號(hào)有效,通知CPU讀取數(shù)據(jù)。當(dāng)CPU讀取一個(gè)字符后,此信號(hào)復(fù)位,此信號(hào)在查詢方式時(shí)可作為狀態(tài)信號(hào),在中斷方式時(shí)可作為中斷請(qǐng)求信號(hào)。 </p><p> SYNDET/BRKDET:同步/中止檢測(cè),復(fù)用功能引腳。在同步方式時(shí),作同步檢測(cè)SYNDET。當(dāng)工作于內(nèi)同步時(shí),為輸出引腳,當(dāng)檢測(cè)到從RXD端輸入的一個(gè)或兩個(gè)同步字符后,SYNDET輸出高電平,表示8251A已達(dá)到同步。當(dāng)CPU執(zhí)
29、行一次讀狀態(tài)操作時(shí),復(fù)位SYNDET;當(dāng)工作于外同步方式時(shí),SYNDET為輸入端,當(dāng)外部檢測(cè)電路檢測(cè)到同步字符后,就從該引腳輸入一個(gè)正跳變信號(hào),通知8251A在下一個(gè) 下降沿開始收集數(shù)據(jù)字符。從SYNDET輸入的一個(gè)正跳變信號(hào)至少應(yīng)維持一個(gè) 周期。當(dāng)程序指定為外同步方式時(shí),內(nèi)同步檢測(cè)就無用了。當(dāng)工作于異步方式時(shí),該引腳是中止信號(hào)檢測(cè)端BRKDET,為輸出端。當(dāng)檢測(cè)到中止字符后,該引腳輸出高電平。中止字符是由在通信線上的連續(xù)的0組成,它是
30、用來在完全雙工通信時(shí)中止發(fā)生器終端的。只要8251A操作命令字中的SBRK為1,則8251A就始終發(fā)送中止符(TXD線上一直輸出低電平)。若從RXD線上接收到1,BRKDET端立即變低。</p><p> 2、與MODEM接口的信號(hào)線 </p><p> ?。簲?shù)據(jù)終端準(zhǔn)備好,輸出,低電平有效??捎刹僮髅钭种械腄TR置1而變?yōu)橛行?,用以表示CPU準(zhǔn)備就緒; </p><
31、;p> ?。簲?shù)據(jù)裝置準(zhǔn)備好,輸入,低電平有效。用以表示調(diào)制解調(diào)器或外設(shè)準(zhǔn)備好。CPU可通過讀狀態(tài)DSR檢測(cè)此信號(hào)。當(dāng)讀到的狀態(tài)DSR=1時(shí),表示 有效。該信號(hào)實(shí)際上是對(duì) 的回答,通常用于接收數(shù)據(jù); </p><p> ?。赫?qǐng)求發(fā)送,輸出,低電平有效。用于通知調(diào)制解調(diào)器或外設(shè),8251A要求發(fā)送??捎刹僮髅钭值腞TS置1而使其有效; </p><p> ?。涸试S傳送,輸入,低電平有效
32、。是調(diào)制解調(diào)器或外設(shè)對(duì)8251A的 信號(hào)的回答。將操作命令字中TXEN置1,且 有效,8251A才能串行發(fā)送。 </p><p> TXD:發(fā)送數(shù)據(jù)線,RXD:接收數(shù)據(jù)線;</p><p> :發(fā)送器時(shí)鐘,數(shù)據(jù)是在 的下降沿由TXD逐位發(fā)出。對(duì)于同步方式, 時(shí)鐘頻率應(yīng)等于數(shù)據(jù)波特率;對(duì)于異步方式,可由軟件定義 時(shí)鐘頻率等于發(fā)送數(shù)據(jù)波特率的1.16或64倍。</p><
33、;p> :接收器時(shí)鐘,在 上升沿采樣RXD, 頻率和波特率的關(guān)系同 。實(shí)際上 和 往往連在一起。</p><p> 圖3 8251A引腳圖</p><p> ?。ㄎ澹?251A的編程</p><p> 在使用前必須對(duì)它進(jìn)行初始化編程。</p><p><b> 方式選擇控制字:</b></p>
34、<p> 規(guī)定8251A工作方式。各位含義如圖: </p><p> 圖4 方式選擇控制字各位含義</p><p><b> 操作命令字:</b></p><p> 確定8251A的實(shí)際操作 </p><p> D7 D6 D5 D4 D3 D2 D1
35、 D0 </p><p> EH IR RTS ER SBRK RXE DTR TXEN </p><p> TXEN:允許發(fā)送,TXEN=1:發(fā)送器才能通過TXD線串行發(fā)送數(shù)據(jù), </p><p> TXEN=0:禁止發(fā)送; </p><p> DTR:數(shù)據(jù)終端準(zhǔn)備好,DTR=1,迫使
36、 引腳有效;DTR=0,迫使 無效; </p><p> RXE:允許接收,RXE=1,允許接收;RXE=0,禁止接收; </p><p> SBRK:發(fā)送中止符,SBRK=1,迫使TXD線為低電平,輸出連續(xù)0,正常通信過程中SBRK應(yīng)保持0; </p><p> ER:錯(cuò)誤標(biāo)志復(fù)位,ER=1,復(fù)位出錯(cuò)標(biāo)志PE、OE、FE; </p><p
37、> RTS:請(qǐng)求發(fā)送,RTS=1迫使 引腳有效,表示CPU已作好發(fā)送數(shù)據(jù)準(zhǔn)備;RTS=0迫使 引腳無效; </p><p> IR:內(nèi)部復(fù)位,IR=1,迫使8251A回到設(shè)置方式選擇控制字狀態(tài); </p><p> EH:只適用于同步方式。EH=1,開始搜索同步字符;EH=0,不搜索同步字符。對(duì)于同步方式,一旦允許接收(RXE=1),必須同時(shí)使EH=1,并使ER=1(清除全部出
38、錯(cuò)標(biāo)志),才能開始搜索同步字符。 </p><p><b> 3、狀態(tài)字 </b></p><p> D7 D6 D5 D4 D3 D2 D1 D0 </p><p> DSR SYNDET/BRKDET FE OE
39、 PE TXE RXRDY TXRDY </p><p> TXRDY:發(fā)送準(zhǔn)備好,一旦發(fā)送數(shù)據(jù)緩沖器空,則狀態(tài)標(biāo)志TXRDY置1。它與引腳TXRDY不同,引腳TXRDY要為高電平,必須有下列三個(gè)條件均滿足,即發(fā)送數(shù)據(jù)緩沖器空,且操作命令字中TXEN=1,還要引腳 必須為低電平。在數(shù)據(jù)發(fā)送過程中,通常已使TXEN=1, 為低電平,所以TXRDY狀態(tài)位和TXRDY引腳信號(hào)總是相同的,若用查詢
40、方式,CPU可查詢TXRDY狀態(tài),若用中斷方式,可用TXRDY引腳向CPU發(fā)出中斷請(qǐng)求信號(hào)。狀態(tài)位RXRDY、TXE、SYNDET/BRKDET以及DSR的定義與其相應(yīng)的引腳定義相同。 </p><p> PE:奇偶出錯(cuò)標(biāo)志,若奇偶出錯(cuò),PE置1; </p><p> OE:溢出出錯(cuò)標(biāo)志,若溢出出錯(cuò),OE置1; </p><p> FE:幀出錯(cuò)標(biāo)志,若幀出錯(cuò),
41、FE置1。 </p><p> 以上三個(gè)出錯(cuò)標(biāo)志置1,均不禁止8251A工作,且均可用操作命令字中的ER置1(軟件復(fù)位)來清零。 </p><p> CPU可在任意時(shí)刻用IN指令讀8251A狀態(tài)字。 </p><p> 8251A在硬件(RESET)或軟件(操作命令字中的ER置1)復(fù)位后,處于接收方式選擇控制字狀態(tài)。CPU寫入方式選擇控制字到8251A后,(若
42、在同步方式,還需同步字符)任何時(shí)候CPU都可以寫入操作命令字到8251A,寫入操作命令字后,8251A均要檢查IR位,判別是否IR=1,若IR=1,8251A又重新回到設(shè)置方式選擇控制字狀態(tài)。 </p><p> 8251A的方式選擇控制字和操作命令字均無特征位標(biāo)志,且都是送到同一控制口地址( =0,C/ =1),所以在向8251A寫入方式選擇控制字和操作命令字時(shí),必須按一定的順序,這種順序是: </p&
43、gt;<p> 圖5 8251初始化編程的流程圖</p><p> ?。┲袛鄠魉头绞降脑?lt;/p><p> 為了提高CPU的效率和使系統(tǒng)有實(shí)時(shí)性能,可以采用中斷傳送方式。在中斷傳送方式下,外設(shè)具有申請(qǐng)CPU服務(wù)的主動(dòng)權(quán),當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好或者輸出設(shè)備可以接收數(shù)據(jù)時(shí),便可以向CPU發(fā)出中斷請(qǐng)求,使CPU暫時(shí)停下目前的工作而和外設(shè)進(jìn)行一次數(shù)據(jù)傳輸。等輸入操作或者輸
44、出造作完成以后,CPU繼續(xù)進(jìn)行原來的工作。</p><p> 當(dāng)外設(shè)準(zhǔn)備好一個(gè)數(shù)據(jù)供輸入時(shí),便發(fā)一個(gè)選通信號(hào),從而使信號(hào)打入接口的鎖存器中,并使中斷請(qǐng)求觸發(fā)器置1,此時(shí),如果中斷屏蔽觸發(fā)器Q端的值為1,則產(chǎn)生一個(gè)向CPU的中斷請(qǐng)求信號(hào)INT,中斷屏蔽觸發(fā)器的狀態(tài)為1還是為0決定了是否允許本接口發(fā)出中斷請(qǐng)求。</p><p> CPU接收到中斷請(qǐng)求信號(hào)以后,如果中斷允許觸發(fā)器狀態(tài)為1,則
45、在當(dāng)前指令被執(zhí)行完后,響應(yīng)中斷,中斷允許觸發(fā)器在CPU內(nèi)部,它的狀態(tài)決定了當(dāng)前CPU是否可以響應(yīng)可屏蔽中斷。</p><p> INTEL系列微處理器的中斷引腳有兩個(gè),一個(gè)標(biāo)為NMI,另一個(gè)則標(biāo)為INTR,從NMI引入的為非屏蔽中斷,它對(duì)應(yīng)于中斷類型2;CPU一收到非屏蔽中斷請(qǐng)求,不管中斷允許標(biāo)志IF是否為1,總是立刻進(jìn)入非屏蔽中斷處理子程序。INTR引腳上進(jìn)入的中斷請(qǐng)求信號(hào)是可以被標(biāo)志IF所屏蔽的,所以稱為可
46、屏蔽中斷,如果標(biāo)志IF為0,則從INTR引腳進(jìn)入的中斷請(qǐng)求得不到響應(yīng),只有當(dāng)IF為1時(shí),CPU才會(huì)通過INTR引腳往接口電路送兩個(gè)負(fù)脈沖作為回答信號(hào),中斷接口電路接收到INTR信號(hào)后將中斷向量發(fā)送到數(shù)據(jù)總線,同時(shí)清除中斷請(qǐng)求觸發(fā)器的請(qǐng)求信號(hào)。CPU根據(jù)中斷向量找到中斷處理子程序的入口地址,從而進(jìn)入中斷處理子程序。</p><p> 中斷處理子程序中除了包含輸入指令或輸出指令用以完成數(shù)據(jù)傳輸外,前后分別有保存通用
47、寄存器內(nèi)容和恢復(fù)通用寄存器內(nèi)容的指令。當(dāng)執(zhí)行完中斷處理子程序后,CPU返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行剛才被中斷了的程序。</p><p><b> ?。ㄆ撸┏绦蛄鞒虉D</b></p><p> 圖6 甲機(jī)發(fā)送程序流程圖</p><p> 圖7 乙機(jī)接收程序流程圖</p><p><b> ?。ò耍┏绦蚯鍐?lt;/
48、b></p><p> ?、裉?hào)機(jī)接收程序 Ⅱ號(hào)機(jī)發(fā)送程序</p><p> 地址(H) 注釋 地址(H) 注釋</p><p> 2000 MOV AL,76 ;初始化8253通道1 2000 MOV AL,76 ;初始化8253通道
49、1</p><p> 2002 OUT 43,AL 2002 OUT 43,AL </p><p> 2004 MOV AL,30 2004 MOV AL,30 </p><p> 2006 OUT 41
50、,AL 2006 OUT 41,AL</p><p> 2008 MOV AL,00 2008 MOV AL,00</p><p> 200A OUT 41,AL 200A OUT 41,AL</p><p&g
51、t; 200C CLI ;關(guān)中斷 200C CALL 2033</p><p> 200D CALL 204A 200F CALL 2053</p><p> 2010 CALL 206A 2012 MOV AL,7A ;82
52、51方式控制字</p><p> 2013 MOV AL,7A ;8251方式控制字 2014 OUT C1,AL</p><p> 2015 OUT C1,AL 2016 CALL 2053</p><p> 2017 CALL 206A
53、 2019 MOV AL,34</p><p> 201A MOV AL,34 ;操作命令字允許接收 201B OUT C1,AL</p><p> 201C OUT C1,AL 201D CALL 2053</p><p> 201E CALL 206A
54、 2020 MOV DI,3000;發(fā)送緩沖區(qū)首址</p><p> 2021 MOV AX,0152 ;顯示‘R’ 2023 MOV CX,000A;發(fā)送字符個(gè)數(shù)</p><p> 2024 INT 10 2026 MOV AL,B[DI]</p><p>
55、; 2026 MOV DI,3000 ;接收緩沖區(qū)首址 2028 CALL 205D</p><p> 2029 M0V CX,000A 202B CALL 2053</p><p> 202C IN AL,C1 ;讀8251狀態(tài)口 202E INC DI</p><p>
56、 202E AND AL,02 202F LOOP 2026</p><p> 2030 JE 202C ;RXRDY=0,等待 2031 JMP 2031</p><p> 2032 IN AL,C0 ;RXRDY=1,輸入字符 2033 MOV AL,00</p><
57、p> 2034 AND AL,7F ;屏蔽校驗(yàn)位 2035 OUT C1,AL</p><p> 2036 MOV B[DI],AL;字符送目的單元 2037 CALL 2053</p><p> 2038 INC DI 203A OUT C1,AL</p>
58、<p> 2039 LOOP 202C ;未接收完,循環(huán) 203C CALL 2053</p><p> 203B MOV AL,00 ;字符串結(jié)束標(biāo)志 203F OUT C1, AL</p><p> 203D MOV [300A],AL 2041 CALL 2053</p>
59、<p> 2040 MOV AH,06 ;顯示3000-3009 2044 OUT C1,AL</p><p><b> 單元內(nèi)容</b></p><p> 2042 MOV BX,3000 2046 CALL 2053</p><p> 2045 INT
60、 10 2049 OUT C0,AL</p><p> 2047 STI 204B CALL 2053</p><p> 2048 JMP 2048 204E MOV AL,40 ;軟件復(fù)位</p&
61、gt;<p> 204A MOV AL,00 2050 OUT C1,AL</p><p> 204C OUT C1,AL 2052 RET</p><p> 204E CALL 206A 2053 PUSH CX
62、 ;延時(shí)程序</p><p> 2051 OUT C1,AL 2054 MOV CX,3000</p><p> 2053 CALL 206A 2057 PUSH AX</p><p> 2056 OUT C1,AL
63、 2058 POP AX</p><p> 2058 CALL 206A 2059 LOOP 2057</p><p> 205B OUT C0,AL 205B POP CX</p><p> 205D CALL 206A
64、 205C RET</p><p> 2060 OUT C0,AL 205D PUSH AX ;發(fā)送字符子程序</p><p> 2062 CALL 206A 205E MOV AL,31 ;允許發(fā)送操作命令字</p><
65、p> 2065 MOV AL,40 ;軟件復(fù)位 2060 OUT C1,AL</p><p> 2067 OUT C1,AL 2062 POP AX</p><p> 2069 RET 2063 OUT C0,AL</p>
66、;<p> 206A PUSH CX ;延時(shí)程序 2065 IN AL,C1 ;讀8251狀態(tài),TXRDY=1?</p><p> 206B MOV CX,3000 2067 AND AL,01</p><p> 206E PUSH AX
67、 2069 JE 2065 ;TXRDY=0,等待</p><p> 206F POP AX 206B RET</p><p> 2070 LOOP 206E</p><p> 2072 POP CX</p><p><b> 2073 R
68、ET</b></p><p> (九) 硬件設(shè)計(jì)框圖</p><p> 圖8 雙機(jī)通信整體原理圖</p><p> 通過各自的RS-232-C接口用RS-232-C通訊電纜將兩臺(tái)機(jī)器相連其中Ⅰ號(hào)機(jī)用作接收機(jī),利用8253的1#通道產(chǎn)生接收時(shí)鐘;Ⅱ號(hào)機(jī)用作發(fā)送機(jī),利用8253的1#通道產(chǎn)生發(fā)送時(shí)鐘。實(shí)驗(yàn)的目的是將Ⅱ號(hào)機(jī)中3000-3009H十個(gè)單元
69、中的代碼傳送到Ⅰ號(hào)機(jī)的3000-3009H單元中。 </p><p> 第三部分:課程設(shè)計(jì)心得體會(huì)</p><p> 這次設(shè)計(jì)是以分工合作的方式進(jìn)行的。整個(gè)小組在設(shè)計(jì)上有個(gè)總體的認(rèn)識(shí),這個(gè)非常重要。之后就進(jìn)入緊張的分工完成階段。</p><p> 一開始大家斗志都很高,硬件和程序方面的進(jìn)展很快。但是用于連接兩端界面時(shí)卻碰到了一些棘手問題,經(jīng)過一一校對(duì)了錯(cuò)誤,成
70、功的完成了雙機(jī)通信任務(wù)。</p><p> 這次程序設(shè)計(jì)我們學(xué)到了很多東西,雖然做出來的東西很基礎(chǔ),但是我們加深了對(duì)結(jié)算機(jī)接口知識(shí)的理解和掌握。學(xué)會(huì)了對(duì)計(jì)算機(jī)接口的硬件的設(shè)計(jì)及程序的編制和調(diào)試的方法和步驟。特別是對(duì)計(jì)算機(jī)接口設(shè)計(jì)的過程中出現(xiàn)的一些故障的檢測(cè)和排除的一般方法,積累了試驗(yàn)技巧,提高了試驗(yàn)?zāi)芰退?。同時(shí)這是一次團(tuán)隊(duì)合作合作過程,一次難得的經(jīng)歷。通過此次試驗(yàn)也著重培養(yǎng)了團(tuán)隊(duì)合作的精神。</p&g
71、t;<p><b> 參考文獻(xiàn)</b></p><p> [1].趙旭 MAX491芯片在串行通訊中的應(yīng)用 《電子技術(shù)》 1997年第2期</p><p> [2].李朝青 《PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)》 北京航空航天大學(xué)出版社 2000年12第1版</p><p> [3].王蘭勛、孫英健 一種多臺(tái)單片機(jī)通信的新方式 《
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙機(jī)并行通訊微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--雙機(jī)并行通訊問題
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)--雙機(jī)串行通訊程序設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告-雙機(jī)串行通信
- 雙機(jī)通訊課程設(shè)計(jì)報(bào)告--雙機(jī)通信的設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--8253定時(shí)中斷時(shí)鐘
- 微機(jī)原理課程設(shè)計(jì)----打字練習(xí)程序
- 雙機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)-計(jì)算機(jī)微機(jī)原理課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)---硬件中斷時(shí)鐘設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--小鳥動(dòng)畫程序
- 微機(jī)原理課程設(shè)計(jì)-圖形變換程序
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--數(shù)據(jù)采集系統(tǒng)三(中斷法)
- 微機(jī)原理課程設(shè)計(jì)--加密解密程序設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--代碼轉(zhuǎn)換程序設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----進(jìn)制轉(zhuǎn)換程序設(shè)計(jì)
- 微機(jī)原理-課程設(shè)計(jì)電風(fēng)扇程序設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)簡(jiǎn)易的編碼解碼程序
- 接口技術(shù)課程設(shè)計(jì)-雙機(jī)串行通訊
- 單片機(jī)課程設(shè)計(jì)報(bào)告--雙機(jī)串行通訊
評(píng)論
0/150
提交評(píng)論