




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計(論文)報告紙PAGE146-編號南京航空航天大學畢業(yè)論文題目基于32位微機控制的智能電子鐘系統(tǒng)設計與開發(fā)學生姓名學號學院專業(yè)測控技術與儀器班級指導教師基于32位微機控制的智能電子鐘系統(tǒng)設計與開發(fā)摘要目前國內的微機教學主要圍繞16位微機系統(tǒng)在展開,與現(xiàn)代計算機、通信、電子信息技術的飛速發(fā)展有著明顯的差異,為了改變這種狀況,國家教改委將微機教學的要求提升到了32位,各高校教師也一直在尋找一種32位微機教學的途徑,分析32位微機處理器的系統(tǒng)應用結構及通用微機的體系結構。本設計基于西安唐都科教儀器公司生產的TD-PIT++32位微機教學實驗系統(tǒng),它是一個通過從PC機中引出PCI高速總線連接實驗平臺的新型實驗系統(tǒng)。系統(tǒng)通過邏輯轉換電路將PCI高速總線轉化為32位80X86系統(tǒng)總線。本設計通過此實驗平臺,在硬件上綜合運用了8254定時計數(shù)、8255并行接口及8259中斷控制、鍵盤輸入及數(shù)碼管顯示等各功能單元,軟件上通過中斷程序模擬實現(xiàn)了電子鐘的基本功能:八段管上時、分、秒的時間顯示,具有計時、鬧鐘功能,并實現(xiàn)了在不同鬧鐘時刻響鈴不同的擴展功能。實現(xiàn)了理論與實踐的相結合。關鍵詞:32位實驗平臺,中斷技術,8255、8254、8259器件單元
Thedesignanddevelopmentofthe32-bitmicrocomputercontrolofintelligentelectricclocksystemAbstractNow,theComputerteachingofourcountrymainlyaround16microcomputersystem,whichhasobviousdifferencebetweentherapiddevelopmentofthemoderncomputer,communicationandelectronicinformationtechnology.Tochangethissituation,Nationaleducationalreformcommitteepromotestherequirementsofteachingcomputerto32bits.Thecollegeteachersarealsolookingfora32-bitcomputerteachingapproachtoanalysisThesystemstructureof32microcomputerCPUandthesystemstructureofgeneralmicrocomputer.ThedesignisbasedonTD-PIT++whichisa32bitmicrocomputerteachingexperimentsystemproductedbyXi'anTangduInstrumentsCo.Ltd.ItisanewexperimentsystemwhichconnectstheexperimentalplatformandPCIHigh-speedbusthatelicitsfromPCcomputer.SystemwillconvertPCIHigh-speedbusinto32-bit80X86systembusthroughlogicalswitchingcircuit.Throughtheexperimentalplatform,thedesignmakeacomprehensiveuseof8254Timingcounterunit、8255parallelinterfaceunit、8259Interruptcontrol、Keyboardinputanddigitaltubedisplayandsoononhardware,andonsoftware,usingtheinterruptmodetosimulatethebasicfunctionofelectricclock:useingeightdigitaltubeshowthetime,minutesandseconds,hasthealarmclock,andrealizetheextendedfunctionthatthediffertalarmhasthediffentring-down.Realizethecombinationoftheoryandpractice.KeyWords:32bitexperimentplatform;Interruptiontechnology;8254、8255、8259Functionalunit;
目錄摘要 iAbstract ii第一章引言 11.1概述 11.2課題任務 21.3模塊設計 2第二章TD-PIT++實驗系統(tǒng)概述 32.1系統(tǒng)功能、特點及系統(tǒng)構成 32.2系統(tǒng)的配置 62.3系統(tǒng)的硬件環(huán)境 6第三章智能電子鐘系統(tǒng)設計與實現(xiàn) 103.1基本原理 103.2系統(tǒng)總體軟件設計 103.3系統(tǒng)硬件設計 123.4系統(tǒng)各部分的軟硬件介紹及實現(xiàn) 14第四章問題解決 274.1軟件編程中所遇到的問題 274.2硬件連接中所遇到的問題 28第五章總結與展望 29參考文獻 30致謝 31附錄 32畢業(yè)設計(論文)報告紙引言1.1概述首次出現(xiàn)的32位微處理器是INTEL公司X86系列的80386。它擁有32位數(shù)據(jù)總線和32位地址總線,兼容8086、80286,支持了實模式和保護模式兩種工作方式。在實模式下80386相當于一個可進行32位處理的快速8086。使用段加偏移的尋址方式只能尋址1MB的物理空間。段界限必須為16的倍數(shù)段,最大為64KB。在保護模式下全部的32條地址線有效可尋址的物理空間高達4GB。存儲器的管理采用了擴充的分段機制和可選的分頁機制,這為存儲器共享和實現(xiàn)虛擬存儲器提供了硬件支持(最大虛擬地址空間可達64TB)。保護模式下還引入了任務管理,可以從硬件上支持多任務,快速的實現(xiàn)任務切換和任務保護。采用的4個特權級和完善的特權檢查機制既能實現(xiàn)資源共享又可以保證代碼和數(shù)據(jù)的安全保密及任務的隔離。支持虛擬86方式,便于在保護模式下執(zhí)行8086/8088程序保護模式。所采用的存儲管理機制、中斷管理機制以及輸入輸出管理都和實模式有很大的不同。實現(xiàn)了很多在16位微機系統(tǒng)中需要由軟件實現(xiàn)的功能。簡化了軟件的復雜性,是所有新的應用程序和操作系統(tǒng)所青睞的一種工作模式。微型計算機體系結構的發(fā)展典型反映在總線結構的變化上。早期的微機中總線的概念并不十分明確,CPU可以直接和外圍設備相連。隨著計算機技術的發(fā)展,計算機中的高速CPU已經不能與相對低速的外圍設備直接相連,必須通過分級的系統(tǒng)結構進行各類速度不同設備的連接。采用32位微處理器的通用微機在體系結構上采用總線速度不同的分級總線結構,使微機的整體性能得到進一步的提高。與微處理器直接相連的是高速總線系統(tǒng),負責管理CPU與某些模塊之間的數(shù)據(jù)交換。其上連接有高速緩存以及系統(tǒng)控制邏輯,從系統(tǒng)控制邏輯上引出的是AGP接口,系統(tǒng)主存儲器及下一級傳輸速率較高的局部總線PCI系統(tǒng)。PCI總線接口模塊主要負責PCI總線接口和系統(tǒng)中數(shù)據(jù)傳輸率較低接口間數(shù)據(jù)的傳輸和系統(tǒng)中部分功能管理接口。包括IDE接口,可能的ISA接口和可能的USB接口。系統(tǒng)管理的功能則包括了中斷請求管理,DMA傳輸控制系統(tǒng),定時計數(shù)等。目前國內的微機教學主要圍繞16位微機系統(tǒng)在展開,與現(xiàn)代計算機、通信、電子信息技術的飛速發(fā)展有著明顯的差異,為了改變這種狀況,國家教改委將微機教學的要求提升到了32位,在這個前提下,怎樣通過分析32位微機處理器的系統(tǒng)應用結構及通用微機的體系結構,將32位微機系統(tǒng)的運用到日常生活中,使其更加方便快捷,已經成為了現(xiàn)階段各高校的重要課題。擁有計時鬧鐘功能的電子鐘:隨著電子技術的產業(yè)結構調整,生產工藝的飛速發(fā)展,電子鐘已成為人們日常生活中的必需品,廣泛應用于各種場所,給人們的生活、學習和工作帶來極大的方便,但近些年,隨著科技的發(fā)展和社會的進步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。因此以微機為控制核心的智能電子鐘以時間準、功能強、外形美麗而越來越受到人們的青睞。1.2課題任務熟悉唐都試驗箱,掌握試驗箱各個模塊的使用方法,利用現(xiàn)有的實驗器材和軟件平臺,進行實時調試,實現(xiàn)電子鐘的各項功能要求,具體要求如下:能夠按照主人的作息時間表定時響鈴。動態(tài)顯示實時時鐘的時、分、秒數(shù)據(jù)。1.3模塊設計通過課題任務的分析歸納,本系統(tǒng)各個模塊如下:時間顯示在試驗箱上6個LED上動態(tài)顯示時、分、秒。初始時顯示全零,時分秒全部以兩位表示,采用24小時制鬧鐘設置在匯編程序內部設置鬧鐘時間表,時間計時到鬧鐘時間表后自動產生鬧鐘中斷以實現(xiàn)鬧鐘功能響鈴設置在匯編程序中載入6首曲目相對應的數(shù)字頻率表,通過不同時段鬧鐘響鈴曲目的不同來區(qū)分時間的不同TD-PIT++實驗系統(tǒng)概述2.1系統(tǒng)功能、特點及系統(tǒng)構成本次設計使用了西安唐都科教儀器公司推出的TD-PIT++32位微機教學實驗系統(tǒng),它采用了PCI擴展32位80x86系統(tǒng)總線方式,全面支持32位微機原理、32位微機接口技術、微機控制應用、Windows設備驅動程序及其應用開發(fā)、PCI與USB總線擴展應用開發(fā)等教學和科研開發(fā)內容,比以往的80x86微機實驗儀具有了重大的技術改進和創(chuàng)新。1.先進的32位微機原理實驗教學平臺,全面支持32位微機原理的實驗系統(tǒng)提供了國內獨有的80x86系列32位微機多任務保護模式程序的編程及調試環(huán)境,允許用戶在32位微機保護模式下調試并運行實驗程序,可使用戶深入了解32位微機的工作過程,并掌握多任務程序的編程,從而全面掌握32位微機原理及其編程方法,為后續(xù)學習32位微機接口技術、微機PCI及USB總線應用及Windows應用軟件編程打下良好的基礎。2.先進的總線擴展方式,全面支持32位微機接口技術實驗 系統(tǒng)通過PCI總線擴展卡,將PCI高速總線以Add-on接口形式用90線扁平電纜連接到實驗平臺上,實現(xiàn)PC微機和實驗平臺的連接,為開展32位微機接口實驗和PCI總線擴展開發(fā)提供了全面支持。系統(tǒng)通過邏輯轉換電路將PCI高速總線轉換為32位80x86系統(tǒng)總線,即80x86微機時序的32位數(shù)據(jù)總線、32位地址總線和控制總線,總線所有引線都完全開放給用戶使用,并且總線隔離保護電路使微機系統(tǒng)的安全性得到了保證。解決了以往各種PCI擴展方式的微機實驗儀器只能引出簡化ISA總線的嚴重缺陷,打破了以往這些儀器只有8位數(shù)據(jù)總線,且控制總線無DMA信號、無高位字節(jié)使能信號等等的限制。3.全新的Windows下匯編語言和C語言編輯調試集成環(huán)境系統(tǒng)提供了先進的Windows操作系統(tǒng)下匯編語言和C語言程序集成編輯調試環(huán)境(本設計采用了匯編語言環(huán)境進行實驗),允許用戶在該環(huán)境下編輯、編譯、運行及源語言級調試匯編和C語言程序。界面友好,功能豐富。并且提供了詳細的軟件操作及實驗操作幫助系統(tǒng),我們可以在實驗過程中隨時查看實驗操作步驟、方法等幫助說明。該環(huán)境還集成大量的Windows接口應用實驗例程,使我們可以很方便的完成Windows下接口應用實驗。圖2.1編輯界面4.完善的32位微機接口技術實驗平臺系統(tǒng)在提供完善的32位系統(tǒng)總線基礎上還提供了豐富的實驗單元,如32位I/O接口、32位存儲器、中斷控制器8259、DMA控制器8237、定時/計數(shù)器8254、并口8255、串口16550、FLASHROM存儲器、地址譯碼、ADC0809、DAC0832、時鐘源、單次脈沖、鍵盤輸入及數(shù)碼管顯示、開關輸入及發(fā)光管顯示、電子發(fā)聲、PWM轉換、LED點陣顯示、步進電機、直流電機及溫度控制單元電路等,還可選配點陣圖形液晶顯示器。圖2.2實驗平臺5.支持Windows系統(tǒng)下的PCI設備驅動程序及其接口應用設計實驗系統(tǒng)提供了Windows操作系統(tǒng)下的設備驅動程序開發(fā)及調試環(huán)境,可使用戶掌握Windows下的設備驅動程序開發(fā)技術,并進一步掌握Windows下的PCI設備接口應用技術,為提高學生計算機應用開發(fā)能力,發(fā)展學生良好就業(yè)空間提供了重要條件。6.對實驗設計具有良好的開放性,增強綜合設計能力實驗系統(tǒng)所具有的軟硬件結構具有良好的層次性,對實驗設計具有良好的開放特性。系統(tǒng)總線及各種實驗單元都可以根據(jù)需要進行操作連接,可極大提高我們的實際操作能力。7.系統(tǒng)的保護設計提高了系統(tǒng)的安全性PCI總線擴展卡及接口實驗平臺都采用了良好的電路隔離及電路保護設計,對計算機具有安全防護功能,可以避免因錯誤操作造成實驗設備或PC微機的損壞。另外,由于系統(tǒng)采用了具有抗短路、過流的高性能穩(wěn)壓開關電源,當系統(tǒng)出現(xiàn)短路現(xiàn)象后會自動切斷電源,短路現(xiàn)象排除后自動恢復電源,從而可以進一步保障系統(tǒng)的安全性。系統(tǒng)構成:實驗系統(tǒng)通過PCI總線擴展的形式將32位高速總線連接到實驗平臺上,在實驗平臺上實現(xiàn)了面向80x86時序的32位系統(tǒng)總線。配合系統(tǒng)提供的Windows集成操作軟件Tdpit和保護模式下匯編程序的編寫、運行及調試。結合實驗平臺上豐富的實驗單元,可完成多種接口實驗。2.2系統(tǒng)的配置1.軟件配置·80x86微機多任務保護模式程序調試環(huán)境TD-Debug?!indows下80x86匯編語言和C語言編程調試環(huán)境。·設備驅動程序開發(fā)及調試環(huán)境。2.硬件配置·PCI總線擴展卡,將PCI高速總線以Add-on接口形式用90線扁平電纜連接到實驗平臺上,總線時鐘為33MHz?!た偩€隔離保護電路和邏輯轉換電路實現(xiàn)從PCI總線Add-on接口擴展出完整的32位80x86微機系統(tǒng)總線(32位數(shù)據(jù)線、32位地址線和控制總線),總線所有引線都完全開放給用戶使用?!た刂瓶偩€包括BE[3:0]數(shù)據(jù)字節(jié)使能信號、I/O片選和讀/寫信號、存儲器片選和讀/寫信號、DMA總線控制信號(HOLD、HLDA)、中斷請求信號、系統(tǒng)時鐘信號、系統(tǒng)復位信號等?!ぞ哂?2位I/O接口單元、地址譯碼單元、32位存儲器單元?!ぞ哂?259中斷控制器單元、8237DMA電路單元?!ぞ哂衅渌R?guī)接口電路如8254、8255、16550、A/D、D/A等。·具有鍵盤陣列與數(shù)碼管單元、開關及LED顯示單元、點陣LED顯示單元?!ぞ哂蠪lash存儲器單元、電子發(fā)聲單元、直流電機、步進電機及溫度控制單元?!た蛇x配液晶顯示器?!た蛇x配PCI總線應用開發(fā)板。·可選配USB總線應用開發(fā)板?!た蛇x配TD-51單片機開發(fā)板。2.3系統(tǒng)的硬件環(huán)境2.3.1概述TD-PIT++實驗系統(tǒng)硬件主要由PCI總線擴展卡和TD-PIT++實驗平臺構成。PCI總線擴展卡包括PCI總線接口電路和系統(tǒng)配置電路以及擴展總線插座。主要實現(xiàn)PCI總線接口以及將32位高速總線從PC機引出。圖2.3PCI總線擴展卡結構圖2.3.2系統(tǒng)總線單元電路系統(tǒng)總線單元實現(xiàn)了面向80x86微機系統(tǒng)的32位系統(tǒng)總線,符合80x86總線時序標準的接口電路均可以直接連接到該總線上??偩€信號說明如下表2.1所示:表2.1系統(tǒng)信號說明信號名稱含義XD[31:0]32位數(shù)據(jù)總線XA[23:2]22位地址總線XMER,XMEW,XIOR,XIOW存儲器讀寫信號,I/O讀寫信號IOY0,IOY1,IOY2,IOY3I/O空間片選信號MY0,MY1,MY2,MY3存儲器空間片選信號BE0,BE1,BE2,BE332位數(shù)據(jù)字節(jié)使能信號HOLD,HLDA總線保持請求和總線保持響應信號INTR請求信號(上升沿有效)CLK系統(tǒng)時鐘CLK=1.041667MHzRST,RST#系統(tǒng)復位信號實驗系統(tǒng)向PC機申請了接口實驗所需的配置資源。其中包括16MB的存儲地址空間、256字節(jié)的I/O的地址空間和一個中斷請求線。中斷請求線是映射到PC機內15個中斷線中的一個。系統(tǒng)總線單元將地址空間進行了譯碼,各提供4個片選信號,片選信號同偏移地址空間對應關系如下表2.2所示。用PC機分配的I/O或存儲空間地址加上這個偏移地址,就是實驗系統(tǒng)中端口占用的實際地址。PC機分配的起始地址可以在Tdpit軟件中查看或由實驗系統(tǒng)附帶的配置資源檢查程序CHECK.EXE獲得。表2.2片選信號對應偏移地址范圍片選信號偏移地址范圍片選信號偏移地址范圍IOY000~3FHMY0000000~3FFFFFHIOY140~7FHMY1400000~7FFFFFHIOY280~BFHMY2800000~BFFFFFHIOY3C0~FFHMY3C00000~FFFFFFH2.3.3實驗平臺單元電路實驗平臺單元電路主要有:地址譯碼單元74LS138;32位I/O接口單元;32位存儲單元;FLASHROM單元;8259單元;8237單元;8255單元;16550單元;8254單元;A/D轉換單元;D/A轉換單元;電子發(fā)聲單元;鍵盤及數(shù)碼管顯示單元;點陣LED顯示單元;驅動電路和直流電機單元;溫度控制單元;開關及LED顯示單元;單詞脈沖單元;步進電機單元;時鐘源單元;PWM轉換電路;擴展單元;串行接口單元;LCD顯示單元等等。其在實驗平臺上的分布圖如圖2.4所示:圖2.4實驗平臺結構圖智能電子鐘系統(tǒng)設計與實現(xiàn)3.1基本原理因為本設計要求實現(xiàn)電子鐘的動態(tài)計時功能,因而需要將八段管連入電路中,通過程序編輯實現(xiàn)實時刷新顯示當前數(shù)據(jù)狀態(tài)實現(xiàn)時間顯示。另外,要實現(xiàn)響鈴功能,能夠按照主人的作息時間定時響鈴,則可以通過事先在軟件程序匯編時將主人的時間表加到鬧鈴程序中,做到程序運行,到時自動響鈴,還可以通過每次響鈴的曲目的不同區(qū)分響鈴時間的不同。在本設計中,因為要模擬電子鐘的計時和鬧鈴功能,所以,用8254計數(shù)器2與時鐘源的連接實現(xiàn)計時功能;用8254時器0與發(fā)聲裝置的連接實現(xiàn)響鈴是的曲目播放;通過8255的A、B口與鍵盤輸入及數(shù)碼管顯示中的A~DP以及X1~X6的連接,實現(xiàn)時間的顯示。本設計在軟件上采用了中斷方式來實現(xiàn)此電子鐘系統(tǒng)。3.2系統(tǒng)總體軟件設計本設計使用了中斷工作方式,利用8259的中斷引腳,當1HZ脈沖時鐘源進入中斷之后,判斷是否為IR0中斷,若是IR0中斷,則進入進入相應的服務程序,進行秒、分、時數(shù)碼管顯示的累加,顯示,以及鬧鐘子程序的檢測。若非IR0中斷,則直接清除中斷標志,返回到等待中斷處??傮w程序在【附錄】中有顯示記錄,系統(tǒng)總體流程圖如下圖3.1所示。相應的中斷子程序流程圖如下圖3.2所示。主程序開始主程序開始時、分、秒清零主程序開始主程序開始時、分、秒清零定時器定時清除中斷標志位保存INTR原中斷設置當前中斷初始化8259在3000H建立緩沖區(qū)存儲顯示值初始化8255為A、B、C口輸出初始化8254計時器2,工作方式為3,裝入初值為1s開中斷等待8259中斷顯示時間子程序有無按鍵按下N程序結束Y中斷處理中斷返回中斷產生中斷結束圖3.1主程序流程圖圖3.2中斷程序流程圖3.3系統(tǒng)硬件設計要實現(xiàn)電子鐘系統(tǒng),硬件上可采用TD-PIT++實驗系統(tǒng)上的并行接口芯片8255和定時/計數(shù)器芯片8254、中斷控制器芯片8259、鍵盤輸入及數(shù)碼管顯示以及電子發(fā)聲器件,將他們結合起來共同完成以下幾點:1.利用定時/計數(shù)器電路完成時鐘的功能,實現(xiàn)電子鐘以秒為單位計時的時間控制。2.利用并行接口電路向數(shù)碼管發(fā)出顯示信號。通過B口控制共用段位控制信號端A~Dp,顯示時間數(shù)字;通過A口部分接口控制6位數(shù)碼管公共端X1~X6進行數(shù)碼管的選通功能。3.將8254計數(shù)器2的OUT2端接到8259的IR0引腳上,使得中斷系統(tǒng)正常工作,實現(xiàn)相應功能。4.利用8254定時器0,將OUT0端與電子發(fā)聲器件相連接,由8254提供延時,實現(xiàn)不同時段響鈴不同的鬧鈴功能。本設計系統(tǒng)的硬件結構示意圖如下圖所示:32位數(shù)據(jù)系統(tǒng)總線32位數(shù)據(jù)系統(tǒng)總線D0~D7GATE2CLK2OUT2A1A0 8254D0~D7GATE2CLK2OUT2A1A0 8254WR CLK0RD OUT0CSXD0~XD7XD0~XD718.432KHZ時鐘源+5V18.432KHZ時鐘源+5VXA3~XA2XA3~XA2電子發(fā)生器SPKCLK鍵盤及數(shù)碼管顯示單元A~DPX1~X6Y1~Y4IOY2INTRXIORXIOWXIOWD0~D7IR0WRRD 8259電子發(fā)生器SPKCLK鍵盤及數(shù)碼管顯示單元A~DPX1~X6Y1~Y4IOY2INTRXIORXIOWXIOWD0~D7IR0WRRD 8259CSA0INTIOY0XIORXIOWXIOWD0~D7 PB0~PB7A1 D0~D7 PB0~PB7A1 A0 PA0~PA78255WRRD CSXIOWXIOWXIOWXIOWXIORXIORIOY2IOY232位系統(tǒng)地址總線32位系統(tǒng)地址總線圖3.3硬件結構示意圖3.4系統(tǒng)各部分的軟硬件介紹及實現(xiàn)3.4.18254定時計數(shù)器及其模塊功能設計思想:讓其輸出一個1HZ的方波,這樣就可以用這個方波的上升沿向8259提出中斷申請,完成時鐘功能,具體做法為使用8254的計數(shù)器2作為一個計數(shù)器使用。具體做法為讓計數(shù)器2工作在方式3,用實驗箱的固有脈沖頻率18.432KHZ作為CLK2的輸入端,然后由計數(shù)器2的輸出端OUT2輸出,這樣計算出要產生一秒方波所需的初值寫入計數(shù)器即可。設計為計數(shù)器2寫入初值為18432,則輸出方波為初始輸入方波脈沖(實驗箱上的固有方波脈沖)的18432分頻,即為1HZ.實現(xiàn)這部分功能的程序如下所示:MOVDX,MY8254_MODE;初始化8254工作方式MOVAL,0B6H;計數(shù)器2,方式3OUTDX,ALMOVDX,MY8254_COUNT2 ;裝入計數(shù)初值MOVAL,00H ;18432分頻OUTDX,ALMOVAL,48HOUTDX,AL8254定時計數(shù)器硬件連接圖如下圖所示:XD0~XD7XD0~XD718.432KHZ時鐘源+5VD0~D7GATE2CLK2OUT2A118.432KHZ時鐘源+5VD0~D7GATE2CLK2OUT2A1A0 8254WR CLK0RD OUT0CSXA3~XA2XIOWXIOW1HZ1HZXA3XA3XA2XA2電子發(fā)生器XIOWXIOWSPKCLK電子發(fā)生器XIOWXIOWSPKCLKIOY2XIORIOY2XIOR圖3.48254硬件連線圖3.4.28255并行接口及其模塊功能芯片8255主要實現(xiàn)了數(shù)據(jù)的輸入輸出,輸出端直接接入六個八段管,通過選通方式點亮八段管,實現(xiàn)實時時鐘的時間顯示,因此,8255芯片中數(shù)據(jù)流由PB口輸出,輸入試驗箱中六個八段管公共A—DP八個選址端,PA口輸出數(shù)據(jù)輸入到X1—X6選通端進行八段管的選通。8255程序接入之前,首先對8255進行初始化,因為要求8255工作在方式0、PA、PB口全為輸出口,因此8255方式選擇控制字為10000000,即為80H,初始化程序段為:MOV DX,MY8255_MODE ;初始化8255工作方式MOV AL,80H ;方式0,A口、B口、C口輸出OUT DX,ALMOV CX,0040H其硬件連線圖如下圖所示:A~DPX1~X6A~DPX1~X6Y1~Y4D0~D7 PB0~PB7A1 A0 PA0~PA78255WRRD CS鍵盤及數(shù)碼管鍵盤及數(shù)碼管顯示單元XA3XA2XA2XIOWXIOWXIOWXIOWXIORXIORIOY2IOY2圖3.58255硬件連接圖試驗中主要用到鍵盤輸入及數(shù)碼管顯示區(qū)的八段數(shù)碼管來實現(xiàn)智能電子鐘的動態(tài)實時顯示時間功能,連接好的電路運行時,八段管動態(tài)顯示時間,顯示如下圖:圖3.6八段管動態(tài)顯示時間3.4.3中斷控制器8259及其模塊功能該方式在Windows環(huán)境下運行,點擊桌面的Tdpit++快捷方式進入Tdpit集成操作環(huán)境,在程序編輯區(qū)打開提前編輯好的文檔,然后編譯、鏈接、調試即可。需初始化8259,首先初始化8259ICW1為單片8259邊沿觸發(fā)需要ICW4,然后寫ICW2中斷類型碼字,再寫入ICW4中斷結束方式字為普通的全嵌套方式及非自動結束EOI,最后寫入屏蔽控制字OCW1將IR0中斷屏蔽位打開。一旦打開中斷屏蔽位就要開始查詢是否有上升沿到來,若有,則繼續(xù)判別是哪個上升沿,然后再去執(zhí)行相應的服務子程序。首先根據(jù)配置信息查找下列各變量的對應值為:INTR_IVADDEQU01C8H ;INTR對應的中斷矢量地址INTR_OCW1EQU0A1H ;INTR對應PC機內部8259的OCW1地址INTR_OCW2EQU0A0H ;INTR對應PC機內部8259的OCW2地址INTR_IMEQU0FBH ;INTR對應的中斷屏蔽字PCI_INTCSREQU9438H ;PCI卡中斷控制寄存器地址在中斷方式下,INTR中斷請求之所以能有效,是通過PCI卡上INTCSR寄存器的相應設置實現(xiàn)的。所以在程序設計時需要對該寄存器進行一些操作。因此在初始化8259之前,還必須先對對PCI進行初始化。對PCI初始化之后,然后將原來中斷向量的入口地址替換成自己中斷向量的入口地址,最后再對8259進行初始化(注意:初始化之前要關中斷)。具體過程如下:CLI ;清除中斷標志位 MOVAX,0000H ;替換INTR的中斷矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX ;保存原中斷處理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX ;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX ;保存INTR原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX ;設置當前中斷處理程序入口段地址MOVDX,INTR_OCW1 ;設置中斷屏蔽寄存器,打開屏蔽位INAL,DXMOVIM_BAK,AL ;保存INTR原中斷屏蔽字ANDAL,INTR_IMOUTDX,AL MOVDX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1MOVAL,13H ;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4MOVAL,01H ;非自動結束EOIOUTDX,ALMOVDX,MY8259_OCW3 ;向8259的OCW3發(fā)送讀取IRR命令MOVAL,0AHOUTDX,ALMOVDX,INTR_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1MOVAL,078H ;打開IR0中斷的屏蔽位OUTDX,AL初始化完了之后開中斷,等待中斷的到來具體過程如下: STI ;開中斷WAIT1:CALLDISP MOVAH,1 ;判斷是否有按鍵按下INT16HJZWAIT1 ;無按鍵則跳回繼續(xù)等待,有則退出中斷退出時。同樣,首先要關中斷,然后先恢復PCI卡中斷控制寄存器,再恢復原中斷矢量及其段基址和偏移地址,最后在恢復原中斷寄存器的屏蔽字。上述程序都做好之后即可開中斷,返回DOS.具體實現(xiàn)過程如下:QUIT: CLIMOVDX,PCI_INTCSR ;恢復PCI卡中斷控制寄存器MOVAX,0000HOUTDX,AXMOVAX,0000H ;恢復INTR原中斷矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,IP_BAK ;恢復INTR原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK ;恢復INTR原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,INTR_OCW1 ;恢復INTR原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDX,ALSTIMOVAX,4C00H ;返回到DOSINT21H以下為中斷服務程序,上面程序中在替換原中斷矢量的段基址和偏移地址時,可以用SEG和OFFSET偽指令來計算中斷服務程序的段基址和偏移地址。在進入服務程序后要先進行查詢是否為IR0產生的中斷。若是IR0則執(zhí)行時鐘中斷服務子程序,若不是,則跳出中斷程序,清除中斷標志位并還原現(xiàn)場。具體實現(xiàn)過程如下:MYISRPROCNEAR PUSHAX PUSHCX PUSHDX MOVAX,DATAMOVDS,AXQUERY:MOVDX,MY8259_OCW3 ;向8259的OCW3發(fā)送讀取IRR命令INAL,DX ;讀出IRR寄存器值MOVISR,ALTESTAL,01HJNZISR0 ;定時器2中斷MOVAL,ISRTESTAL,02HJNZISR1 ;定時器2中斷MOVAL,36HMOVAH,0EHINT10HMOVAL,20HINT10HJMPEXITISR1:MOVAL,39HMOVAH,0EHINT10HMOVAL,20HINT10HCALLSOUND JMPEXITISR0: INC SECOND ;秒加1 MOV AL,SECOND CMP AL,60 ;秒數(shù)與60比較 JNE NEXT MOV SECOND,0 ;秒清零 INC MINUTE ;分加1 MOV AL,MINUTE CMP AL,60 ;分數(shù)與60比較 JNE NEXT MOV MINUTE,0 ;分清零 INC HOUR ;時加1 MOV AL,HOUR CMP AL,24 ;時數(shù)與24比較 JNE NEXT MOV HOUR,0 ;時清零NEXT: MOVAL,35HMOVAH,0EHINT10HMOVAL,20HINT10H MOV DX,MY8254_COUNT2;裝入計數(shù)初值MOV AL,00H ;18432分頻OUT DX,ALMOV AL,48HOUTDX,AL MOVAL,SECOND MOVAH,0 MOVCL,10 DIVCL MOVSI,3000H MOV[SI],AH MOV [SI+1],AL MOVAL,MINUTE MOVAH,0 MOVCL,10 DIVCL MOV [SI+2],AH MOV [SI+3],AL MOVAL,HOUR MOVAH,0 MOVCL,10 DIVCL MOV[SI+4],AH MOV[SI+5],AL CALLCLOCK ;調用鬧鐘響鈴程序 JMPEXITEXIT: MOVDX,INTR_OCW2;向PC機內部8259發(fā)送中斷結束命令MOVAL,20HOUTDX,ALMOVAL,20HOUT20H,ALPOPDXPOPCXPOPAXIRETMYISR ENDP此部分硬件連接如圖示:D0~D7IR0D0~D7IR0WRRD 8259CSA0INTOUT2OUT2XIOWXIOWXIOWXIOWIOY2XIORIOY2XIORXA2INTRXA2INTR圖3.78259硬件連接圖3.4.4電子發(fā)聲器件及其模塊本次實驗的鬧鐘程序要求能夠按照主人的作息時間自動響鈴,因為要求能夠區(qū)分鬧鈴時間,因此設計了五段不同的音樂曲段,做到了鬧鈴時間不同對應的音樂曲目不同,從而實現(xiàn)了不用看時間而是通過聽曲目的不同區(qū)分時間。五段不同的曲目分別對應GETUP、BREAKFAST、LUNCH、DINNER、SLEEP,曲目的各個音符通過對應頻率表查出,再通過賦予的延時時間進行整合,得到最后相對流暢簡單的五段曲子。程序中的各個音符所對應的頻率表如下:下圖表格中各行為個音符所對應的頻率,各列為音調,第一組為低八度的所有音頻,第三組為高八度的所有音頻。實驗所用到的5首歌曲都為D大調4拍歌曲。表3.1音符與頻率對照表1234567A221248278294330371416B248278312330371416467C131147165175196221248D147165185196221248278E165185208221248278312F175196221234262294330G1962212482622943303711234567A441495556589661742833B495556624661742833935C262294330350393441495D294330371393441495556E330371416441495556624F350393441467525589661G3934414955255896617421234567A88299011121178132214841665B990111212481322148416651869C525589661700786882990D5896617427868829901112E66174283388299011121248F700786882935104911781322G78688299010491178132214843.4.5智能電子鐘系統(tǒng)實驗過程、結果及性能分析硬件連線實物圖:根據(jù)畢設任務要求及需求分析,得到硬件連接圖如下:圖3.8硬件實物連接圖實驗結果顯示:2.1軟件系統(tǒng)實驗結果顯示程序調試正確后進行編譯連接,運行程序,成功實現(xiàn)了電子鐘的各個功能,實驗運行界面如下圖所示:圖3.9實驗結果軟件截圖實驗界面中使用數(shù)字5、6間隔抽象表示時間的動態(tài)顯示,如圖所示,鬧鈴時刻共有5處,分別為起床時間、早飯時間、午飯時間、晚飯時間以及睡覺時間。界面最開始第一行處的實時時間由試驗箱上的鍵盤輸入及數(shù)碼管顯示區(qū)的六位八段管動態(tài)顯示。實驗運行時,通過按電腦鍵盤上的任意按鍵結束程序運行并退回軟件編輯平臺。2.2硬件平臺實驗結果顯示圖3.10實驗結果硬件截圖成功實現(xiàn)了電子鐘的基本計時功能,完成了時間的24小時制循環(huán),能在23:59:59后順利進入下一個24小時循環(huán);能夠進行鬧鐘的基本功能,在添加作息時間表之后,能夠進行鬧鈴功能,實現(xiàn)主人作息表中起床、早飯、午飯、晚飯、睡覺的五種不同時間段的鬧鈴響鈴提醒功能。問題解決在此次畢設實驗的設計中,遇到了很多的問題,在設計每一個模塊都有遇到了一定的難度。但通過指導教師的細心指導和自己的不懈努力,最終克服了這些問題,成功實現(xiàn)了畢設所要求的基本任務,完成了電子鐘的要求功能。畢設中所遇到的問題主要可以分為以下兩個方面,分別為軟件編程中所遇到的問題和硬件連接中所遇到的問題,分別表述如下:4.1軟件編程中所遇到的問題因為軟件平臺支持匯編語言與C語言的程序編程,所以本次實驗使用了相對來說比較熟悉的匯編語言編程實現(xiàn)具體要求的功能,因為在本科學習期間曾經在《計算機硬件技術基礎》中學過匯編程序,所以使用起來相對于C語言熟練一些。在開始畢設的第一階段,主要是熟悉試驗箱的使用與配套軟件平臺的使用,在這一階段,因為對匯編語言的具體語言功能有了一些遺忘,便重新復習了匯編語言的具體指令。在編程階段,關于如何獲得系統(tǒng)當前的時間方面,因為是基本功能,需要最先編譯,有些不熟練,繼而查詢了INT21H,得到了21H的2ch可以返回時,分,秒。但是都是二進制的,故需要進行二進制的碼制,通過參考實驗例子程序zhiliu中的decshow子程序成功編寫出了中斷子程序中的數(shù)碼管顯示程序。因為畢設任務中要求能夠根據(jù)主人的作息時間表定時響鈴,所以必須有試驗箱中的電子發(fā)生裝置的響應程序加入,在參考了例子程序sound后,在編好的程序中加入了sound子程序,在之后與老師交流時,老師又提出了能不能夠用響鈴頻率的不同來區(qū)分作息時間的不同,這樣一來就不用通過看時間就可以馬上區(qū)分鬧鈴的具體時間。之后便想到了能否通過在程序中加入不同的歌曲表,讓鬧鐘的不同的時段響鈴的歌曲不同來區(qū)分鬧鐘時間,這樣一來就顯得更加的人性化智能化,這一想法也得到了老師的同意。在網(wǎng)上查到了5首歌曲的歌譜,在查詢了相對應的頻率表之后,加到了現(xiàn)有的程序之中,得到了現(xiàn)在的響鈴功能。5首歌曲的歌譜在【附錄】中有詳細記錄。在編寫程序中由于經常的要使用寄存器,有時沒有將其壓棧保存,導致寄存器的值發(fā)生了不可知的變化。所以一定要注意壓棧的使用。此外一定要注意芯片的初始化問題,在程序編完之后,編譯并沒有出現(xiàn)問題,但是在運行時總是出現(xiàn)不能正確顯示的問題,一次次的排查總是查不出有什么程序與連線問題,最終終于發(fā)現(xiàn)其中8254的定時器0在響鈴程序中沒有初始化,添加初始化之后便能夠正常工作了。4.2硬件連接中所遇到的問題畢設第一階段就是對實驗所用到的硬件系統(tǒng)——試驗箱的熟悉與使用,開始并不熟悉唐都試驗箱,因為以前實驗的時候并沒有接觸過,在經過一段時間的了解,基本明白了試驗箱的各個區(qū)域的分布與具體功能,為下一階段的硬件連接打下了基礎??偨Y與展望通過本次的畢業(yè)設計,對匯編語言和微型計算機接口計數(shù),有了更加深刻認識,復習了關于8254和8255的相關知識。因為自己設計了程序的全部的流程,所以需要對每個環(huán)節(jié)都十分清楚。代碼完成后深切的感覺到,編寫代碼前的設計十分的重要。因為,如果等到完成了許多功能后,再需要增添一個功能,或改寫一個光標的位置,匯編語言的改寫比高級語言麻煩的多,十分不好改,畢竟匯編是一種低級語言,沒有面向對象的概念,很有可能大部分帶都重寫,導致效率十分低。在編寫程序的時候發(fā)現(xiàn)許多的技巧比如要學會多利用左移或右移的操作,這樣會十分的節(jié)省寄存器的使用。另外當你的寄存器不夠時,可以先把幾個寄存器壓棧,進行操作后在彈出棧,這樣可以解決寄存器不夠,或某些寄存器的值不知覺的被改變。同樣,對于器件的初始化意識也得到了加強提高,一個疏忽沒有初始化,便會讓你的工作量大大的增加,這次的畢設便給了我一個很好的教訓與經驗。總之,盡管這次的設計過程很艱難,還好最后還是把畢設所要求的基本功能完成了,通過試驗箱以及配套編程軟件模擬出了一個由32位微機系統(tǒng)控制的電子鐘,實現(xiàn)了電子鐘的實時時間顯示、定時鬧鐘響鈴的功能,盡管某些地方不盡如人意,但是經過這一次畢設,讓我學到了很多經驗,對我以后的工作和學習有很大的好處。參考文獻[1]Corcoran,P.M.,Desbonnet,J.andLusted,K."CEBusNetworkAccessviatheWorldWideWeb",IEEETrans.ConsumerElectronics,Aug.1996.[2]PeterM.Corcoran,FerencPapaiandArpadZoldiDept.Galway"USERINTERFACETECHNOLOGIESFORHOMEAPPLIANCESANDNETWORKS".IEEETransactionsonConsumerElectronics.June17,1998[3]MarkAtkinsandRameshSubramaniam.PCSoftwarePerformanceTuning.IEEEComputer,August1996[4]李大友.微機計算機接口技術[M].北京:清華大學出版社,2000.[5]萬曉冬,陳則王,孔德明.計算機硬件技術基礎.南京,南京航空航天大學,2009,1[6]何希才.通用電子電路應用400例[M].北京,電子工業(yè)出版社,2006[7]張洪濤.一種單片機控制的定時打鈴器[J].電子世界.1990年第2期.[8]錢曉捷.微機原理與接口技術:基于IA-32處理器和32位匯編語言.北京,機械工業(yè)出版社,2008,1[9]仇玉章,馮一兵.32位微型計算機原理與接口技術.北京,清華大學出版社,2000[10]史新福,馮萍,秦曉紅.32位微型計算機原理接口技術及其應用.西北工業(yè)大學出版社[11]劉淑萍,王桂蘭.16\32位微機原理及接口技術.北京,中國電力出版社致謝 四年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在畢設即將付梓之際,思緒萬千,心情久久不能平靜。這次畢業(yè)設計,是老師同學的關心與鼓勵下才得以圓滿完成的。從畢設選題的確定、程序的編寫、硬件的連接、到論文的完成,得到了我的指導老師*老師的悉心指導。特別是她多次詢問畢設進程,并為我指點迷津,幫助我開拓思路,精心點撥,熱忱鼓勵。她嚴肅的教學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風深深地感染和激勵著我。在此,謹向***老師致以誠摯的謝意和崇高的敬意。此外,還要感謝在大學四年中幫助我的人,感謝自動化學院的所有老師在學習上的點撥。同時,也要感謝在論文寫作過程中,幫助過我、并且共同奮斗四年的大學同學們,能夠順利完成論文,是因為一路上有你、有你們,再次衷心地感謝所有在我論文寫作過程中給予過我?guī)椭娜藗?,謝謝!附錄1.程序源代碼:INTR_IVADD EQU01C8H ;INTR對應的中斷矢量地址INTR_OCW1 EQU0A1H ;INTR對應PC機內部8259的OCW1地址INTR_OCW2 EQU0A0H ;INTR對應PC機內部8259的OCW2地址INTR_IM EQU0FBH ;INTR對應的中斷屏蔽字PCI_INTCSR EQU9438H ;PCI卡中斷控制寄存器地址IOY0 EQU 3000HIOY1 EQU 3040HIOY2 EQU 3080HIOY3 EQU 30C0HMY8254_COUNT0EQUIOY0+00H*4 ;8254計數(shù)器0端口地址MY8254_COUNT1EQUIOY0+01H*4 ;8254計數(shù)器1端口地址MY8254_COUNT2EQUIOY0+02H*4 ;8254計數(shù)器2端口地址MY8254_MODEEQUIOY0+03H*4 ;8254控制寄存器端口地址MY8255_A EQUIOY1+00H*4 ;8255的A口地址MY8255_B EQUIOY1+01H*4 ;8255的B口地址MY8255_C EQUIOY1+02H*4 ;8255的C口地址MY8255_MODE EQUIOY1+03H*4 ;8255的控制寄存器地址MY8259_ICW1 EQUIOY2+00H ;實驗系統(tǒng)中8259的ICW1端口地址MY8259_ICW2 EQUIOY2+04H ;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3 EQUIOY2+04H ;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4 EQUIOY2+04H ;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1 EQUIOY2+04H ;實驗系統(tǒng)中8259的OCW1端口地址MY8259_OCW2 EQUIOY2+00H ;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3 EQUIOY2+00H ;實驗系統(tǒng)中8259的OCW3端口地址DATA SEGMENTTABLE1 DB 'THECURRENTTIMEIS:',0AH,0DH,'$'TGETUP DB 'TIMETOGETUP!',0AH,0DH,'$'TBRE DB 'TIMETOHAVEBREAKFAST!',0AH,0DH,'$'TLUNCH DB 'TIMETOHAVELUNCH!',0AH,0DH,'$'TDIN DB 'TIMETOHAVEDINNER!',0AH,0DH,'$'TSLEEP DB 'TIMETOSLEEP!',0AH,0DH,'$'NUM DB 1DUP(?) ;顯示的數(shù)據(jù)GETUP DW 0 ;起床時間BREAKFAST DW 0 ;早飯時間LUNCH DW 0 ;午飯時間DINNER DW 0 ;晚飯時間SLEEP DW 0 ;睡覺時間INT_SND DB 0 ;鬧鈴標志SND DB 0CS_BAK DW ? ;保存INTR原中斷處理程序入口段地址的變量IP_BAK DW ? ;保存INTR原中斷處理程序入口偏移地址的變量IM_BAK DB ? ;保存INTR原中斷屏蔽字的變量CS_BAK1 DW ? ;保存定時器0中斷處理程序入口段地址的變量IP_BAK1 DW ? ;保存定時器0中斷處理程序入口偏移地址變量IM_BAK1 DB ? ;保存定時器0中斷屏蔽字的變量ISR DB 0 ;中斷狀態(tài)值HOUR DB 0MINUTE DB 0SECOND DB 0LEDMAP: ;八段管顯示碼 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H FREQ_LISTDW371,495,495,495,624,556,495,556,624 ;頻率表 DW495,495,624,742,833,833,833,742,624 DW624,495,556,495,556,624,495,416,416,371 DW495,833,742,624,624,495,556,495,556,833 DW742,624,624,742,833,990,742,624,624,495 DW556,495,556,624,495,416,416,371,495,0TIME_LISTDB4,6,2,4,4,6,2,4,4 ;時間表 DB6,2,4,4,12,1,3,6,2 DB4,4,6,2,4,4,6,2,4,4 DB12,4,6,2,4,4,6,2,4,4 DB6,2,4,4,12,4,6,2,4,4 DB6,2,4,4,6,2,4,4,12 GETUP_FREQ_LISTDW495,495,495,495,495,624,742,742,624,495;頻率表 DW742,742,624,742,742,624,495,495,495,742 DW742,624,495,742,742,742,742,742,624,742 DW742,742,742,742,624,495,742,742,742,833 DW742,990,742,990,742,624,556,495,0GETUP_TIME_LISTDB4,2,2,4,4,4,2,2,4,4 ;時間表 DB2,2,4,2,2,4,4,4,4,4 DB4,4,4,2,2,4,4,4,4,2 DB2,4,4,4,4,4,1,1,1,1 DB4,2,2,2,2,4,4,12BREAKFAST_FREQ_LISTDW393,700,661,589,661,661,393,661,589,525 ;頻率表 DW589,589,393,393,393,441,495,525,525,495 DW525,495,525,330,441,441,393,700,661,589 DW661,661,393,661,589,525,589,589,393,393 DW393,441,495,525,525,495,525,495,525,441 DW661,786,786,661,700,700,786,525,525,525 DW786,525,525,525,525,525,525,525,525,589,589,0BREAKFAST_TIME_LISTDB2,2,2,2,2,4,2,2,2,2 ;時間表 DB2,2,2,2,4,2,2,2,2,2 DB2,2,2,4,2,2,4,2,2,2 DB2,2,4,2,2,2,2,2,2,4 DB2,2,2,2,2,2,2,2,2,2 DB2,2,8,2,2,2,2,2,4,4 DB 4,2,2,8,2,2,4,4,4,4,4LUNCH_FREQ_LISTDW624,742,495,742,833,833,742,624,624 ;頻率表 DW742,742,742,624,742,833,990,1112,990 DW742,624,556,742,742,624,624,495,624,742 DW495,742,833,495,556,495,742,624,742,990 DW833,624,556,624,742,1248,1112,1248,1112,1112,0LUNCH_TIME_LISTDB4,4,2,2,4,2,4,4,4 ;時間表 DB4,4,4,4,4,4,4,4,4 DB4,4,4,4,4,4,4,6,2,4 DB4,4,4,4,2,4,4,4,4,4 DB 4, 8,2,4,4,4,4,4,4,4,8DINNER_FREQ_LISTDW742,990,1112,1248,742,990,1112,1248,1322,1484;頻率表 DW1112,742,935,990,1112,990,624,833,935,990 DW1112,1248,1112,1112,742,990,1112,1248,742,1248 DW1322,1484,1112,742,935,990,1112,990,624,833 DW935,990,1112,624,1248,1332,1248,1112,990,990 DW935,833,935,990,1112,1248,1248,1322,1484,1248 DW1112,990,833,935,990,990,990,935,990,1112 DW1248,1112,0DINNER_TIME_LISTDB4,4,4,2,2,2,2,2,2,4 ;時間表 DB2,2,2,2,8,2,2,2,2,2 DB2,2,2,6,2,2,4,2,2,2 DB2,4,2,2,2,2,8,2,2,2 DB2,2,2,4,2,2,2,2,4,2 DB2,4,2,2,2,2,2,2,4,2 DB 2,4,2,2,2,2,2,2,2,2 DB 2,2SLEEP_FREQ_LISTDW467,467,495,495,495,495,556,556,624,624;頻率表 DW624,556,556,661,742,495,495,495,495,556 DW556,624,624,624,624,742,935,833,935,833 DW833,833,935,833,833,833,833,833,742,742 DW742,624,624,742,742,742,624,624,742,742 DW742,556,624,624,556,556,495,495,556,624 DW556,495,495,0SLEEP_TIME_LISTDB2,2,2,2,2,2,2,2,2,2 ;時間表 DB8,2,2,2,2,2,2,2,2,2 DB2,2,2,8,4,2,2,2,2,2 DB2,2,2,2,2,2,2,2,2,3 DB1,1,2,2,2,1,1,2,2,2 DB2,1,1,1,1,2,2,2,2,1 DB 1,1,1DATAENDSSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSETTABLE1 MOV AH,09H INT 21H MOV HOUR,0 ;時、分、秒清零 MOV MINUTE,0 MOV SECOND,0 MOV GETUP,0000H MOV BREAKFAST,0000H MOV LUNCH,0000H MOV DINNER,0000H MOV SLEEP,0000H MOVGETUP,0700H MOVBREAKFAST,071DH MOVLUNCH,0C00H MOVDINNER,1200H MOVSLEEP,1700H CLI ;清除中斷標志位 MOVAX,0000H ;替換INTR的中斷矢量 MOVES,AX MOVDI,INTR_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX ;保存INTR原中斷處理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX ;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX ;保存INTR原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX ;設置當前中斷處理程序入口段地址MOVDX,INTR_OCW1 ;設置中斷屏蔽寄存器,打開INTR的屏蔽位INAL,DXMOVIM_BAK,AL ;保存INTR原中斷屏蔽字ANDAL,INTR_IMOUTDX,AL MOVDX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1MOVAL,13H ;邊沿觸發(fā)、單片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4MOVAL,01H ;非自動結束EOIOUTDX,ALMOVDX,MY8259_OCW3;向8259的OCW3發(fā)送讀取IRR命令MOVAL,0AHOUTDX,ALMOVDX,INTR_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1MOVAL,078H ;打開IR0、IR1、ISR2、ISR7中斷的屏蔽位OUTDX,ALBADUAN: MOVSI,3000H ;建立緩沖區(qū),存放要顯示的鍵值 MOV CX,06H MOVAL,00H ;先初始化鍵值為0HERE: MOV[SI],AL INCSI INCAL LOOPHERE MOVDI,3005H MOVDX,MY8255_MODE ;初始化8255工作方式 MOVAL,80H ;方式0,A口、B口、C口輸出 OUTDX,AL MOVCX,0040H MOVDX,MY8254_MODE ;初始化8254工作方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲美術設計教程作業(yè)指導書
- 數(shù)學微積分概念應用試題庫
- 企業(yè)經營管理過程中的企業(yè)法律風險及其防范
- 水稻種植面積變化統(tǒng)計表
- 框架結構建筑物維護檢查標準
- 大白工程合同協(xié)議
- 建筑工地安全施工作業(yè)指導書
- 2025年北京社會管理職業(yè)學院單招職業(yè)技能考試題庫及參考答案一套
- 市場趨勢的深度分析與對策
- 工程合作意向協(xié)議書
- 2025年哈爾濱幼兒師范高等專科學校單招職業(yè)技能測試題庫學生專用
- 企業(yè)內部系統(tǒng)使用權限規(guī)范
- 2024年亳州職業(yè)技術學院單招職業(yè)技能測試題庫
- 2025年旅行與旅游的未來:擁抱可持續(xù)與包容性增長報告(英文版)-世界經濟論壇
- 《裝修流程圖課件》課件
- T-CBIA 010-2024 營養(yǎng)素飲料標準
- 牛羊定點屠宰廠項目可行性研究報告-甲乙丙資信
- 03SG520-1實腹式鋼吊車梁(中輕級工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- (完整word版)消化系統(tǒng)知識點整理
- 全國防返貧監(jiān)測信息系統(tǒng)業(yè)務管理子系統(tǒng)操作手冊
- 出差行程計劃表(模版)
評論
0/150
提交評論