單片機(jī)EL型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)_第1頁
單片機(jī)EL型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)_第2頁
單片機(jī)EL型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)_第3頁
單片機(jī)EL型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)_第4頁
單片機(jī)EL型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

實(shí)驗(yàn) 指導(dǎo)書 山東英才學(xué)院 計(jì)算機(jī)電子信息工程學(xué)院 目錄 第一部分 系統(tǒng)介紹 . 1 一、整機(jī)介紹 . 1 二、系統(tǒng)特點(diǎn) . 1 三、 8051 單元概述 . 2 第二部分 8051 調(diào)試軟件的使用 . 5 一、主窗口簡介 . 5 二、編輯程序 . 6 三、編譯調(diào)試 . 6 第三部分 基本試驗(yàn) . 7 實(shí)驗(yàn)一 P1 口實(shí)驗(yàn) . 7 實(shí)驗(yàn)(一) P1 口實(shí)驗(yàn)一 . 7 實(shí)驗(yàn)(二) P1 口實(shí)驗(yàn)二 . 10 實(shí)驗(yàn)二 簡單 I/O 口擴(kuò)展實(shí)驗(yàn) . 13 實(shí)驗(yàn)(一)簡單 I/O 口擴(kuò)展實(shí)驗(yàn)一 . 13 實(shí)驗(yàn)(二)簡單 I/O 口擴(kuò)展實(shí)驗(yàn)二 . 16 實(shí)驗(yàn)三 中斷 實(shí)驗(yàn) . 18 實(shí)驗(yàn)四 定時(shí)器實(shí)驗(yàn) . 22 實(shí)驗(yàn)五 8255A 可編程并行接口實(shí)驗(yàn) . 25 實(shí)驗(yàn)(一) 8255A 可編程并行接口實(shí)驗(yàn)一 . 25 實(shí)驗(yàn)(二) 8255A 可編程并行接口實(shí)驗(yàn)二 . 27 實(shí)驗(yàn)六 數(shù)碼顯示實(shí)驗(yàn) . 33 實(shí)驗(yàn)七 D/A 轉(zhuǎn)換實(shí)驗(yàn) . 39 實(shí)驗(yàn)八 A/D 轉(zhuǎn)換實(shí)驗(yàn) . 44 實(shí)驗(yàn)九 存儲(chǔ)器擴(kuò)展實(shí)驗(yàn) . 48 實(shí)驗(yàn)十 LCD 顯示實(shí)驗(yàn) . 50 山東英才學(xué)院 第 1 頁 共 55 頁 第一部分 系統(tǒng)介紹 一、整機(jī)介紹 1、 EL 型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu) EL-MUT-III 型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)由電源、系統(tǒng)板、 CPU 板、可擴(kuò)展的實(shí)驗(yàn)?zāi)0?、微機(jī)串口通訊線、 JTAG 通訊線及通用連接線組成。系統(tǒng)板的結(jié)構(gòu)簡圖見下圖。 二、系統(tǒng)特點(diǎn) EL-MUT-III 型微機(jī) /單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)是北京精儀達(dá)盛科技有限公司根據(jù)廣大學(xué)者和許多高等院校實(shí)驗(yàn)需求,結(jié)合電子發(fā)展情況而研制的具有開發(fā)、應(yīng)用、實(shí)驗(yàn)相結(jié)合的高科技實(shí)驗(yàn)設(shè)備。旨在盡快提高我國電子科技 發(fā)展水平,提高實(shí)驗(yàn)者的動(dòng)手能力、分析解決問題能力。系統(tǒng)具有以下特點(diǎn): 1、 CPU 可選用 80C31、 8086、 80C196 中任一種 CPU,系統(tǒng)功能齊全,涵蓋了微機(jī) /單片機(jī)教學(xué)實(shí)驗(yàn)課程的大部分內(nèi)容。 2、 系統(tǒng)采用開放式模塊化結(jié)構(gòu)設(shè)計(jì),通過兩組相對獨(dú)立的總線最多可同時(shí)擴(kuò)展 2 塊應(yīng)用實(shí)驗(yàn)板,用戶可根據(jù)需要購置相應(yīng)實(shí)驗(yàn)板,降低了成本,提高了靈活性,便于升級換代。 3、 配有兩塊可編程器件: EPM7128 被系統(tǒng)占用。另一塊 EPM7032 供用戶實(shí)驗(yàn)用。兩塊器件皆可通過 JTAG 接口在線編程。使用十分方便。 4、 靈活的電源接口:配有 PC 機(jī)電源插 座,可由 PC 提供電源。另外還配有外接開關(guān)電源,提供所需的 +5V, 12V,其輸入為 220V 的交流電。 5、 系統(tǒng)的聯(lián)機(jī)運(yùn)行模式:配有系統(tǒng)調(diào)試軟件,系統(tǒng)調(diào)試軟件分 DOS 版和 WINDOWS 版兩山東英才學(xué)院 第 2 頁 共 55 頁 種,均為中文多窗口界面。調(diào)試程序時(shí)可以同時(shí)打開寄存器窗口、內(nèi)存窗口、變量窗口、反匯編窗口、波形顯示窗口等等,極大地方便了用戶的程序調(diào)試。該軟件集源程序編輯、編譯、鏈接、調(diào)試與一體,每項(xiàng)功能均為中文下拉菜單,簡明易學(xué)。經(jīng)常使用的功能均備有熱鍵,這樣可以提高程序的調(diào)試效率。 8051 調(diào)試軟件不僅支持匯編語言,而且還支持 C 語言編輯調(diào)試。 6、 系統(tǒng)的單機(jī)運(yùn)行模式:系統(tǒng)在沒有與計(jì)算機(jī)連接的情況下,自動(dòng)運(yùn)行在單機(jī)模式,在此模式下,用戶可通過鍵盤輸入運(yùn)行程序(機(jī)器碼),和操作指令,同時(shí)將輸入信息及操作的結(jié)果在 LED 數(shù)碼管上顯示出來。 7、 系統(tǒng)功能齊全,可擴(kuò)展性強(qiáng)。本實(shí)驗(yàn)系統(tǒng)不僅完全能滿足教學(xué)大綱規(guī)定的基本接口芯片實(shí)驗(yàn),其靈活性和可擴(kuò)展性(數(shù)據(jù)總線、地址總線、控制總線為用戶開放)亦能輕松滿足其課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)使用等。 三、 8051單元概述 1)、微處理器: i80c31,它的 P1 口、 P3 口皆對用戶開放,供用戶使用。 2)、時(shí)鐘頻率: 6.0MHz 3)、存儲(chǔ) 器:程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,最多可達(dá) 64k,板載 ROM(監(jiān)控程序27C256)12k; RAM1(程序存儲(chǔ)器 6264)8k 供用戶下載實(shí)驗(yàn)程序,可擴(kuò)展達(dá) 32k; RAM2(數(shù)據(jù)存儲(chǔ)器 6264)8k 供用戶程序使用,可擴(kuò)展達(dá) 32k。 (RAM 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器不可同時(shí)擴(kuò)至32k,具體與廠家聯(lián)系 )。(見圖 1-1:存儲(chǔ)器組織圖)。在程序存儲(chǔ)器中, 0000H-2FFFH為監(jiān)控程序存儲(chǔ)器區(qū),用戶不可用, 4000H-5FFFH 為用戶實(shí)驗(yàn)程序存儲(chǔ)區(qū),供用戶下載實(shí)驗(yàn)程序。數(shù)據(jù)存儲(chǔ)器的范圍為: 6000H-7FFFH,供用戶實(shí)驗(yàn)程序使用。 注意:因用戶實(shí)驗(yàn)程序區(qū)位于 4000H-5FFFH,用戶在編寫實(shí)驗(yàn)程序時(shí)要注意,程序的起始地址應(yīng)為 4000H,所用的中斷入口地址均應(yīng)在原地址的基礎(chǔ)上,加上 4000H。例如:外部中斷 0 的原中斷入口為 0003H,用戶實(shí)驗(yàn)程序的外部中斷 0 的中斷程序入口為 4003H,其他類推,見表 1-1。 4)、可提供的對 8051 的基本實(shí)驗(yàn) 為了提高微機(jī)教學(xué)實(shí)驗(yàn)質(zhì)量,提高實(shí)驗(yàn)效率,減輕主講教師和實(shí)驗(yàn)教師的勞動(dòng)強(qiáng)度,在該系統(tǒng)的實(shí)驗(yàn)板上,除微處理器外、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器外,還增加了 8255 并行接口、 8250 串行控制器、 8279 鍵盤、顯示控制器、 8253 可編程定時(shí)器、 A/D、 D/A 轉(zhuǎn)換、單脈沖、各種頻率的脈沖發(fā)生器、輸入、輸出電路等模塊,各部分電路既相互獨(dú)立、又可靈活組合,能滿足各類學(xué)校,不同層次微機(jī)實(shí)驗(yàn)與培訓(xùn)要求??商峁┑膶?shí)驗(yàn)如下: ( 1)、 8051P1 口輸入、輸出實(shí)驗(yàn) ( 2)、簡單的擴(kuò)展輸入、輸出實(shí)驗(yàn) ( 3)、 8051 定時(shí)器 /計(jì)數(shù)器實(shí)驗(yàn)( 4)、 8051 外中斷實(shí)驗(yàn) ( 5)、 8279 鍵盤掃描、 LED 顯示實(shí)驗(yàn) ( 6)、 8255 并行口輸入、輸出實(shí)驗(yàn) ( 7)、交通燈控制實(shí)驗(yàn) ( 8)、 8259 中 斷實(shí)驗(yàn) ( 10)、 A/D 轉(zhuǎn)換實(shí)驗(yàn) (11)、 D/A 轉(zhuǎn)換實(shí)驗(yàn) ( 12)、存儲(chǔ)器擴(kuò)展實(shí)驗(yàn) 用戶 I/O 區(qū) FFFFH 山東英才學(xué)院 第 3 頁 共 55 頁 系統(tǒng) I/O 區(qū) CFEFH 用戶 I/O 區(qū) CFBFH RAM2 用戶實(shí)驗(yàn)程序區(qū) 供用戶下載實(shí)驗(yàn) 程序 FFFH RAM1 用戶實(shí)驗(yàn)程序 數(shù)據(jù)區(qū) 4FFFH ROM 系統(tǒng)監(jiān)控程序區(qū) 2FFFH 0000H 圖 1:存儲(chǔ)器系統(tǒng)組織圖 中斷名稱 8051 原中斷程序入口 用戶實(shí)驗(yàn)程序響應(yīng)程序入口 外中斷 0 0003H 4003H 定時(shí)器 0 中斷 000BH 400BH 外中斷 1 0013H 4013H 定時(shí)器 1 中斷 001BH 401BH 串行口中斷 0023H 4023H 表 1-1:用戶中斷程序入口表 5) 、 資源分配 本系統(tǒng)采用可編程邏輯器件( CPLD) EPM7128 做地址的編譯碼工作,可通過芯片的 JTAG接口與 PC 機(jī)相連,對芯 片進(jìn)行編程。此單元也分兩部分:一部分為系統(tǒng) CPLD,完成系統(tǒng)器件,如監(jiān)控程序存儲(chǔ)器、用戶程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、系統(tǒng)顯示控制器、系統(tǒng)串行通訊控制器等的地址譯碼功能,同時(shí)也由部分地址單元經(jīng)譯碼后輸出(插孔 CS0-CS5)給用戶使用,他們的地址固定,用戶不可改變。具體的對應(yīng)關(guān)系見表 1-2。另一部分為用戶 CPLD,它完全對用戶開放,用戶可在一定的地址范圍內(nèi),進(jìn)行編譯碼,輸出為插孔 LCS0-LCS7,用戶可用的地址范圍見表 1 2,注意,用戶的地址不能與系統(tǒng)相沖突,否則將導(dǎo)致錯(cuò)誤。 山東英才學(xué)院 第 4 頁 共 55 頁 地 址范圍 輸出孔 /映射器件 性質(zhì)(系統(tǒng) /用戶) 0000H-2FFFH 監(jiān)控程序存儲(chǔ)器 系統(tǒng) * 3000H-3FFFH 數(shù)據(jù)存儲(chǔ)器 系統(tǒng) * 4000H-7FFFH 用戶程序存儲(chǔ)器 系統(tǒng) * 8000H-CFDFH LCS0-LCS7 用戶 CFE0H PC 機(jī)串行通訊芯片 8250 系統(tǒng) * CFE8H 顯示、鍵盤芯片 8279 系統(tǒng) CFA0H-CFA7H CS0 系統(tǒng) CFA8H-CFAFH CS1 系統(tǒng) CFB0H-CFB7H CS2 系統(tǒng) CFB8H-CFBFH CS3 系統(tǒng) CFC0H-CFC7H CS4 系統(tǒng) CFC8H-CFCFH CS5 系統(tǒng) CFD0H-FFFFH LCS0-LCS7 用戶 注:系統(tǒng)地址中,除帶“ *”用戶既不可用,也不可改外,其他系統(tǒng)地址用戶可用但不可改。 表 1 2: CPLD 地址分配表 山東英才學(xué)院 第 5 頁 共 55 頁 第二部分 8051 調(diào)試軟件的使用 一、主窗口簡介 主窗口共有以下幾個(gè)區(qū)域組成:最上部為此集成開發(fā)環(huán)境的程序名稱及打開的文件名稱(當(dāng)沒有文件打開時(shí),則無文件名稱顯示),一般為藍(lán)底白字。它的下部為主菜單,主菜單的項(xiàng)目與工作狀態(tài)有關(guān):當(dāng)沒有文件打開或運(yùn)行時(shí),只有三項(xiàng) :文件、查看、幫助。 而當(dāng)有文件打開時(shí),則共有九項(xiàng):文件、編輯、查看、編譯、調(diào)試、控制對象、選項(xiàng)、窗口、幫助(主菜單的功能見功能詳解)。在主菜單的下部為工具欄,自左至右為:新建 C文件( )、新建匯編文件( )、打開(文件)( )、文件保存(存盤)( )、剪切( )、復(fù)制( )、粘貼( )、 C 程序編譯命令 (Ctrl+F7)( )、 C 程序連接命令 (Shift+F7)( )、C 程序編譯連接命令 (F3)( )、匯編命令 (F3)( )、開始調(diào)試 (F5)( )、停止調(diào)試Shift+F5( )、程序復(fù)位 Ctrl+F2( )、設(shè)置 /清除斷點(diǎn) Ctrl+F8( )、跟蹤調(diào)試F7( )、單步執(zhí)行 F8( )、執(zhí)行到光標(biāo)行 F4( )、運(yùn)行 F9( )、反匯編窗口Alt+5( )、寄存器窗口 Alt+2( )、內(nèi)部數(shù)據(jù)存儲(chǔ)器窗口 Alt+3( )、外部數(shù)據(jù)存儲(chǔ)器窗口 Alt+4、幫助( )這些工具并不是同時(shí)有效。 山東英才學(xué)院 第 6 頁 共 55 頁 在主界面的中央的大面積區(qū)域?yàn)槲募木庉媴^(qū),可打開匯編文件、 C 文件及其他形式的文本文件。在主界面的下部為狀態(tài)欄,最左邊為命令 /提示欄,顯示當(dāng)前正在執(zhí)行的命令或工作狀態(tài),當(dāng)光標(biāo)指向一個(gè)按鈕時(shí),此欄也顯示此按鈕的功能。第二欄為光標(biāo)在編輯區(qū)域中所處的行、列位置,右邊的兩欄分別顯示當(dāng)前鍵盤字母鍵的大 /小寫狀態(tài)及小鍵盤的狀態(tài)(數(shù)字 /命令) 二、編輯程序 主窗口下。在“文件”中選擇“新建” 菜單,可進(jìn)行 C 語言編輯或匯編語言編輯。也可以選擇“打開”,打開現(xiàn)有的實(shí)驗(yàn)程序(選擇后綴 .ASM 或 .C,可分別打開匯編語言程序和 C語言實(shí)驗(yàn)程序)。 三、編譯調(diào)試 程序編輯完成后 ,即可進(jìn)行編譯調(diào)試。主菜單中有“編譯”欄,可對當(dāng)前文件進(jìn)行編譯。“調(diào)試”欄可進(jìn)行系統(tǒng)復(fù)位及其他調(diào)試手段?!斑x項(xiàng)”欄“通訊串口選項(xiàng)”可進(jìn)行通訊口設(shè)置。“查看”欄可打開內(nèi)存、外存、寄存器等窗口,通過修改存儲(chǔ)器地址可查看不同地址區(qū)的內(nèi)容,也可以對其進(jìn)行修改。 山東英才學(xué)院 第 7 頁 共 55 頁 第三部分 基本試驗(yàn) 實(shí)驗(yàn)一 P1口實(shí)驗(yàn) 實(shí)驗(yàn)(一) P1 口實(shí)驗(yàn)一 一、 實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí) P1 口的使用方法。 2 學(xué)習(xí)延時(shí)子程序的編寫和使用。 二、 實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、 實(shí)驗(yàn)內(nèi)容: 1 P1 口做輸出口,接八只發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點(diǎn)亮。 2 P1 口做輸入口,接八個(gè)按紐開關(guān),以實(shí)驗(yàn)箱上 74LS273 做輸出口,編寫程序讀取開關(guān)狀態(tài),在發(fā)光二極管上顯示出來。 四、 實(shí)驗(yàn)原理: P1 口為準(zhǔn)雙向口, P1 口的每一位都能獨(dú)立地定義為輸入位或輸出位。作為輸入位時(shí),必須向鎖存器相應(yīng)位寫入“ 1”,該位才能作為輸入。 8031 中所有口鎖存器在復(fù)位時(shí)均置為“ 1”,如果后來在口鎖存器寫過“ 0”,在需要時(shí)應(yīng)寫入一個(gè)“ 1”,使它成為一個(gè)輸入。 可以用第二個(gè)實(shí)驗(yàn)做一下實(shí)驗(yàn)。先按要求編好程序并調(diào)試成功后,可將 P1 口鎖存器中置“ 0”,此時(shí)將 P1 做輸入口,會(huì)有什么結(jié)果。 再來看一下延時(shí)程序的實(shí)現(xiàn)?,F(xiàn)常用的有兩種方法,一是用定時(shí)器中斷來實(shí)現(xiàn),一是用指令循環(huán)來實(shí)現(xiàn)。在系統(tǒng)時(shí)間允許的情況下可以采用后一種方法。 本實(shí)驗(yàn)系統(tǒng)晶振為 6.144MHZ,則一個(gè)機(jī)器周期為 12 6.144us 即 1 0.512us。現(xiàn)要寫一個(gè)延時(shí) 0.1s 的程序,可大致寫出如下: MOV R7, #X ( 1) DEL1: MOV R6, #200 ( 2) DEL2: DJNZ R6, DEL2 ( 3) DJNZ R7, DEL1 ( 4) 上面 MOV、 DJNZ 指令均需兩個(gè)機(jī)器周期,所以每執(zhí)行一條指令需要 1 0.256us,現(xiàn)求出 X 值: 1 0.256+X( 1 0.256+200 1 0.256+1 0.256) =0.1 10 指令( 1) 指令( 2) 指令( 3) 指令( 4) 所需時(shí)間 所需時(shí)間 所需時(shí)間 所需時(shí)間 X=(0.1 10-1 0.256)/( 1 0.256+200 1 0.256+1 0.256) =127D=7FH 經(jīng)計(jì)算得 X=127。代入上式可知實(shí)際延時(shí)時(shí)間約為 0.100215s,已經(jīng)很精確了。 五、 實(shí)驗(yàn)原理圖: 山東英才學(xué)院 第 8 頁 共 55 頁 P1 口輸出實(shí)驗(yàn) P1 口輸入實(shí)驗(yàn) 六、實(shí)驗(yàn)步驟: 執(zhí)行程序 1(T1_1.ASM)時(shí): P1.0 P1.7 接發(fā)光二極管 L1 L8。 執(zhí)行程序 2(T1_1.ASM)時(shí): P1.0 P1.7 接平推開關(guān) K1 K8; 74LS273的 O0 O7 接發(fā)光二極管 L1 L8; 74LS273 的片選端 CS273接 CS0(由程序所選擇的入口地址而定,與 CSOCS7 相應(yīng)的片選地址請查看第一部分系統(tǒng)資源,以后不贅述)。 七、程序框圖: 程 序 初 始 化 , 設(shè) 置P 1 口 寄 存 器 的 初 值為 F E H延 時(shí) 0 . 1 秒 , 使 顯示 穩(wěn) 定將 P 1 口 寄 存 器 的 數(shù)值 逐 位 左 移 1 位循環(huán)點(diǎn)亮發(fā)光二極管 程 序 初 始 化 , 設(shè) 置P 1 口 為 輸 入 口將 P 1 口 數(shù) 值 讀 入 累加 器 A將 累 加 器 A 的 數(shù) 值 送到 2 7 3 顯 示通過發(fā)光二極管將 P1 口的狀態(tài)顯示 山東英才學(xué)院 第 9 頁 共 55 頁 八、參 考程序: 1、循環(huán)點(diǎn)亮發(fā)光二極管 NAME T1_1 ;P1 口輸實(shí)驗(yàn) CSEG AT 0000H LJMP START CSEG AT 4100H START: MOV A,#0FEH LOOP: RL A ; 左移一位,點(diǎn)亮下一個(gè)發(fā)光二極管 MOV P1,A LCALL DELAY ;延時(shí) 0.1 秒 JMP LOOP DELAY: MOV R1,#127 ; 延時(shí) 0.1 秒 DEL1: MOV R2,#200 DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET END 2、通過發(fā)光二極管將 P1 口的狀態(tài)顯示 NAME T1_2 ;P1 口輸入實(shí)驗(yàn) OUT_PORT EQU 0CFA0H CSEG AT 0000H LJMP START CSEG AT 4100H START: MOV P1,#0FFH ;復(fù)位 P1 口為輸入狀態(tài) MOV A,P1 ;讀 P1 口的狀態(tài)值入累加器 A MOV DPTR,#OUT_PORT ;將輸出口地址賦給地址指針 DPTR MOVX DPTR,A ;將累加器 A 的值賦給 DPTR 指向的地址 JMP START ;繼續(xù)循環(huán)監(jiān)測端口 P1 的狀態(tài) END 山東英才學(xué)院 第 10 頁 共 55 頁 實(shí)驗(yàn)(二) P1 口實(shí)驗(yàn)二 一、實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí) P1 口既做 輸入又做為輸出的使用方法。 2 學(xué)習(xí)數(shù)據(jù)輸入、輸出程序的設(shè)計(jì)方法。 二、實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、實(shí)驗(yàn)原理: P1 口的使用方法這里不講了。有興趣者不妨將實(shí)驗(yàn)例程中的“ SETB P1.0, SETB P1.1”中的“ SETB”改為“ CLR”看看會(huì)有什么結(jié)果。 另外,例程中給出了一種 N 路轉(zhuǎn)移的常用設(shè)計(jì)方法,該方法利用了 JMP A+DPTR 的計(jì)算功能,實(shí)現(xiàn)轉(zhuǎn)移。該方法的優(yōu)點(diǎn)是設(shè)計(jì)簡單,轉(zhuǎn)移表短,但轉(zhuǎn)移表大小加上各個(gè)程序長度必須小于 256 字節(jié)。 四、實(shí)驗(yàn)原理圖: P1 口輸入、輸出實(shí)驗(yàn) 五、實(shí)驗(yàn)步驟: 平推開關(guān)的輸出 K1 接 P1.0; K2 接 P1.1; 發(fā)光二極管的輸入 L1 接 P1.2; L2 接 P1.3; L5 接 P1.4; L6接 P1.5。 運(yùn)行實(shí)驗(yàn)程序, K1 做為左轉(zhuǎn)彎開關(guān), K2 做為右轉(zhuǎn)彎開關(guān)。 L5、 L6 做為右轉(zhuǎn)彎燈, L1、L2 做為左轉(zhuǎn)彎燈。 結(jié)果顯示: 1: K1 接高電平 K2 接低電平時(shí),右轉(zhuǎn)彎燈( L5、 L6)滅,左轉(zhuǎn)彎燈( L1、 L2)以一定山東英才學(xué)院 第 11 頁 共 55 頁 頻率閃爍; 2: K2 接高電平 K1 接低電平時(shí),左轉(zhuǎn)彎燈( L1、 L2)滅,右轉(zhuǎn)彎燈( L5、 L6)以一定頻率閃爍; 3: K1、 K2 同時(shí)接低電平時(shí),發(fā)光二極管全滅; 4: K1、 K2 同時(shí)接高電平時(shí),發(fā)光二極管全亮。 六、參考程序: NAME T2 ;P1 口輸入輸出實(shí)驗(yàn) CSEG AT 0000H LJMP START CSEG AT 4100H START: SETB P1.0 SETB P1.1 ;用于輸入時(shí)先置位口內(nèi)鎖存器 MOV A,P1 ANL A,#03H ;從 P1 口讀入開 關(guān)狀態(tài) ,取低兩位 MOV DPTR,#TAB ;轉(zhuǎn)移表首地址送 DPTR MOVC A,A+DPTR JMP A+DPTR TAB: DB PRG0-TAB DB PRG1-TAB DB PRG2-TAB DB PRG3-TAB PRG0: MOV P1,#0FFH ;向 P1 口輸出 #0FFH,發(fā)光二極管全滅 ;此時(shí) K1=0,K2=0 JMP START PRG1: MOV P1,#0F3H ;只點(diǎn)亮 L5、 L6,表示左轉(zhuǎn)彎 ACALL DELAY ;此時(shí) K1=1,K2=0 MOV P1,#0FFH ;再熄滅 0.5 秒 ACALL DELAY ;延時(shí) 0.5 秒 JMP START PRG2: MOV P1,#0CFH ;只點(diǎn)亮 L7、 L8,表示右轉(zhuǎn)彎 ACALL DELAY ;此時(shí) K1=0,K2=1 MOV P1,#0FFH ;再熄滅 0.5 秒 ACALL DELAY JMP START PRG3: MOV P1,#00H ;發(fā)光二極管全亮 ,此時(shí) K1=1,K2=1 JMP START ; DELAY: MOV R1,#5 ;延時(shí) 0.5 秒 DEL1: MOV R2,#200 DEL2: MOV R3,#126 DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET 山東英才學(xué)院 第 12 頁 共 55 頁 ; END 七、程序框圖: 上 電 , 程 序 初 始 化 , 設(shè)置 P 1 口 為 輸 入 、 輸 出 雙線 口 ( P 1 . 0 、 P 1 . 1 為 輸入 口 , P 1 . 2 、 P 1 . 3 、P 1 . 4 、 P 1 . 5 為 輸 出 口采 集 P 1 . 0 、 P 1 . 1 輸 入 口的 值 進(jìn) 入 A 累 加 器 ,根 據(jù) 累 加 器 A 的 值 調(diào) 轉(zhuǎn) 到相 應(yīng) 的 子 程 序 入 口給 P 1 口 賦 值0 F F H ( 四 個(gè) 發(fā)光 二 極 管 全滅 )依 次 給 P 1 口 賦值 0 F 3 H 和 0 F F H ,每 種 狀 態(tài) 延 時(shí)0 . 5 秒給 P 1 口 賦 值0 0 H ( 四 個(gè) 發(fā) 光二 極 管 全 亮 )依 次 給 P 1 口 賦值 0 C F H 和0 F F H , 每 種 狀態(tài) 延 時(shí) 0 . 5 秒A = 0 0A = 0 1 A = 1 0A = 1 1山東英才學(xué)院 第 13 頁 共 55 頁 實(shí)驗(yàn)二 簡單 I/O口擴(kuò)展實(shí)驗(yàn) 實(shí)驗(yàn)(一)簡單 I/O 口擴(kuò)展實(shí) 驗(yàn)一 交通燈控制實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí)在單片機(jī)系統(tǒng)中擴(kuò)展簡單 I/O 接口的方法。 2 學(xué)習(xí)數(shù)據(jù)輸出程序的設(shè)計(jì)方法。 3 學(xué)習(xí)模擬交通燈控制的實(shí)現(xiàn)方法。 二、實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、實(shí)驗(yàn)內(nèi)容: 擴(kuò)展實(shí)驗(yàn)箱上的 74LS273 做為輸出口,控制八個(gè)發(fā)光二極管亮滅,模擬交通燈管理。 四、實(shí)驗(yàn)原理: 要完成本實(shí)驗(yàn),首先必須了解交通路燈的亮滅規(guī)律。本實(shí)驗(yàn)需要用到實(shí)驗(yàn)箱上八個(gè)發(fā)光二極管中的六個(gè),即紅、黃、綠各兩個(gè)。不妨將 L1(紅 )、 L2(綠)、 L3(黃)做為東西方向的指示燈,將 L5(紅)、 L6(綠)、 L7(黃)做為南北方向的指示燈。而交通燈的亮滅規(guī)律為:初始態(tài)是兩個(gè)路口的紅燈全亮,之后,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時(shí)一段時(shí)間后,東西路口綠燈滅,黃燈開始閃爍。閃爍若干次后,東西路口紅燈亮,而同時(shí)南北路口的綠燈亮,南北方向開始通車,延時(shí)一段時(shí)間后,南北路口的綠燈滅,黃燈開始閃爍。閃爍若干次后,再切換到東西路口方向,重復(fù)上述過程。各發(fā)光二極管的陽極通過保護(hù)電阻接到 +5V 的電源上,陰極接到輸入端上,因此使其點(diǎn)亮應(yīng)使相應(yīng)輸入端為低電平。 五、實(shí)驗(yàn)原理圖 六、實(shí)驗(yàn)步驟: 74LS273 的輸出 O0 O7 接發(fā)光二極管 L1 L8, 74LS273 的片選 CS273 接片選信號 CSO,此時(shí) 74LS273 的片選地址為 CFA0H CFA7H 之間任選。 運(yùn)行實(shí)驗(yàn)程序,觀察 LED 顯示情況是否與實(shí)驗(yàn)內(nèi)容相符。 山東英才學(xué)院 第 14 頁 共 55 頁 七、程序框圖: 八、參考程序: T3.ASM NAME T3 ;I/O 口擴(kuò)展實(shí)驗(yàn)一 PORT EQU 0CFA0H ;片選地址 CS0 CSEG AT 0000H LJMP START CSEG AT 4100H START: MOV A,#11H ;兩個(gè)紅燈亮,黃燈、綠燈滅 ACALL DISP ;調(diào)用 273 顯示單元(以下雷同) ACALL DE3S ;延時(shí) 3 秒 LLL: MOV A,#12H ;東西路口綠燈亮 ;南北路口紅燈亮 ACALL DISP ACALL DE10S ;延時(shí) 10 秒 MOV A,#10H ;東西路口綠燈滅 ;南北路口紅燈亮 ACALL DISP 山東英才學(xué)院 第 15 頁 共 55 頁 MOV R2,#05H ;R2 中的值為黃燈閃爍次數(shù) TTT: MOV A,#14H ;東西路口黃燈亮 ;南北路口紅燈亮 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 MOV A,#10H ;東西路口黃燈滅 ;南北路口紅燈亮 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 DJNZ R2,TTT ;返回 TTT,使東西路口黃燈閃爍五次 MOV A,#11H ;兩個(gè)紅燈亮,黃燈、綠燈滅 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 MOV A,#21H ;東西路口紅燈亮 ;南北路口綠燈亮 ACALL DISP ACALL DE10S ;延時(shí) 10 秒 MOV A,#01H ;東西路口紅燈亮 ;南北路口綠燈滅 ACALL DISP MOV R2,#05H ;黃燈閃爍五次 GGG: MOV A,#41H ;東西路口紅燈亮 ;南北路口黃燈亮 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 MOV A,#01H ;東西路 口紅燈亮 ;南北路口黃燈滅 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 DJNZ R2,GGG ;返回 GGG,使南北路口 ;黃燈閃爍五次 MOV A,#03H ;兩個(gè)紅燈亮,黃燈、綠燈滅 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 JMP LLL ;轉(zhuǎn) LLL 循環(huán) DE10S: MOV R5,#100 ;延時(shí) 10 秒 JMP DE1 DE3S: MOV R5,#30 ;延時(shí) 3 秒 JMP DE1 DE02S: MOV R5,#02 ;延時(shí) 0.2 秒 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET DISP: MOV DPTR,#PORT ;273 顯示單元 CPL A MOVX DPTR,A RET END 山東英才學(xué)院 第 16 頁 共 55 頁 實(shí)驗(yàn)(二)簡單 I/O 口擴(kuò)展實(shí)驗(yàn)二 一、實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí)在單片機(jī)系統(tǒng)中擴(kuò)展簡單 I/O 口的方法。 2 學(xué)習(xí)數(shù)據(jù)輸入,輸出程序的編制方法。 二、實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、實(shí)驗(yàn)原理: MCS-51 外部擴(kuò)展空間很大,但數(shù)據(jù)總線口和控制信號線的負(fù)載能力是有限的。若需要擴(kuò)展的芯片較多,則 MCS-51 總線口的負(fù)載過重 , 74LS244 是一個(gè)擴(kuò)展輸入口,同時(shí)也是一個(gè)單向驅(qū)動(dòng)器,以減輕總線口的負(fù)擔(dān)。 程序中加了一段延時(shí)程序,以減少總線口讀寫的頻繁程度。延時(shí)時(shí)間約為 0.01 秒,不會(huì)影響顯示的穩(wěn)定。 四、實(shí)驗(yàn)內(nèi)容: 利用 74LS244 做為輸入口,讀取開關(guān)狀態(tài),并將此狀態(tài)通過發(fā)光二極管顯示出來。 五、實(shí)驗(yàn)原理圖: 簡單 I/O 實(shí)驗(yàn) 2 六、實(shí)驗(yàn)步驟: 1 74LS244 的 IN0 IN7 接開關(guān)的 K1 K8,片選信號 CS244 接 CS1。 2 74LS273 的 O0 O7 接發(fā)光二極管的 L1 L8,片選信號 CS273 接 CS2。 3 編程、全速執(zhí)行。 4 撥動(dòng)開關(guān) K1 K8,觀察發(fā)光二極管狀態(tài)的變化。 七、程序框圖: 山東英才學(xué)院 第 17 頁 共 55 頁 八、參考程序: NAME T4 ;I/O 口擴(kuò)展實(shí)驗(yàn) CSEG AT 0000H LJMP START CSEG AT 4100H INPORT EQU 0CFA8H ;74LS244 端口地址 OUTPORT EQU 0CFB0H ;74LS273 端口地址 START: MOV DPTR,#INPORT LOOP: MOVX A,DPTR ;讀開關(guān)狀態(tài) MOV DPTR,#OUTPORT MOVX DPTR,A ;顯示開關(guān)狀態(tài) MOV R7,#10H ;延時(shí) DEL0: MOV R6,#0FFH DEL1: DJNZ R6,DEL1 DJNZ R7,DEL0 JMP START END 山東英才學(xué)院 第 18 頁 共 55 頁 實(shí)驗(yàn)三 中斷實(shí)驗(yàn) 有急救車的交通燈控制實(shí)驗(yàn) 一、 實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí)外部中斷技術(shù)的基本使用方法。 2 學(xué)習(xí)中斷處理程序的編程方法。 二、實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、實(shí)驗(yàn)內(nèi)容: 在實(shí)驗(yàn)三的內(nèi)容的基礎(chǔ)上增加允許急救車優(yōu)先通過的要求。當(dāng)有急救車到達(dá)時(shí),兩個(gè)方向上的紅燈亮,以便讓急救車通過,假定急救車通過路口的時(shí)間為 10 秒,急救車通過后,交通燈恢復(fù)中斷前的狀態(tài)。本實(shí)驗(yàn)以單脈沖為中斷申請,表示有急救車通過。 四、實(shí)驗(yàn)原理: 交通燈的燃滅規(guī)律見實(shí)驗(yàn)三。 本實(shí)驗(yàn)中斷處理程序的應(yīng)用,最主要的地方是如何保護(hù)進(jìn)入中斷前的狀態(tài),使得中斷程序 執(zhí)行完畢后能回到交通燈中斷前的狀態(tài)。要保護(hù)的地方,除了累加器 ACC、標(biāo)志寄存器 PSW外,還要注意:一是主程序中的延時(shí)程序和中斷處理程序中的延時(shí)程序不能混用,本實(shí)驗(yàn)給出的程序中,主程序延時(shí)用的是 R5、 R6、 R7,中斷延時(shí)用的是 R3、 R4 和新的 R5。第二,主程序中每執(zhí)行一步經(jīng) 74LS273 的端口輸出數(shù)據(jù)的操作時(shí),應(yīng)先將所輸出的數(shù)據(jù)保存到一個(gè)單元中。因?yàn)檫M(jìn)入中斷程序后也要執(zhí)行往 74LS273 端口輸出數(shù)據(jù)的操作,中斷返回時(shí)如果沒有恢復(fù)中斷前 74LS273 端口鎖存器的數(shù)據(jù),則顯示往往出錯(cuò),回不到中斷前的狀態(tài)。 還要注意一點(diǎn),主程序中往端口輸出數(shù)據(jù)操作要先保存再輸出 ,例如有如下操作: MOV A, #0F0H ( 0) MOVX R1, A ( 1) MOV SAVE, A ( 2) 程序如果正好執(zhí)行到( 1)時(shí)發(fā)生中斷,則轉(zhuǎn)入中斷程序,假設(shè)中斷程序返回主程序前需要執(zhí)行一句 MOV A, SAVE 指令,由于主程序中沒有執(zhí)行( 2),故 SAVE 中的內(nèi)容實(shí)際上是前一次放入的而不是( 0)語句中給出的 0F0H,顯示出錯(cuò),將( 1)、( 2)兩句順序顛倒一下則沒有問題。發(fā)生中斷時(shí)兩方向的紅燈一起 亮 10 秒,然后返回中斷前的狀態(tài)。 五、實(shí)驗(yàn)原理圖: (同實(shí)驗(yàn)二(一) ) 六、實(shí)驗(yàn)步驟: 74LS273 的輸出 O0 O7 接發(fā)光二極管 L1 L8, 74LS273 的片選 CS273接片選信號 CS2,此時(shí) 74LS273 的片選地址為 CFB0H CFB7H 之間任選。單脈沖輸出端 P-接 CPU 板上的 INT0。 山東英才學(xué)院 第 19 頁 共 55 頁 七、程序框圖: 主程序框圖 中斷程序框圖 八、參考程序: NAME T5 ;中斷控制實(shí)驗(yàn) OUTPORT EQU 0CFB0H ;端口地址 SAVE EQU 55H ;save 保存從端口 cfa0 輸出的數(shù)據(jù) CSEG AT 0000H LJMP START CSEG AT 4003H LJMP INT CSEG AT 4100H START: SETB IT0 SETB EX0 SETB EA 山東英才學(xué)院 第 20 頁 共 55 頁 MOV A,#11H ;置首顯 示碼 MOV SAVE,A ;保存 ACALL DISP ;顯示輸出 ACALL DE3S ;延時(shí) 3 秒 LLL: MOV A,#12H ;東西路口綠燈亮,南北路口紅燈亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延時(shí) 10 秒 MOV A,#10H ;東西路口綠燈滅 MOV SAVE,A ACALL DISP MOV R2,#05H ;東西路口黃燈閃爍 5 次 TTT: MOV A,#14H MOV SAVE,A ACALL DISP ACALL DE02S MOV A,#10H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,TTT MOV A,#11H ;紅燈全亮 MOV SAVE,A ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 MOV A,#21H ;東西路口紅燈亮,南北路口綠燈亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延時(shí) 10 秒 MOV A,#01H ;南北路口綠燈滅 MOV SAVE,A ACALL DISP MOV R2,#05H ;南北路口黃燈閃爍 5 次 GGG: MOV A,#41H MOV SAVE,A ACALL DISP ACALL DE02S MOV A,#01H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,GGG MOV A,#11H ;紅燈全亮 MOV SAVE,A 山東英才學(xué)院 第 21 頁 共 55 頁 ACALL DISP ACALL DE02S ;延時(shí) 0.2 秒 JMP LLL ;轉(zhuǎn) LLL 循環(huán) DE10S: MOV R5,#100 ;延時(shí) 10 秒 JMP DE1 DE3S: MOV R5,#30 ;延時(shí) 3 秒 JMP DE1 DE02S: MOV R5,#02 ;延時(shí) 0.2 秒 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET INT: CLR EA PUSH ACC ;中斷處理 PUSH PSW MOV A,R5 PUSH ACC MOV A,#11H ;紅燈全亮,綠、黃燈全滅 ACALL DISP DEL10S: MOV R3,#100 ;延時(shí) 10 秒 DEL1: MOV R2,#200 DEL2: MOV R5,#126 DEL3: DJNZ R5,DEL3 DJNZ R4,DEL2 DJNZ R3,DEL1 MOV A,SAVE ;取 SAVE 中保存數(shù)據(jù)輸出到 cfa0 端口 ACALL DISP POP ACC ;出棧 MOV R5,A POP PSW POP ACC SETB EA ;允許外部中斷 RETI DISP: MOV DPTR,#OUTPORT CPL A MOVX DPTR,A RET END 山東英才學(xué)院 第 22 頁 共 55 頁 實(shí)驗(yàn)四 定時(shí)器實(shí)驗(yàn) 循環(huán)彩燈實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康模?1 學(xué)習(xí) 8031 內(nèi)部計(jì)數(shù)器的使用和編程方法。 2 進(jìn)一步掌握中斷處理程序的編寫方法。 二、實(shí)驗(yàn)設(shè)備: EL-MUT-III 型單片機(jī)實(shí)驗(yàn)箱、 8051CPU 模塊 三、實(shí)驗(yàn)原理: 1 定時(shí)常數(shù)的確定 定時(shí)器 /計(jì)數(shù)器的輸入脈沖周期與機(jī)器周期一樣,

溫馨提示

  • 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

提交評論