物理學(xué)院?jiǎn)纹瑱C(jī)實(shí)驗(yàn)講義_第1頁(yè)
物理學(xué)院?jiǎn)纹瑱C(jī)實(shí)驗(yàn)講義_第2頁(yè)
物理學(xué)院?jiǎn)纹瑱C(jī)實(shí)驗(yàn)講義_第3頁(yè)
物理學(xué)院?jiǎn)纹瑱C(jī)實(shí)驗(yàn)講義_第4頁(yè)
物理學(xué)院?jiǎn)纹瑱C(jī)實(shí)驗(yàn)講義_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義

河北大學(xué)物理科學(xué)與技術(shù)學(xué)院

2016年3月

目錄

第一章系統(tǒng)組成

1-1總體結(jié)構(gòu)1-2實(shí)驗(yàn)與開發(fā)平臺(tái)

1-351/98單片單板1-4實(shí)驗(yàn)開發(fā)軟件

i-5

第二章SAC-MT熨驗(yàn)與開發(fā)平臺(tái)

2-1組成和結(jié)構(gòu)2-2電源

2-3輸入裝置2-4信號(hào)源

2-5輸出裝置2-6邏輯測(cè)試儀

2-7傳感器與檢測(cè)電2-8傳感器與電機(jī)電路

第三章SAC-51/98單片單板機(jī)硬件

3-1單片單板機(jī)組成3-2存儲(chǔ)器

3-3串行接口3-4擴(kuò)展引出接口

3-5安裝

第四章SAC-5198單片單板機(jī)監(jiān)控

4-18031/8098本機(jī)監(jiān)控命令4-28031本機(jī)監(jiān)控調(diào)用

4-38031CRT監(jiān)控程

第五章PC機(jī)上使用的軟件

5-1編輯5-2匯編

5-3反匯編5-4通信

5-5反通信5-6調(diào)試

5-7BASIC(或用戶狀態(tài))

第六章單片機(jī)原理實(shí)臉

6-1鍵盤操作6-2數(shù)據(jù)傳送實(shí)驗(yàn)

6-3多字節(jié)加法實(shí)驗(yàn)6-4雙字節(jié)乘法

6-5代碼轉(zhuǎn)換16-6代碼轉(zhuǎn)換2

6-7數(shù)據(jù)處理實(shí)驗(yàn)6-8數(shù)據(jù)排序?qū)嶒?yàn)

6-9查表程序?qū)嶒?yàn)6-10定時(shí)器實(shí)驗(yàn)

6-11中斷實(shí)驗(yàn)6-12電子時(shí)鐘實(shí)驗(yàn)

第七章接口技術(shù)實(shí)驗(yàn)

7-1可編程I/O接口電路8255應(yīng)用試驗(yàn)7-2串行通信實(shí)驗(yàn)

7-3顯小器實(shí)驗(yàn)7-4鍵盤實(shí)驗(yàn)

7-5直流電機(jī)測(cè)速實(shí)驗(yàn)7-6模擬電梯控制實(shí)驗(yàn)

7-7步進(jìn)電機(jī)控制實(shí)驗(yàn)7-88279顯示實(shí)驗(yàn)

7-9單片機(jī)與上位機(jī)的通信7-10溫度'光敏'力敏檢測(cè)

7-11A/D轉(zhuǎn)換實(shí)驗(yàn)7-12D/A轉(zhuǎn)換實(shí)驗(yàn)

第八章SAC-51/98單片單板機(jī)操作使用說明

8-1開機(jī)步驟8-2鍵盤操作說明

第一章系統(tǒng)組成

§1—1總體結(jié)構(gòu)

SAC—51/98單片機(jī)實(shí)驗(yàn)與開發(fā)集成系統(tǒng)是由兩大部分組成。51/98

單片機(jī)是一單板式結(jié)構(gòu),元件布局緊湊合理,8位8段數(shù)碼顯示器在單片機(jī)

右上角,25個(gè)鍵碼按鍵,主機(jī)板采用熱風(fēng)整平制板工藝制作,I/。及控制

信號(hào)引出插座通過60線扁平電纜與實(shí)驗(yàn)開發(fā)平臺(tái)相聯(lián)接。實(shí)驗(yàn)與開發(fā)平臺(tái)

結(jié)構(gòu)新頻、樣式美觀,上面有25個(gè)實(shí)驗(yàn)與開發(fā)經(jīng)常用到的功能單元。51/

98單片機(jī)與實(shí)驗(yàn)開發(fā)平臺(tái)構(gòu)成一個(gè)完整的實(shí)驗(yàn)與開發(fā)集成系統(tǒng)。

§1—2實(shí)驗(yàn)與開發(fā)平臺(tái)

實(shí)驗(yàn)與開發(fā)平臺(tái)采用新型的PVC面板,明亮耐磨,電氣絕緣性能好,

該實(shí)驗(yàn)與開發(fā)平臺(tái)最顯著的技術(shù)特點(diǎn)是除具備通用的常規(guī)典型的電路模塊

外,還具有一些最新穎常用的微電子線路中的多個(gè)功能模塊。做測(cè)控方面的

應(yīng)用和實(shí)驗(yàn),只需插上相應(yīng)的檢測(cè)元件即可。另一特點(diǎn)是通用性。其通用性

是來源多種總線插口及巧妙布局。

§1-3實(shí)驗(yàn)與開發(fā)軟件

SAC—51/98單片機(jī)實(shí)驗(yàn)與開發(fā)集成系統(tǒng)軟件形象直觀且易于掌握,

在組合軟件的主菜單中同時(shí)可選51系統(tǒng)程序或98系統(tǒng)程序,并可選高級(jí)

語(yǔ)言BASIC或用戶狀態(tài),以做為單片機(jī)與上位機(jī)(PC機(jī))聯(lián)機(jī)測(cè)控監(jiān)視及圖

形顯示等,向用戶提供六十多個(gè)實(shí)驗(yàn)及應(yīng)用程序,有些稍加改動(dòng)即可做為實(shí)

際開發(fā)應(yīng)用程序。實(shí)驗(yàn)教師可根據(jù)課程的內(nèi)容和進(jìn)展情況,選擇其中任一程

序做為實(shí)驗(yàn)內(nèi)容,無須做修改和調(diào)試,便可得到滿意的實(shí)驗(yàn)效果。

所有系統(tǒng)軟件連同實(shí)驗(yàn)及應(yīng)用程序都存放在磁盤內(nèi)。

§1—4機(jī)箱

機(jī)箱采用對(duì)折式可拆卸的高級(jí)鋁合金機(jī)箱/普通木制機(jī)箱,可前后對(duì)

開,也可左右擺放。

第二章SAC—MT實(shí)驗(yàn)與開發(fā)平臺(tái)

§2—1SAC—MT實(shí)驗(yàn)與開發(fā)平臺(tái)的組成和結(jié)構(gòu)

SAC—MT實(shí)驗(yàn)與開發(fā)平臺(tái)為單板式結(jié)構(gòu)。A型裝在一個(gè)28cmx20cm

x7cm的普通木制機(jī)箱內(nèi);B型裝在一個(gè)41cmx30cmx16cm的高級(jí)航空鋁

箱內(nèi)。

§2—2電源

1.BS型實(shí)驗(yàn)與開發(fā)平臺(tái)配直流電源電纜和接線插座,可選外接或PC

主機(jī)電源。電源要求+5V不低于1.5A、-5V、±12V不低于100mA。

2.B型實(shí)驗(yàn)與開發(fā)平臺(tái)內(nèi)置開關(guān)電源。開關(guān)電源提供+5V/2.5A、

+12V/1A、-5V/0.3A、-12V/0.3A的直流電。當(dāng)220V、50Hz交流電接通

時(shí),實(shí)驗(yàn)與開發(fā)平臺(tái)上電源和傳感器等檢測(cè)電路中標(biāo)有+5V、-5V、

+12V、-12V的引線插孔處均帶電,可作為電源供實(shí)驗(yàn)與開發(fā)使用。PC總

線插座上的電源是通過PC-PWR處的跨線引入的。SAC-51/98單片單板機(jī)

電源是由實(shí)驗(yàn)與開發(fā)平臺(tái)上的PC-PWR左端五腳插座通過跨線提供的。

注意:

▲電源中的PC-PWR插頭和插座出廠時(shí)是為PC總線提供的電源,做

單片單板機(jī)實(shí)驗(yàn)與開發(fā)時(shí),一定拔下。

▲如用A、BS型實(shí)驗(yàn)與開發(fā)平臺(tái),在外接電源前,一定要檢查電源的

好壞及電壓幅度,以防損壞實(shí)驗(yàn)與開發(fā)平臺(tái)的器件。

§2-3十六位二進(jìn)制輸入裝置

實(shí)驗(yàn)與開發(fā)平臺(tái)上有16只雙刀雙擲自鎖式按鈕開關(guān)KO-K15,配有與

之相應(yīng)的16個(gè)發(fā)光二極管指示和16個(gè)引線插孔(上排)。開關(guān)按下時(shí),相

應(yīng)發(fā)光二極管亮,插孔輸出高電平(已內(nèi)接上拉/限流電阻1K。至

+5V);開關(guān)抬起時(shí),相應(yīng)插孔輸出為低電平,指示燈滅。

注:十六位二進(jìn)制輸入裝置的雙刀開關(guān)有一刀未用,可與下排16個(gè)引

線插孔作為擴(kuò)展電源使用,出廠時(shí)已有布線焊盤。當(dāng)需要時(shí),把16根導(dǎo)

線的一端分別焊在16個(gè)引線孔左端(從焊接面看)的焊盤上,另一端焊在與

之對(duì)應(yīng)的開關(guān)最下面左端引腳,在9孔排電阻位置上焊接470歐的排電

阻。焊好之后,可在本輸入裝置下部左、右端引線插孔引入外部電源。這

時(shí),當(dāng)開關(guān)按下時(shí),16個(gè)引線插孔的電平與左下端輸入電平(從面板面看)

相同;當(dāng)開關(guān)抬起時(shí),16個(gè)引線插孔的電平與右下端輸入電平相同。

§2—4信號(hào)源

1.單脈沖信號(hào)源

實(shí)驗(yàn)與開發(fā)平臺(tái)標(biāo)有“一u—”和〃_n_”的兩個(gè)引線插孔為單脈沖輸出

端,復(fù)位按鈕為單脈沖產(chǎn)生按鈕,每按一次,由單穩(wěn)態(tài)電路輸出一個(gè)固定寬

度的單脈沖。電路見圖

(1).脈沖寬度:10mS

⑵?輸出電平:TTL邏輯電平

(3).負(fù)載能力:IoL=7mA,Ioh=-0.3mA

2.連續(xù)脈沖信號(hào)源

實(shí)驗(yàn)與開發(fā)平臺(tái)上提供一個(gè)頻率和脈寬可調(diào)的脈沖信號(hào)源。AMA為頻

率調(diào)整旋鈕,改變頻率不影響脈寬;PWA為脈寬調(diào)整旋鈕,在10%~90%

范圍改變脈沖寬度不影響頻率。

(1).頻率范圍:300HZ-3KHz

⑵.輸出電平:TTL邏輯電平

(3).負(fù)栽能力:IoL=500mS,Ioh=-2mS

3.交流信號(hào)源

實(shí)驗(yàn)與開發(fā)平臺(tái)上提供一個(gè)頻率和幅度可調(diào)的正弦波交流信號(hào)源,F(xiàn)SA

為頻率調(diào)整旋鈕,DGA為幅度調(diào)整旋鈕。

(1).頻率范圍:1KHZ—15KHZ

(2).幅度范圍:0-5V(有效值)

4.二位8421撥碼盤

二位獨(dú)立的加/減式8421撥碼盤,公共端已接地,8個(gè)引線插孔為

8421碼輸出端,輸出端已內(nèi)接4.7K上拉電阻至+5V,故輸出為反碼(例

如,撥盤為5時(shí),輸出不是0101,而是1010),使用時(shí)請(qǐng)注意。電路見圖

3-2o

§2—5輸出裝置

1.十六位二進(jìn)制指示器

實(shí)驗(yàn)與開發(fā)平臺(tái)上有16只發(fā)光二極管及相應(yīng)驅(qū)動(dòng)電路,與之對(duì)應(yīng)的

DO—D1516個(gè)引線插孔為正邏輯信號(hào)輸入端,該輸入端為高電平時(shí)

發(fā)光二極管亮。上排16個(gè)引線插孔為負(fù)邏輯信號(hào)輸入端,該輸入端為低電

平〃0〃時(shí)發(fā)光二極管亮。

2.四位八段數(shù)碼顯示器

實(shí)驗(yàn)與開發(fā)平臺(tái)上有四位八段碼顯示器及驅(qū)動(dòng)電路,其工作方式為動(dòng)態(tài)

掃描式,各引線插孔L0-L3為各顯示器位選信號(hào)公共端,輸入端為高電平

時(shí)有效,所有顯示器的同名端(段選信號(hào))全部并聯(lián),引線插孔a—h為

顯示器段選信號(hào)的輸入段,輸入端為〃0〃時(shí)有效,位選與段選信號(hào)均已帶

驅(qū)動(dòng)電路。電路見圖3-3。

3.蜂鳴器

實(shí)驗(yàn)與開發(fā)平臺(tái)的蜂鳴器和驅(qū)動(dòng)電路工作于開關(guān)方式,SP引線插孔為

信號(hào)輸入端,當(dāng)有音頻信號(hào)輸入時(shí),蜂鳴器發(fā)出蜂鳴聲,蜂鳴聲調(diào)隨輸入信

號(hào)頻率高低變化而不同。電路見圖3-4。

§2—6邏輯測(cè)試儀

實(shí)驗(yàn)與開發(fā)平臺(tái)的邏輯測(cè)試儀主要是對(duì)電平和脈沖信號(hào)進(jìn)行測(cè)試,P-L

引線插孔為信號(hào)輸入端。輸入電平為TTL,內(nèi)置驅(qū)動(dòng)電路。

1.電平測(cè)試功能

標(biāo)有LEVEL的發(fā)光二極管為雙色發(fā)光二極管,用于電平指示,能測(cè)試

下列功能。

⑴高電平:紅色

⑵低電平:綠色

⑶高阻或懸空:滅

每次輸入電平發(fā)生變化時(shí),脈沖指示器可能有閃亮。

2.脈沖測(cè)試功能

可完成單脈沖、連續(xù)脈沖和脈沖記憶測(cè)試功能。

⑴單脈沖測(cè)試:功能選擇按鈕PULSE/MEM按下,每來一個(gè)脈沖,脈

沖指示器閃亮一次,約0.5秒,同時(shí),電平指示器指示常態(tài)電平。

⑵連續(xù)脈沖測(cè)試功能選擇按鈕按下,脈沖指示器連續(xù)閃亮,當(dāng)輸入信

號(hào)頻率較高時(shí),指示器按固定頻率閃亮,同時(shí)電平指示器指示平均電平。

⑶脈沖記憶測(cè)試:功能選擇按鈕抬起,只要輸入一個(gè)或一個(gè)以上的脈沖,

脈沖指示器就亮,并一直保持,若要清除,轉(zhuǎn)入其它方式即可。

§2—7傳感器與檢測(cè)電路

1.橋式電路

實(shí)驗(yàn)與開發(fā)平臺(tái)上的2個(gè)橋式電路,上面的已與+5V和GND連接,下

面的Vs+和Vs-引線插孔可根據(jù)實(shí)驗(yàn)與開發(fā)的需要外加電壓,橋式電路可選

單橋/平衡橋工作方式,當(dāng)傳感器和電阻插入相應(yīng)的引線插孔時(shí),可進(jìn)行溫

敏/光敏等傳感器實(shí)驗(yàn)。

2.數(shù)字功率驅(qū)動(dòng)器

實(shí)驗(yàn)與開發(fā)平臺(tái)上有二組功率驅(qū)動(dòng)器模塊。每組功率驅(qū)動(dòng)器有4組與非

門電路,Vs+為電源引線插孔。芯片采用75452(OCL輸出),邏輯為

Y=A.B(與非)。

3.檢測(cè)、放大、運(yùn)算電路

實(shí)驗(yàn)與開發(fā)平臺(tái)上有二個(gè)檢測(cè)、放大、運(yùn)算電路。芯片采用

LM747O

工作電源已接±12V,當(dāng)RI、R2、R3、R4電阻的弓|線插孔插入不同電阻或

電容時(shí),可進(jìn)行單端/雙端檢測(cè)信號(hào)的放大和處理及運(yùn)算。

4.模擬功率驅(qū)動(dòng)器

實(shí)驗(yàn)與開發(fā)平臺(tái)上有一個(gè)NPN型和一個(gè)PNP型的典型晶體管放大電

路,Vs+和Vs-為正、負(fù)/地電源電壓的引線插孔,Vi為輸入引線插孔,

Voc引線插孔為集電極輸出端,Voe引線插孔為發(fā)射極輸出端,當(dāng)RBL

RB2、Rc和Re引線插孔插入不同電阻時(shí),可進(jìn)行信號(hào)放大,功率放大和信

號(hào)跟隨。

出廠時(shí),NPN管為9013,PNP管為9012。

5.V/F轉(zhuǎn)換電路

實(shí)驗(yàn)與開發(fā)平臺(tái)上有一個(gè)壓頻轉(zhuǎn)換電路,Vs+和Vs■為正、負(fù)/地電源

電壓的引線插孔,Vi為直流信號(hào)輸入端,F(xiàn)為脈沖信號(hào)輸出端,芯片采用

LM331。電路見圖3?5。輸出頻率F與輸入電壓Vi的關(guān)系為:

F=k*(5.1+Rs)*Vi

式中K—常數(shù),與電路元件參數(shù)有關(guān)(出廠選K=70.36Hz/kQ.V)

Rs—外加電阻,變化阻值可調(diào)基準(zhǔn)頻率,一般取3KQ—10KQ

6.F/V轉(zhuǎn)換電路

實(shí)驗(yàn)與開發(fā)平臺(tái)上有一個(gè)頻壓轉(zhuǎn)換電路。Vs+和Vs-為正、負(fù)/地電源

電壓的引線插孔,F(xiàn)i為脈沖信號(hào)輸入端,Vo為直流信號(hào)輸出端,芯片采用

LM331。電路見圖3?6。輸出電壓與輸入頻率的關(guān)系為:

VO=K*Fi/(5.1+Rs)

式中K一常數(shù),與電路元件參數(shù)有關(guān)(出廠選K=14.21V.KQ/Hz)

Rs—外加電阻,變化阻值可調(diào)基準(zhǔn)電壓,一般取3KQ—10KQe

7.直流光電耦合電路

實(shí)驗(yàn)與開發(fā)平臺(tái)上有一組四路光電耦合電路。Vsl為輸入信號(hào)的公共正

極引線插孔,Vs2為輸出信號(hào)的公共正極引線插孔,4個(gè)引線插孔K1-K4

為信號(hào)輸入端,與之對(duì)應(yīng)的C1-C44個(gè)引線插孔為輸出信號(hào)端,輸入地已

內(nèi)接,輸出地端為輸出地引線插孔。輸入限流電阻已內(nèi)接1K,輸出負(fù)載電

阻己內(nèi)接為1K,當(dāng)輸入為脈沖信號(hào)時(shí),對(duì)應(yīng)輸出端輸出同頻率的脈沖信

號(hào)。芯片為TLP521。

8.交流光電耦合電路/固態(tài)繼電器

實(shí)驗(yàn)與開發(fā)平臺(tái)上有一個(gè)交流光電耦合電路/固態(tài)繼電器,Vsl+為輸

入正極引線插孔,Vs2+為輸入交流信號(hào)源引線插孔(建議Vs2用本實(shí)驗(yàn)與開

發(fā)平臺(tái)提供的交流信號(hào)源,不要直接接220V交流電源),R1和R2為外加

限流電阻,Vi為輸入引線插孔,輸入工作電流為1mA—10mA,輸入信號(hào)

有效時(shí),可控硅導(dǎo)通。芯片為MOC3021。電路見圖3-7。例:Vsl+弓|入

+5V電源,Vs2+引入交流信號(hào)源輸出,R1和R2分別接1K電阻,輸入端

Vi引入16只雙刀雙擲開關(guān)K0-K15輸出插孔的任一輸出,輸出端V0接示

波器。當(dāng)選定開關(guān)K抬起時(shí),可控硅導(dǎo)通,V0輸出交流信號(hào),當(dāng)開關(guān)K按

下時(shí),可控硅截止,V0輸出為零。

§2-8傳感器與電機(jī)電路

傳感器與電機(jī)電路是一塊標(biāo)準(zhǔn)面包板尺寸的電路板。可固定在實(shí)驗(yàn)與開

發(fā)平臺(tái)的面包板布線區(qū)的位置。也可單獨(dú)和實(shí)瞼與開發(fā)平臺(tái)配合使用。其

中有壓敏傳感器、霍爾傳感器、直流電機(jī)和步進(jìn)電機(jī)。

1.壓敏傳感器:

壓敏傳感器標(biāo)稱電阻為120Qo傳感器與電機(jī)電路板上RP1和RP2引線

插孔為壓敏傳感器的輸出端,可接至實(shí)驗(yàn)與開發(fā)平臺(tái)上橋式電路的相應(yīng)橋

臂,電橋的其它三個(gè)橋臂可接120c電阻。當(dāng)按壓壓敏傳感器的彈簧片時(shí),

橋式電路的輸出隨其變化,實(shí)驗(yàn)中可經(jīng)運(yùn)算放大器放大后輸出。

2.直流電機(jī):

直流電機(jī)的額定電壓為3伏,傳感器與電機(jī)電路板上DR+和DR-引線

插孔為電壓輸入端?;魻杺鞲衅鳎ㄎ挥谟疑辖牵┯糜跍y(cè)量電機(jī)的轉(zhuǎn)速。+5V引

線端接實(shí)驗(yàn)與開發(fā)平臺(tái)的+5V電源,GND為接地引線插孔,OUT為霍爾傳

感器輸出引線插孔。在做計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)時(shí),直流電機(jī)為控制對(duì)象,霍

爾元件的輸出為轉(zhuǎn)速反饋信號(hào)。實(shí)驗(yàn)的典型電路如圖3-9。可在實(shí)驗(yàn)與平臺(tái)

上搭接。

3.步進(jìn)電機(jī):

步進(jìn)電機(jī)為雙繞組電機(jī),額定直流電壓為12伏,走一步的轉(zhuǎn)角為1.8

度,實(shí)驗(yàn)的典型電路如圖3-10。其中虛框內(nèi)的電路已在傳感器與電機(jī)電路

板內(nèi),只需在實(shí)驗(yàn)與開發(fā)平臺(tái)上搭接運(yùn)算放大器電路。

第三章SAC—51/98單片單板機(jī)硬件

§3-1單片單板機(jī)組成

SAC—51/98單片單板機(jī)硬件布局圖見圖4—1所示,它是一個(gè)CPU

為8031或8098的單片單板機(jī),如果插上8031芯片和運(yùn)行其監(jiān)控程序,

就是一個(gè)8031單片單板機(jī),倘若換上8098芯片和運(yùn)行8098的監(jiān)控程

序,就變成一臺(tái)8098單片單板機(jī)(不能同時(shí)插上兩塊CPU芯片),它由

、、并行口、

8031(8098)CPUsEPROMRAM(8255)A/D(0809).D/

A(0832)、鍵盤顯示器(8279)、串行口(MAX232)、復(fù)位電路和看門狗電路

組成。

§3-2存貯器

1.存貯器的組成

SAC-51/98機(jī)的存貯器包括地址碼8位鎖存器74LS373,地址譯碼器

74LS139。地址選擇開關(guān)SW2*3。讀寫控制電路和存貯器芯片

存貯器組成見隨機(jī)附圖。

EPROM27128,RAM6264O(FT-1)

2.低8位地址鎖存器

8031和8098芯片皆無內(nèi)部數(shù)據(jù)存貯器,工作時(shí)要外接存貯器,訪問外

部存貯器時(shí),8031用P0口作低8位地址和數(shù)據(jù)總線復(fù)用口,而8098則

用P3口為復(fù)用口,因此,必須用鎖存器將低8位地址予以鎖存。SAC-

51/98機(jī)選用74LS373作鎖存器。當(dāng)74LS373的使能端(G)為高電平時(shí),

其輸出(Q)跟隨輸入(D)端的變化而變。當(dāng)使能端(G)由高變?yōu)榈碗娖?它將

輸入狀態(tài)鎖住,直至下次使能端為高電平為止。在SAC-51/98機(jī)中將

8031(8098)的地址鎖存允許線(ALE)加到G端。用以控制鎖存地址低8位。

74LS373帶有三態(tài)輸出控制端(0C)。0C接高電平,輸出端QO-Q7呈高阻

狀態(tài),0C接低電平,QO-Q7處于輸出狀態(tài),作為地址鎖存,無需三態(tài),

將0C端直接接地。

3.地址譯碼器

SAC-51/98采用了兩種存貯器芯片EPROM和RAM.EPROM為

16K*8,用以存放程序,RAM有兩片。每片8K*8,用以存放程序或數(shù)據(jù),

EPROM地址安排在OOOOH-3FFFH,RAM安排在4OOOH-7FFFH。其

片選信號(hào)譯碼器選用74LS139,該機(jī)地址譯碼器只使用了雙四選一譯碼器

的一半.

按邏輯關(guān)系,地址為0000H-3FFFH時(shí),Y0輸出為低電平,它作為

EPROM(27128)的片選信號(hào)。地址為4OOOH-7FFFH時(shí),Y1輸出為低電

平,它作為RAM(6264)的片選信號(hào)。SAC-51/98機(jī)在YO、Y1接至I」

EPROM和RAM之間插入了一個(gè)開關(guān)SW2*3O此開關(guān)用于EPROM和

RAM的地址切換。

當(dāng)開關(guān)U15接到上方(左方),為機(jī)器正常工作情況,即Y0選27128,

Y1選6264,開機(jī)后8031(8098)自動(dòng)執(zhí)行EPROM中的程序。開始工作。

但是在用戶調(diào)試程序階段,或者是程序調(diào)試完畢試運(yùn)行時(shí),還不能給以固

化。而想在RAM中模擬在ROM中的運(yùn)行情況。SAC-51/98機(jī)考慮到了這

種要求。在線路設(shè)計(jì)時(shí)插入了U15開關(guān)。只要將U15開關(guān)按到下方。便將

RAM地址切換到0000H-3FFFH,而EPROM地址變?yōu)?000H-

7FFFH,這時(shí)啟動(dòng)機(jī)器,便自動(dòng)執(zhí)行RAM中的程序,利用此開關(guān),用戶還

可以外接仿真插頭,實(shí)現(xiàn)16K空間的訪真。

4.讀寫控制電路

8031的存貯器采用所謂哈佛結(jié)構(gòu)。它分程序存貯器與數(shù)據(jù)存貯器。而

8098則采用普林斯頓結(jié)構(gòu),它把程序和數(shù)據(jù)統(tǒng)一編址,SAC-51/98機(jī)為了

將這兩種不同的存貯器和數(shù)據(jù)存貯器改造成統(tǒng)一編址結(jié)構(gòu)。而用了把讀命

令統(tǒng)一起來的辦法。在圖中把8031的程序選通有效信號(hào)(/PSEN)與讀控

制信號(hào)(/RD)相與后形成統(tǒng)一的讀信號(hào),這時(shí)讀程序和讀數(shù)據(jù)便按地址來區(qū)

分了,不僅把8031的程序與數(shù)據(jù)信號(hào)組合到一起,而且把8098的讀信號(hào)

(/RD)通過第二級(jí)"與“門結(jié)合到一起。這三個(gè)信號(hào)中有一個(gè)有效,輸出/RD

便有效。

當(dāng)選用8031工作時(shí),8098的讀信號(hào)是懸浮的。為了打開第二級(jí)”與“門

電路,它經(jīng)一電阻接高電平VCCO

5.存貯器

(1)EPROM(27128)

27128是一16K*8的紫外線擦除電可編程只讀存貯器。單一+5V供電,

工作電流100mA,維持電流40mA。可用于12MHz的單片機(jī)系統(tǒng)。

(2)RAM(6264)

6264是8K*8位靜態(tài)隨機(jī)存貯器芯片,典型存取時(shí)間200ns。

SAC-51/98機(jī)用了兩片6264,組成了16K*8存貯器,兩片6264用地

址A13和片選線CE1進(jìn)行邏輯組合后產(chǎn)生CS1和CS2片選信號(hào)。使6264

共占用4OOOH-7FFFH

它專門用來管理鍵盤和顯示器,SAC-51/98機(jī)采用該器件。它本身可以

產(chǎn)生對(duì)

§3-3串行接口

8031和8098內(nèi)部都設(shè)有串行接口。SAC-51/98為了實(shí)現(xiàn)單片單板機(jī)與

上位計(jì)算機(jī)或其它設(shè)備進(jìn)行通訊。在片外接有一RS-232串行接口轉(zhuǎn)換器,

采用MAX232芯片,其電路見隨機(jī)附圖(FT-3)。

(1)MAX232芯片

MAX232為一新型RS-232轉(zhuǎn)換芯片,它可以實(shí)現(xiàn)TTL電平與RS-232

電平轉(zhuǎn)換。MAX232內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,僅需+5V電流便可

以工作。MAX232把8031、8098的TXD和RXD端TTL/CMOS電平(0-

5V)轉(zhuǎn)換成RS-232的電平(+10V-10V)。

(2)串行口通訊電纜的聯(lián)接

當(dāng)需要串行通訊時(shí),事先聯(lián)接好串行通訊電纜。一般PC機(jī).286.386等機(jī)

型上都有COM1(3F8H)和COM2(2F8H)兩個(gè)串行口。當(dāng)與系統(tǒng)配合使用

時(shí),可接至任一串行口,因系統(tǒng)對(duì)于兩個(gè)串行口備有相應(yīng)的串行通訊的程

序。另外串行電纜的兩端要聯(lián)接牢靠,在通訊操作之前要先檢查是否聯(lián)接完

好。

§3-4擴(kuò)展引出接口

SAC-51/98單片單板機(jī)系統(tǒng)其顯著的特色之一是為系統(tǒng)配量了一套實(shí)驗(yàn)

開發(fā)平臺(tái),即把所有與應(yīng)用操作,實(shí)驗(yàn)開發(fā)有關(guān)的各種控制、檢測(cè)。輸出信

號(hào)通過扁平電纜引至實(shí)驗(yàn)開發(fā)平臺(tái)。這樣就可在非常接近實(shí)際應(yīng)用的環(huán)境中

做各類實(shí)驗(yàn),應(yīng)用開發(fā)等。下面給出本機(jī)所有外接插口上的引腳,對(duì)應(yīng)信號(hào)

及其說明。

1.JP1:電源插座(單排5針)

這一電源插座的另一端引自實(shí)驗(yàn)開發(fā)平臺(tái)的開關(guān)電源。引出+5V、-5V、

ND,排例順序如下:

-5V-----------1

-------2

GND-----------3

-------4

+5V-----------5

2.JP2:擴(kuò)展I/O口引腳插座(雙排34針)

這一插座引出的信號(hào)為8255的PA、PB、PC三個(gè)I/O口,及INTO、

INTI.VCC、GND和P1.5。這一插座的設(shè)置主要是用于EPROM寫入器。

通過聯(lián)接電纜接至EPROM寫入板。

3JP3:系統(tǒng)總線引出口(雙排40針)

當(dāng)需要系統(tǒng)總線的信號(hào)或要針對(duì)8031(8098)本身的I/O端口開發(fā)利用時(shí),

可將此信號(hào)用扁平電纜引至實(shí)驗(yàn)開發(fā)平臺(tái)的AT總線插座的下半部分。引出

的信號(hào)有:D0-D7;A0-A15;RD、WR、X2、RESET、ALE、Y2、ESEN和

GND(8031,8098的所有并行I/O端口)。

4.JP5:串行通訊口插座(單排4針)

1234

空T1OVTRUNGND

5.JP8:單步邏輯插針(單排3針)

123

空INTOGND

INTO:8031外中斷O輸入端,也是8098外部中斷輸入端EXTINTO

正常操作時(shí)用短路子將JP8的2,3端短接,當(dāng)要進(jìn)入DEBUG狀態(tài)時(shí)則

將1,2端短接。

6.JP14:掉電保護(hù)轉(zhuǎn)換(單排3針)

123

BT16264VCC

當(dāng)需要掉電保護(hù)時(shí),將1,2端用短路塊短接。反之將2。3端短接。

7JP60:I/O接口信號(hào)插座(雙排60針)

這一插座引出了除數(shù)據(jù)線、地址線以外幾乎全部的輸入、輸出及各類接

口信號(hào)。通過60線扁平電纜引至實(shí)驗(yàn)開發(fā)平臺(tái),并有信號(hào)的標(biāo)識(shí)符,引用

時(shí)很方便,詳見隨機(jī)附圖(FT-4)。

§3—5安裝

在SAC-51/98單片機(jī)實(shí)驗(yàn)與開發(fā)集成系統(tǒng)中,單片機(jī)部分安裝在箱

體開啟的上方,用螺釘固定,JP1為單片機(jī)電源插座,通過直流電源線與實(shí)

驗(yàn)開發(fā)平臺(tái)上直流電源相連接,安裝時(shí)請(qǐng)注意直流電源的種類和極性,JP5

為串行口插座,連接串行口電纜時(shí)請(qǐng)不要直接撥插,而應(yīng)用手捏緊電纜的端

頭彈簧片,以防不慎造成損壞;JP60插座通過扁平電纜連接至實(shí)驗(yàn)開發(fā)平

臺(tái),如無必要,平時(shí)避免頻繁撥插。高級(jí)航空鋁箱體內(nèi)置開關(guān)電源,使用時(shí)

只須外接交流220V即可。

SAC-51/98地址空間分配表4-2

III74LS139|||

|地址范圍|A15A14A13A12AllA10A9|輸出|選通器件|容量|

|0000-3FFF|LLXXXXX|Y0127128|16K|

|4000-5FFF|LHLXXXX|Y116264-1|8K|

|6000-7FFF|LHHXXXX|Y1|6264-1|8K|

|8000~BFFF|HLXXXXX|Y2|未用116Kl

|C000?C1FF|HHXXXLL|Y3-Y1018255|512B|

|C800~C9FF|Illi

|DOOO-D1FF|I||512*81

|D800~D9FF||111

|EOOO~E1FF|1111

|E800-E9FF|1111

|FOOO-F1FF|1111

|F800~F9FF|1111

111

111111

|C200-C3FF|HHXXXLH|Y3-Y1118279|512B|

|CA00~CBFF||||512*8|

III

111111

|C400-C5FF|HHXXXHL|Y3-Y12|0809|512B|

|CC00-CDFF||111

1.111|512*8|

III

111111

|C600-C7FF|HHXXXHH|Y3-Y13|0832|512B|

|CEOO-CFFF||111

1.111|512*8|

1

第四章SAC—51/98單片單板機(jī)監(jiān)控

SAC—51/98監(jiān)控程序包括8031本機(jī)監(jiān)控、CRT監(jiān)控和8098本機(jī)

監(jiān)控、CRT監(jiān)控兩套4部分。它們分別用MCS—51和MCS—96兩種匯編

語(yǔ)言編寫,并全部固化在一片27128EPROM芯片上,其中8031本機(jī)監(jiān)控

占用了存儲(chǔ)空間0000H—OFFFH4K字節(jié),CRT監(jiān)控占用了1000H—

1900H的2.3K字節(jié),8098本機(jī)監(jiān)控占用了存儲(chǔ)空間2000H—2FFFH4k

字節(jié),其CPT監(jiān)控占用了3000H-3900H約2.3K字節(jié)。4部分共占用了

13K字節(jié),另外,在1A00H—1FFFH和3A00H—3FFFH單元中分別存放

了有51和98兩部分的新增功能模塊,即27128的容量基本被占用。

除以上地址空間外,監(jiān)控程序還使用了外部RAM部分單元,作數(shù)據(jù)暫

存區(qū)和內(nèi)部RAM映象區(qū)。這些單元從7E00H—7FFFH,共512字節(jié),用

戶注意不要隨便占用它們。

另外,監(jiān)控程序還使用了片內(nèi)RAM2FH—3FH及77H—7FH單元,以

上單元占用情況如下

列表:

8031占用片內(nèi)RAM單元及使用情況如下:

2FH:監(jiān)控標(biāo)志單元,位地址為78H—7FH,其中作用如下:

78H:為1表示監(jiān)控處于待命狀態(tài)1

79H:為1表示數(shù)據(jù)塊操作時(shí)源數(shù)據(jù)首地址已輸入

7AH:為1表示數(shù)據(jù)塊操作時(shí)源數(shù)據(jù)末地址已輸入

7BH:為1表示至少已執(zhí)行過一次單步

7CH:為1表示操作不合法

7DH:為1表示監(jiān)控操作進(jìn)如插入,刪除狀態(tài)

7EH:為1表示CRT監(jiān)控單步中斷

7FH:為1表示監(jiān)控進(jìn)入存儲(chǔ)器讀寫狀態(tài)

30H—32H:保留未用

33H:保存單步調(diào)試時(shí)選擇的內(nèi)部寄存器地址

34—36H:段點(diǎn)運(yùn)行工作寄存器

37H:存放D/A轉(zhuǎn)換的數(shù)字量

38H:存放A/D轉(zhuǎn)換的結(jié)果

39H:存放A/D轉(zhuǎn)換通道號(hào)

3AH:數(shù)據(jù)塊操作源首址低字節(jié)

3BH:數(shù)據(jù)塊操作源首址高字節(jié)

3CH:數(shù)據(jù)塊操作源末址低字節(jié)

3DH;數(shù)據(jù)塊操作源末址高字節(jié)

3EH:數(shù)據(jù)塊操作目的首址低字節(jié)或執(zhí)行程序時(shí)起始地址低字節(jié)

3FH:數(shù)據(jù)塊操作目的首址高字節(jié)或執(zhí)行程序時(shí)起始地址高字節(jié)

77H—7EH:被顯示數(shù)據(jù)的暫存單元,即顯示緩沖區(qū)

7FH:斷點(diǎn)設(shè)置計(jì)數(shù)單元

§4—18031/8098本機(jī)監(jiān)控命令

8031/8098本機(jī)監(jiān)控程序的使用與操作是通過鍵盤進(jìn)行的。此鍵盤有

25個(gè)按鍵,其中16個(gè)數(shù)字鍵、8個(gè)命令鍵和一個(gè)復(fù)位鍵。

監(jiān)控程序提供的功能有18種。用8個(gè)命令鍵選擇18個(gè)功能,顯然命令

鍵不夠用。為此,采取了兩個(gè)措施:一是每個(gè)鍵具有多個(gè)功能,用換檔的形

式預(yù)以區(qū)分。待命狀態(tài)。與待命狀態(tài)1就是換喈操作。待命狀態(tài)。是第一

功能,待命狀態(tài)1是第二功能;二是采用多鍵復(fù)合表示,即多個(gè)按鍵結(jié)合起

來表示不同的功能。

各功能鍵說明如下:

EXA:在存儲(chǔ)器讀寫和插入、刪除狀態(tài)下為存儲(chǔ)器加1檢查鍵,在待命狀

態(tài)0下為斷點(diǎn)檢查鍵,在待命狀態(tài)1下進(jìn)入EPROM固化操作。

RDS:在存儲(chǔ)器讀寫狀態(tài)下為減1檢查鍵,在插入、刪除狀態(tài)下為刪除

鍵,在斷點(diǎn)檢查狀態(tài)下為斷點(diǎn)刪除鍵,在待命狀態(tài)1下,為接收PC機(jī)數(shù)據(jù)

等待鍵。

WRI:在存儲(chǔ)器讀寫狀態(tài)下為寫入鍵,在插入、刪除狀態(tài)下為插入鍵,在

待命狀態(tài)0下為斷點(diǎn)設(shè)置鍵,在斷點(diǎn)檢置狀態(tài)下為斷點(diǎn)修改鍵,在待命狀態(tài)

1下為發(fā)送數(shù)據(jù)到PC機(jī)鍵。

MOV:待命狀態(tài)0下為數(shù)據(jù)塊復(fù)制鍵,待命狀態(tài)1下為E2PROM編程

鍵。

EXE:待命狀態(tài)0下為連續(xù)執(zhí)行程序鍵,待命狀態(tài)1下為單步或斷點(diǎn)執(zhí)行

鍵。

MON:進(jìn)入待命狀態(tài)。鍵。

USE:進(jìn)入待命狀態(tài)1鍵。

由以上說明可看出,各鍵根據(jù)監(jiān)控處于不同的狀態(tài),分別對(duì)應(yīng)不同的功

能,用戶在使用時(shí),首先應(yīng)熟悉如何進(jìn)入各個(gè)狀態(tài)以及在不同狀態(tài)下顯示器

上的顯示方式,方能正確理解監(jiān)控程序。

1.待命狀態(tài)0:在監(jiān)控處于任何狀態(tài)下,只要按下MON鍵,都將返回到

待命狀態(tài)0,并且在顯示器上顯示提示符叩”。

2.存儲(chǔ)器讀寫狀態(tài):在待命狀態(tài)0時(shí),輸入地址后,按下EXA鍵,顯示器

的左邊4位顯示該地址,接下去兩位顯示該地址單元內(nèi)的數(shù)據(jù),表明已進(jìn)入

存儲(chǔ)器讀寫狀態(tài)。

3.插入、刪除狀態(tài):在存儲(chǔ)器讀寫狀態(tài)時(shí),按下“USE”鍵,顯示器左邊一

位上的小數(shù)點(diǎn)被點(diǎn)亮,表明進(jìn)入了插入、刪除狀態(tài)。在此狀態(tài)下,可進(jìn)行

存儲(chǔ)器數(shù)據(jù)插入和刪除操作,在按MON鍵后,退回到存儲(chǔ)器讀寫狀態(tài)。

4.斷點(diǎn)檢查狀態(tài):在待命狀態(tài)0時(shí),直接按下EXA鍵,如果已設(shè)置有斷

點(diǎn),則在顯示器左邊四位上顯示第1個(gè)斷點(diǎn)的地址,從左至右第6個(gè)LED

顯示塊上顯示該斷點(diǎn)的序號(hào)。表明已處于斷點(diǎn)檢查狀態(tài),可進(jìn)行斷點(diǎn)檢查、

修改和刪除操作。如果沒有設(shè)置斷點(diǎn),則左邊四位顯示0000,第6位也顯

5.待命狀態(tài)1:除存儲(chǔ)器讀寫狀態(tài)外,在其它任何監(jiān)控狀態(tài)下,按下

"USE”健,都將返回到待命狀態(tài)1,顯示器上顯示提示符“PJ。

多個(gè)按鍵組合起來使用可完成監(jiān)控程序的功能。即:

1.存儲(chǔ)器數(shù)據(jù)輸入

2.存儲(chǔ)器減1檢查

3.存儲(chǔ)器加1檢查

4.插入一字節(jié)數(shù)據(jù)

5.刪除一字節(jié)數(shù)據(jù)

6.連續(xù)執(zhí)行程序

7.斷點(diǎn)設(shè)置

8.斷點(diǎn)檢查

9.斷點(diǎn)刪除

10.斷點(diǎn)修改

11.單步執(zhí)行程序

12.斷點(diǎn)方式執(zhí)行程序

13.多操作數(shù)設(shè)置鍵

14.存儲(chǔ)器數(shù)據(jù)復(fù)制

15.向PC機(jī)發(fā)送數(shù)據(jù)

16.接收PC機(jī)的數(shù)據(jù)

17.EPR0M固化

18.E2PROM固化

§4—28031本機(jī)監(jiān)控調(diào)用

上電復(fù)位初始化程序

1.掃描鍵盤KEY_SCAN子程序

始末地址:0109H~010FH。

入口參數(shù):無

出口參數(shù):A=0無腱按下,A><0有鍵按下。

功能:判斷有無鍵按下。

2.關(guān)閉顯示器子程序OFF-DISP

始末地址Q960H~O972H.

入口參數(shù):無

出口參數(shù):完成任務(wù)返回功能:將顯示緩沖區(qū)7EH77H置成16H(顯示

全黑)。

3.顯示子程序DISPLAY

始末地址

:017HOIB5Ho

入口參數(shù):顯示緩沖區(qū)7EH77H中放有顯示內(nèi)容。

出口參數(shù):顯示器上顯示7EH77H單元中的內(nèi)容。

功能:將顯示緩沖區(qū)(7EH77H)內(nèi)容顯示在顯示器上,在插入,刪除狀

態(tài)下,地址碼最高位小數(shù)點(diǎn)點(diǎn)亮。

§4—38031CRT監(jiān)控程序

8031CRT監(jiān)控程序,就是利用PC機(jī)開發(fā)調(diào)試SAC-51/98型機(jī)存貯器

內(nèi)程序的一個(gè)監(jiān)控程序。所謂CRT監(jiān)控程序就是裝在SAC-51/98機(jī)上

27128EPROM內(nèi),接收PC機(jī)發(fā)出的命令,執(zhí)行PC機(jī)發(fā)出的命令,并把

結(jié)果發(fā)回PC機(jī)的程序。

本節(jié)就來介紹8031CRT監(jiān)控程序的功能。

本監(jiān)控程序是配合上位機(jī)的DEBUG功能,用上位機(jī)的CRT顯示和鍵盤

控制本機(jī)操作,實(shí)現(xiàn)程序輸入、修改、查看以及執(zhí)行等功能,用上位機(jī)的

CRT顯示和鍵盤控制本機(jī)操作,它用MCS-51匯編語(yǔ)言編寫。

進(jìn)入CRT監(jiān)控程序有兩種方法:一是在本機(jī)監(jiān)控狀態(tài)下,直接輸入DRT監(jiān)

控程序的首地址“1000H“后按“EXE”鍵,即開始連續(xù)運(yùn)行CRT監(jiān)控程序。另

一種方法是將8031P3.1腳(即INTO輸入端)懸空,然后上電或按下復(fù)位鍵

使8031復(fù)位,系統(tǒng)即能自動(dòng)進(jìn)入CRT監(jiān)控程序。

本程序由兩大部分組成:一是初始化部分;二是命令處理部分,初始化的功

能如下:

Q)堆棧起始指針:50H;

(2)TMOD:#20H;定時(shí)器1方式2

(3)THl:#0DD;

(4)TL1:#ODD;波特率600BIT/S

(5)PCON:#80H;波特率加倍,為120BIT/S

(6)SCON:#0D2H;串行口方式3,啟動(dòng)接收

(7)工作寄存器組選為0區(qū)

設(shè)置完有關(guān)參數(shù)以后,向PC機(jī)發(fā)回車、換行符,再發(fā)#號(hào),在PC機(jī)的

CRT上顯示出#號(hào),等待PC機(jī)發(fā)出命令和參數(shù)。

PC機(jī)發(fā)出命令和參數(shù)后,監(jiān)控判斷命令字符,然后轉(zhuǎn)入相應(yīng)的命令處理

模塊。

下面介紹一下L_CMD模塊的作用。

L.CMD顯示命令處理模塊

本命令為顯示給定地址(包括給定地址)之間的存貯器單元內(nèi)容。

PC機(jī)發(fā)出命令的格式如下:

LaddlzLadd2

addl和add2為地址碼,addl為內(nèi)存首地址,add2為末地址,目

addl<add2,否則出錯(cuò)。

(一)L_CMD模塊的功能

I.向PC機(jī)發(fā)回兩地址之間的所有單元的內(nèi)容。

2.向PC機(jī)上顯示格式為:每一行開始顯示本行第一個(gè)字節(jié)所在地址,接

下去是連續(xù)顯示以后各單元的內(nèi)容,內(nèi)容與內(nèi)容之間隔有空格。

3.當(dāng)一行地址增加到末位為0時(shí),另起一行顯示。

(-)L_CMD模塊調(diào)用的子程序

1.0UT.CHAR發(fā)送顯示一個(gè)字符子程序

始末地址:10CEH-10D6Ho

入口參數(shù):將要發(fā)送的字符送入A。

出口參數(shù):在PC機(jī)CRT上顯示該字符。

功能:向PC機(jī)發(fā)送一個(gè)字符。

2.0UT_CR回車換行子程序

始末地址10D7H-10DFHo

入口參數(shù):無

出口參數(shù):在PC機(jī)CRT上將光標(biāo)回車換行。

功能:向PC機(jī)發(fā)送回車換行字符。

3.GETJZHAR讀取PC機(jī)發(fā)來的一個(gè)字符子程序

始末地址:10E0H-10FCHo

入口參數(shù):無

出口參數(shù):讀取字符存在A中。

功能:接收一個(gè)字符,變小寫為大寫,并向PC機(jī)發(fā)回該字符。

4.ASC_HEXASC碼變16進(jìn)制數(shù)子程序

始末地址:10FDH-110AH

入口參數(shù):要轉(zhuǎn)換字符存入Ao

出口參數(shù):轉(zhuǎn)換后的數(shù)存入A。

功能:把A中的ASC碼變成對(duì)應(yīng)的16進(jìn)制數(shù)。

5.GET.ADDR讀取地址子程序

始末地址:1119H-113FH。

入口參數(shù):用在有地址的命令之后。

出口參數(shù):將高位地址存60H單元,低位地址存61H單元。

功能:接收PC機(jī)發(fā)來的地址碼,并將它轉(zhuǎn)換成壓縮BCD碼存入60H、

61H。

6.LENGTH地址大小判斷子程序

始末地址:1597H-15B3H。

入口參數(shù):兩個(gè)地址分別存入60H61H、62H63HO

出口參數(shù):60H61H>62H63H.D5H位二0反之D5H位=1。

功能:比較兩個(gè)地址大小,設(shè)置標(biāo)志位D5H。

7.DIS_BYTE發(fā)送字節(jié)子程序

始末地址:146DH-147CHe

入口參數(shù):A中存有發(fā)送字節(jié)。

出口參數(shù):發(fā)完返回。

功能:以兩個(gè)16進(jìn)制數(shù)的形式向PC機(jī)發(fā)送當(dāng)前地址單元的內(nèi)容。

8.HEX_ASC十六進(jìn)制數(shù)換成ASCII字符子程序

始末地址:110BH-1118HO

入口參數(shù):A中存放欲轉(zhuǎn)換的16進(jìn)制數(shù)。

出口參數(shù):轉(zhuǎn)換ASC碼結(jié)果存入A。

功能:將16進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的ASC碼。

9.DIS_ADDR發(fā)送地址子程序

始末地址:13B0H-13C9HO

入口參數(shù)彳寺發(fā)送的地址送入DPTR。

出口參數(shù):發(fā)送完返回。

功能以4位ASC碼形式發(fā)送DPTR內(nèi)的地址碼。

10.ERRO錯(cuò)誤提示子程序

始末地址:10B5H-10CDHe

入口參數(shù):無

出口參數(shù):發(fā)送回車換行符,再發(fā)ERRO?提示符。

功能:發(fā)送ERRO?提示符后,返回CMDHDLE.

第五章PC機(jī)上使用的軟件

為了提供在PC機(jī)等上位機(jī)上進(jìn)行51/98單片機(jī)程序的開發(fā)和調(diào)試,

SAC-51/98隨機(jī)帶有系統(tǒng)軟盤,分別用于51和98機(jī)。系統(tǒng)軟盤上有婦下

幾個(gè)軟件:

1.MCS-51.MCS-96匯編語(yǔ)言的匯編和反匯編程序,可以將匯編語(yǔ)言的

源程序匯編成目標(biāo)程序,或者將機(jī)器碼程序反匯編成匯編語(yǔ)言程序。

2.程序開發(fā)用編輯軟件。該軟件選用全屏幕編輯程序PE,用它可以將機(jī)

下編好的匯編語(yǔ)言源程序輸入PC機(jī)進(jìn)行編輯,待程序經(jīng)審食無誤后便可用

匯編程序?qū)⑵滢D(zhuǎn)換成機(jī)器碼。

3.DEBUG軟件,SAC-51/98機(jī)具有CRT監(jiān)控程序,即可在PC機(jī)CRT

屏幕上對(duì)單片機(jī)的程序進(jìn)行調(diào)試。DEBUG軟件將裝在PC機(jī)上的軟件與裝

在SAC-51/98的CRT監(jiān)控程序配合工作,實(shí)現(xiàn)CRT監(jiān)控操作的軟件。

4.SAC-51/98與PC機(jī)通訊軟件。該程序與裝在SAC-51/98監(jiān)控程序中

通訊軟件配合,可在SAC-51/98與PC機(jī)之間實(shí)現(xiàn)目標(biāo)程序的互相傳送。

5.SAC-51/98監(jiān)控程序清單。固化在27128中的監(jiān)控程序清單,也在上

述軟盤中提供一個(gè)副本。

對(duì)配有硬盤的PC機(jī),也可將上述軟盤上的軟件拷貝到硬盤上,在硬盤中

調(diào)用它。向硬盤上拷貝時(shí),建議拷到SAC子目錄下。

下面介紹一下這些軟件的使用方法。

PC機(jī)執(zhí)行MAIN軟件,屏幕上出現(xiàn)如下提示菜單:

1.EDIT-編輯

2.ASSEMBLE-匯編

3.REASSEMBLE-反匯編

4.C0MMUNICATION-通信

5.REC0MM-反通信

6.DEBUG-調(diào)試

7.BASIC/USER-上位機(jī)進(jìn)入BASIC(或用戶)狀態(tài)

8.EXIT-退回到DOS狀態(tài)

這時(shí)可以用數(shù)碼鍵或?qū)⒐鈽?biāo)移至某一菜單下按回車鍵,選擇不同的功能,

進(jìn)入該功能的子程序。

下面分別說明這些功能如何使用。

§5—1編輯(EDIT)

選擇此功能后,在MESSAGE窗口下方提示你輸入要編輯的文件名。輸

入文件名,按回車鍵后,表示系統(tǒng)進(jìn)入PE全屏幕編輯狀態(tài)。

按下回車鍵后,便可在屏幕上輸入你的源程序,進(jìn)行編輯。編輯命令輸入

與程序輸入由ESC鍵控制轉(zhuǎn)換。編輯完成后,可按F3鍵將源程序存入磁盤

退出編輯狀態(tài),進(jìn)入總菜單,然后繼續(xù)選擇其它功能,進(jìn)行工作。

§5—2匯編(ASSEMBLER)

匯編功能是苜蟋主菜單旁出現(xiàn)子菜單。

?MCS-51

用戶根據(jù)匯編語(yǔ)言的不同,可選擇不同的子菜單。

若選擇子菜單1,在MESSAGE窗口中出現(xiàn):

SOURE:

LIST:

OBJ

提示用戶輸入源文件名()、列表文件名()和目標(biāo)文件名()。

注意三個(gè)文件名都不能省略,否則不產(chǎn)生目標(biāo)文件。為方便以后的使用建

議將擴(kuò)展名帶上。輸完三個(gè)文件名后,再按回車鍵,則開始將源文件進(jìn)行匯

編,產(chǎn)生目標(biāo)代碼,屏幕上顯示:

MCS-51ASSEMBLERVERSION01.10

MCS-51ASSEMBLERPASS1

MCS-51ASSEMBLERPASS2

若全部匯編完后無錯(cuò)誤,則顯示出所有標(biāo)號(hào)的匯編地址,接著顯示:

NOERRORS

OUTPUT>PRNORNOT?(Y/N)

選擇(Y/N)表示你是否將輸出的標(biāo)號(hào)地址和列表文件送打印機(jī)打印。如果

匯編出錯(cuò),則顯示錯(cuò)誤信息提示及總數(shù),接著顯示:

PRESSANYKEYTORETURNMAINMENU

按任意鍵后回到主菜單,你可選擇編輯命令對(duì)源文件進(jìn)行修改擴(kuò)展。出

錯(cuò)后,匯編程序會(huì)生成一個(gè)擴(kuò)展名為ERR的錯(cuò)誤文件,可由此文件查出出

錯(cuò)的行號(hào)以及錯(cuò)誤性質(zhì),以便進(jìn)行修改。

§5-3反匯編

此功能是將單片機(jī)的機(jī)器碼程序反匯編成匯編語(yǔ)言程序,便于閱讀和分析

該程序。

選擇此功能后,主菜單旁出現(xiàn)子菜單:

1.MCS-51

2.MCS-96

用戶根據(jù)需要可選擇相應(yīng)的子菜單。

選擇子菜單1后將決行MCS-51匯編語(yǔ)言的反匯編功能。

屏幕上出現(xiàn):

8051/8031/8751MIEROCOMPUTERDISASSEMBLERP1.31986-

OBJECTFILE:

要求用戶輸入目標(biāo)代碼文件名。在該文件中應(yīng)存放有用戶所需反匯編程序

的目標(biāo)碼,并且目標(biāo)代碼的存放格式應(yīng)符合QBJ文件的約定格式,即前四

個(gè)字節(jié)為程序的首地玨,緊接著四個(gè)字節(jié)為程序末地址,然后才是有效的機(jī)

器碼。

輸入正確的文件名后回車,系統(tǒng)即開始讀取文件中的目標(biāo)代碼。讀取完畢

后,屏幕上顯示:

ENDOFINPUTOBJECTFILE:****H-****H

接著顯示:

MESSAGEFILE:

提示用戶輸入信息文件名,該信息文件中存放的應(yīng)是有關(guān)目標(biāo)代碼的各種

信息,包括哪里是指令,哪里是數(shù)據(jù),哪里尚未識(shí)別等。該文件不能由用戶

編輯產(chǎn)生,而是在上一次對(duì)目標(biāo)文件反匯編后退出時(shí)自動(dòng)生成的。在反匯編

一個(gè)復(fù)雜的大程序時(shí),MESSAGE文件就特別有用。當(dāng)一次不能反匯編完整

個(gè)程序時(shí),可以在退出時(shí)產(chǎn)生一個(gè)MESSAGE文件,下次再進(jìn)入反匯編時(shí)將

該文件調(diào)入,隨后即可以接著上一次的工作繼續(xù)進(jìn)行,而不必重新開始。對(duì)

反匯編一個(gè)新的程序時(shí),則可以對(duì)該項(xiàng)提示忽略,直接回車即可。

接著屏幕上出現(xiàn)用戶即可以鍵入各種有效命令進(jìn)行反匯編工作。

該反匯編功能能夠識(shí)別順序指令、無條件轉(zhuǎn)移、條件轉(zhuǎn)移、轉(zhuǎn)子程序、返

回、簡(jiǎn)單的命令散轉(zhuǎn)和簡(jiǎn)單的數(shù)據(jù)表等,并提供一套命令給用戶定義目標(biāo)文

件中的特定數(shù)據(jù)格式等,使得反匯編過程中,用戶能夠參加進(jìn)來,提供正確

的格式,有效地將機(jī)器碼反匯編成匯編源程序,大大提高效率。

下面分別介紹有關(guān)的命令及格式。

1.A命令

命令格式為:-AADDRESS,LENGTH

其中。為任選項(xiàng);ADDRESS為命令開始有效的十六進(jìn)制地址,LENGTH

為指定的長(zhǎng)度,若缺省則取15。初始地址指針值為目標(biāo)文件中指定的起始

地址,命令執(zhí)行完后當(dāng)前地址指針值為ADDRESS+LENGTH。下面的B、

C、D、I、L、N、S、T、W、T命令的命令格式以及缺省項(xiàng)的含義與A命

令都相同,后面就不再重復(fù),請(qǐng)讀者注意。

命令把ADDRESS開始的LENGTH字節(jié)作為地址顯示。

若有任選項(xiàng)"一,則反匯編程序?qū)⒂涀∵@些字節(jié)已被定義成“地址”,直到

再次用其它命令改變它們。

2.B命令

命令把從ADDRESS開始的LENGTH個(gè)字節(jié)作為十六進(jìn)制數(shù)據(jù)字節(jié)顯示

出來。若有任選項(xiàng)則反匯編程序記住這些字節(jié)已被定義為“十六進(jìn)制數(shù)

據(jù)”。直到再次用其它命令改變?yōu)橹埂?/p>

3.C命令

該命令把從ADDRESS開始的LENGTH個(gè)字節(jié)作為〃字符〃顯示出來,

若有任選項(xiàng)”」,則程序?qū)⒂涀∵@些字節(jié)已被定義成"字符"形式

4.D命令

該命令把從ADDRESS開始的LENGTH個(gè)字節(jié)作為十進(jìn)制數(shù)據(jù)字節(jié)顯示

出來,若有任選項(xiàng)”」,則程序?qū)⒂涀∵@些字節(jié)被定義成”十進(jìn)制數(shù)據(jù)”形式。

5.1命令

該命令從ADDRESS開始顯示LENGTH條指令,若有任選項(xiàng)"」,則程序

將記住這些字節(jié)是“指令”。

6.L命令

該命令在ADDRESS處設(shè)置一個(gè)標(biāo)號(hào)(LABLE),反匯編程序?qū)⒂涀∵@個(gè)標(biāo)

號(hào)。

7.N命令

該命令把從ADDRESS開始的LENGTH個(gè)字節(jié)作為十進(jìn)制數(shù)據(jù)字節(jié)顯示

出來,若有任選項(xiàng)則程序?qū)⒂涀∵@些字節(jié)已被定義成”十六進(jìn)制數(shù)據(jù)字”。

8.W命令

該命令把從ADDRESS開始的LENGTH個(gè)字節(jié)作為十六進(jìn)數(shù)據(jù)字節(jié)顯示

出來,若有選項(xiàng)"一,則程序?qū)⒂涀∵@些字節(jié)已被定義成”十六進(jìn)制數(shù)據(jù)字,

9.S命令

該命令在ADDRESS處設(shè)置一個(gè)作為子程序入口的標(biāo)號(hào)

(SUBROUTINE),反匯編程序?qū)⒂涀∵@個(gè)標(biāo)號(hào)。

10.T命令

該命令在ADDRESS處設(shè)置一個(gè)作為表頭的標(biāo)號(hào)(TABLE),反匯編程序?qū)?/p>

記住這個(gè)標(biāo)號(hào)。

11.Y命令

該命令把從ADDRESS開始的LENGTH個(gè)字節(jié)置為尚未識(shí)別

(UNKNOWN),留待下面進(jìn)一步分析。剛進(jìn)入反匯編程序時(shí),如果沒有給

出MESSAGE文件,則所有的目標(biāo)代碼字節(jié)都是尚未識(shí)別的。

12.G命令

該命令將從ADDRESS處開始搜索盡可能多的指令,如果有任選項(xiàng)”」,

則反匯編程序?qū)⒃谒阉鬟^程中自動(dòng)處理散轉(zhuǎn)和數(shù)據(jù)表,否則僅僅顯示出可能

涉及到散轉(zhuǎn)和數(shù)據(jù)表的指令和地址,而沒有散轉(zhuǎn)表和數(shù)據(jù)表。

13.F命令

該命令將從目標(biāo)程序的第一條指令開始依次找出尚未識(shí)別的字節(jié),并從該

字節(jié)開始搜索出盡可能的指令。對(duì)任選項(xiàng)。的處理與命令相同。

一般對(duì)于簡(jiǎn)單的目標(biāo)代碼程序,僅用F命令即可得到反匯編結(jié)果;對(duì)于復(fù)

雜的程序,則需借助上述命令來找出特定的表格、數(shù)據(jù)和地址等,以幫助反

匯編程序識(shí)別代碼,加快反匯編過程,得到正確的結(jié)果。

14.P命令

該命令從ADDRESS開始顯示長(zhǎng)度為L(zhǎng)ENGTH的目標(biāo)程序。

15.M命令

該命令顯示出目標(biāo)程序的起始地址、結(jié)束地址和長(zhǎng)度。

16.Z命令

該命令將顯示出目標(biāo)程序中尚未識(shí)別的非零字節(jié)的地址和長(zhǎng)度,若有任選

項(xiàng),這些尚未識(shí)別的非零字節(jié)將被置成十六進(jìn)制數(shù)據(jù)字節(jié)。

17.Q命令

該命令為退出反匯編程序。

退出反匯編程序時(shí),系統(tǒng)將相繼出現(xiàn)提示信息:

USTFILE?

ASSEMBLEFILE?

MESSAGEFILE?

分別提示用戶輸入列表文件名、匯編源程序文件名和信息文件名,這些文

件都是在反匯編結(jié)束后由系統(tǒng)按照反匯編的結(jié)果生成的。如果用戶不想生成

某一文件,則在該文件名提示后直接按回車鍵即可。

注意:列表文件和匯編文件都可能很大,應(yīng)該確保您的磁盤上有足夠的空

間存放它們。反匯編程序產(chǎn)生相應(yīng)的輸出并寫入到磁盤文件中后,即結(jié)束反

匯編過程,返回到主菜單。

§5—4通信(COMMUNCATION)

選擇此功能后,主菜單旁出現(xiàn)子菜單:

1.C0MMUN1

2.C0MMUN2

其中子菜單1對(duì)應(yīng)PC機(jī)的串行口3F8,子菜單2對(duì)應(yīng)PC機(jī)的串行口

2F8。此功能是PC機(jī)送數(shù)據(jù)到單片機(jī),步驟如下:

(-)單片機(jī)在P.狀態(tài)(按下use鍵后)下,按下RDS鍵,作好接收準(zhǔn)備。

(二)在PC機(jī)上輸入目標(biāo)文件名(必須帶上驅(qū)動(dòng)器號(hào))后回車即開始發(fā)送數(shù)

據(jù)。

注意:該過程中必須是單片機(jī)先作好接收準(zhǔn)備,然后才能啟動(dòng)PC機(jī)發(fā)送數(shù)

據(jù),同時(shí)必須用通信目纜線將單片機(jī)通信口和PC機(jī)上的相應(yīng)串行口聯(lián)接

好,才能夠正常通信,得到正確的結(jié)果。

在通信過程中,PC機(jī)屏幕上顯示正在發(fā)送的數(shù)據(jù),通信結(jié)束后將自動(dòng)退

出并返回到主菜單。在通信過程中可以用ESC健強(qiáng)行結(jié)束。

§5—5反通信(RECOMM)

選擇此功能后,主菜單旁出現(xiàn)子菜單:

1.REC0MM1

2.REC0MM2

其中主菜單1對(duì)應(yīng)PC機(jī)的串行口3F8,子菜單2對(duì)應(yīng)PC機(jī)的串行口

2F8。此功能是單片傳輸數(shù)據(jù)到PC機(jī),步驟為:

(-)在PC機(jī)上輸入待接收數(shù)據(jù)的文件名后回車,注意必須帶上驅(qū)動(dòng)器

號(hào)。

(二)單片機(jī)在"P."狀態(tài)下,借助(F)設(shè)置好待通訊數(shù)據(jù)塊的首末地址,然后

按WRI鍵即可進(jìn)行傳送輸出操作。

注意:該過程與通訊過程正好相反,即應(yīng)是PC機(jī)先作好接收準(zhǔn)備(輸入文

件名后回車),然后才能在單片機(jī)上啟動(dòng)發(fā)送數(shù)據(jù),否則得不到正確的結(jié)

果。PC機(jī)在接收過程中將顯示出接收到的數(shù)據(jù)。此過程也可用ESC鍵退

出。

§5—6調(diào)試(DEBUG)

此功能是在PC機(jī)上調(diào)試單片單板機(jī)上的程序,它應(yīng)與單片單

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論