彭文竹,張 禹
(1.集美大學(xué) 誠毅學(xué)院,福建 廈門 361021;2.福建江夏學(xué)院 電子信息科學(xué)學(xué)院,福建 福州 350108)
單片機(jī)在TPC-USB微機(jī)實(shí)驗(yàn)系統(tǒng)中的應(yīng)用
彭文竹1,張禹2
(1.集美大學(xué) 誠毅學(xué)院,福建 廈門 361021;2.福建江夏學(xué)院 電子信息科學(xué)學(xué)院,福建 福州 350108)
針對(duì)該實(shí)驗(yàn)系統(tǒng)僅局限于進(jìn)行微機(jī)原理實(shí)驗(yàn)的特點(diǎn),設(shè)計(jì)出總線擴(kuò)展電路板,構(gòu)成一款新型的51單片機(jī)微機(jī)實(shí)驗(yàn)綜合系統(tǒng),并在微機(jī)原理和單片機(jī)原理系統(tǒng)中結(jié)合Proteus軟件,進(jìn)行單片機(jī)微機(jī)綜合實(shí)驗(yàn)仿真測(cè)試。實(shí)踐證明,該總線設(shè)計(jì)電路滿足單片機(jī)在TPC-USB實(shí)驗(yàn)系統(tǒng)中的應(yīng)用要求。
51單片機(jī);微機(jī);總線電路;實(shí)驗(yàn)系統(tǒng);仿真
微機(jī)原理是筆者學(xué)校理工科專業(yè)學(xué)生必修的一門專業(yè)基礎(chǔ)課,微機(jī)原理實(shí)驗(yàn)室使用清華科教儀器提供TPC-2003A微機(jī)實(shí)驗(yàn)系統(tǒng)來進(jìn)行實(shí)驗(yàn)操作,所購買套數(shù)較多,涉及實(shí)驗(yàn)內(nèi)容較為單一,只能進(jìn)行Intel8086微機(jī)實(shí)驗(yàn)。為了節(jié)約資源,將本實(shí)驗(yàn)的實(shí)驗(yàn)設(shè)備繼續(xù)使用,本文設(shè)計(jì)一款51單片機(jī)的總線擴(kuò)展板,并通過51單片機(jī)的最小系統(tǒng)進(jìn)行控制,構(gòu)成一種新型的51單片機(jī)微機(jī)學(xué)習(xí)系統(tǒng)。然后將Proteus引入單片機(jī)和微機(jī)綜合實(shí)驗(yàn)中,結(jié)合微機(jī)原理與單片機(jī)原理,設(shè)計(jì)單片機(jī)和微機(jī)原理綜合實(shí)驗(yàn)教學(xué)仿真系統(tǒng)。
筆者學(xué)校微機(jī)原理實(shí)驗(yàn)室配備有清華科教TPC-2003A微機(jī)系統(tǒng)原理實(shí)驗(yàn)箱,數(shù)量較多。因此,為保證學(xué)校資源不被浪費(fèi),結(jié)合學(xué)校綜合實(shí)驗(yàn)教學(xué)模式,提出一種微機(jī)原理實(shí)驗(yàn)教學(xué)創(chuàng)新模式,利用原有的微機(jī)原理實(shí)驗(yàn)箱設(shè)計(jì)相應(yīng)的總線擴(kuò)展板,結(jié)合單片機(jī)系統(tǒng),在微機(jī)系統(tǒng)上實(shí)現(xiàn)單片機(jī)課程實(shí)驗(yàn)教學(xué)。
1.1TPC-USB微機(jī)實(shí)驗(yàn)箱結(jié)構(gòu)
TPC-USB實(shí)驗(yàn)系統(tǒng)由USB總線接口模塊以及擴(kuò)展試驗(yàn)臺(tái)組成,通過USB總線電纜將接口模塊與PC機(jī)相連,模塊與實(shí)驗(yàn)箱之間由一條50芯扁平電纜連接,其主要特點(diǎn)如下:
(1)實(shí)驗(yàn)系統(tǒng)中的USB模塊使用PHILIHPS的ISP1581 USB2.0高速接口芯片提供了高速USB下的通信能力。
(2)支持ISP下載,通過模塊上的RS-232接口,可以對(duì)模塊內(nèi)部的MCU進(jìn)行在線編程,對(duì)軟件進(jìn)行修改或在線升級(jí),也可以通過RS-232接口下載實(shí)驗(yàn)程序到USB模塊,進(jìn)行實(shí)驗(yàn)。
(3)該模塊提供一個(gè)50線扁平電纜,通過該電纜將模塊產(chǎn)生的仿ISA總線信號(hào)連到實(shí)驗(yàn)臺(tái)上。
TPC-2003A微機(jī)擴(kuò)展臺(tái)主要模塊電路主要分為以下2種。
(1)實(shí)驗(yàn)箱總線插座信號(hào)分布
實(shí)驗(yàn)系統(tǒng)通過50線扁平電纜接口與PC機(jī)相連,為實(shí)驗(yàn)臺(tái)提供仿ISA總線信號(hào),具體各端口信號(hào)安排如表1所示。
表1 總線信號(hào)分布表
從表1中可以看出,50芯的總線信號(hào)中包含了以下內(nèi)容:數(shù)據(jù)傳輸線D0-D7、地址傳輸線A19-A0、I/O端口讀寫信號(hào)IOR和IOW、存儲(chǔ)器讀寫信號(hào)MEMR MEMW、中斷請(qǐng)求IRQ、DMA申請(qǐng)DRQ、DMA回答DACK、AEN等。
(2)微機(jī)接口I/O地址譯碼電路
TPC-USB微機(jī)系統(tǒng)上I/O地址共有8組輸出,包含64位I/O地址,具體分配如下:Y0-Y7,其地址分別為 280H-287H;288H-28FH;290H-297H;298H-29FH;2A0H-2A7H;2A8H-2AFH;2B0H-2B7H;2B8H-2BFH,8根I/O地址輸出線在實(shí)驗(yàn)臺(tái)“I/O地址”處分別由自鎖緊插孔引出,如圖1。
圖1 I/O地址譯碼電路
1.2TPC-USB微機(jī)系統(tǒng)的單片機(jī)應(yīng)用總線電路設(shè)計(jì)原理
1.2.1總線擴(kuò)展電路設(shè)計(jì)方案
51單片機(jī)總線擴(kuò)展板的設(shè)計(jì)主要是設(shè)計(jì)應(yīng)用擴(kuò)展電路,從而代替原有的微機(jī)系統(tǒng)的USB總線接口模塊,將51單片機(jī)最小電路系統(tǒng)和微機(jī)實(shí)驗(yàn)系統(tǒng)有效的連接,在微機(jī)實(shí)驗(yàn)箱上進(jìn)行單片機(jī)綜合實(shí)驗(yàn)??偩€擴(kuò)展模塊有兩種不同的設(shè)計(jì)方案,分別為采用并行輸入輸出方式及串行輸入輸出方式。在設(shè)計(jì)該擴(kuò)展模塊時(shí)需要分析這兩種方案的優(yōu)缺點(diǎn),最后再選擇最優(yōu)的方案。
(1)并行口設(shè)計(jì)方式通過總線驅(qū)動(dòng)器74LS244直接控制地址總線,通過雙向總線驅(qū)動(dòng)器74LS245控制數(shù)據(jù)總線的讀和寫以及IOR、IOW控制信號(hào)。該實(shí)現(xiàn)方案的可擴(kuò)展空間相對(duì)少,而且需要占用較多IO口,但是設(shè)計(jì)起來簡單方便,較容易通過軟件程序控制。
(2)串行口設(shè)計(jì)方式的設(shè)計(jì)采用74LS164并出移位寄存器和74LS165串行輸出移位寄存器對(duì)總線進(jìn)行擴(kuò)展。相比于用并行口設(shè)計(jì)方案而言,其優(yōu)點(diǎn)是所需IO口減少,并且可以進(jìn)行任意的擴(kuò)展和級(jí)聯(lián)。但是此方案也存在不足,控制起來相對(duì)復(fù)雜,軟件設(shè)計(jì)難度更大,其處理要點(diǎn)是地址總線和數(shù)據(jù)總線的讀寫應(yīng)用。
通過兩種方案的比較結(jié)合實(shí)際應(yīng)用,綜合考慮后采用串行口設(shè)計(jì)方案,具體設(shè)計(jì)方法如下。
1.2.251單片機(jī)地址總線的擴(kuò)展設(shè)計(jì)
TPC-USB微機(jī)實(shí)驗(yàn)箱上I/O地址共有8組輸出,包含64位地址。高8位地址控制端為固定輸出,系統(tǒng)設(shè)置為02h,因此只需要通過單片機(jī)P1口控制低8位端口,即可實(shí)現(xiàn)地址譯碼。單片機(jī)控制實(shí)驗(yàn)箱I/O地址譯碼具體分布如表2所示,表中I/O地址譯碼分布通過相應(yīng)位碼進(jìn)行表示。
表2 地址總線擴(kuò)展信號(hào)對(duì)應(yīng)編碼表
通過將8位邊沿觸發(fā)式串行輸入數(shù)據(jù)并行輸出移位寄存器的輸出端口連接到八組輸出緩沖器和總線驅(qū)動(dòng)器中,再將緩沖器的輸出連接到TPC-USB系統(tǒng)總線信號(hào)中,利用51單片機(jī)P1的3個(gè)I/ O口來控制并出移位寄存器的工作,該擴(kuò)展設(shè)計(jì)電路原理如圖2所示。
圖2 地址總線擴(kuò)展設(shè)計(jì)原理圖
1.2.351單片機(jī)數(shù)據(jù)總線的擴(kuò)展設(shè)計(jì)
TPC-USB微機(jī)實(shí)驗(yàn)箱的數(shù)據(jù)通過8位數(shù)據(jù)總線進(jìn)行雙向傳輸,因此需要在數(shù)據(jù)的讀和寫兩方面對(duì)總線進(jìn)行擴(kuò)展。因此在總線驅(qū)動(dòng)器的使能信號(hào)上增加了一個(gè)反相電路,利用51單片機(jī)控制,使兩片總線驅(qū)動(dòng)器處于不同的工作狀態(tài),從而達(dá)到51單片機(jī)I/O口控制數(shù)據(jù)的讀寫操作目的。
數(shù)據(jù)寫過程的擴(kuò)展原理為:只要將并出移位寄存器的輸出端口連接到總線驅(qū)動(dòng)器的輸入端口,再將總線驅(qū)動(dòng)器的輸出連接到微機(jī)實(shí)驗(yàn)箱的總線信號(hào)中的數(shù)據(jù)端口,再用單片機(jī)的I/O口來控制移位寄存器的工作狀態(tài),同時(shí)使數(shù)據(jù)總線保持在寫狀態(tài)過程,具體設(shè)計(jì)電路如圖3所示。
圖3 51單片機(jī)數(shù)據(jù)總線寫擴(kuò)展原理圖
在單片機(jī)實(shí)驗(yàn)過程中,為了將微機(jī)實(shí)驗(yàn)箱外圍部件的數(shù)據(jù)送到51單片機(jī),需要對(duì)數(shù)據(jù)總線進(jìn)行讀擴(kuò)展設(shè)計(jì),即將外圍電路數(shù)據(jù)通過數(shù)據(jù)總線傳輸?shù)?1單片機(jī)中,這里采用串行輸出移位寄存器進(jìn)行設(shè)計(jì)。首先將總線信號(hào)數(shù)據(jù)接口連接到鎖存器輸入端口,再將鎖存器的輸出通過并行轉(zhuǎn)串行方式輸出到單片機(jī)的I/O口,這邊同樣需要通過單片機(jī)的3個(gè)I/O口來控制74LS165的工作狀態(tài),數(shù)據(jù)總線讀的擴(kuò)展設(shè)計(jì)電路如圖4所示。
圖4 51單片機(jī)數(shù)據(jù)總線讀擴(kuò)展原理圖
通過以上硬件電路設(shè)計(jì)可知,51單片機(jī)可以在TPC-USB實(shí)驗(yàn)系統(tǒng)上完成地址寫入及數(shù)據(jù)讀寫操作,因此只需將總線信號(hào)重新分配,再結(jié)合軟件子程序初始化設(shè)計(jì)便可以將51單片機(jī)系統(tǒng)應(yīng)用于TPC-2003A微機(jī)實(shí)驗(yàn)系統(tǒng)中進(jìn)行單片機(jī)或者微機(jī)原理實(shí)驗(yàn)。
Proteus軟件是目前最好的單片機(jī)及外圍器件的仿真工具,其處理器模型支持多種單片機(jī),從Proteus7.5 SP3版本開始,Proteus對(duì)8086及相關(guān)接口芯片提供了支持。
在微機(jī)和單片機(jī)綜合實(shí)驗(yàn)中結(jié)合Proteus軟件,設(shè)計(jì)仿真綜合實(shí)驗(yàn)系統(tǒng)。通過仿真軟件對(duì)51單片機(jī)和8086綜合實(shí)驗(yàn)進(jìn)行設(shè)計(jì),并在TPC-USB單片機(jī)微機(jī)實(shí)驗(yàn)系統(tǒng)上進(jìn)行實(shí)驗(yàn)驗(yàn)證。
2.1基于單片機(jī)和8086綜合仿真系統(tǒng)的設(shè)計(jì)
以基于Proteus的AT89C51和8086微機(jī)之間的串行通信為例,闡述Proteus在單片機(jī)和微機(jī)綜合實(shí)驗(yàn)過程中的應(yīng)用。
2.1.1實(shí)驗(yàn)設(shè)計(jì)要求
設(shè)計(jì)一個(gè)單片機(jī)和微機(jī)綜合控制系統(tǒng),一個(gè)4×4的矩陣鍵盤,以單片機(jī)的P1.0~P1.3作為行線,P1.4~P1.7作為列線,最后通過8086微機(jī)控制系統(tǒng)在數(shù)碼管上顯示每個(gè)按鍵的0~F序號(hào)。首先用51單片機(jī)將P1端口指撥開鍵盤輸入數(shù)據(jù)載人SBUF,再經(jīng)由TXD將數(shù)據(jù)傳送給8251串行口接收芯片,然后通過8086微機(jī)系統(tǒng)將接收的數(shù)據(jù)通過8255的并行口輸出,并在數(shù)碼管上顯示輸出。
2.1.2實(shí)驗(yàn)原理框圖
控制系統(tǒng)實(shí)驗(yàn)原理圖如圖5所示,它由8086和51單片機(jī)兩部分微機(jī)控制系統(tǒng)構(gòu)成,通過8251的收發(fā)控制輸入端和51單片機(jī)進(jìn)行數(shù)據(jù)通信,然后發(fā)回8086微機(jī)系統(tǒng),最終再將數(shù)據(jù)通過8255并行口輸出。
圖5 51單片機(jī)和8086微機(jī)數(shù)據(jù)傳輸原理圖
2.1.3系統(tǒng)仿真電路設(shè)計(jì)
該實(shí)驗(yàn)電路包含有以下4個(gè)電路模塊,具體功能如下:
(1)8086微機(jī)控制模塊:8086工作在最小模式方式下,通過74LS373的地址鎖存器和74LS138譯碼器產(chǎn)生并行口芯片8255和串行口芯片8251的地址選址信號(hào),通過數(shù)據(jù)總線和8255及8251交換數(shù)據(jù)。
(2)8251串口控制模塊:8251利用串行接收和發(fā)送端口與AT89C51的數(shù)據(jù)發(fā)送和接收端口交叉連接,以保證串行通信芯片8251在接收從單片機(jī)發(fā)送來的數(shù)據(jù)后通過數(shù)據(jù)總線和8086進(jìn)行數(shù)據(jù)交換。
(3)8255并行口控制模塊:8255通過8086數(shù)據(jù)總線接收串口發(fā)送的數(shù)據(jù),然后通過PA口將數(shù)據(jù)傳送到數(shù)碼管模塊。
(4)AT89C51單片機(jī)控制模塊:51單片機(jī)通過P1口接收鍵盤輸入的數(shù)據(jù),晶振頻率設(shè)置為11.0592 MHz,然后將鍵盤輸入的數(shù)據(jù)通過數(shù)據(jù)傳送和接收端口發(fā)送到8251串口控制接收模塊。
2.1.4電路程序的編寫和編譯
采用Keil軟件進(jìn)行單片機(jī)的程序編寫,8086微機(jī)程序編寫采用TPC-USB編譯器進(jìn)行編寫,通過TPC-USB軟件可以鏈接編譯生成我們所需要的COM或者EXE文件,然后裝載到8086微機(jī)的內(nèi)部RAM中,最后通過Proteus運(yùn)行仿真,觀察實(shí)驗(yàn)綜合運(yùn)行效果。
2.1.5仿真電路圖
通過以上分析,該電路的仿真設(shè)計(jì)圖如圖6所示,圖中單片機(jī)按鍵輸入的數(shù)據(jù)通過微機(jī)控制系統(tǒng)進(jìn)行數(shù)據(jù)的交換,然后通過8255的并行口在數(shù)碼管上顯示按鍵輸入的鍵值。實(shí)驗(yàn)表明,在TPCUSB單片機(jī)微機(jī)綜合實(shí)驗(yàn)教學(xué)中結(jié)合Proteus,不僅不受實(shí)驗(yàn)設(shè)備和耗材的影響,并能在此基礎(chǔ)上更好的應(yīng)用微機(jī)實(shí)驗(yàn)系統(tǒng)。
圖6 仿真電路圖
本文針對(duì)本校現(xiàn)有微機(jī)原理與接口技術(shù)實(shí)驗(yàn)系統(tǒng)涉及內(nèi)容陳舊單一的現(xiàn)狀,設(shè)計(jì)AT89C51單片機(jī)的總線擴(kuò)展板,結(jié)合51單片機(jī)的最小控制系統(tǒng),在實(shí)驗(yàn)室現(xiàn)有的微機(jī)系統(tǒng)完成51單片機(jī)微機(jī)實(shí)驗(yàn),構(gòu)成51單片機(jī)學(xué)習(xí)系統(tǒng),很好的實(shí)現(xiàn)了在微機(jī)接口實(shí)驗(yàn)箱上學(xué)習(xí)和應(yīng)用單片機(jī)。本設(shè)計(jì)滿足學(xué)生的不同需求,并可將該設(shè)計(jì)原理應(yīng)用于合泰、PIC、凌陽等多種單片機(jī)中,很好的解決了單片機(jī)種類多設(shè)備配備難以滿足要求的客觀問題并為學(xué)校節(jié)約大量資金。并通過單片機(jī)和微機(jī)原理的兩門課程的仿真綜合實(shí)驗(yàn)系統(tǒng),使學(xué)生能夠很好的掌握微機(jī)原理及單片機(jī)原理硬件電路及外圍部件設(shè)計(jì)。
[1]朱敏玲,張偉,侯凌燕.基于Proteus的微機(jī)原理與接口技術(shù)教學(xué)改革[J].實(shí)驗(yàn)室研究與探索,2016(1):155-160.
[2]李尚富,饒連周,魏名捷,等.基于單片機(jī)的智能測(cè)角儀設(shè)計(jì)[J].三明學(xué)院學(xué)報(bào),2013,30(8):39-42,87.
[3]方汝炤,葉騰達(dá),饒連周,等.基于USB和藍(lán)牙的單片機(jī)溫度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].三明學(xué)院學(xué)報(bào),2010(12):542-546.
[4]張研,王詠梅.任務(wù)驅(qū)動(dòng)法在微機(jī)原理及應(yīng)用課程中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2015(2):172-175.
[5]陳真,王釗,戴永壽.接口綜合設(shè)計(jì)實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2016(2):93-96.
[6]底群.單片機(jī)實(shí)驗(yàn)教學(xué)仿真軟件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013(2):39-41,44.
[7]李現(xiàn)國,張艷.Proteus仿真在微機(jī)原理及接口技術(shù)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2010(12):125-127.
[8]周荷琴,吳秀清.微型計(jì)算機(jī)原理與接口技術(shù)[M].3版.合肥:中國科學(xué)技術(shù)大學(xué)出版社,2004.
[9]劉曉坤,鄭文鋒,馮一兵,等.TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng)教師用實(shí)驗(yàn)指導(dǎo)書[M].北京:清華大學(xué)科教儀器廠,2005.
[10]丁向榮.單片微機(jī)原理與單片機(jī)應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2012.
(責(zé)任編輯:朱聯(lián)九)
Research on the Application of Microcontroller in TPC-USB Microcomputer Experiment System
PENG Wen-zhu1,ZHANG Yu2
(1.Chengyi College,Jimei University,Xiamen 361021,China;2.College of Electronic and Information Science,F(xiàn)ujian Jiangxia University,F(xiàn)uzhou 350108,China)
IBy using USB bus interface module in the TPC-USB Microcomputer experiment system, the microcomputer interface integrated circuit experiment was realized. According to the characteristic that the TPC-USB experimental system of microcomputer is limited, a bus extension circuit board was designed, which constituted a new type of 51 microcontroller and microcomputer experimental system. Then according to the principle of microcontroller and microcomputer principle comprehensive experimental teaching, a synthetic simulation teaching system was designed by Proteus. Practice has proved that the bus design circuit satisfies the application requirements of the microcontroller in the TPC-USB experiment system.
51 microcontroller; microcomputer; bus extension; experimental system; simulation;
TP368.1
A
1673-4343(2016)04-0026-06
10.14098/j.cn35-1288/z.2016.04.005
2016-03-16
福建省教育廳中青年教師教育科研科技基金項(xiàng)目(JA12334);集美大學(xué)誠毅學(xué)院教育教學(xué)改革項(xiàng)目基金(c13033)
彭文竹,男,福建泉州人,實(shí)驗(yàn)師。主要研究方向:圖像處理。