已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告書 課程名稱: 微機(jī)接口課程設(shè)計(jì) 設(shè)計(jì)題目: 汽車速度控制系統(tǒng) 學(xué) 院: 信息與電氣工程學(xué)院 班 級(jí): 電氣工程及其自動(dòng)化 2000-1 姓 名: 孔 二 維 學(xué) 號(hào): 200003106601 指導(dǎo)教師: 呂 俊 報(bào)告日期: 2000.7.20 山東科技 大學(xué) 山 東 科 技 大 學(xué) 課 程 設(shè) 計(jì) 任 務(wù) 書 電氣工程及其自動(dòng) 化 2000-1 學(xué)生姓名: 孔二維 一、課程名稱 : 微機(jī)接口課程設(shè)計(jì) 二、設(shè)計(jì)題目: 汽車速度控制系統(tǒng)。 三、設(shè)計(jì)目的: 使學(xué)生將所學(xué)的理論知識(shí)和實(shí)踐有機(jī)結(jié)合,初步掌握計(jì)算機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的步驟和接口設(shè)計(jì)方法,提高分析和解決實(shí)際問題的能力,鍛煉和提高同學(xué)們的實(shí)踐動(dòng)手能力。 四、設(shè)計(jì)要求: 獨(dú)立思考、共同合作、保質(zhì)保量、按時(shí)完成。 五、設(shè)計(jì)地點(diǎn): 全部設(shè)計(jì)均在 J11 313進(jìn)行并完成。 六、設(shè)計(jì)內(nèi)容: 在現(xiàn)場(chǎng)有一 PC機(jī)系統(tǒng),負(fù)責(zé)采集控制信息(通過鍵盤信號(hào)表示速度控制信號(hào)),再通過 PC機(jī)控制汽車速度,處理完后再用 LED數(shù)碼管顯示當(dāng)前速度,并用 LED燈顯示當(dāng)前檔位;當(dāng)遇到緊急情況時(shí),通過中斷處理緊急情況。 三、設(shè)計(jì)應(yīng)解決下列各主要問題: 1 建立一個(gè)完整的微機(jī)控制系統(tǒng); 2 工程技術(shù)資料查詢方法與技巧; 3 單元電路的測(cè)試方法及其工作原理; 4 軟硬件統(tǒng)調(diào)方法; 四、設(shè)計(jì)報(bào)告書應(yīng)附有下列圖紙: PROTEL99SE畫出的電氣原理圖。 五、設(shè)計(jì)開始日期: 2000.7.9 設(shè)計(jì)完成日期: 2000.7.20 設(shè)計(jì)指導(dǎo)教師(簽章) 教研究室主任(簽章) 指導(dǎo)教師評(píng)語 指導(dǎo)教師: 日 期: 1 序言 . 1 2 總體設(shè)計(jì) . 2 2.1 總體設(shè)計(jì)框圖 . 2 2.2.系統(tǒng)工作原理 . 2 3 硬件設(shè)計(jì) . 3 3.1 中央處理器模塊 . 3 3.2 8255 人機(jī)接口模塊 . 8 3.3 汽車速度顯示模塊 . 11 4 軟件設(shè)計(jì) . 14 4.1 主程 序模塊 . 14 4.2 顯示模塊 . 16 4.3 串行通信模塊 . 17 5 總結(jié) . 18 6 致謝詞 . 19 參考文獻(xiàn) . 20 附錄: . 21 附錄 1:程序清單 . 21 附錄 2: 8088 應(yīng)用系統(tǒng)電路原理圖 . 26 附錄 3: 8255A 擴(kuò)展按鍵、 LED 顯示模塊電路圖 . 27 1 1 序言 現(xiàn)在許多轎車都有速度控制系統(tǒng)。速度控制系統(tǒng)( Speed Control System)又稱為巡航控制系統(tǒng)( Crusle Control System),縮寫為 CCS其作用是:按司機(jī)要求的速度合開關(guān)之后,不用踩油門踏板就自動(dòng)地保持車速,使車輛以固定的速度行駛。采用了這種裝置,當(dāng)在高速公路上長(zhǎng)時(shí)間行車后,司機(jī)就不用再去控制油門踏板,減輕了疲勞,同時(shí)減少了不必要的車速變化,可以節(jié)省燃料。 顧名思義,速度控制系統(tǒng)的基本功能就是速度控制,當(dāng)按下車速調(diào)置檔位后,就能存儲(chǔ)該時(shí)刻的車速并能自動(dòng)保持這個(gè)車速。當(dāng)出現(xiàn)緊急情況時(shí),按緊急停車鍵停車。速度控制系統(tǒng)除以上基本功能外還可以增 加以下功能:加速( Accelerate)或減速( Coast)功能,繼續(xù)按動(dòng)開關(guān)進(jìn)行連續(xù)加速或者減速,以不按動(dòng)開關(guān)時(shí)的車速進(jìn)入速度控制系統(tǒng)。 本設(shè)計(jì)是一個(gè)用鍵盤控制實(shí)現(xiàn)汽車速度檔位控制的系統(tǒng),該系統(tǒng)是由 8088作為微處理器,擴(kuò)展可編程并行 I/O接口 8255A 芯片, LED數(shù)碼管及鍵盤和發(fā)光二極管等芯片及元器件,再輔以其他外圍電路和軟件程序集合而成。 通過本系統(tǒng)的設(shè)計(jì),我們將所學(xué)的常用芯片的知識(shí)結(jié)合起來綜合運(yùn)用 建立一個(gè)完整的單片機(jī)溫度監(jiān)控系統(tǒng)。 在此設(shè)計(jì)過程中 , 可以深刻體會(huì)并加以運(yùn)用了這學(xué)期所學(xué)的單片機(jī)原 理及應(yīng)用技術(shù)所講的知識(shí)和原理,有利于我們以后的進(jìn)一步學(xué)習(xí)和工作。 2 2 總體設(shè)計(jì) 2.1 總體設(shè)計(jì)框圖 圖 1 汽車速度控制系統(tǒng)設(shè)計(jì)框圖 2.2.系統(tǒng)工作原理 本系統(tǒng)是將在現(xiàn)場(chǎng)采集到的速度控制信息( 用鍵盤模擬控制信息,通過 I/O接口芯片將信息讀入 ),經(jīng) I/O接口芯片將鍵盤控制信息送至微處理器。然后,計(jì)算機(jī)按照讀入的鍵盤號(hào)對(duì)汽車速度進(jìn)行相應(yīng)的控制,再將當(dāng)前速度一路送至 I/O接口芯片并在顯像管中顯示當(dāng)前的汽車速度 ; 當(dāng)確定檔位后通過發(fā)光二極管顯示當(dāng)前的檔位;設(shè)置緊急 情況為不可屏蔽中斷,當(dāng)出現(xiàn)緊急情況時(shí)觸發(fā)中斷緊急處理情況。 在鍵盤管理模塊中, 按“ 1”鍵啟動(dòng)系統(tǒng),汽車以最低速度行駛,同時(shí)用 1盞發(fā)光二極管燈顯示擋位,數(shù)碼管顯示速度(最低速度為 5Km/h)。當(dāng)需要檔位時(shí),用鍵盤鍵入 2、 3鍵,并用不同顏色的發(fā)光二極管燈來顯示,同時(shí)在數(shù)碼管上顯示相應(yīng)的速度。汽車慢加速時(shí)用“ 4”鍵,急加速時(shí)用“ 5”鍵,慢剎車時(shí)用“ 6”鍵,急煞車時(shí)用“ 7”鍵。加速和剎車時(shí)用數(shù)碼管顯示相應(yīng)的速度變化;當(dāng)汽車需緊急停車時(shí),鍵入“ 8”鍵,所有發(fā)光二極管熄滅,同時(shí)數(shù)碼管顯示“ 0” CPU I/O 接口模塊 LED數(shù)碼顯示模 塊 鍵盤控制 驅(qū)動(dòng)器 發(fā)光 二極管 中斷 3 3 硬件設(shè)計(jì) 3.1 中央處理器模塊 3.1.1 中央處理器模塊功能 中央處理器模塊處理與控制外部與內(nèi)部信息。 3.1.2中央處理器模塊組成 該模塊由 8088 芯片及其附屬支持芯片組成,包括 8284時(shí)鐘發(fā)生器, 8288總線控制器,兩片 74LS373 地址鎖存器,兩片 62512存儲(chǔ)器及其 74LS245 三態(tài)輸出鎖存器。 3.1.3中央處理器模塊工作原理 8284 時(shí)鐘發(fā)生器為 8088 系統(tǒng)設(shè)計(jì)的單片時(shí)鐘發(fā)生器。它為 CPU 提供時(shí)鐘、READY、 RESET等信號(hào)。 兩片 74LS373 地址鎖存器鎖存分時(shí)復(fù)用的地址。 74LS245輸出八位數(shù) 據(jù)。兩片容量為 64K的 62512 組成容量為 1MB的存儲(chǔ)器。 3.1.4中央處理器相應(yīng)電路設(shè)計(jì) ( 1) 8088小應(yīng)用系統(tǒng)電路設(shè)計(jì) 8088 微處理器芯片為 40 只引腳 (線 )的雙列直插式封裝。運(yùn)用引腳多路復(fù)用技術(shù)解決引腳不夠的矛盾。引腳復(fù)用的實(shí)質(zhì)是兩個(gè)信號(hào)合用同一引腳分時(shí)傳輸信號(hào),即同一個(gè)引腳在不同的時(shí)間段代表不同的信號(hào)。 8086和 8088兩個(gè)微處理器芯片的共同點(diǎn)是采用 20位地址線,而且指令系統(tǒng)與操作方式也是相同的。都采用分時(shí)復(fù)用的地址總線和數(shù)據(jù)總線,有一部分引腳具有地址線和數(shù)據(jù)線兩種功能。主要差別在于數(shù)據(jù) 線引腳的位數(shù)不同。 8086 數(shù)據(jù)線引腳為 16個(gè); 8088數(shù)據(jù)線引腳為 8個(gè)。 8086 與 8088 微處理器都具有兩種工作模式,即最小模式和最大模式。最小與最大模式的確定是通過一條引腳 MN MN 所接的邏輯電平是“ 1”是“ 0”來完成。 在最小 (MN)方式下,微處理器被用來構(gòu)成一個(gè)小規(guī)模的單處理機(jī)系統(tǒng),微處理器本身必須提供全部的控制信號(hào)給外圍電路。 4 在最大 (MX)方式下,微處理器被用來構(gòu)成一個(gè)較大規(guī)模的多機(jī)系統(tǒng)。由于外圍電路芯片數(shù)目較多,有的信號(hào)要經(jīng)系統(tǒng)總線轉(zhuǎn)插件送到另外的板卡上去,控制信號(hào)的負(fù)載加重不能直接 由微處理器的引腳信號(hào)來驅(qū)動(dòng) 。 基本引腳信號(hào) AD15 AD0(輸入輸出,三態(tài) ): 8086的地址數(shù)據(jù)線復(fù)用引腳。 8088微處理器對(duì)外只有 8位數(shù)據(jù)線,因此只復(fù)用 AD 7 ADo, AD15 AD8:是獨(dú)立的地址信號(hào)引腳。 (2)A19 S6一 A16 S3(輸出,三態(tài) ):地址狀態(tài)分時(shí)復(fù)用引腳。在微處理器執(zhí)行片外訪問操作時(shí),先發(fā)送高 4位地址碼,后發(fā)送處理器的狀態(tài)信息。 S6為 0,表示 AD15 AD0作為數(shù)據(jù)線使用; S5為 1表示處理器開中斷。為 0表示處理器關(guān)中斷; S4和 S3組合表示當(dāng)前段寄存器的使用情況。 0 0 ES; 0 1 SS; 1 0 CS; 1 1 DS (3)BHE S7(輸出,三態(tài) ):高 8位數(shù)據(jù)線允許狀態(tài)分時(shí)復(fù)用引腳。當(dāng)處理器執(zhí)行訪問存儲(chǔ)器或輸入輸出設(shè)備時(shí),首先給出 BHE 信號(hào)以確定是否進(jìn)行高 8位數(shù)據(jù)的傳輸。 (4)NMI(輸入 ):非屏蔽中斷請(qǐng)求輸入線,上升邊觸發(fā)。 5 (5)INTR(輸入 ):可屏蔽中斷請(qǐng)求輸入線,高電平有效。 (6)RD(輸出,三態(tài) ):讀命令 (或叫 作讀選通 )信號(hào),低電平有效,此信號(hào)啟動(dòng)一次數(shù)據(jù)從存儲(chǔ)器或輸入輸出設(shè)備讀入處理器中的過程。 (7)CLK(輸入 ):時(shí)鐘信號(hào),占空比 1: 3,由外部時(shí)鐘產(chǎn)生電路提供。 (8)RESET(輸入 ):復(fù)位信號(hào),它至少保持 4個(gè)時(shí)鐘周期的高電平,使處理器停止正在進(jìn)行的操作,并使標(biāo)志寄存器、 IP、 DS、 SS、 ES和指令隊(duì)列置 0,代碼段寄存器 CS置成 FFFFH(全“ l” )。因此復(fù)位信號(hào)有效作用后處理器從 FFFFOH存儲(chǔ)單元取指令并開始執(zhí)行。 (9)READY(輸入 ):準(zhǔn)備好信號(hào)。處理器在進(jìn)行存儲(chǔ)器或輸入 輸出設(shè)備的訪問時(shí),不斷檢測(cè) READY 引腳的狀態(tài)。在被訪問者沒有完成數(shù)據(jù)傳送之前 READY引腳處于低電平 (無效電平 ),處理器自動(dòng)在操作過程中插入一個(gè)或幾個(gè)等待狀態(tài)來延長(zhǎng)訪問過程。 (10)TEST(輸入 ):測(cè)試信號(hào),低電平有效。當(dāng)處理器執(zhí)行 WAIT 指令時(shí),每隔 5 個(gè)時(shí)鐘周期對(duì)于面引腳進(jìn)行一次測(cè)試。如果是高電平,處理器仍處于等待狀態(tài);為低電平時(shí),處理器脫離等待狀念。 (11)MN/MX(輸入 ):最大最小工作模式的選擇信號(hào)。 (12)VCC(輸入 ):處理器的電源輸入引腳,接十 5V電 源。 (13)GND:處理器的地線引腳,接至系統(tǒng)地線。 最小工作模式下的有關(guān)控制引腳信號(hào) (1)INTA(輸出 ):最小工作模式的中斷響應(yīng)信號(hào)。 (2)ALE(輸出 ):地址鎖存允許 (選通 )信號(hào)。 (3)DEN(輸出、三態(tài) ):數(shù)據(jù)允許信號(hào),用來控制數(shù)據(jù)總線雙向緩沖器的接通與斷開,低電平有效。 (4)DT R(輸出,三態(tài) ):數(shù)據(jù)發(fā)送接收控制信號(hào)。 DT R為高電平時(shí),緩沖器發(fā)送數(shù)據(jù) (寫 ),當(dāng) DT R為低電平時(shí),緩沖器接收數(shù)據(jù) (讀 )。 (5)M/IO(輸出,三態(tài) ):存儲(chǔ)器、輸入輸出設(shè)備的選擇信號(hào)。高電平則表明訪問操作是對(duì)存儲(chǔ)器的,為低電平則訪問操作是對(duì)輸入輸出設(shè)備的。 (6)WR(輸出,三態(tài) ):寫命令信號(hào),低電平有效。 (7)HOLD(輸入 ):總線請(qǐng)求信號(hào),高電平有效,當(dāng)處理器以外主模塊需要使 6 用總線時(shí)發(fā)出 HOLD 有效信號(hào),直至總線使用完畢時(shí)釋放總線并撤消 HOLD信號(hào)。 (8)HLDA(輸出 ):總線請(qǐng)求響應(yīng)信號(hào),高電平有效。當(dāng)占用總線的主模塊收到 HOLD請(qǐng)求信號(hào)后,在完成當(dāng)前總線操作后發(fā)出 HLDA 有效信號(hào),表明申請(qǐng)使用總線的其他主模塊 可以使用總線。 (9)SS0(輸出 ): 8080 最小模式下周期狀態(tài)信號(hào) 最大工作模式下的有關(guān)控制引腳信號(hào) (1) QS1、 QS0(輸出 ):指令隊(duì)列狀態(tài)信號(hào),用于表示當(dāng)前指令隊(duì)列的狀態(tài)。 0 0 :無操作 0 1 :取第一字節(jié) 1 0 :隊(duì)列空 1 1 :取后續(xù)字節(jié) (2)S2、 S1、 S0(輸出,三態(tài) ):最大模式下總線周期狀態(tài)信號(hào)。這三個(gè)信號(hào)送給 8288總線控制器, 8288輸出 各種操作的控制信號(hào)。 (3)LOCK(輸出,三態(tài) ):總線封鎖信號(hào)。 (4)RQ/GT0、 RQ/GT1(輸入輸出 ):最大模式下的總線請(qǐng)求總線響應(yīng)信號(hào)。 RQ/GT0優(yōu)先級(jí)高于 RQ/GT1。 8288介紹 8284介紹 地址譯碼 74LS138是 3-8譯碼器,通過給 ABC送入不同的值來控制 Y0Y7 的線選。我們這個(gè)系統(tǒng)就是用 74LS138來實(shí)現(xiàn)地址擴(kuò)展。 下表為 74LS138的真值表: 7 地址線 A2、 A3、 A4送入譯碼器輸出 Y0、 Y1來控制 ADC0809與 DAC0832 端口地址。 存儲(chǔ)器擴(kuò)展地址范圍 8088 A19 A18 A0 74LS138 G1 G2A G2B C B A 62256(1) CS A15A14A13 62256(2) CS A15A14A13 根據(jù)以上表格可以得知, 62512(1)的地址范圍為: 62512(1)的地址范圍為: 由于 8088復(fù)位以后, CS=0FFFFH,IP=0000H, PA0= 經(jīng)過分析可知: 8 圖 1 8088綜合模塊圖 3.2 8255人機(jī) 接口模塊 3.2.1 I/O 接口模塊功能 CPU 與 I/O 設(shè)備之間的連接及信息處理和 CPU 與存儲(chǔ)器之間的連接及信息處理相類似。但實(shí)際上, I/O 設(shè)備的種類繁多, CPU 與其交換信息相比之下更為復(fù)雜,因此,通常 I/O 設(shè)備并不直接與 CPU 進(jìn)行信息交換,而是通過相應(yīng)的 I/O接口來進(jìn)行的。 I/O 接口是 CPU與 I/O設(shè)備之間進(jìn)行信息交換的環(huán)節(jié)。 3.2.2 I/O 接口模塊組成 鍵盤,發(fā)光二極管, 74LS138 譯碼器組成。 INTEL 8255A 是可編程通用并行接口芯片, 具有兩個(gè) 8 位( A 和 B 口)和兩個(gè) 4 位( C 口高低四位) ,通過讀寫 PA, PB, PC 三口狀態(tài)實(shí)現(xiàn)信息交換。 74LS138是 3-8譯碼器,通過給 ABC送入不同的值來控制 Y0Y7 的線選。這個(gè)系統(tǒng)就是用 74LS138 來實(shí)現(xiàn)地址擴(kuò)展。地址線 A2A7 送入譯碼器輸出 Y0 來控制 8255A各 端口地址。 由電路圖可知 8255A的各端口地址分別為: 0020H、 0021H、 0022H、 0023H。 9 3.2.3 I/O 接口模塊工作原理 ( 1) I/O接口芯 片設(shè)計(jì) 8255A 是一個(gè)具有兩個(gè) 8 位( A 和 B 口)和兩個(gè) 4 位( C 口高低四位),最多可達(dá) 24 位的并行輸入輸出端口的接口芯片,可執(zhí)行功能很強(qiáng),內(nèi)容豐富的兩條命令(方式字和控制字)為用戶如何根據(jù)外界條件( I O設(shè)備需要哪些信號(hào)線以及它能提供哪些狀態(tài)線)來使用 8255A構(gòu)成多種接口電路,為組建微機(jī)應(yīng)用系統(tǒng)提供了靈活方便的編程環(huán)境 , 是一種 名副其實(shí) 的通用并行接口芯片 。同時(shí)它 是一個(gè)單一 +5V電源供電 40個(gè)引腳的 雙列直插式組件,其外部引線如圖 六 所示。 圖 2 8255A 引腳 作為接口電路的 8255A 具有面向主機(jī)系統(tǒng)總線和面向外設(shè)兩個(gè)方向的連接能力。它的引腳正 是為了滿足這種連接要求而設(shè)置的。 如 D0 D7:雙向數(shù)據(jù)線。 CPU 通過它向 8255A 發(fā) 送命令、數(shù)據(jù); 8255A 通過它向 CPU回送狀態(tài)、數(shù)據(jù)。 :選片信號(hào)線,該信號(hào)低電平有效,由系統(tǒng)地址總線經(jīng) I / O 地址譯碼器產(chǎn)生。 CPU通過發(fā)高位端口地址信號(hào)使它變成低電平時(shí),才能對(duì) 8255A進(jìn)行讀寫操作。當(dāng)為高電平時(shí),切斷 CPU與芯片的聯(lián)系。 A1, A0:芯片內(nèi)部端口地址信號(hào)線,與系統(tǒng)地址 總線低位相連。該信號(hào)用來尋址 8255A內(nèi)部寄存器。兩位 地址,可形成片內(nèi)四個(gè)端口地址。 :讀信號(hào)線,該信號(hào)低電平有效 CPU 通過 執(zhí)行 IN指令,發(fā)讀信號(hào)將數(shù)據(jù)或狀態(tài)信號(hào)從 8255A 讀至 CPU。 10 :寫信號(hào)線,該信號(hào)低電平有效, CPU通過執(zhí)行 OUT指令,發(fā)寫信號(hào),將命令代碼或數(shù)據(jù)寫入 8255A。 RESET:復(fù)位信號(hào)線,該信號(hào)高電平有效。它清除控制寄存器并將 8255A 的A、 B、 C三個(gè)端口均置為輸入方式;輸 出寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請(qǐng)求; 24 條面向外設(shè)的信號(hào)線呈現(xiàn)高阻懸浮狀態(tài)。這種勢(shì)態(tài)一直維持,直到用方式命令才能改變,使其進(jìn)入用戶所需的工作方式。 面向 I O設(shè)備的信號(hào)線有: PA0 PA7:端口 A的輸入輸出線 , PB0 PB7:端口 B 的輸入輸出線 , PC0 PC7:端口 C 的輸入輸出線 , 這 24 根信號(hào)線均可用來連接 I O 設(shè)備,通過它們可以傳送數(shù)字量信息或開關(guān)量信息。 在本課程設(shè)計(jì)中我們用 PC 口來控制發(fā)光二極管的閃爍,用 A 口來連接 LED 數(shù)碼管顯示。 它的端口選擇的 基本操作如表 三 所示。 表 一 8255A的基本 操作 ( 2) 鍵盤電路設(shè)計(jì) 1)工作原理 用電平邏輯開關(guān)輸出高低電平來代替鍵盤按鍵。按“ 1”鍵啟動(dòng)系統(tǒng),汽車以最低速度行駛,同時(shí)用 1盞發(fā)光二極管燈顯示擋位,數(shù)碼管顯示速度(最低速 11 度為 5Km/h)。當(dāng)需要檔位時(shí),用鍵盤鍵入 2、 3鍵,并用不同顏色的發(fā)光二極管燈來顯示,同時(shí)在數(shù)碼管上顯示相應(yīng)的速度。汽車慢加速時(shí)用“ 4”鍵,急加速時(shí)用“ 5” 鍵,慢剎車時(shí)用“ 6”鍵,急煞車時(shí)用“ 7”鍵。加速和剎車時(shí)用數(shù)碼管顯示相應(yīng)的速度變化;當(dāng)汽車需緊急停車時(shí),鍵入“ 8”鍵,所有發(fā)光二極管熄滅,同時(shí)數(shù)碼管顯示“ 0” 在單片機(jī)中開辟三個(gè)數(shù)據(jù)緩沖區(qū),分別存放當(dāng)前汽車速度的個(gè)位、十位和百位,送入數(shù)碼管緩沖區(qū),通過 8255的 PA、 PB口分別控制字形口與字位口,從而控制 LED對(duì)時(shí)間動(dòng)態(tài)的顯示。 將已存放在數(shù)據(jù)緩沖區(qū)內(nèi)的汽車速度數(shù)據(jù)(已將數(shù)據(jù)由十六進(jìn)制數(shù)轉(zhuǎn)化為BCD碼)送入數(shù)碼管緩沖區(qū),通過 8255的 PA、 PC口分別控制字形口與字位口,從而控制 LED對(duì)汽車速度的動(dòng)態(tài)顯示。 2)電路設(shè)計(jì) 用鍵盤輸出高低電平來代替速度控制信息。鍵盤的兩端分別與上拉電阻與地線相接,當(dāng)有鍵盤按下時(shí), PB 口的邏輯狀態(tài)由高電平變?yōu)榈碗娖剑瑥亩鴮?shí)現(xiàn)鍵盤管理模塊的功能。 圖 3 鍵盤管理電路 3.3 汽車速度顯示模塊 12 3.3.1 汽車速度顯示 模塊功能 通過三位 LED 數(shù)碼管動(dòng)態(tài)顯示汽車當(dāng)前速度值。 3.3.2 LED 數(shù)碼管汽車速度顯示電路設(shè)計(jì) LED顯示器有 8個(gè)發(fā)光二極管按“日”字排列,其中 7個(gè)發(fā)光二極管組成“日”字形的筆畫斷,另一個(gè)發(fā)光二極管為圓點(diǎn)形狀,安裝在 顯示器的右下腳做小數(shù)點(diǎn)。分別控制各筆畫段的 LED,使其中的某些發(fā)光,從而可以顯示出 0-9 的阿拉伯?dāng)?shù)字符號(hào)以及其他能由這些筆畫段構(gòu)成的各種字符。其內(nèi)部結(jié)構(gòu)由兩種 共陰極數(shù)碼管和共陽極數(shù)碼管。我們采用了共陽極數(shù)碼管。要顯示 0-9時(shí),其編碼依次為:C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,C6H,A1H,86H,8EH,8CH,89H. LED顯示器的顯示方法有兩種 靜態(tài)顯示法和動(dòng)態(tài)掃描顯示法。靜態(tài)顯示就是每一個(gè)顯示器各筆畫段都要獨(dú)占具有所存功能的輸出口線 , CPU 把要顯示的字符代碼送到輸出口上,就可以是顯示器顯示所需的數(shù)字后符號(hào)。但由于它站用的 I/O口線較多,硬件成本高。所以我們選用了動(dòng)態(tài)掃描顯示法。它把所有顯示器的 8個(gè)筆畫段 a-h的個(gè)同名端互相并接在一起并把它們接到字段輸出接口上。各個(gè)顯示器的公共端接到位輸出接口上。這樣 LED顯示器需要有兩組信號(hào)來控制-段碼和位碼。在著兩組信號(hào)的控制下,可以 1 位一位的輪流點(diǎn)亮各個(gè)顯示器顯示各自的數(shù)碼以實(shí)現(xiàn)動(dòng)態(tài)掃描顯示。在輪流點(diǎn)亮的過程中,每位顯示器點(diǎn)亮的時(shí)間則是極為短暫的,但由于 LED具有余輝性以及人眼的惰性,盡管各位顯示 器實(shí)際上是分時(shí)段續(xù)的顯示,但只要選取掃描頻率,給人的視覺印象就是在連續(xù)穩(wěn)定的顯示。其顯示接口電路如圖 4所示: 13 圖 4 3.3.3 汽車速度顯示 相應(yīng)電路 圖 5 LED 動(dòng)態(tài)顯示電路 14 4 軟件設(shè)計(jì) 4.1 主程序 模塊 4.1.1 主程序設(shè)計(jì)思想 首先初始化 8255A、建立中斷向量表,緊急剎車為外部非屏蔽中斷。查詢是否有檔位鍵按下 ,若有,則顯示該檔位下的初速度,然后查詢是否有功能鍵按下,若有,則處理對(duì)應(yīng)的功能并顯示此時(shí)汽車的速度。當(dāng)查詢到緊急剎車鍵按下使,產(chǎn)生非屏蔽中斷,轉(zhuǎn)入中斷服務(wù)子程序使汽車速度為零并顯示。 15 4.1.2 主程序流程圖 主程序8255初始化一檔 ?定義中斷向量表一擋地址送 BX調(diào)用顯示子程序調(diào)用功能子程序 N O 2 地址送到 BX調(diào)用顯示子程序調(diào)用功能子程序N O 3 的地址送 BX3 檔 ?調(diào)用功能子程序結(jié)束2 檔 ?調(diào)用顯示子程序圖 7 主程序流程圖 16 4.2 顯示模塊 4.2.1設(shè)計(jì)思想 首先在內(nèi)存中的數(shù)據(jù)段中定義三個(gè)顯示緩沖區(qū),分別存入顯示數(shù)據(jù)的個(gè)位、十位和百位,然后再定義顯示段碼區(qū)。在該模塊中設(shè)置了三個(gè) LED數(shù)碼管,用以顯示汽車速度的個(gè)位,十位和百位,讀 入鍵盤信息后,汽車速度做相應(yīng)的功能改變。然后將改變的汽車速度值經(jīng) PA 口分別送入 KL1、 KL2、 KL3,以便動(dòng)態(tài)顯示當(dāng)前汽車速度值。 4.2.2 程序流程圖 入棧保護(hù)位選 KL 1位選 KL 2延時(shí)位選 KL 3顯示子程序返回送段碼顯示送段碼顯示延時(shí)送段碼顯示 延時(shí) 17 4.3 串行通信模塊 4.3.1中斷程序設(shè)計(jì)思想 將緊急剎車鍵設(shè)為非屏蔽中斷,當(dāng)緊急剎車鍵按下時(shí),產(chǎn)生中斷信號(hào)由 NMI送入 CPU,最后由 CPU處理中斷服務(wù)子程序。在中斷服務(wù)子程序中將速度清零,發(fā)光二極管熄滅。 4.3.2 中斷服務(wù)子程序流程圖 中斷服務(wù)子程序顯示數(shù)送 0調(diào)用顯示子程序返回4.4 功能服務(wù)程序設(shè)計(jì) 4.4.1功能服務(wù)程序設(shè)計(jì)思想 讀入鍵盤信息后,進(jìn)入功能服務(wù)子程序,判斷幾號(hào)功能鍵按下,確定后將汽車速度做相應(yīng)改變并將其放入相應(yīng)的顯示緩沖區(qū)。 18 4.4.2 程序流程圖 慢加速鍵 ?改變對(duì)應(yīng)車速 超過最大值 ?調(diào)用顯示子程序Y快加速鍵 ?改變對(duì)應(yīng)車速Y送最大值YN慢減速鍵 ? 改變對(duì)應(yīng)車速 低于最小值改變對(duì)應(yīng)車速送最小值快減速鍵 ?Y YYNN子程序返回N功能子程序NN5 總結(jié) 微機(jī) 接口技術(shù)課程 設(shè)計(jì) 作為 電氣工程及其自動(dòng)化 本科生教學(xué)的主要基礎(chǔ)課之一 ,課程緊密結(jié)合 電氣工程及其自動(dòng)化 的專業(yè)特點(diǎn) ,圍繞微型計(jì)算機(jī)原理和應(yīng)用主題 ,以 Intel8088CPU 為主線 ,系統(tǒng)介紹微型計(jì)算機(jī)的基本知識(shí) ,基本組成 ,體系結(jié)構(gòu)和工作模式 ,從而使學(xué)生能較清楚地了解微機(jī)的結(jié)構(gòu)與工作流程 ,建立起系統(tǒng)的概念。 這次微機(jī)原理課程設(shè)計(jì)歷時(shí)兩個(gè)星期,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。以前在上課的時(shí)候,老師經(jīng)常強(qiáng)調(diào)在寫一個(gè)程序的時(shí)候,一定要事先把程序原理 流程 圖 畫 出來,但是開始總覺得這樣做沒必要,很浪費(fèi)時(shí)間。但是,這次課程設(shè)計(jì)完全改變了以前的那種 19 錯(cuò)誤的認(rèn)識(shí),以前接觸的那些程序 都是很短、很基礎(chǔ)的,但是在課程設(shè)計(jì)中碰到的那些需要很多代碼才能完成的任務(wù),畫程序 流程圖 是很有必要的。因?yàn)橥ㄟ^程序 流程 圖,在做設(shè)計(jì)的過程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個(gè)很清楚的思路,而且在程序測(cè)試的過程中也有利于查錯(cuò)。 其次,以前對(duì)于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過一段上機(jī)的實(shí)踐,對(duì)于怎么去排錯(cuò)、查錯(cuò),怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個(gè)寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的, 只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固 。 6 致謝詞 在這短短的一個(gè)周的時(shí)間里,我們經(jīng)過全體小組成員的全體努力完成了本次課程設(shè)計(jì)的題目即現(xiàn)場(chǎng)溫度智能測(cè)控系統(tǒng)。 在設(shè)計(jì)的過程中,我們遇到了很多的問題,但是這些問題的解決都在我們本次課程設(shè)計(jì)指導(dǎo)教師呂英俊老師的指導(dǎo)下和我們小組 的全體成員的努力之下順利地解決并完成。 衷心感謝本次課程設(shè)計(jì)老師們耐心的指導(dǎo),沒有他們的虛心教導(dǎo)和指引,辛勤的幫助,本次課程設(shè)計(jì)不會(huì)有這樣令人欣慰的成果,同時(shí)謝謝同學(xué)們?cè)谠O(shè)計(jì)過程中給與的幫助,為我進(jìn)一步的學(xué)習(xí)實(shí)際工作提供了寶貴的財(cái)富。 20 參考文獻(xiàn) 1 胡漢才 . 單片機(jī)原理及其接口技術(shù),北京:清華大學(xué)出版社, 2002 2 吳寧 . 80X86/Pentium 微型計(jì)算機(jī)原理及應(yīng)用,北京:電子工業(yè)出版社 ,2000 3 薛琳,呂英俊 .80X86 微機(jī)原理及其接口技術(shù)實(shí)驗(yàn)指導(dǎo)書,青島:山東科技大學(xué)校內(nèi) 21 附 錄: 附錄 1:程序清單 DATA SEGMENT NO1 DB 2,5 NO2 DB 5,7 NO3 DB 10,20 SCAN1 DB ? SCAN2 DB ? SCAN3 DB ? TABLE DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H DB 0F8H,080H,90H,88H,83H,0C6H,0A1H DB 86H,8EH,0FFH,8CH,89H,8EH,0BFH,0F7H ;; LED 顯示碼 P8255_A DW 0020H P8255_B DW 0021H P8255_C DW 0022H P8255_CR DW 0023H DATA ENDS STACK SEGMENT DW 100 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,P8255_CR MOV AL,82H OUT DX,AL PUSH DS MOV AX,0000h MOV DS,AX MOV BX,0008H LEA AX,INTPROC MOV BX,AX MOV AX,SEG INTPROC MOV BX+2,AX POP DS ;中斷初始化 A1: MOV DX,P8255_B 22 IN AL,DX CMP AL,0FEH JNE A2 MOV PC5,0 ;發(fā)光二極管亮 LEA BX,NO1 MOV SCAN1,5 MOV DX,P8255_C MOV AL,20H OUT DX,AL CALL DISPLAY CALL FUNCTION A2: MOV DX,P8255_B IN AL,DX CMP AL,0FDH JNE A3 MOV PC6,0 ;發(fā)光二極管亮 LEA BX,NO2 MOV SCAN1,5 MOV SCAN2,2 MOV DX,P8255_C MOV AL,40H OUT DX,AL CALL DISPLAY CALL FUNCTION A3: MOV DX,P8255_B IN AL,DX CMP AL,0FBH JNE A1 MOV PC7,0 ;發(fā)光二極管亮 LEA BX,NO3 MOV SCAN1,0 MOV SCAN2,6 MOV DX,P8255_C MOV AL,80H OUT DX,AL CALL DISPLAY CALL FUNCTION MOV AH,4CH INT 21H DISPLAY PROC FAR PUSH DX PUSH CX PUSH BX PUSH AX ;保護(hù)現(xiàn)場(chǎng) 23 MOV DX,P8255_C MOV AL,04H OUT DX,AL ;KL1 位選擇 LEA BX,TABLE MOV DX,P8255_A MOV AL,S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)自動(dòng)化設(shè)備改造協(xié)議
- 康復(fù)師與安寧團(tuán)隊(duì)協(xié)作策略
- 幽門螺桿菌根除后隨訪策略:放大內(nèi)鏡的應(yīng)用-1
- 干細(xì)胞試驗(yàn)跨境倫理監(jiān)管框架
- 荊職院護(hù)理學(xué)基礎(chǔ)課件09預(yù)防和控制醫(yī)院感染
- 帕金森病異動(dòng)癥藥物調(diào)整策略分析
- 帕金森病DBS術(shù)后運(yùn)動(dòng)波動(dòng)管理策略
- 人工智能在醫(yī)療影像輔助診斷中的應(yīng)用與挑戰(zhàn)
- 醫(yī)療信息化建設(shè)與政策分析
- 護(hù)理崗位護(hù)理職業(yè)發(fā)展路徑探討
- 2025中國(guó)聯(lián)通黑龍江校園招聘227人(公共基礎(chǔ)知識(shí))測(cè)試題附答案解析
- 2025版臨床用血技術(shù)規(guī)范解讀課件
- 春運(yùn)駕駛員考試卷及答案
- 經(jīng)銷分銷合同范本
- 毒性中藥飲片培訓(xùn)
- 2025年教育系統(tǒng)教師年度考核的個(gè)人工作總結(jié)
- 2025民航華東空管局畢業(yè)生招聘58人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年四川省甘孜教師職稱考試(理論知識(shí))在線模擬題庫(kù)及答案
- 2025四川綿陽市江油鴻飛投資(集團(tuán))有限公司招聘40人(公共基礎(chǔ)知識(shí))測(cè)試題附答案解析
- 2026年河南省職業(yè)病診斷醫(yī)師資格(塵肺病類)高分突破必練試題庫(kù)(含答案)
- 四川省涼山彝族自治州2024-2025學(xué)年七年級(jí)上學(xué)期語文期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論