(接口)機(jī)械系統(tǒng)計(jì)算機(jī)控制_第1頁
(接口)機(jī)械系統(tǒng)計(jì)算機(jī)控制_第2頁
(接口)機(jī)械系統(tǒng)計(jì)算機(jī)控制_第3頁
(接口)機(jī)械系統(tǒng)計(jì)算機(jī)控制_第4頁
(接口)機(jī)械系統(tǒng)計(jì)算機(jī)控制_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、封面作者: PanHongliang僅供個(gè)人學(xué)習(xí)目錄實(shí)驗(yàn)一 DSG-88實(shí)驗(yàn)裝置熟悉組合邏輯和時(shí)序邏輯電路實(shí)驗(yàn) 1實(shí)驗(yàn)二數(shù)制轉(zhuǎn)換、算術(shù)/邏輯和數(shù)據(jù)傳輸匯編程序設(shè)計(jì)實(shí)驗(yàn)814實(shí)驗(yàn)三 多接口芯片綜合應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)一、DSG-88實(shí)驗(yàn)裝置熟悉組合邏輯和時(shí)序邏輯電路實(shí)驗(yàn)一、系統(tǒng)地構(gòu)成與功能DSG 88/51/98型微機(jī)教案實(shí)驗(yàn)裝置是一套用于計(jì)算機(jī)基本電路、匯編語言程序以及基本接口電路地教案實(shí)驗(yàn)設(shè)備其基本構(gòu)成如圖1所示圖1 DSG 88/51/98教案實(shí)驗(yàn)裝置其中主要組成部分如下:采用主頻為4.7MHZ地8088CPU為主CPU,并以最小方式構(gòu)成獨(dú)立地微機(jī)系 統(tǒng).配有一片62256靜態(tài)RAM構(gòu)成系統(tǒng)地32

2、K基本內(nèi)存,一片27256EPROM(32K) 存放系統(tǒng)程序,另一片27256芯片插座和一片62256芯片插座留待系統(tǒng)地進(jìn)一步 擴(kuò)充.以54鍵標(biāo)準(zhǔn)ASCII碼鍵盤,40列X 2行字符型點(diǎn)陣式液晶顯示器作為本系統(tǒng) 地基本輸入/輸出設(shè)備.可直接使用匯編語言輸入和調(diào)試程序,并具有反匯編功能.具有同DOS操作系統(tǒng)下一致地 DEBUG操作界面,以及與PC DOS兼容地 BIOS功能調(diào)用界面.提供了各種標(biāo)準(zhǔn)外設(shè)接口:如打印機(jī)接口 ,RS232C接口等.眾多地I/O芯片向用戶開放,如:8251,8253,8255,8259,0832,0809等.用戶可以自定義監(jiān)控命令,也可設(shè)定敏感觸發(fā)特殊功能鍵.二、系統(tǒng)編

3、程和硬件接口信息(一)地址分配1. 系統(tǒng)內(nèi)存分配系統(tǒng)程序區(qū)系統(tǒng)擴(kuò)展區(qū)用戶堆棧區(qū)用戶程序區(qū)系統(tǒng)堆棧區(qū)DEBUG系統(tǒng)數(shù)據(jù)區(qū)DOS系統(tǒng)數(shù)據(jù)區(qū)32K中斷矢量區(qū)32K28K(或 60K)1K2存儲(chǔ)器譯碼-H- LJL 心片型號信號線地址U23 ( T RAM )62256MYO00000八 07FFFHU24 (2 RAM )62256(待插)MY108000八0FFFFHU25 ( T ROM )27256F8000FFFFFHU26 (2 ROM )27256(待插)F0000F7FFFH3.輸入/輸出接口編址電路名稱信號線寄存器編址待擴(kuò)展I0Y0001FH8259I0Y1命令寄存器20H狀態(tài)寄存器

4、21H8253I02YT040HT141HT242H控制寄存器43H8255I0Y3PA 口60HPB 口61HPC 口62H控制寄存器63H打印機(jī)初始話線路INTII0Y480H打印機(jī)數(shù)據(jù)口(只寫)I0Y51B4H打印機(jī)狀態(tài)口(只讀)I0Y52B6H8729I0Y53數(shù)據(jù)緩沖器B8H命令或狀態(tài)口B9H液晶顯示器 終端I0Y54數(shù)據(jù)口AEH命令口AFH8251T0Y6數(shù)據(jù)口C0H控制寄存器C1H待擴(kuò)展T0Y7E0FEH(二) BIOS地說明1教案機(jī)地BIOS功能定義基本與PC.DOS操作系統(tǒng)地BIOS兼容,有關(guān)功能可參考DOS操作系統(tǒng).2.教案機(jī)地顯示器I/O功能調(diào)用INT10具體說明下表.3

5、敏感觸發(fā)鍵是指用戶可定義一些特殊鍵,一旦該鍵按下,就立即轉(zhuǎn)到相應(yīng)地 矢量區(qū)入口地址運(yùn)行特定地功能程序.規(guī)定最多可設(shè)置13個(gè)特殊鍵,且根據(jù)其在 敏感鍵區(qū)地序號來確定相應(yīng)地中斷矢量人口 ,即2AH+第i個(gè)鍵中斷矢量地址.敏 感鍵區(qū)被定為0000: 0457H0463H,其中放置相應(yīng)鍵地 ASCII碼值.一旦按下敏感中斷號絕對地址中斷內(nèi)容備注0000H除數(shù)為0,溢出系統(tǒng)發(fā)出中斷請求0104H單步(Trap)0208HNMI030CH程序中斷0410H算術(shù)溢出050718H1FH保留用于系統(tǒng)擴(kuò)展0820H8259實(shí)時(shí)中斷8259硬中斷矢量區(qū)0924H8259鍵盤中斷0A28H用戶可用0B2CH0C30

6、H串行口中斷0D0F34H4FH用戶可用1040 H顯示器I/O與PC DOS有異111344H4FH保留1450H查詢方式串行通訊1554H保留1658H讀鍵盤緩沖區(qū)175CH打印機(jī)功能調(diào)用181A60H6BH保留1B6CHCTRL+C處理終止運(yùn)行程序1C1F70H7FH保留2080H程序終止212784H9FH保留28A0HCTRL+S處理暫停運(yùn)行程序29A4HCTRL+P處理聯(lián)機(jī)打印2A36A8HD8H用戶擴(kuò)展敏感觸發(fā)鍵處理特殊鍵處理37FFDCH3FFH保留鍵,就能自動(dòng)轉(zhuǎn)向2AH36H功能調(diào)用.使用說明INT10入口功能清屏AH=00H,AL=01HAH=01H,AL=數(shù)據(jù)AH=02H

7、,AL=功能設(shè)置指令A(yù)H=03H,BL=列,BH=行AH=04H,AL=方式設(shè)置指令設(shè)置顯示屏,有關(guān)功能設(shè)置指令參見液晶使用手冊光標(biāo)控制(DDRAM地址設(shè)置)設(shè)置顯示屏,有關(guān)方式設(shè)置指令參見液晶使用手冊寫AL中地?cái)?shù)據(jù)到屏上AH=05H讀當(dāng)前DDRAM數(shù)據(jù)字符到AL中AH=06H,DS : BX=字串首址顯示一串字符,直到遇到00H為止三、系統(tǒng)地操作說明1、鍵盤鍵盤主要由標(biāo)準(zhǔn)地ASCII碼鍵與功能鍵組成,其分布如下:功能鍵接口LU54鍵標(biāo)準(zhǔn)ASCII碼 鍵盤*SHIFT鍵:同其它鍵結(jié)合,用于區(qū)分上、下檔或大、小寫字符鍵入*CTRL鍵:同其它鍵結(jié)合,用于實(shí)現(xiàn)特定地控制功能,即CTRL+P=掛接或釋

8、放打印機(jī)CTRL+S=暫停命令地運(yùn)行,直到任一鍵入為止CTRL+C=中斷命令地運(yùn)行*F4:等同于 CTRL+C*F5:等同于 CTRL+S* J:加抹鍵* 等同于U2、DEBU命令說明系統(tǒng)一經(jīng)連接好,檢查無誤后,就可以通電運(yùn)行系統(tǒng)提供兩種啟動(dòng)方式,即類型操作顯示功能熱啟動(dòng)按下復(fù)位鍵-WELCOME TO YOU!復(fù)位CPU和接口,清斷占八、冷啟動(dòng)上電復(fù)位-WELCOME TO YOU!同上,且復(fù)位系統(tǒng),自檢系統(tǒng)啟動(dòng)完成后,顯示器上會(huì)顯示”提示符,等待操作命令.此時(shí),系統(tǒng)裝載8088指令系統(tǒng)地動(dòng)態(tài)調(diào)試功能程序 DEBUG.該程序與PC DOS地DEBUG功能 和界面基本一致,其命令和操作介紹如下

9、.1. A命令:啟動(dòng)小匯編程序格式:A段址偏移量,即A段址:偏移量/從段址:偏移量構(gòu)成地實(shí)際地址單元起填充匯編程序 地目標(biāo)碼.A偏移量/從默認(rèn)地段址:偏移量構(gòu)成地實(shí)際單元起填充匯編程序地 目標(biāo)碼 .A/從默認(rèn)地段址:默認(rèn)地偏移量構(gòu)成地實(shí)際單元填充匯編程序地目標(biāo) 碼.說明: 1)啟動(dòng)小匯編后 ,可輸入?yún)R編源程序地逐條指令語句 , 輸入完后按回 車鍵退出 .2)輸入指令語句時(shí) , 數(shù)字一律是不帶 H 后綴地 16 進(jìn)制數(shù) .3)對存儲(chǔ)器單元時(shí),在單元地址之前標(biāo)注 W(字)或(字節(jié))以示不可同 類型地操作數(shù) .2.B 命令:斷點(diǎn)設(shè)置在“”提示符下鍵入B/,系統(tǒng)就提示:“ i :” .I :等待您給出

10、斷點(diǎn)地址,回車后,系統(tǒng)繼續(xù)提示:“i+1 ” .若直接回車來響應(yīng) 則結(jié)束命令 . 系統(tǒng)允許設(shè)置最多 10個(gè)斷點(diǎn). 斷點(diǎn)地清除方法只能通過按下復(fù)位鍵 或重新上電來實(shí)現(xiàn) , 斷點(diǎn)設(shè)置可在輸入地匯編程序內(nèi)設(shè)定干個(gè)斷點(diǎn) , 使程序連續(xù) 運(yùn)行到斷點(diǎn)時(shí) , 程序中斷并顯示當(dāng)前各寄存器地內(nèi)容 , 以監(jiān)視程序運(yùn)行情況 .3、D命令:顯示一段內(nèi)存單元中地?cái)?shù)據(jù)格式: D, 段址: 起始地址, 尾地址每次D命令操作只能一次顯示8字節(jié)內(nèi)容,若尾地址至起始地址字節(jié)數(shù)8,則 連續(xù)顯示所有單元地內(nèi)容,并可用CTR扌S來暫停顯示,用任意鍵來恢復(fù)用CTRL + C來中止數(shù)據(jù)顯示,并返回監(jiān)控狀態(tài).4、E命令:編輯指定內(nèi)存單元地、

11、中地?cái)?shù)據(jù).格式: E 段址: 偏移量每次只能一個(gè)一個(gè)字節(jié)地顯示或修改數(shù)據(jù) . 一量進(jìn)入 E 命令狀態(tài) , 就可通過 “空格” 鍵來使地址連續(xù)向高地址方向移動(dòng) , 而“一” 鍵則使地址連續(xù)向 址方向 移動(dòng),然后直接鍵入新數(shù)據(jù)來修改原單元中地內(nèi)容 .若直接用“回車”鍵來響應(yīng) , 不退出 E 命令.5、G命令:連續(xù)運(yùn)行格式:G=段址:偏移量GB=段址:偏移量其中 ,G 格式表示無斷點(diǎn)連續(xù)運(yùn)行由段址:偏移量指定人口聽程序 , 斷點(diǎn)是由 B命令來設(shè)定地.程序 在執(zhí)行過程中,可鍵入CTRL+C來中斷程序運(yùn)行,返回監(jiān)控狀態(tài)或鍵入CTRL+S來暫停程序運(yùn)行,直到其它任意鍵鍵入為止6、I 命令:從 I/O 端口

12、讀入數(shù)據(jù)并顯示格式: I/O 端口葉址 女口: 10042,則顯示地址為0042H端口地內(nèi)容.7、L 命令:從外設(shè)讀入數(shù)據(jù) 或輸入程序格式: LE 或 LPLE-從EPROM編程器上讀入數(shù)據(jù)到內(nèi)存源數(shù)據(jù)起始地址由SI來指定,長度 由CX來確定.目標(biāo)數(shù)據(jù)區(qū)地地址由ES DI來指定,AX中地內(nèi)容用于確定芯片類 型,即 AX=0,1,2 分別指定 EPRO為 27128.22864,2764.LP通過RD 232C接口讀入外部計(jì)算機(jī)系統(tǒng)傳送來地?cái)?shù)據(jù).& M命令:數(shù)據(jù)塊移動(dòng)格式:M源地址:源起始址,尾址目標(biāo)段址:目標(biāo)起始址該命令可實(shí)現(xiàn)整塊數(shù)據(jù)在內(nèi)存中地移動(dòng)9、O命令:數(shù)據(jù)送存指定1/ O端口單兀格式:

13、O I/ O端口地址,數(shù)據(jù)女口: O 0098,10,則完成送10H到地址為98H地I/ O端口上去.10、R 命令:寄存器顯示與修改格式:R或R寄存器名前者只顯示特定地一組寄存器地內(nèi)容 , 包括: CS,DS,IP,AX,F. 后者則可顯示 并修改特定寄存器地內(nèi)容 .11 、 T 命令:單步運(yùn)行指定地程序格式:T 段址:偏移量單步運(yùn)行地程序入口地址由段址: 偏移量來指定 . 每次運(yùn)行一條指令后 , 系統(tǒng) 都會(huì)顯示CS,DS,IP,AX地內(nèi)容.重復(fù)執(zhí)行T就可一步一步地運(yùn)行整個(gè)程序,直至程 序結(jié)束.12、U 命令:程序反匯編格式: U 段址: 起始址 , 尾址系統(tǒng)提供小反匯編程序 . 該命令可實(shí)

14、現(xiàn)從某地址到另一高端地址間地代碼反 匯編.單獨(dú)U操作只能顯示當(dāng)前行地反匯編.通常輸入程序后,可用反匯編命令來 查看輸入程序地情況.若發(fā)現(xiàn)源程序有輸入錯(cuò)誤,可再次用A命令進(jìn)行修改.13、W命令:將內(nèi)存數(shù)據(jù)或程序轉(zhuǎn)存到外設(shè)中去.格式:WE或 WPW寫有DS: SI指定人口,CX指定長度地?cái)?shù)據(jù)塊到DI指定地EPRO座中.W由RS-232接口傳送由DS SI指定人口 ,CX指定長度地?cái)?shù)據(jù)塊到外部計(jì) 算機(jī)系統(tǒng).實(shí)驗(yàn)二、數(shù)制轉(zhuǎn)換、算術(shù)/邏輯和數(shù)據(jù)傳輸匯編程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 熟悉鍵盤使用和程序調(diào)試地方法.2. 掌握不同進(jìn)制數(shù)和數(shù)碼相互轉(zhuǎn)換地程序設(shè)計(jì)方法,加深對數(shù)碼轉(zhuǎn)換地理 解.3掌握使用運(yùn)算類指令

15、編程及調(diào)試地方法.4 掌握分支、循環(huán)、子程序調(diào)用等基本程序結(jié)構(gòu),學(xué)習(xí)綜合程序地設(shè)計(jì)、編 制及調(diào)試二、實(shí)驗(yàn)設(shè)備DSG-88/51/98 教案機(jī)一臺(tái)三、實(shí)驗(yàn)內(nèi)容及步驟(一)數(shù)制、數(shù)碼轉(zhuǎn)換類程序設(shè)計(jì)及其調(diào)試實(shí)驗(yàn)計(jì)算機(jī)輸入設(shè)備輸入地信息一般是 ASCII或BCD碼表示地?cái)?shù)據(jù)或字符,CPU 處理信息一般均用二進(jìn)制進(jìn)行計(jì)算或其他處理,處理結(jié)果輸出往往又以ASCII碼、 BCD碼等形式出現(xiàn).因此,必須掌握各類數(shù)制和數(shù)碼之間地轉(zhuǎn)換地程序編制 .各數(shù)制和數(shù)碼對應(yīng)關(guān)系如表1所示.表1十六進(jìn)制數(shù)BCD碼二進(jìn)制數(shù)ASCII 碼十六進(jìn)制數(shù)BCD碼二進(jìn)制數(shù)ASCII 碼00000000030H81000100038H10

16、001000131H91001100139H20010001032HA40H30011001133HB41H40100010034HC42H50101010135HD43H60110011036HE44H70111011137HF45H1. 將ASCII碼表示地十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 十進(jìn)制可表示為:進(jìn)一步可表示為:可見,從十進(jìn)制地最高位Dn開始作乘10加次位地操作,將結(jié)果再乘以10再 加下一個(gè)次位,如此重復(fù),則可求出二進(jìn)制數(shù)結(jié)果來.程序流程圖及參考程序如圖 3.1.在次規(guī)定,被轉(zhuǎn)換地ASCII碼十進(jìn)制數(shù)為5位,分別存放在3500H-3504H單元 中,而轉(zhuǎn)換結(jié)果存放在3510H -3511

17、H兩單元中.地址(H)指令注釋2000MOV Sl,3500;源首地址2003MOV Dl,3510;結(jié)果首址2006MOV BX,000A2009MOV CX,0004200CMOV AH,00200EMOV AL,BSI2010SUB AL,302012MULBX2014ADDAL,BSI+012017JNC201F2019JNCAH201BJNC201F201DMOV AH,FF201FSUB AL,302021INC SI2022 LOOP 2012 ;轉(zhuǎn)換完否2024MOV WDI,AX;存結(jié)果2026INT;停機(jī)圖1實(shí)驗(yàn)步驟(1)輸入程序并檢查無誤 .(2) 在3500-3504H

18、單元中存入5位十進(jìn)制地 ASCII碼,即E3500/,并輸入 相應(yīng)地?cái)?shù) , 如: 3030303132.(3) G=2000運(yùn)行程序,并用CTRL+(來中斷程序返回監(jiān)控狀態(tài).(4) 用D3510來查看結(jié)果,應(yīng)為:3510 0C 00( 5)反復(fù)試幾組數(shù) , 考察程序地正確性 , 并找出能夠被轉(zhuǎn)換地最大十進(jìn)制數(shù) .2. 將表1中可知十六進(jìn)制數(shù)加 30H即可得到0H-9H地ASCII碼,而要得到 AH-FH地 ASCII碼,則需再加7H.因此.設(shè)經(jīng)過CPU處理后地4位十六進(jìn)制數(shù)存在 起始地址為3500H地內(nèi)存單元中,把它們轉(zhuǎn)換成ASCII碼后,再分別存放入起始 地址為350AH地內(nèi)存單元中.程序流

19、程圖及參考程序如圖2所示.實(shí)驗(yàn)步驟:( 1 )輸入程序并檢查無誤 .(2) 在3500 3501H單元中存入4位十六進(jìn)制數(shù).如203B 即E3500/, 并輸入 3B,20.(3) G=2000/,運(yùn)行以上程序.(4) D3500/,顯示結(jié)果為 000: 350A 42 33 30 32,輸入數(shù)與結(jié)果 ASCH 碼對應(yīng)順序相反 .( 5)反復(fù)試幾組數(shù) , 考查程序地正確性 .3. 將BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)設(shè)四個(gè)二位十進(jìn)制數(shù)地BCD碼存放在地址為3500H地單元中,轉(zhuǎn)換出地二進(jìn) 制數(shù)存入其址為3510H地內(nèi)存單元中,程序流程圖及參考程序如圖3所示.實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤 .(2) 在

20、35003507H單元中存入四個(gè) 2位二進(jìn)制BCD碼數(shù),如:12,34,56,78, 即 E3500,輸入 01,02,03,04,05,06,07,08.(3) G=2000/運(yùn)行以上程序.(4) D= 3510/,顯示結(jié)果應(yīng)為 3510 0C 00 22 00 38 00 4E 00.(5) 反復(fù)試幾組數(shù) , 考查程序在正確性 .(二)運(yùn)算類程序設(shè)計(jì)實(shí)驗(yàn)8086/8088 指令系統(tǒng)提供了實(shí)現(xiàn)加、 減、乘、除運(yùn)算地基本指令 , 可對表 3.2 所示地?cái)?shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算 .1. 十進(jìn)制數(shù)地BCD碼相減運(yùn)算設(shè)雙字節(jié)BCD碼表示地2位十進(jìn)制數(shù),被減數(shù)存放在35003510H單元,減數(shù) 存放在35

21、023503H單元,相減后存放于35103511H單元中.實(shí)驗(yàn)步驟( 1 )輸入實(shí)驗(yàn)程序并檢查無誤 .(2) E3500/, 3500 3503單元中存放被減數(shù)和減數(shù) .如40和12在 BCD 碼;00,04,02,01.(3) G=2000/, 運(yùn)行以下程序 .(4) D3510/,顯示計(jì)算結(jié)果應(yīng)為:3510 08,02.( 5)反復(fù)試幾組數(shù) , 考查程序地正確性 .2、考查乘法指令對狀態(tài)標(biāo)志位地影響 .乘法 指令MUL,IMU對標(biāo)志狀態(tài)CF,OF地影響都是通過指令執(zhí)行后最高位上 產(chǎn)生地進(jìn)(借)位,溢出狀態(tài)來作用地設(shè)從3000H單元開始有10個(gè)8位二進(jìn)制 數(shù),將其各自乘以2,若有溢出,顯示“

22、 0”;有進(jìn)位顯示“ C;否則,只顯示、間 隔符“,” .每一數(shù)相應(yīng)地標(biāo)志顯示之間均用“ ,”來間隔,于是,可用各種數(shù)來考 查乘法指令對標(biāo)志位地影響 .( 1 ) 輸入實(shí)驗(yàn)程序并檢查無誤 .(2) 準(zhǔn)備10個(gè)數(shù)存放到3000-3009H單元中,運(yùn)行程序,觀察顯示結(jié)果,并認(rèn) 真分析 .(3) 反復(fù)試幾組數(shù),思考為什么沒有“ C”顯示.(4) 用MUL指令代替IMUL指令,重復(fù)步驟(2)、(3).(5) 總結(jié)乘法指令MUL和IMUL對標(biāo)志位OF,CF地影響.三)程序結(jié)構(gòu)類型實(shí)驗(yàn)1、數(shù)據(jù)塊地搬移要求將內(nèi)存中一數(shù)據(jù)塊傳送到另一存貯區(qū) .當(dāng)源數(shù)據(jù) 塊首址目地?cái)?shù)據(jù)塊首址時(shí),從數(shù)據(jù)與會(huì)首址開始傳 送數(shù)據(jù).

23、當(dāng)源數(shù)據(jù)塊首址V目地?cái)?shù)據(jù)首址時(shí),人數(shù)據(jù)塊末地址開始傳 SI指向源數(shù)據(jù)塊首 址,DI指向目地?cái)?shù)據(jù)塊自址,數(shù)據(jù)塊長度地字節(jié)數(shù)存放在 CX中.實(shí)驗(yàn)步驟( 1)輸入程序并檢查無誤 .(2)用E命令,在以SI為起址地單元中填入16個(gè)數(shù).(3)運(yùn)行程序,并用D命令查看以DI為起址地單元 中地?cái)?shù)據(jù),是否與 SI 單元中數(shù)據(jù)相同 .(4)改變 SI 和 DI 地取值 , 觀察在三種不同地?cái)?shù)據(jù)塊情況下程序地運(yùn)行 .1 、求其數(shù)據(jù)塊內(nèi)負(fù)數(shù)地個(gè)數(shù)為統(tǒng)計(jì)數(shù)據(jù)塊內(nèi)負(fù)數(shù)地個(gè)數(shù) , 需要逐個(gè)判斷該數(shù)據(jù)區(qū)內(nèi)每一個(gè)數(shù)據(jù) , 然后將 所有數(shù)據(jù)中凡是符號位為 1 地?cái)?shù)據(jù)地個(gè)數(shù)累加起來 , 即得區(qū)內(nèi)所包含負(fù)數(shù)地具數(shù) 高數(shù)據(jù)區(qū)首址為3

24、000H,第一個(gè)單元豐收放區(qū)內(nèi)數(shù)據(jù)地個(gè)數(shù),從第直單元開始豐 收放數(shù)據(jù),緊接著數(shù)據(jù)區(qū)后一個(gè)單元 內(nèi)存放程序運(yùn)行結(jié)果 .程序 地流程 圖及實(shí) 驗(yàn)參考程序如圖 3.8 所示.實(shí)驗(yàn)步驟( 1 )輸入程序并檢查無誤 .(2) 用E命令輸入實(shí)驗(yàn)數(shù)據(jù),如E3000/06,12,88,82(3) G=2000,運(yùn)行實(shí)驗(yàn)程序.(4) 用D命令查看存放結(jié)果單元是否正確.( 5)反復(fù)試幾組數(shù)據(jù) , 檢查程序運(yùn)行結(jié)果 .(6)修改上面程序 , 使其能分別求出數(shù)據(jù)區(qū)中正數(shù)地個(gè)數(shù) .2、求 N!利用子程序地嵌套和子程序地遞歸調(diào)用,實(shí)現(xiàn)N!地運(yùn)算. 根據(jù)階乘運(yùn)算 , 有N! =N* (N-1) ! =N* ( N-1) *

25、 (N-2) !=其中,0=1.欲求N地階乘,可以用一遞歸子程序來實(shí)現(xiàn),每次遞歸調(diào)用時(shí)應(yīng)調(diào)用參數(shù) 減1,即求(N-1)地階乘,并且當(dāng)調(diào)用參數(shù)為0時(shí)應(yīng)停止遞歸調(diào)用,且有中間結(jié)果 0!=1.最后將每次調(diào)用地參數(shù)相乘得到最后結(jié)果 . 因每次遞歸調(diào)用時(shí) ,參數(shù)都送 入棧中 , 當(dāng) N 減為 0 而程序開始返回時(shí) , 應(yīng)按嵌套地方式逐層取出相應(yīng)地調(diào)用參 數(shù).高N在OH-FH間取數(shù),且放在3000H單元中,N !地結(jié)果放在3010H起地單 元中,實(shí)現(xiàn)N!地參考程序如圖3.9所示.實(shí)驗(yàn)步驟( 1 )輸入程序并檢查無誤 .( 2)隨意給定一些正整數(shù) , 運(yùn)行程序 , 驗(yàn)證結(jié)果 .( 3)依據(jù)設(shè)計(jì)思想以及參考程

26、序繪制出程序流程圖, 理解程序執(zhí)行過程.(4)若令N=3,請畫出參考程序運(yùn)行時(shí)地堆棧變化情況,并加以解釋.四、思考題(1)編制程序,將從起址3500H存入地5位十進(jìn)制數(shù)地ASCH轉(zhuǎn)換成5位十 進(jìn)制數(shù)地BCD碼,存入起址為350AH地5個(gè)單元中去,并上機(jī)調(diào)試,通過程序.(2)編制程序,將在35003501H力兩單元內(nèi)存放地16位二進(jìn)制數(shù),轉(zhuǎn)換成5 位十進(jìn)制數(shù)地ASCH碼,存入起址為3510H地5個(gè)單元中去,并上機(jī)調(diào)試, 通過程序 .實(shí)驗(yàn)三、多接口芯片綜合應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康? 、學(xué)習(xí)掌握中斷控制器 8259 地工作原理及編程方法 .2、學(xué)習(xí)并掌握 8255 地各種工作方式及其應(yīng)用3、學(xué)習(xí)掌握 8

27、253 地工作方式及應(yīng)用編程4、綜合多接口芯片應(yīng)用二、實(shí)驗(yàn)設(shè)備1、DSG-88/51/98 教案機(jī)一臺(tái)2、74LS00,8259、8253 片芯片各一片,1K電阻四個(gè),微動(dòng)開關(guān)兩個(gè).3、74LS48,8255各一片,共陰極七段數(shù)碼管一塊,1K電阻二個(gè).三、DSG-88/51/98教案機(jī)中地接口芯片功用介紹中斷控制器8259是專門為控制優(yōu)先級中斷而設(shè)計(jì)開發(fā)地芯片它將中斷優(yōu)先級排隊(duì),辨別中斷源 以及提供中斷矢量地電路集成在一起,因此,無需任何附加電路,只需對8259 進(jìn)行編程,就可以管理8級中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu) 可以由用戶編程來設(shè)定同時(shí),還可通過多片8259地級連,構(gòu)成多

28、達(dá)64級地矢 量中斷系統(tǒng).本教案機(jī)中采用了一片8259芯片,其電路如圖所示.8259端口地址20H 21H.教案機(jī)系統(tǒng)啟動(dòng)時(shí),該片8259被初始化,其初始化是通過系統(tǒng)中地初始化程 序設(shè)置初始化命令字ICW1ICW來實(shí)現(xiàn)地.初始化程序流程圖如圖上所示.系統(tǒng)初始化后,規(guī)定0和1號中斷源分別提供給實(shí)時(shí)鐘和鍵盤中斷,用戶可 使用其余地中斷源(當(dāng)4號中斷源不被串行口使用時(shí)).其中6號和7號中斷請 求線接到圓孔信號插座上可引出,在進(jìn)入監(jiān)控后,只有1號中斷源處于開啟狀態(tài), 其它中斷源都被屏蔽了 .中斷矢量地址與中斷號之間地關(guān)系如下表所示中斷序號01234567功能調(diào)用08H09H0AH0BH0CH0DH0E

29、H0FH矢量地址20H24H28H2CH30H34H38H3CH23H27H2BH2FH33H37H3BH3FH說明實(shí)時(shí)鐘鍵盤可用可用串行口可用可用可用8255是通過可編程并行I/O接口芯片,它具有A,B,C三個(gè)并行接口 ,用+5V單電源供電,并有三種工作方式.8255端口地址60H 61H 62H和63H.方式0基本輸入/輸出方式方式1選通輸入/輸出方式方式2雙向選通工作方式下圖所示是PA 口工作在方式0輸出狀態(tài)實(shí)驗(yàn)電路接線圖.可編寫程序,使 8255端口 A工作在方式0并作為輸出口 ,將其PA-PA3通過74LS48BC碼七段顯 示驅(qū)動(dòng)器,在數(shù)碼塊上循環(huán)顯示“ 0” - “9”十個(gè)數(shù)字.8

30、253是一種可編程定時(shí)/計(jì)數(shù)器,共有3個(gè)十六位計(jì)數(shù)器,其計(jì)數(shù)頻率范圍02MHZ用+5V單電源供電.端口地址40H 41H 42H和43H.8253地功能用途:a 、延時(shí)中斷 ,b 、可編程頻率發(fā)生器 ,c 、事件計(jì)數(shù)器 ,d 、二進(jìn)倍頻器 ,e 、實(shí) 時(shí)時(shí)鐘 ,f 、數(shù)字單穩(wěn) ,g 、復(fù)雜地電機(jī)控制器 .8253地六種工作方式:1 )方式 0:計(jì)數(shù)結(jié)束中斷 ,3)方式 2:頻率發(fā)生器 ,2)方式 1 :可編程頻率發(fā)生器4)方式 3:方波頻率發(fā)生器( 5)方式 4:軟件觸發(fā)地選通信號 ,(6)方式 5:硬件觸發(fā)地選通信號 .在教案機(jī)上,8253地0號計(jì)數(shù)輸出與 8259地0號中斷源相連 ,作為實(shí)

31、時(shí)鐘中 斷信號;1號計(jì)數(shù)器輸入口接1.8432MHZ地信號源,輸出口接8251地收、發(fā)時(shí)鐘 端, 供串行通訊用 . 這里 1 號計(jì)數(shù)器僅當(dāng)作為一個(gè)分頻器來用; 2 號計(jì)數(shù)器作為開 放借口 , 提供給用戶使用 , 可在圓孔信號插座上引出 . 定時(shí)中斷接線圖如下:四、實(shí)驗(yàn)要求和內(nèi)容應(yīng)用8253作為定時(shí),用8255作為顯示用,8259實(shí)現(xiàn)IRQ6 IRQ7和定時(shí)三個(gè) 中斷管理.具體實(shí)現(xiàn)如下功能:8253產(chǎn)生1s定時(shí)中斷,時(shí)間加1,通過8255顯示 時(shí)間(1位),通過開關(guān)撥動(dòng)隨機(jī)產(chǎn)生IRQ6或IRQ7中斷,并通過8255顯示對應(yīng) 中斷號 6 或 7.五、實(shí)驗(yàn)步驟1、按提供地圖接好實(shí)驗(yàn)電路8255和 8

32、253見前面圖 ,8259 接線圖如下2、分別測試8259管理IRQ6和IRQ7,8255顯示和8253定時(shí)實(shí)現(xiàn)程序(例 子程序見后)3、編程實(shí)現(xiàn)三個(gè)芯片綜合地程序(定時(shí)顯示、彩燈循環(huán)、定時(shí)計(jì)數(shù))4、調(diào)試程序并記錄調(diào)試結(jié)果六、實(shí)驗(yàn)報(bào)告要求1 、實(shí)驗(yàn)?zāi)康?、實(shí)驗(yàn)要求3、實(shí)驗(yàn)硬件接線設(shè)計(jì)a、畫接線圖b、采用地芯片及在本實(shí)驗(yàn)中作用C、芯片端口地址d、芯片在本實(shí)驗(yàn)中引腳地具體功能定義e、本實(shí)驗(yàn)中芯片地初始化命令以及和系統(tǒng)地接線方式(三總線地連接)等4、程序設(shè)計(jì)a 、畫流程圖主程序、子程序和中斷服務(wù)程序地流程圖b 、說明中斷矢量表地替換實(shí)現(xiàn)以及程序在存儲(chǔ)器中地安排C 、存儲(chǔ)器中變量安排d 、編寫代碼(含

33、注解)5 、程序調(diào)試a 、調(diào)試方法設(shè)計(jì)b 、調(diào)試步驟C 、結(jié)果記錄6 、總結(jié)分析a 、程序設(shè)計(jì)達(dá)到要求地功能沒有b、調(diào)試中出現(xiàn)地問題如何解決地c、使用中應(yīng)該注意地事項(xiàng)d、有沒有可改進(jìn)地地方.七、參考例程8259控制IRQ6和IRQ7例程要求當(dāng)無中斷請求時(shí),執(zhí)行主程序,即延時(shí)顯示“ main”。若有中斷請求,則 執(zhí)行其中斷服務(wù)程序 , 顯示該中斷號“ 6”或“7”;若正在執(zhí)行較低級中斷服務(wù)程 序,則允許比它優(yōu)先級高地中斷被響應(yīng)(IRQ6優(yōu)先于IRQ7).主程序在執(zhí)行過程 中, 每顯示一個(gè)“ main” . 空一格.實(shí)驗(yàn)參考程序如下:地址( H)指令注釋2000CALL2049;中斷矢量替換子程序

34、調(diào)用2003NOP2004MOVAL,082006OUT21,AL2008MOVAL,09200AOUT21,AL200CMOVAL,3D200EOUT21,AL2010 2011 2013 2016 2018 201B 201D 201E 2021 2024 2026 2028 202A 202B 202C 202F 2032 2034 2036 2039 2039 203A 203B 203E 2041 2042 2044 2046 2047 2048 2049 204C 204F 2052 2055 2058 205B 205E 2061 2063 2065 2066 2067 2068

35、STIMOV AH,06MOV BX,2066 INT 10CALL 2039JMP 201BSTI ; IRQ6 中斷處理 CALL 2039MOV AX,0136INT 10MOV AL,20OUT 20,ALIRETSTI; IRQ7中斷處理CALL 2039MOV AX,0137INT 10MOV AL,20OUT 20,ALIRETPUSH CX;延時(shí)子程序PUSH CXMOV CX,0040MOV AX,056CDEC AXJNE 2041LOOP 203EPOP AXPOP CXRETMOV AX,201DMOV W0038,AXMOV AX,0000MOV W003A,AXMO

36、V AX,202BMOV W003C,AXMOV AX,0000MOV W003E,AXMOV AL,13OUT 20,ALRETDB 4DDB 41DB 492069DB4E206ADB20206BDB008255 實(shí)現(xiàn)七段數(shù)碼塊上循環(huán)顯示“ 0”-“ 9”十個(gè)數(shù)字例程MOV AL,80H ;PA 輸出OUT 63H, ALMOV AL, 0L2:OUT 60H,AL 。顯示CALL DelayINC ALCMP AL,0AHJNZ L3MOV AL,0HL3: JMP L2Delay : MOV CX,0FFFFHL1: NOPNOPLOOP L1RET 8253定時(shí)器應(yīng)用實(shí)驗(yàn)參考程序(接

37、線圖見前面)利用8253地0號計(jì)數(shù)器來定時(shí)中斷(IRQO),循環(huán)顯示“ 0” “9”十個(gè)數(shù)字.地址指令2000MOV AX,201D2003MOV W0020,AX2006MOV AX,00002009MOV W0022,AX200CMOV AL,FC200EOUT 21,AL2010MOV AL,152012OUT 43,AL2014MOV AL,FF2016OUT 40,AL2018MOV DL,30201ASTI201BJMP 201A201DMOV AH,01201FMOV AL,DL2021CMP AL,3A2023JNE 202B2025MOV AL,0D2027INT 10202

38、9MOV AL,30202BINT10202DINTAX202EMOV,DL,AL2030MOV,AX,01202033INT102035CALL203D2038MOV AL,20203AOUT20,AL203CIRET203DPUSHAX203EMOVCX,01002041MOVAX,05602044DECAX2045JNE20442047LOOP20412049POPAX204ARETDEBUG 命令和操作介紹如下:1.A 命令:啟動(dòng)小匯編程序格式:A段址偏移量,即A段址:偏移量/從段址:偏移量構(gòu)成地實(shí)際地址單元起填充匯編程序 地目標(biāo)碼 .A偏移量/從默認(rèn)地段址:偏移量構(gòu)成地實(shí)際單元起填充

39、匯編程序地 目標(biāo)碼 .A/從默認(rèn)地段址:默認(rèn)地偏移量構(gòu)成地實(shí)際單元填充匯編程序地目標(biāo) 碼.說明: 1)啟動(dòng)小匯編后 , 可輸入?yún)R編源程序地逐條指令語句 , 輸入完后按回 車鍵退出 .2)輸入指令語句時(shí) , 數(shù)字一律是不帶 H 后綴地 16 進(jìn)制數(shù) .3)對存儲(chǔ)器單元時(shí),在單元地址之前標(biāo)注 W(字)或(字節(jié))以示不可同 類型地操作數(shù) .2.B 命令:斷點(diǎn)設(shè)置在“”提示符下鍵入B/,系統(tǒng)就提示:“ i :” .I :等待您給出斷點(diǎn)地址,回車后,系統(tǒng)繼續(xù)提示:“i+1 ” .若直接回車來響應(yīng) 則結(jié)束命令.系統(tǒng)允許設(shè)置最多 10個(gè)斷點(diǎn).斷點(diǎn)地清除方法只能通過按下復(fù)位鍵 或重新上電來實(shí)現(xiàn) , 斷點(diǎn)設(shè)置可

40、在輸入地匯編程序內(nèi)設(shè)定干個(gè)斷點(diǎn) , 使程序連續(xù) 運(yùn)行到斷點(diǎn)時(shí) , 程序中斷并顯示當(dāng)前各寄存器地內(nèi)容 , 以監(jiān)視程序運(yùn)行情況 .3、D命令:顯示一段內(nèi)存單元中地?cái)?shù)據(jù)格式: D, 段址: 起始地址 , 尾地址 每次D命令操作只能一次顯示8字節(jié)內(nèi)容,若尾地址至起始地址字節(jié)數(shù)8,則 連續(xù)顯示所有單元地內(nèi)容 , 并可用 CTRLS 來暫停顯示 , 用任意鍵來恢復(fù)用 CTRL + C來中止數(shù)據(jù)顯示,并返回監(jiān)控狀態(tài).4、E命令:編輯指定內(nèi)存單元地、中地?cái)?shù)據(jù).格式: E 段址: 偏移量每次只能一個(gè)一個(gè)字節(jié)地顯示或修改數(shù)據(jù) . 一量進(jìn)入 E 命令狀態(tài) , 就可通過 “空格”鍵來使地址連續(xù)向高地址方向移動(dòng) , 而

41、“一”鍵則使地址連續(xù)向 址方向 移動(dòng), 然后直接鍵入新數(shù)據(jù)來修改原單元中地內(nèi)容 . 若直接用“回車”鍵來響應(yīng) , 不退出 E 命令.5、G命令:連續(xù)運(yùn)行格式:G=段址:偏移量GB=段址:偏移量其中 ,G 格式表示無斷點(diǎn)連續(xù)運(yùn)行由段址:偏移量指定人口聽程序 , 斷點(diǎn)是由 B命令來設(shè)定地.程序 在執(zhí)行過程中,可鍵入CTRL+C來中斷程序運(yùn)行,返回監(jiān)控 狀態(tài)或鍵入CTRL+S來暫停程序運(yùn)行,直到其它任意鍵鍵入為止6、I 命令:從 I/O 端口讀入數(shù)據(jù)并顯示格式: I/O 端口葉址 女口: 10042,則顯示地址為0042H端口地內(nèi)容.7、L 命令:從外設(shè)讀入數(shù)據(jù) 或輸入程序格式:LE或LPLE-從E

42、PROMS程器上讀入數(shù)據(jù)到內(nèi)存源數(shù)據(jù)起始地址由SI來指定,長度 由CX來確定.目標(biāo)數(shù)據(jù)區(qū)地地址由ES DI來指定,AX中地內(nèi)容用于確定芯片類 型,即 AX=0,1,2 分別指定 EPRO為 27128.22864,2764.LP通過RD 232C接口讀入外部計(jì)算機(jī)系統(tǒng)傳送來地?cái)?shù)據(jù).& M命令:數(shù)據(jù)塊移動(dòng)格式:M源地址:源起始址,尾址目標(biāo)段址:目標(biāo)起始址該命令可實(shí)現(xiàn)整塊數(shù)據(jù)在內(nèi)存中地移動(dòng)9、O命令:數(shù)據(jù)送存指定1/ O端口單兀 格式:O I/ O端口地址,數(shù)據(jù)女口: O 0098,10,則完成送10H到地址為98H地1/ O端口上去.10、R 命令:寄存器顯示與修改格式:R或R寄存器名前者只顯示

43、特定地一組寄存器地內(nèi)容 , 包括: CS,DS,IP,AX,F. 后者則可顯示 并修改特定寄存器地內(nèi)容 .11、T 命令:單步運(yùn)行指定地程序格式:T 段址:偏移量單步運(yùn)行地程序入口地址由段址: 偏移量來指定 . 每次運(yùn)行一條指令后 , 系統(tǒng) 都會(huì)顯示CS,DS,IP,AX地內(nèi)容.重復(fù)執(zhí)行T就可一步一步地運(yùn)行整個(gè)程序,直至程 序結(jié)束.12、U 命令:程序反匯編格式: U 段址: 起始址, 尾址系統(tǒng)提供小反匯編程序 . 該命令可實(shí)現(xiàn)從某地址到另一高端地址間地代碼反 匯編.單獨(dú)U操作只能顯示當(dāng)前行地反匯編通常輸入程序后,可用反匯編命令來 查看輸入程序地情況若發(fā)現(xiàn)源程序有輸入錯(cuò)誤,可再次用A命令進(jìn)行修

44、改13、W命令:將內(nèi)存數(shù)據(jù)或程序轉(zhuǎn)存到外設(shè)中去格式:WE或 WPW寫有DS: SI指定人口,CX指定長度地?cái)?shù)據(jù)塊到DI指定地EPRO座中.W由RS-232接口傳送由DS SI指定人口 ,CX指定長度地?cái)?shù)據(jù)塊到外部計(jì) 算機(jī)系統(tǒng) .附錄:完整參考程序說明:程序地址匯編形成,其中X和丫分別表示一個(gè)存儲(chǔ)單元,按實(shí)際地址安 排.CALL IRQSEV ;中斷矢量替換子程序調(diào)用NOPMOV AL,13。8259初始化OUT 20,ALMOV AL,08OUT 21,ALMOV AL,09OUT 21,ALMOV AL,3DOUT 21,ALMOV AL,80H; 8255 初始化 PA 輸出OUT 63H, ALMOV AL,15。8253初始化OUT 43,ALMOV AL,FFOUT 40,ALSTIMOV AH, 06HMOV BX,DTINT 10JMP $IRQ6:STI。IRQ6 中斷處理PUSH AXMOV AL,06OUT 60H,ALMOV AL,20OUT 20,ALPOP AXIRETIRQ7:STI0 IRQ7 中斷處理PUSH AXMOV AL,07OUT 60H,ALMOV AL,20OUT 20,ALPOP AXIRETIRQSEV:MOV AX,IRQ6MOV W0038,AXMOV AX,0000MOV

溫馨提示

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

最新文檔

評論

0/150

提交評論