版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于單片機的防盜報警器的設計摘要:本文介紹了基于AT89S52單片機控制的由EEPROM和LED組成的防盜報警器的控制電路和控制程序的設計。首先本文對AT89S52單片機和EEPROM的24C04存儲器芯片原理做了介紹,同時分析了防盜報警器控制原理,經過分析,設計出能實現(xiàn)存儲報警號碼及自動報警的防盜報警0器硬件電路和單片機程序。最后利用Proteus仿真軟件對該系統(tǒng)進行仿真,查看效果。關鍵詞:單片機,24C04,ADesignofTheft-proofAlarmBasedonMCUAbstract:Thisarticledescribesadesignoftheft-proofalarmcontrolcircuitandcontrolproceduresbasedontheAT89S52MCU’controlingonEEPROM24c04andtheLED.First,thispaperintroducetheAT89S52andtheworkingprincipleoftheEEPROM24C04,andanalyzestheburglaralarmcontrolprinciple.Afteranalysis,thisarticledesignoutthecircuitandmicrocontrollerprocedureofthetheft-proofalarmtwhichcansavethealarmnumberandautosendoutthealarmsignal.Finally,thisarticleusetheProteussimulationsoftwaretosimulatethesystemtoviewtheresults.Keyword:MCU,24C04,Proteus目錄1引言11.1防盜報警控制器研究背景11.1.1防盜報警器概述11.2單片機技術簡介21.3Keil技術簡介21.4Proteus技術簡介41.5本課題的主要內容、要求及說明書安排41.5.1主要內容、要求41.5.2說明書安排52系統(tǒng)結構及硬件電路設計62.1系統(tǒng)的結構框圖及工作原理62.2電源模塊62.3AT89S52單片機最小系統(tǒng)72.4鍵盤模塊82.5顯示模塊102.6EEPROM113程序設計133.1主程序流程133.2鍵盤輸入模塊的程序設計133.3數(shù)碼管顯示模塊的程序設計153.4EEPROM的驅動程序設計163.2.124C04的I2C總線構成及其協(xié)議163.2.224C04的I2C總線根本操作183.2.224C04的驅動子程序194Proteus仿真204.1Proteus7.5SP3簡介204.2仿真流程215結論25參考文獻26致謝28附錄A291引言本文詳細介紹了一種基于單片機和EEPROM的防盜報警控制器的設計。以下對該系統(tǒng)所涉及的原理和應用到的技術,如:單片機技術、Keil技術、Proteus等做了簡要的介紹。1.1防盜報警控制器研究背景隨著社會的不斷開展,人們對室內財產的平安要求也越來越高,而比擬普遍的防盜措施是安裝防盜報警裝置,而防盜報警器的控制電路和控制程序在整個防盜報警裝置中處于重要地位。1.1.1防盜報警器概述防盜報警系統(tǒng)是用物理方法或電子技術,自動探測發(fā)生在布防監(jiān)測區(qū)域內的侵入行為,產生報警信號,并提示值班人員發(fā)生報警的區(qū)域部位,顯示可能采取對策的系統(tǒng)。防盜報警系統(tǒng)是預防搶劫、盜竊等意外事件的重要設施。一旦發(fā)生突發(fā)事件,就能通過聲光報警信號在安??刂浦行臏蚀_顯示出事地點,使于迅速采取應急措施。防盜報警系統(tǒng)與出入口控制系統(tǒng)、閉路電視監(jiān)控系統(tǒng)、訪客對講系統(tǒng)和電子巡更系統(tǒng)等一起構成了平安防范系統(tǒng)。防盜報警系統(tǒng)通常由:探測器和傳輸通道、報警控制器、報警裝置三局部構成。報警探測器是由傳感器和信號處理組成的,用來探測入侵者入侵行為的,由電子和機械部件組成的裝置。傳輸通道是探測器與警控制器的之間的信道,用來傳輸探測器的信號給報警控制電路。報警裝置那么是采用聲、光、電等信號采取的報警措施。報警控制器經過分析探測器傳來的信號,驅動報警裝置,做出相應的處理。隨著科學技術的進步,為對付不斷升級的偷盜手段,人們研制開發(fā)了不同方式結構的防盜器。第一代是機械式防盜器第二代是電子式防盜器第三代是芯片式數(shù)碼防盜器第四代是網絡防盜系統(tǒng)采用不同原理的探測器、報警器就可以構成不同種類、不同用途、到達不同探測目的的報警探測裝置。而報警控制器那么相對統(tǒng)一,變化不大,但又處于整個報警系統(tǒng)的重要地位。沒有報警控制器那么無法對探測器的信號進行分析處理,同時無法控制報警裝置發(fā)出報警信號。1.2單片機技術簡介單片機簡稱單片微型計算機,是典型的嵌入式微控制器〔MicrocontrollerUnit〕,常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領域。單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能〔可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路〕集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng),使得計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的開展便分道揚鑣。單片機是靠程序運行的,并且可以修改。通過不同的程序實現(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些那么是花大力氣也很難做到的。一個不是很復雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場的系列單片機,結果就會有天壤之別!因為單片機的只要通過編寫程序就可以可以實現(xiàn)高智能,高效率,以及高可靠性!單片機的應用目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的平安保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域。1.3Keil技術簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷開展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷開展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境〔uVision〕將這些局部組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選〔目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件〕,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。1.系統(tǒng)概述KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。下面詳細介紹KeilC51開發(fā)系統(tǒng)各局部功能和使用。2.KeilC51單片機軟件開發(fā)系統(tǒng)的整體結構C51工具包的整體結構,uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)立生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。1.4Proteus技術簡介Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2023年增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件提供了豐富的資源〔1〕Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫?!?〕Proteus可提供的仿真儀表資源:示波器、邏輯分析儀、虛擬終端、SPI調試器、I2C調試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調用?!?〕除了現(xiàn)實存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響?!?〕Proteus可提供的調試手段Proteus提供了比擬豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。1.5本課題的主要內容、要求及說明書安排1.5.1主要內容、要求本課題主要在研究單片機的工作原理后,選用適宜的單片機存取EEPROM存儲器,設計相應的硬件電路,并配合相應的軟件編程編寫控制程序,最后使用Proteus仿真軟件對防盜報警器的控制電路和控制程序進行仿真。工作內容:掌握一種單片機應用,如AT89S52;掌握EEPROM(24C04)的工作原理;掌握Keil程序設計軟件;掌握Proteus仿真軟件。工作要求:設計相應的報警控制器硬件電路;編寫相應的報警控制器軟件程序;使用Proteus仿真軟件,實現(xiàn)系統(tǒng)功能仿真;1.5.2說明書安排本文詳細介紹了防盜報警器的控制電路和控制程序的設計。共分為五章,內容安排如下:第一章:介紹了研究背景及利用到的主要技術。第二章:概括介紹了系統(tǒng)結構和工作原理,同時具體介紹了系統(tǒng)的硬件設計,詳細介紹了整個系統(tǒng)的各個模塊的電路設計、器件選型及理由。第三章:具體介紹了單片機程序的設計。第四章:具體介紹了如何利用Proteus進行系統(tǒng)仿真。第五章:總結了本次畢業(yè)設計取得的成果和心得2系統(tǒng)結構及硬件電路設計2.1系統(tǒng)的結構框圖及工作原理EEPROMAT89S52最小系統(tǒng)電源模塊EEPROMAT89S52最小系統(tǒng)電源模塊顯示模塊鍵盤模塊本系統(tǒng)采用單片機AT89S52為控制核心,系統(tǒng)主要由四個模塊:電源模塊、AT89S52最小系統(tǒng)、EEPROM存儲模塊、LED和數(shù)碼管顯示模塊構成:1、電源模塊作為整個系統(tǒng)的各個模塊提供穩(wěn)定的電源。2、AT89S52最小系統(tǒng)作為控制系統(tǒng),控制著整個系統(tǒng)的功能實現(xiàn)。3、鍵盤模塊提供了人機交流的輸入控制功能。4、顯示模塊由LED和數(shù)碼管組成,提供了人機交流的顯示功能。2.2電源模塊本系統(tǒng)中芯片的工作電壓有5V??梢岳猛獠?V電池然后利用7805進行電壓調整獲得5V穩(wěn)定電壓值。7805為3端正穩(wěn)壓電路,提供固定的輸出電壓,應用范圍廣。內含過流、過熱和過載保護電路。帶散熱片時,輸出電流可達1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。其主要特點如下:輸出電流可達1A輸出電壓有:5V過熱保護短路保護輸出晶體管SOA保護其TO-220封裝結構如圖2-2所示圖2-27805封裝結構圖圖2-35V電源模塊圖D1為電源指示燈,用以指示電源正常工作。圖中C1電源濾波電容,穩(wěn)定電源電壓,亦為抗沖擊電容,防止上電時產生的沖擊電壓過大而影響后續(xù)電路。C2為去耦電容,防止干擾信號返回電源影響其正常。2.3AT89S52單片機最小系統(tǒng)本設計的的單片機采用Atmel公司的AT89S52。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。AT89S52最小系統(tǒng)包括晶體振蕩電路、復位開關和電源局部。電源局部有電源模塊提供穩(wěn)定的電壓。圖2-4為AT89S52的最小系統(tǒng)原理圖。如圖2-4所示C4、C5、X1組成晶體振蕩電路連接到單片機的XTAL1、XTAL2引腳上。C3、R11和按鍵開關組成復位電路連接到單片機的RST引腳上。圖2-4AT89S52單片機最小系統(tǒng)2.4鍵盤模塊在單片機應用系統(tǒng)中,特別是在工業(yè)測控和智能化儀器儀表中,通常都要有人人機對話功能,他包括人對應用系統(tǒng)的狀態(tài)干預、數(shù)據(jù)的輸入以及應用系統(tǒng)向人報告運行狀態(tài)和運行結果,這就需要配接鍵盤和顯示器等外設。本節(jié)結束鍵盤的接口技術。鍵盤電路的設計應使CPU能識別是否有鍵按下以及是哪一個鍵按下,并將此鍵所代表的信息翻譯成所能接收的形式,例如ASCII碼或預定的其他編碼。鍵盤按接口原理可分為全編碼方式和非編碼方式兩種。全編碼方式有硬件邏輯來提供與被按鍵對應的編碼。非編碼方式只簡單地提供輸入按鍵連接電路,其他的工作靠軟件來完成,具有經濟實用的特點。對于一個鍵盤或一組按鍵,單片機系統(tǒng)利用一個接口電路與CPU相連。CPU可以采用查詢或中斷方式了解有無按鍵輸入并檢查是哪一個鍵按下,將該鍵號保存在某一變量中,然后通過跳轉指令轉入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。按鍵一般是由機械觸點構成的。當機械觸點斷開、閉合時,會有抖動,如下列圖2-5所示。在觸點抖動期間檢測按鍵的通與斷狀態(tài),可能導致判斷出錯。即按鍵一次按下或釋放被錯誤地認為是屢次操作,這種情況是不允許出現(xiàn)的。所以就必須對按鍵進行消抖。常用的有硬件方法、軟件方法兩種。軟件方法具有硬件設計簡易、本錢低等特點。圖2-5鍵盤抖動由上所述,考慮到本設計中按鍵不多,且單片機的接口較多,同時考慮簡易經濟性,本設計采用由軟件消抖的非編碼方式獨立鍵盤電路,如圖2-6所示。圖2-6鍵盤輸入模塊在圖2-6的電路中,按鍵輸入都采用低電平有效,上拉電阻保證了按鍵斷開時I/O口由確定的高電平。2.5顯示模塊在單片機應用系統(tǒng)中,為了觀察單片機的運行情況,進行人機之間的交流,通常采用顯示器作為其輸出設備,用于顯示輸入鍵值中間信息及運算結果等。本設計采用常用的發(fā)光二極管〔LED=LightEmittingDiode〕顯示器,即7段數(shù)碼管和LED指示燈。他們具有耗電省、線路簡單、價格低廉、安裝方便、耐振動等優(yōu)點。我們最常用的是七段式和八段式LED數(shù)碼管,八段比七段多了一個小數(shù)點,其他的根本相同。所謂的八段就是指數(shù)碼管里有八個小LED發(fā)光二極管,通過控制不同的LED的亮滅來顯示出不同的字形。數(shù)碼管又分為共陰極和共陽極兩種類型,其實共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,它便能點亮。而共陽極就是將八個LED的陽極連在一起。其原理圖如下。圖2-7數(shù)碼管顯示器外形結構及兩種連接方式在本設計中采用共陰極連接方式,原理圖如圖2-8所示。圖2-8數(shù)碼管顯示器連接電路在圖2-8所示的數(shù)碼管顯示器連接電路中,考慮到單片機的輸出電流有限,所以在P0端口與數(shù)碼管之間接入一個上拉電阻到+5V,確使在P0口輸出高電平時,VCC與P0口同時給數(shù)碼管供電,這樣可以減小P0口的輸出電流保護端口。上拉電阻是用來限制電流的。對照圖2-7所示的字段,字型碼各位定義如表2-1所示。可以看出,如果要顯示“7〞字形,a、b、c、三個字段應點亮,所以對應的字型碼為00000111B,依此類推可寫出所要顯示的各字形碼存放在程序存儲器的固定區(qū)域中,構成顯示代碼表。表2-1P0.0P0.1P0.2P0.3P0.4P0.5P0.6abcdefg對于系統(tǒng)中的指示燈,本設計采用如圖2-9所示的電路。圖中D2為LED指示燈,R5作為限流電阻。P1口可輸出5V電壓,LED導通時壓降為1.7V左右,通常電流限制在10mA以下,所以R5的阻值不小于330歐姆〔〔5-1.7〕V/10mA〕。在本設計中采用500歐姆。圖2-9LED指示電路2.6EEPROMEEPROM(ElectricallyErasableProgrammableRead-OnlyMemory),電可擦可編程只讀存儲器,一種掉電后數(shù)據(jù)不喪失的存儲芯片。EEPROM可以在電腦上或專用設備上擦除已有信息,重新編程。一般用在即插即用。在本設計中使用24C04。24C04是一個4K位串行CMOSEEPROM,內部含有512個8位字節(jié)。其內部有一個16字節(jié)頁寫緩沖器,該器件通過I2C總線接口進行操作,同時有一個專門的寫保護功能。與400KHzI2C總線兼容1.8到6.0伏工作電壓范圍低功耗CMOS技術寫保護功能:當WP為高電平時進入寫保護狀態(tài)頁寫緩沖器自定時擦寫周期1,000,000編程/擦除周期可保存數(shù)據(jù)100年8腳DIP、SOIC或TSSOP封裝圖2-10為24C04的管腳配置,同時在表2-2給出了各管腳簡易功能描述。圖2-1024C04管腳配置表2-224C04管腳描述圖2-11EEPROM電路原理圖如圖2-11所示為本設計的EEPROM電路原理圖。3程序設計本系統(tǒng)的單片機程序利用KeiluVisionV4.02進行程序設計,以下介紹整個系統(tǒng)的程序流程,具體程序參見附錄。主程序流程開始變量定義端口初始化開始變量定義端口初始化無操作?NoYes數(shù)碼管初始化當前狀態(tài)判斷報警?顯示、計時Yes輸入?顯示、保存Yes查找?顯示、保存YesNoNoNo圖3-1主程序流程圖如3-1所示圖所示為單片機的主程序流程圖。首先進行各個模塊的初始化工作,如變量定義、單片機端口和EERPOM端口初始化、顯示模塊初始化等。然后進入程序的主流程,判斷系統(tǒng)的當前狀態(tài),掃描鍵盤輸入確定狀態(tài)后,執(zhí)行相應的處理。鍵盤輸入模塊的程序設計本設計采用由軟件消抖的非編碼方式獨立鍵盤電路,所以在進行鍵盤輸入模塊的程序設計時,需考慮兩個過程:1、鍵盤按鍵的識別;2、消抖。首先在程序中定義各個鍵盤的輸入信號管腳,如下所示。在key_input=0時代表輸號鍵被按下,其他按鍵同此。sbitkey_input =P1^0; //輸號sbitkey_find =P1^1; //查號sbitkey_reset =P1^2; //復位sbitkey_jingbao=P1^6; //警報信號然后在一個子程序中實現(xiàn)鍵盤的識別及消抖。本系統(tǒng)中把鍵盤的輸入狀態(tài)作為整個系統(tǒng)的狀態(tài),所以定義一個ucharstate(void)子程序,其返回值為鍵盤的當前狀態(tài),其定義如下:#definestate_null 0 //無按鍵狀態(tài)#definestate_input 1 //輸號鍵按下#definestate_find 2 //查詢鍵按下#definestate_reset 3 //復位鍵按下#definestate_jingbao 4 //報警鍵按下在ucharstate(void)子程序中本設計利用變量keycount的條件自加來實現(xiàn)消抖和長短按鍵的識別過程。每次進入子程序時keycount清零,然后進入循環(huán),keycount自加,同時查詢按鍵狀態(tài):當keycount自加到N1時,表示長按,那么返回狀態(tài)值,退出子程序;當無按鍵按下時,退出按鍵查詢循環(huán),并判斷keycount是否小于于N2,即是否為抖動,當keycount<N2時,為抖動信號那么返回0,當keycount>=N2時,為有效按鍵返回狀態(tài)值。整個ucharstate(void)子程序流程如圖3-2所示。開始開始Keycount=0按鍵?YesKeycount自加返回按鍵值長按?返回按鍵值No保存按鍵值抖動?NoNo退出子程序YesYes圖3-2主程序流程圖數(shù)碼管顯示模塊的程序設計由上章所述,本設計利用table數(shù)組保存字形碼,作為顯示代碼表,如下所示:ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//0123456789 0x3e,0x73,0x7c,0x40//“U〞-10,“P〞-11,“b〞-12,“-〞-13};由table數(shù)組可知,總共可以顯示0~9、U、P、b、-共14個字符。同時在程序中編寫Display(uchardata_disp)函數(shù),data_disp為要顯示的字符,程序如下:voidDisplay(uchardata_disp){ if(data_disp>=13) //不在表內 P0=table[13]; //顯示“-〞 else //表內 P0=table[data_disp]; //查表顯示}對于LED指示燈,本設計中采用高電平點亮的方式,利用P0.7端口控制。由此在程序中定義sbitLed=P1^7,當LED=0時,輸出低電平,LED燈滅,當LED=1時,輸出高電平,LED燈亮。EEPROM的驅動程序設計本設計中利用EEPROM〔24C04〕來存儲報警用的號碼,24C04支持I2C總線數(shù)據(jù)傳送協(xié)議,要在單片機系統(tǒng)中應用I2C總線的24C04做存儲設備時,先要了解I2C總線的根本驅動方法,以下介紹24C04的I2C驅動程序3.4.124C04的I2C總線構成及其協(xié)議I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構成的串行總線,可發(fā)送和接收數(shù)據(jù)。I2C總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何從總線接收數(shù)據(jù)的器件為接收器,數(shù)據(jù)傳送是由產生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)發(fā)送或接收的模式。在本設計中AT89S52單片機作為主器件,通過器件地址輸入端A0、A1的不同設置,可以實現(xiàn)將最多4個24C04器件連接到總線上。由上一章所述的電路設計,本設計中只用一個24C04,其地址為[A1、A0]為[0、0],寫保護無效。242C04管腳描述如下:SCL:串行時鐘輸入管腳,用于產生器件所有數(shù)據(jù)發(fā)送或接收的時鐘。SDA:雙向串行數(shù)據(jù)/地址管腳,用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA是一個開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進行線或〔wire-OR〕。A0、A1、A2:器件地址輸入端,用于多個器件級聯(lián)時設置器件地址,當這些腳懸空時默認值為0WP:寫保護管腳,如果WP管腳連接到Vcc,所有的內容都被寫保護,只能讀;當WP管腳連接到Vss或懸空,允許器件進行正常的讀/寫操作。I2C總線協(xié)議定義如下1、總線空閑時,SDA、SCL為高電平,只有在總線空閑時才允許啟動數(shù)據(jù)傳送。2、數(shù)據(jù)傳輸前,總線要求有一個START〔開始位〕位做為數(shù)據(jù)開始的標識,它的要求是SCL為高時,SDA有一個從高到低的電平跳變動作,完成這個動作后才可以進行數(shù)據(jù)傳輸,時序圖參看圖3-3中的“開始〞。3、數(shù)據(jù)傳輸時,總線要有一個穩(wěn)定的數(shù)據(jù)狀態(tài),來保證數(shù)據(jù)為有效數(shù)據(jù),它的要求是在SCL為高電平時,SDA必須保持電平穩(wěn)定,不允許有跳變。編寫單片機向總線送數(shù)據(jù)程序時那么可以在SCL還在低電平時,把數(shù)據(jù)電平送到SDA,然后拉高SCL,這時SDA不應有電平跳變,延時后拉低SCL,再進行下一位的數(shù)據(jù)傳送直到完成。在總線上讀數(shù)據(jù)時也是只有在SCL為高時,SDA為有效數(shù)據(jù)。時序參看圖3-3的“保持〞。4、數(shù)據(jù)傳輸后,總線要有一個STOP〔結束位〕位,來通知總線本次傳輸已結束,它的要求是SCL為高時,SDA有一個從低到高的電平跳變動作,正好和START位相反。時序參看圖3-3的“停止〞。圖3-3I2C根本信號5、I2C總線在每接收完一個字節(jié)〔8個二進制位〕后,在第九個時鐘信號時,會在SDA上回應一個低電平的ACK應答信號,以此說明當前受控的器件已接收完一個字節(jié),可以開始下一個字節(jié)的傳送了。假設未收到應答信號,由判斷為受控單元出現(xiàn)故障。時序圖可以參看圖3-4。圖3-4I2C的ACK信號6、I2C總線在操作受控器件時,需要先發(fā)送受控器件的器件地址,24C04也不例外,在每次命令前需要先發(fā)送一個字節(jié)的器件地址和讀寫標識,也可稱為器件錄址。圖3-5是24C04的器件尋址命令中每個位所代表的意思。A1、A0位是器件地址,它是對應于芯片的A1、A0引腳。這樣不難看出在同一總線可以掛4個24C04。器件地址字節(jié)中的R/W位是用于標識當前操作是讀器件還是寫器件,寫器件時R/W位設置0,讀器件時R/W位設置1。圖3-524C04的器件尋址命令3.4.224C04的I2C總線根本操作24C04的I2C總線根本操作包括寫入單個字節(jié)、頁寫入、讀當前地址數(shù)據(jù)、讀任意地址數(shù)據(jù)、連續(xù)讀取數(shù)據(jù)等。在本設計中使用到了寫入單個字節(jié)、讀當前地址數(shù)據(jù)、讀任意地址數(shù)據(jù)、連續(xù)讀取數(shù)據(jù)等操作,以下對這1、單字節(jié)寫入寫入字節(jié)指令每次只能向芯片中的一個地址寫入一個字節(jié)的數(shù)據(jù)。首先發(fā)送開始位來通知芯片開始進行指令傳輸,然后傳送設置好的器件地址字節(jié),R/W位應置0,接著是分開傳送十六位地址的上下字節(jié),再傳送要寫入的數(shù)據(jù),最后發(fā)送停止位表示本次指令結束。圖3-6是寫入單個字節(jié)的時序圖。圖3-624C04的單字節(jié)寫入時序2、讀當前地址數(shù)據(jù)這種讀取模式是讀取當前芯片內部的地址指針指向的數(shù)據(jù)。每次讀寫操作后,芯片會把最后一次操作過的地址作為當前的地址。在這里要注意的是在微處理器接收完芯片傳送的數(shù)據(jù)后不必發(fā)送給低電平的ACK給芯片,直接拉高SDA等待一個時鐘后發(fā)送停止位。圖3-7是讀當前地址時序圖。圖3-724C04的讀當前地址數(shù)據(jù)時序3、讀任意地址數(shù)據(jù)"讀當前地址"可以說是讀的根本指令,讀任意地址時只是在這個根本指令之前加一個'偽操作',這個偽操作傳送一個寫指令,但這個寫指令在地址傳送完成后就要結束,這時芯片內部的地址指針指到這個地址上,再用讀當前地址指令就可以讀出該地址的數(shù)據(jù)。圖3-8是讀任意地址的時序圖。圖3-824C04的讀任意地址數(shù)據(jù)時序4、連續(xù)讀取連續(xù)讀取操作時只要在上面二種讀取方式中芯片傳送完讀取數(shù)據(jù)后,微處理器回應給芯片一個低電平的ACK應答,那么芯片地址指針自動加一并傳送數(shù)據(jù),直到微處理器不回應并停止操作。圖十二是連續(xù)讀取的時序圖。圖3-924C04的讀連續(xù)讀取時序3.4.324C04的驅動子程序由上述的分析,可編寫24C04的驅動子程序,首先利用_nop()定義空操作宏,作為等待延時操作。然后利用sbit定義數(shù)據(jù)和時鐘引腳。最后根據(jù)時序編寫子程序。具體的程序參見附錄。4Proteus仿真本系統(tǒng)利用是英國Labcenterelectronics公司出版的EDA工具軟件Proteus7.5SP3進行系統(tǒng)的仿真,來調試系統(tǒng)的功能完整性。本章介紹利用Proteus進行系統(tǒng)仿真的主要流程及操作,其余局部可參考Proteus的幫助文檔。Proteus7.5SP3界面安裝完Proteus后,翻開Proteus軟就就會出現(xiàn)如圖4-1所示的操作界面。圖4-1Proteus操作界面圖4-1中的原理圖編輯窗口〔TheEditingWindow〕,是用來繪制原理圖的。藍色方框內為可編輯區(qū),元件要放到它里面。注意,這個窗口是沒有滾動條的,你可用預覽窗口來改變原理圖的可視范圍。其余各局部可參考有關書籍。仿真流程1、添加元件到元件列表中本例要用到的元件有:AT89S52、7805、LED、24C04、LED等。單擊如圖4-2所示的“P〞按鈕,出現(xiàn)挑選元件對話框,在對話框的KEYWORDS中輸入AT89C52,即可得到圖4-3所示結果圖4-2Proteus的“P〞按鈕圖4-3Proteus的器件選取然后單擊OK,關閉對話框,這時元件列表中列出AT89S52,以同樣方式即可添加所需要的器件。最終結果如圖4-4所示。圖4-4Proteus中已選取的器件2、放置元件首先添加元器件:在元件列表中左鍵選取AT89S52,在原理圖編輯窗口中單擊左鍵,這樣AT89S52就被放到原理圖編輯窗口中了。以同樣方式即可放置其他元件。然后添加“地〞:左鍵選擇模型選擇工具欄中的圖標,出現(xiàn)如圖4-5所示的終端,左鍵選擇GROUND,并在原理圖編輯窗口中左擊,這樣“地〞就被放置到原理圖編輯窗口中了。再以同樣方式可添加電源VCC的仿真端口。圖4-5Proteus的終端選取3、連線在Proteus中元器件的VSS、VDD、VEE不需連接,默認VSS=0V、VDD=5V、VEE=-5V、GND=0V。其余電氣節(jié)點,可在在需要連接的兩個端點單擊鼠標左鍵,就可連接兩個電氣節(jié)點。如圖4-6即為連接完后的電路圖。圖4-6連接后的Proteus電路圖4、添加仿真文件左鍵單擊連好線的AT89S52,出現(xiàn)如圖4-7所示的EditComponent界面,在ProgramFile中單擊出現(xiàn)文件瀏覽對話框,找到Keil程序編譯完成的dianzhen.hex文件,單擊確定,完成添加文件;在ClockFrequency中把頻率改為12MHz,單擊OK退出,就完成仿真文件的添加工作,在Proteus進行仿真時,AT89S52即可以12M晶振運行dianzhen.hex里的程序。圖4-7仿真文件添加界面5、仿真單擊開始仿真。電氣節(jié)點上的紅色代表高電平,蘭色代表低電平,灰色代表不確定電平〔floating〕。運行時,在Debug菜單中可以查看AT89S52的相關資源。圖4-8為仿真運行時的整體效果圖。圖4-8仿真效果圖5結論本設計詳細介紹了基于單片機的防盜報警器的控制電路和控制程序設計過程,研究了24C04的I2C總線協(xié)議,同時對硬件電路,軟件編程,做出了詳細的說明,設計并仿真出根本符合課題要求的防盜報警器的控制電路和控制程序。本文首先介紹了本設計的設計要求,及所采用的器件和手段,并根據(jù)課題的實際要求提出了整體的設計方案和原理圖。接著分別從硬件和軟件兩個方面對系統(tǒng)的設計做出了詳細的說明,最后對仿真操作的流程作了詳細介紹。在本次畢業(yè)設計中,掌握了AT89S52的結構原理和24C04的I2C總線的驅開工作原理,熟悉了Keil程序設計軟件和Proteus仿真軟件的使用。在整個系統(tǒng)的設計和調試仿真的過程中,我學到了許多課本上學不到的珍貴知識,增長了實踐經驗,體會到了科研工作不僅是知識的應用,更是知識不斷積累的過程。它不僅需要有豐富的知識,冷靜的頭腦和分析能力,而且需要踏實、認真、嚴謹?shù)目茖W態(tài)度,同時更要持之以恒的不懈精神和不斷學習的進取精神。這一段時間的實踐,必將給我今后的工作和人生帶來積極的經驗和影響。參考文獻[1]王洪建,AT89C2051在小區(qū)防盜報警系統(tǒng)中的應用.《儀器儀表學報》,2005年8期[2]王芳,馬幼軍,蔣國平.智能化住宅防盜防火報警系統(tǒng)設計.《傳感器技術》,2002年10期.[3]何立民.單片機實驗與實踐教程.北京航空航天大學出版社,2004.7[4]郭天祥.新概念51單片機C語言教程——入門、提高、開發(fā)、拓展.電子工業(yè)出版社,2023.1[5]彭偉.單片機C語言程序設計實訓100例——基于8051+Proteus仿真.電子工業(yè)出版社,2023.6[6]朱清慧,張鳳蕊,翟天嵩,王志奎.Proteus教程——電子線路設計、制版與仿真.清華大學出版社,2023.9[7]李學禮,林海峰.基于Proteus軟件的單片機實驗室建設[J];單片機與嵌入式系統(tǒng)應用,2005年09期
[8]王建敏,詹華群.單片機仿真實驗的探討與研究[J].江西科技師范學院學報,2005年04期
[9]周彬,劉曉燕.單片機實驗的仿真教學[J].重慶職業(yè)技術學院學報,2006年03期
[10]方怡冰.單片機課程的教學與實驗改革[J].電氣電子教學學報;2006年03期
[11]鄧力.PROTEUS51單片機的電路仿真[J].中國科技信息;2006年14期
[12]彭利軍,郝海峰.基于Proteus的單片機系統(tǒng)的虛擬仿真[J].電子與封裝,2006年07期
[13]寧成軍,張江霞.基于Proteus和Keil接口的單片機外圍硬件電路仿真[J].現(xiàn)代電子技術,2006年18期
[14]代啟化.Proteus在單片機電路系統(tǒng)設計中的應用[J].自動化與儀器儀表,2006年06期
[15]宋國富,王玉葉;用Proteus實現(xiàn)51單片機的動態(tài)仿真[J].安徽職業(yè)技術學院學報;2006年04期
[16]李海鯤.Proteus在單片機課程設計中的應用[J].電腦知識與技術(學術交流),2006年35期
[17]Anon.Embeddedsystems.ElectronicDesign,2002,50(3):74~75[18]Iain.Liu,Steve.Real-timeembeddedsystems.ComputingandControlBate,EngineeringJournal,2002,13(4):154~155[19]Compatible8-BitA/DConverterwith8-ChannelMultiplexerDatasheet.[20]Jerraya,A.A.;Wolf,W.Hardware/softwareinterfacecodesignforembeddedsystems.Computer,2005,38(2):9~63.[21]KeilElektronicGmbH.KeilC51Manual.[22]LeiJian,LuoKelu.Architectureofembeddedsystemsimulationdevelopmentplatform.JournalofInformationandComputationScience,2004,1(3):129~134.[23]LabcenterElectronicsLtd.ProteusIntroduction.致謝附錄A#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineNOP_nop_()#defineNNOPNOP;NOP;NOP;NOP;NOPvoidI2C_Start();voidI2C_Stop();voidAck_I2C();bitISendB(ucharsla,ucharc);bitIRcvB(ucharsla,uchar*c);bitISendStr(ucharsla,ucharsub,uchar*s,ucharn);bitIRcvStr(ucharsla,ucharsub,uchar*s,ucharn);voidDelay(uchar);ucharcodeledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};/*====================================全局變量定義&位定義====================================*/#defineWaitTime 3 //等待時間3s#definestate_null 0#definestate_input 1#definestate_find 2#definestate_reset 3#definestate_jingbao 4bitack;sbitSDA=P3^5 ;sbitSCL=P3^4 ;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,//012340x6d,0x7d,0x07,0x7f,0x6f,//56789 0x3e,//U-100x73,//P-11 0x7c,//b-12 0x40//- };uchartelephone[7]={0,1,2,3,4,5,6};ucharsec; //定義計數(shù)值,每過一秒加1uinttcnt; //定時中斷次數(shù)sbitgewei=P2^0; //個位選通定義sbitshiwei=P2^1; //十位選通定義sbitkey_input =P1^0; //輸號sbitkey_find =P1^1; //查號sbitkey_reset =P1^2; //復位sbitkey_jingbao=P1^6; //警報信號sbitLed =P1^7; //LEDuintkeycount=0;uchardata_tel; //數(shù)據(jù)ucharaddr_tel; //位/*====================================I2C驅動====================================*///n=1->10msvoidDelay(ucharn){ uchari,j; i=100; j=100; while(j--) { while(i--); };}/*====================================函數(shù)功能:開始入口參數(shù):說明:=====================================*/voidI2C_Start(void){ SDA=1; NOP; SCL=1; NNOP; SDA=0; NNOP; SCL=0; NOP; NOP;}/*====================================函數(shù)功能:I2CSTOP入口參數(shù):說明:=====================================*/voidI2C_Stop(void){ SDA=0; NOP; SCL=1; NNOP; SDA=1; NNOP;}/*====================================函數(shù)功能:送一字節(jié)入口參數(shù):說明:=====================================*/voidSendB(ucharc){ uchari; for(i=0;i<8;i++) { if((c<<i)&0x80)SDA=1; elseSDA=0; NOP; SCL=1; NNOP; SCL=0; } NOP; NOP; SDA=1; //8位傳完后釋放SDA,也就SDA=1// SCL=0; NOP; NOP; SCL=1; NOP; NOP; NOP; if(SDA==1)ack=0;//noack elseack=1; //ack SCL=0; NOP; NOP;}/*====================================函數(shù)功能:接收來處SLA的數(shù)據(jù)入口參數(shù):說明:操作后調用應答函數(shù)ACK_I2C();=====================================*/ucharRcvB(void){ ucharrete; uchari; rete=0; SDA=1; //置數(shù)據(jù)線為接收狀態(tài) for(i=0;i<8;i++) { NOP; SCL=0; NNOP; SCL=1; NOP; NOP; rete=rete<<1; if(SDA==1)rete++; NOP; NOP; } SCL=0; NOP; NOP; return(rete);}/*====================================函數(shù)功能:主控器件應答功能入口參數(shù):說明:送0發(fā)0,送1發(fā)1,發(fā)1表示NOACK=====================================*/voidAck_I2C(bita){ if(a==0)SDA=0; //是不發(fā)出應答信號 elseSDA=1; NOP;NOP;NOP; SCL=1; //時鐘高電平同期大于4us NNOP; SCL=0; NOP; NOP;}/*====================================函數(shù)功能:發(fā)送一字節(jié)的數(shù)據(jù),返回ack入口參數(shù):說明:ack=1,應答;ack=0,無應答=====================================*/bitISendB(ucharsla,ucharc){ I2C_Start(); SendB(sla); if(ack==0)return(0); SendB(c); if(ack==0)return(0); I2C_Stop(); return(1);}/*====================================函數(shù)功能:接收一字節(jié)數(shù)據(jù)入口參數(shù):從器件地址,數(shù)據(jù)地址,操作數(shù)年地址,字節(jié)數(shù)說明:=====================================*/bitISendStr(ucharsla,ucharsub,uchar*s,ucharn){ uchari; I2C_Start(); SendB(sla); if(ack==0)return(0); SendB(sub); if(ack==0)return(0); for(i=0;i<n;i++) { SendB(*s); if(ack==0)return(0); s++; } I2C_Stop(); return(1);}/*====================================函數(shù)功能:收一字節(jié)的數(shù)據(jù)入口參數(shù):slaveaddress說明:=====================================*/bitIRcvB(ucharsla,uchar*c){ I2C_Start(); SendB(sla+1); if(ack==0)return(0); *c=RcvB(); Ack_I2C(1); I2C_Stop(); return(1);}/*====================================函數(shù)功能:讀取多字節(jié)數(shù)據(jù)入口參數(shù):從器件地址,數(shù)據(jù)地址,操作數(shù)年地址,字節(jié)數(shù)說明:成功那么返回1=====================================*/bitIRcvStr(ucharsla,ucharsub,uchar*s,ucharn){ uchartemp; I2C_Start(); SendB(sla); if(ack==0)return(0); SendB(sub); if(ack==0)return(0); I2C_Start(); SendB(sla+1); if(ack==0)return(0); temp=n-1; while(temp--) { *s=RcvB(); Ack_I2C(0); s++; } *s=RcvB(); Ack_I2C(1); I2C_Stop(); return(1);}/********************************I2C驅動結束************************///SEG7顯示voidDisplay(uchardata_disp){ if(data_disp>=13) P0=table[13]; else P0=table[data_disp];}///////////////////////////////////////////////////////T0中斷子程序voidt0_init(){ TMOD=0x01; //定時器工作在方式一 ET0=1; EA=1; TH0=(65536-50000)/256; //對TH0TL0賦值 TL0=(65536-50000)%256; //0.05中斷一次 tcnt=0; //每過500usttcnt加1}voidt0_start(){ TR0=1; //開始計時}voidt0_stop(){ TR0=0;}//定時0中斷效勞程序voidt0(void)interrupt1using0{ TH0=(65536-50000)/256; //對TH0TL0賦值 TL0=(65536-50000)%256; //重裝計數(shù)初值 tcnt++; //每過500usttcnt加1 if(tcnt==20) //記滿20次〔即1s〕時 { tcnt=0; //重新再計 sec++; }}///////////////////////////////////////////////////////T0中斷子程序完ucharstate(){ ucharstate_temp; keycount=0; while(1) { keycount++; if (!key_input) state_temp=state_input; elseif(!key_find) state_temp=state_find; elseif(!key_reset) state_temp=state_reset; elseif(!key_jingbao) state_temp=state_jingbao; else break; if(keycount>30000) returnstate_temp; } //Display(state_temp); if(keycount>100) returnstate_temp; else return0;}//voidinput()//{ ucharnum=0;// ucharcount=0;// bit key=0;// while(num<8)// { count=10;// while(!key_inputorcount--);// while()// }//}voidbohao(){ }voidjingbao(){ sec=0; bohao(); //撥號 Display(12); //顯示b Led=1; //LED亮 t0_start(); while(sec!=WaitTime); //定時3s Display(10); Led=0;}voidinput_init(){ uchari; for(i=0;i<7;i++) telephone[i]=1; Led=0; data_tel=0; addr_tel=0; Display(0);}voidfind_init(){ uchari; addr_tel=0; Led=1; P3=0xff; IRcvStr(0xa0,0x00,telephone,7); }voidmain(){ //測試EEPROM// ucharSend_data[3]={1,5,9};// ucharRec_data[3];// uchar*s;// s=Send_data;// P1=0xff;// I2C_Start();// ISendStr(0xa0,0x20,s,3);// Delay(1);// P1=0xff;// s=Rec_data;// IRcvStr(0xa0,0x20,s,3); ucharcount=0; uchartemp=0; uchari=0; ucharstate_project=0; ucharstate_last=0; ucharstate_present=0; uchar*s; ucharSend_data[3]={1,5,9}; ucharRec_data[3]; t0_init(); sec=0;Display(10);Led=1;Delay(10); //測試鍵盤狀態(tài) while(0) { temp=state(); if(temp) { Led=1; Display(temp); } else Led=0; } //測試t0中斷 while(0) { sec=0; t0_start(); while(sec!=3) Led=!Led; } //讀取EEPROM中的號碼 s=telephone;// P3=0xff;// I2C_Start();// ISendStr(0xa0,0x00,s,7);// Delay(1); P3=0xff; s=telephone; IRcvStr(0xa0,0x00,s,7); //初始狀態(tài)設置 state_present=state_null; state_last=state_null; while(1) { switch(state_last) { casestate_null: casestate_jingbao: { state_present=s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文山市重點中學2025屆高考沖刺語文模擬試題含解析
- 全國普通高等學校招生統(tǒng)一考試2025屆高三適應性調研考試數(shù)學試題含解析
- 山西省孝義市實驗中學2025屆高考壓軸卷數(shù)學試卷含解析
- 2025屆岳陽市重點中學高考沖刺英語模擬試題含解析
- 2025屆山西省陵川第一中學高三最后一卷數(shù)學試卷含解析
- 2025屆寧夏銀川市興慶區(qū)銀川一中高三最后一卷數(shù)學試卷含解析
- 廣東省梅州市皇華中學2025屆高三第二次診斷性檢測英語試卷含解析
- 2025屆山東省冠縣武訓高級中學高考語文全真模擬密押卷含解析
- 北京市交通大學附屬中學2025屆高考臨考沖刺數(shù)學試卷含解析
- 2025屆四川省仁壽縣二中、華興中學高三(最后沖刺)語文試卷含解析
- 工程項目竣工驗收報告PPT模板下載
- 孟子的仁政思想及其實踐前提共3篇
- 2023年電力系統(tǒng)繼電保護答案何瑞文 電力系統(tǒng)繼電保護答案其次版(四篇)
- 水網建設產業(yè)發(fā)展工作意見
- 針對食堂服務質量承諾和保證措施
- 植物纖維原料的化學組成課件
- 改變世界的化學智慧樹知到答案章節(jié)測試2023年南開大學
- IPC-6013中文版撓性印制板質量要求與性能規(guī)范匯編
- 【北師大版】五年級上冊數(shù)學分數(shù)測試題-含答案
- 學校藝術教育評價管理制度
- 從業(yè)務骨干到管理者
評論
0/150
提交評論