




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本科生畢業(yè)設(shè)計(jì)(論文)基于ZIGBEE的溫度測量網(wǎng)絡(luò)軟件設(shè)計(jì)SOFTWAREDESIGNOFTEMPERATUREMEASUREMENTNETWORKBASEDONZIGBEE總計(jì)30頁表格3個(gè)插圖30幅本科畢業(yè)設(shè)計(jì)(論文)學(xué)院(系)電子與電氣工程系專業(yè)電子信息工程基于ZIGBEE的溫度測量網(wǎng)絡(luò)軟件設(shè)計(jì)摘要本設(shè)計(jì)是基于ZIGBEE技術(shù)的溫度測量網(wǎng)絡(luò)的軟件設(shè)計(jì),實(shí)現(xiàn)把采集到的溫度數(shù)據(jù)以無線的方式發(fā)射給接收裝置。設(shè)計(jì)采用MEGA16單片機(jī)作為控制器,利用數(shù)字式DS1820作為溫度傳感器,同時(shí)采用TM12864對采集到的數(shù)據(jù)進(jìn)行顯示,XBEE模塊作為無線的接收與發(fā)射模塊。數(shù)字式溫度傳感器DS1820和單片機(jī)以單總線方式連接,使用方便。MEGA16按照DS1820的通信協(xié)議,便可得到DS1820轉(zhuǎn)換后的溫度數(shù)據(jù)。TM12864為12864的液晶顯示模塊,MEGA16按其操作指令對其進(jìn)行讀寫便可顯示所需數(shù)據(jù)。單片機(jī)與XBEE模塊以UART方式傳輸數(shù)據(jù),使用方便。用C語言實(shí)現(xiàn)對MEGA16的編程,從而實(shí)現(xiàn)對溫度的采集、顯示與傳輸。關(guān)鍵詞ZIGBEE;XBEE;溫度傳感器;無線傳輸SOFTWAREDESIGNOFTEMPERATUREMEASUREMENTNETWORKBASEDONZIGBEEABSTRACTTHETOPICISSOFTWAREDESIGNOFTEMPERATUREMEASUREMENTNETWORKBASEDONZIGBEEITUSESTHEXBEEMODULEOFMAXSTREAMTHISDESIGNWANTSTHESYSTEMTOTRANSMITTHEDATAOFTEMPERATURETOTHERECEIVERTHEDESIGNUSESMEGA16ASTHECONTROLLERTOCONTROLTHEDS1820TOCAPTURETHEDATAOFTEMPERATURE,DRIVETHETM12864TODISPLAYDIGITALTEMPERATURESENSORDS1820COMMUNICATEWITHMEGA16VIASINGLEBUSWEUSETHEMODULEOFXBEEASWIRELESSRECEIVERANDTRANSMITTERMEGA16CANGETTHEDATAOFTEMPERATUREFROMDS1820ACCORDINGTOTHECOMMUNICATIONPROTOCOLOFDS1820TM12864IS12864LATTICSDISPLAYDEVICEMEGA16CONTROLTM12864TODISPLAYTHEDATABYUSINGTHEINSTRUCTIONSMEGA16CANCOMMUNICATEWITHTHEXBEEMODULEVIAUARTITISCONVENIENCETOUSEPROGRAMMINGFORMEGA16INTHEENVIRONMENTOFCLANGUAGEACHIEVETHEDATAACQUISITION,DISPLAYANDRECEPTIONKEYWORDSZIGBEEXBEETEMPERATURESENSORWIRELESSTRANSMISSION目錄1引言111選題背景及意義112本設(shè)計(jì)的主要內(nèi)容12系統(tǒng)方案設(shè)計(jì)121系統(tǒng)原理122發(fā)送模塊框圖223接收模塊框圖23發(fā)送模塊的軟件設(shè)計(jì)231溫度采集軟件設(shè)計(jì)2311初始化流程3312ROM操作命令4313存儲器操作命令4314寫命令流程5315讀數(shù)據(jù)流程6316溫度數(shù)據(jù)的處理732顯示控制軟件設(shè)計(jì)8321TM12864指令9322指令的數(shù)據(jù)格式與功能9323寫時(shí)序及相關(guān)操作流程10324讀時(shí)序及相關(guān)流程11325顯示一個(gè)字形的控制流程1333數(shù)據(jù)發(fā)送軟件設(shè)計(jì)14331XBEE???4332單片機(jī)與XBEE模塊的通信144接收模塊的軟件設(shè)計(jì)1541數(shù)據(jù)的接收1642數(shù)據(jù)的顯示175系統(tǒng)仿真及調(diào)試1751XBEE模塊的參數(shù)設(shè)置1752仿真與調(diào)試20結(jié)束語22參考文獻(xiàn)23附錄24致謝301引言11選題背景及意義近年來,各種無線技術(shù)快速發(fā)展,它們在配置、安裝、修改和擴(kuò)展等方面有很多優(yōu)勢,同時(shí)無線網(wǎng)絡(luò)的成本要低于有線網(wǎng)絡(luò),給人們的生產(chǎn)生活帶來了很多方便。其中ZIGBEE技術(shù)就是新興的無線技術(shù)之一,它是IEEE80215工作組的標(biāo)準(zhǔn)之一1,采用直接序列擴(kuò)頻DSS技術(shù)。工作頻率為868MHZ、915MHZ或者24G,頻率的無線技術(shù),用于個(gè)人局域網(wǎng)和對等網(wǎng)絡(luò)是一種適用于固定、便攜或移動設(shè)備使用的低復(fù)雜度、低成本、低功耗、低速率的短距離雙向無線通信協(xié)議2。ZIGBEE技術(shù)在農(nóng)業(yè),汽車,家居得等方面都有很大的發(fā)展優(yōu)勢與空間,其耗電量低,可擴(kuò)節(jié)點(diǎn)多很適合用于溫度濕度等的檢測。本課題的設(shè)計(jì)正是基于ZIGBEE技術(shù)的無線溫濕度測量網(wǎng)絡(luò),可將采集傳感器獲得的溫度數(shù)據(jù)顯示并且以傳送出去。同時(shí)由接收模塊接收發(fā)出的數(shù)據(jù)。12本設(shè)計(jì)的主要內(nèi)容本課題所設(shè)計(jì)的系統(tǒng)以AVR單片機(jī)作為控制器,以ICCV7FORAVR為系統(tǒng)程序開發(fā)平臺,用C語言3進(jìn)行程序設(shè)計(jì),以PROTEUS作為仿真軟件。系統(tǒng)主要有發(fā)射部分和接收部分兩部分組成。發(fā)射部分主要有溫度采集、顯示、傳輸三小部分組成,接收部分主要有接收數(shù)據(jù)與顯示兩部分。這樣系統(tǒng)經(jīng)過XBEE無線傳輸模塊把采集到的數(shù)據(jù)通過自動組網(wǎng)方式傳輸?shù)浇邮漳K,接收模塊經(jīng)過AVR數(shù)據(jù)處理,把接收到的數(shù)據(jù)顯示到液晶模塊。2系統(tǒng)方案設(shè)計(jì)21系統(tǒng)原理溫度的測控采用以AVR單片機(jī)與溫度傳感器的單總線連接方式,溫度傳感器DS1820是智能溫度傳感器,它的輸入/輸出采用數(shù)字量,以單總線方式,接收控制器發(fā)送的命令,根據(jù)DS1820內(nèi)部的協(xié)議進(jìn)行相應(yīng)的處理,將轉(zhuǎn)換的溫度數(shù)值以串口形式發(fā)送給控制器。因此讓控制器機(jī)按照DS1820的通信協(xié)議用一個(gè)I/O口模擬DS1820的時(shí)序4,發(fā)送命令初始化命令、ROM命令、功能命令給DS1820,并讀取溫度值,單片機(jī)進(jìn)行相應(yīng)的數(shù)值處理5,控制字符型液晶模塊顯示室內(nèi)的溫度。由于要求系統(tǒng)能夠發(fā)送數(shù)據(jù)還能夠接收發(fā)送來的數(shù)據(jù),系統(tǒng)總體由發(fā)送模塊與接收模塊兩部分組成。這樣系統(tǒng)就完成了采用ZIGBEE技術(shù)無線傳輸模塊XBEE把采集到的數(shù)據(jù)通過自動組網(wǎng)方式傳輸?shù)浇邮漳K,接收模塊經(jīng)過單片機(jī)數(shù)據(jù)處理,把接收到的數(shù)據(jù)顯示到液晶模塊。22發(fā)送模塊框圖發(fā)送模塊有AVR單片機(jī)控制溫度傳感器,把得到的數(shù)據(jù)經(jīng)過處理后,一方面控制顯示器顯示出來,另外控制采用ZIGBEE技術(shù)的無線模塊發(fā)送出去,從而實(shí)現(xiàn)溫度數(shù)據(jù)的發(fā)送。發(fā)送模塊的框圖設(shè)計(jì)如圖1所示。液晶顯示單片機(jī)無線模塊溫度傳感器圖1發(fā)送模塊框圖設(shè)計(jì)23接收模塊框圖AVR單片機(jī)把通過XBEE模塊接收到的數(shù)據(jù),通過數(shù)據(jù)處理后控制液晶顯示模塊將數(shù)據(jù)顯示出來設(shè)計(jì)框圖如圖2所示。液晶模塊單片機(jī)無線模塊圖2接收模塊框圖3發(fā)送模塊的軟件設(shè)計(jì)本部分要完成溫度的采集,把得到的數(shù)據(jù)顯示出來同時(shí)將數(shù)據(jù)發(fā)射出去,其整體流程如圖3所示,當(dāng)開始后首先控制溫度的采集,然后將溫度數(shù)據(jù)顯示出來,并發(fā)送出去,按此操作順序循環(huán)下去。31溫度采集軟件設(shè)計(jì)溫度傳感器采用了DS1820,信息通過單線接口進(jìn)入DS1820,因此從中央處理器7到DS1820僅需一條線(和地)讀寫和溫度轉(zhuǎn)換所需的電源可從數(shù)據(jù)線本身獲得,而不需要外接電源,使用比較方便。由于DS1820與單片機(jī)的連接只有一條線,沒有專門的數(shù)據(jù)端口與控制端口,單片機(jī)需要按照訪問單總線接口DS1820的協(xié)議,才能獲得溫度數(shù)據(jù)。訪問時(shí)序如下1初始化2對ROM操作命令3存儲器操作命令4處理數(shù)據(jù)本設(shè)計(jì)中溫度傳感器DS1820僅一個(gè)且采用外電源供電。單片機(jī)對DS1820的控制操作如下表1示,把表1轉(zhuǎn)換為溫度采集的整體流程如圖4所示。采集溫度數(shù)據(jù)顯示和發(fā)送開始圖3發(fā)射模塊的整體流程311初始化流程單總線上的所有處理均從初始化序列開始,初始化序列包括主機(jī)發(fā)出一系列復(fù)位脈沖,接著從屬器件發(fā)出存在脈沖。(其脈沖如圖5)一旦主機(jī)發(fā)現(xiàn)從器件存在它便發(fā)出ROM命令。表1溫度采集指令主機(jī)方式數(shù)據(jù)(LSB在先)注釋TXCCHSKIPROM跳過命令TX44HCONVERTT(溫度變換)命令RX1個(gè)數(shù)據(jù)字節(jié)讀“忙”標(biāo)志3次。主機(jī)一個(gè)接一個(gè)連續(xù)讀一個(gè)字節(jié)(或位)直至數(shù)據(jù)為FFH(全部為1)為止。TXRESET(復(fù)位)復(fù)位脈沖RXPRESENCE(存在)存在脈沖TXCCHSKIPROM(跳過ROM)命令TXBEHREADSCRATCHPAD(讀暫存存儲器)命令RX9個(gè)數(shù)據(jù)字節(jié)讀整個(gè)暫存存儲器TXRESET復(fù)位復(fù)位脈沖XRRESENCE存在存在脈沖,操作完成初始化18B20跳過讀序列號的操作(SKIP命令)啟動溫度轉(zhuǎn)換(約定代碼44H)轉(zhuǎn)換等待(至少2S)初始化跳過讀序列發(fā)出讀溫度寄存器命令接收數(shù)據(jù)數(shù)據(jù)處理結(jié)束圖4溫度采集流程圖主機(jī)初始化低電平480US960US18B20回應(yīng)60240US圖5DS1820復(fù)位與存在脈沖主機(jī)先發(fā)出一個(gè)在480US到960US的低電平,然后等待15US到60US若主機(jī)接收到60US到240US的低電平,說明從器件應(yīng)答存在,如圖5所示。單片機(jī)的PB7端口與DS1820的DQ端口相連接,要實(shí)現(xiàn)始化需PB7口輸出如圖5的脈沖。初始化的流程如圖6所示,當(dāng)給出初始化脈沖后,等待60至260US后,如果收到高電平說明初始化成功,否則失敗8,程序見附錄。312ROM操作命令所有ROM操作命令均為八位長。這些命令有READROM(讀ROM),MATCHROM,SKIPROM等五種共有ROM操作命令,由于此模塊僅連接一個(gè)DS1820,可以不使等待1560US開始用這些命令,不再詳述。313存儲器操作命令存儲器的操作命令如表2所示。由于溫度傳感器僅有一個(gè)且采用外部電源,本設(shè)計(jì)可采用的命令有以下這些101SKIP“跳過”ROMCCH此命令允許不提供64位ROM編碼而訪問存儲器來節(jié)省時(shí)間。但如果存在多個(gè)從器件,當(dāng)SKIP命令發(fā)出之后,那么由于多個(gè)從器件同時(shí)發(fā)出數(shù)據(jù),會在總線上發(fā)生沖突(產(chǎn)生線與)。2CONVERTT44H溫度變換命令、啟動溫度變換,溫度轉(zhuǎn)換大概需要2秒。3READSCRATCHPADBEH讀暫存存儲器。讀開始于字節(jié)零,并繼續(xù)經(jīng)過暫存寄存器,直至第九個(gè)字節(jié)被讀出為止。如果有的存儲器不讀,那么主機(jī)可隨時(shí)發(fā)出復(fù)位命令以中止讀操作。4寫暫存存儲器4EH,寫字節(jié)至?xí)捍娲鎯ζ鞯刂?和3處(TL和TH溫度觸發(fā)器)。5復(fù)制暫存存儲器43H,把暫存存儲器復(fù)制入非易失性存儲器(僅地址2和地址3)。圖6DS1820初始化流程圖314寫命令流程失敗開始端口PB7作輸出口PB7低電平輸出480US960USPB7高電平輸出PB7輸出高電平15US60USPB7作輸入口延遲60240USDINB71初始化成功YN要控制溫度傳感器DS1820獲取的溫度數(shù)據(jù),就需要向DS1820寫入一系列的命令,寫時(shí)序如圖7所示,當(dāng)主機(jī)把數(shù)據(jù)線從高電平拉至低電平時(shí),產(chǎn)生寫時(shí)間片。寫時(shí)間片有兩種類型寫1時(shí)間片和寫0時(shí)間片。所有的時(shí)間片必須有60MS持續(xù)期,在個(gè)寫周期之間須有1US的回復(fù)時(shí)間。在I/O線由高電平拉至低電平之后,DS1820在15US至60US的時(shí)間窗口對I/O線采樣,如果線為高電平,寫1就發(fā)生,為低電平寫0就發(fā)生,寫時(shí)序的流程如圖8,在寫流程中可用一個(gè)FOR循環(huán)來判斷是否共有八次,從而完成一個(gè)命令代碼字節(jié)的發(fā)送,在每發(fā)送一位后都要讓PB7拉高單總線,為寫下一位做好準(zhǔn)備,程序見附錄。表2存儲器操作命令指令說明約定代碼發(fā)出約定代碼后單總線的操作溫度變換命令溫度變換啟動溫度變換44H讀溫度“忙”狀態(tài)存儲器命令讀暫存存儲器從暫存存儲器讀字節(jié)BEH(讀9字節(jié)數(shù)據(jù))寫暫存存儲器寫字節(jié)至?xí)捍娲鎯ζ鞯刂?和3處(TH和TL溫度觸發(fā)器)4EH(寫數(shù)據(jù)至地址2和地址3的2個(gè)字節(jié))復(fù)制暫存存儲器把暫存存儲器復(fù)制入非易失性存儲器(僅地址2和地址3)43H讀復(fù)制狀態(tài)重新調(diào)出E2把儲存在非易失性存儲器內(nèi)的數(shù)值重新調(diào)入暫存存儲器(溫度觸發(fā)器)E3H(讀溫度“忙”狀態(tài))讀電源發(fā)DS1820電源方式的信號至主機(jī)B4H(讀電源狀態(tài))15US15US30USDS1820SAMPLES15US15USDS1820SAMPLES30USMASTERWRITE0SLOTMASTERWTRITE1SLOT1U圖7單片機(jī)向DS1820寫命令時(shí)序315讀數(shù)據(jù)流程當(dāng)溫度轉(zhuǎn)換好后要把數(shù)據(jù)從DS1820的存儲器中讀出來,讀時(shí)序如9所示。從DS1820讀數(shù)據(jù)時(shí)主機(jī)產(chǎn)生讀時(shí)間片,當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉至低電平時(shí),產(chǎn)生讀時(shí)間片。數(shù)據(jù)線必須把低邏輯電平保持至少1US,來自DS1820的數(shù)據(jù)在讀時(shí)間片下降沿之后15US有效。因此,從讀時(shí)間片開始主機(jī)一共必須保持至少15US的低電平。讀時(shí)間片結(jié)束后,I/O線有外部的上拉電阻拉至高電平。所有讀時(shí)間片最短維持周期為60US,每個(gè)讀時(shí)間片之間至少需1US的回復(fù)時(shí)間,讀時(shí)序的流程如圖10所示,讀流程中PB7端口將總線拉低開始數(shù)據(jù)的讀取,等待15US后,讀總線上的電平,在判斷為高電平后將由DAT|0X01將DAT的最低位置1而不改變其它位,在每讀取一位后,將DAT中的數(shù)據(jù)左移一位,同時(shí)在每讀取一位后應(yīng)留有至少1US的恢復(fù)時(shí)間。程序見附錄。PB7端口輸出0要寫的命令位為1PB7端口輸出高電平PB7端口輸出低電平延時(shí)1560MS命令左移一位發(fā)送了8位寫結(jié)束YNYNPB7輸出1圖8單片機(jī)向DS1820寫命令流程圖圖9單片機(jī)讀DS1820時(shí)序316溫度數(shù)據(jù)的處理由于溫度數(shù)據(jù)以16位、二進(jìn)制補(bǔ)碼的讀數(shù)形式提供,在讀取溫度數(shù)據(jù)后,要對其進(jìn)行處理才能進(jìn)一步使用,這里要讀出兩個(gè)字節(jié)A與B,第一個(gè)字節(jié)A的低四位是溫度的小數(shù)位信息,高四位是溫度整數(shù)信息的低四位。第二個(gè)讀出的字節(jié)B高五位,位全1的話表示是負(fù)溫度,全為0標(biāo)是正溫度。B的低三位是溫度數(shù)位。這樣B的低三位與A的高四位組成了溫度的整數(shù)位9。溫度數(shù)據(jù)處理程序流程如圖11所示,流程圖中的FSBZ為負(fù)數(shù)標(biāo)志位,其為1時(shí)表示溫度值為負(fù),為0時(shí)表示溫度值為正。至此完成了溫度采集的整體過程,程序見附錄。NNYYDAT|0X01延時(shí)至少1USPB7端口輸出低電平延時(shí)至少15US將DAT中數(shù)據(jù)左移一位判斷單總線是否為高電平開始是否讀入8位讀結(jié)束圖10單片機(jī)讀DS1820時(shí)序流程B73都為1B左移四位,A右移四位后B|A,F(xiàn)SBZ0A取反,B取反,F(xiàn)SBZ1B左移四位,A右移四位后B|A,B1返回BNY讀出A與B圖11溫度數(shù)據(jù)處理流程圖32顯示控制軟件設(shè)計(jì)當(dāng)采集到溫度數(shù)據(jù)后要把溫度顯示出來,顯示器件采用TM12864,TM12864是12864液晶陣列,對TM12864的控制是通過指令加數(shù)據(jù)的方式進(jìn)行的,這些控制信號包括讀/寫(R/W)信號,數(shù)據(jù)/指令(RS)信號,數(shù)據(jù)總線(DB0DB7)組成11。321TM12864指令TM12864的指令可分為三類1設(shè)置內(nèi)部RAM地址的指令2向內(nèi)部RAM寫入或讀出的指令3其它指令在普通的使用中,第二類指令使用的較為頻繁。由于在讀取或?qū)懭霐?shù)據(jù)后,RAM的Y地址會自動的加一,編程代碼將會縮短。但是指令在執(zhí)行指令期間,它不能接收另外的指令,因此在每次發(fā)送指令前應(yīng)確定其閑忙狀態(tài),以確保指令可被執(zhí)行。322指令的數(shù)據(jù)格式與功能指令的數(shù)據(jù)格式如下表3所示表3指令數(shù)據(jù)格式編碼格式顯示ON/OFF000011111D顯示起始行0011顯示起始行(063)設(shè)置X地址0010111X07設(shè)置Y地址0001Y地址(063)讀狀態(tài)10BUSY0ON/OFFREST0000寫顯示數(shù)據(jù)01顯示數(shù)據(jù)讀顯示數(shù)據(jù)11顯示數(shù)據(jù)下面對其指令詳細(xì)介紹如下1顯示開/關(guān)當(dāng)D為1是LCD將顯示數(shù)據(jù),D為0時(shí)LCD不顯示數(shù)據(jù),LCD不顯示數(shù)據(jù)并不是說RAM中的數(shù)據(jù)消失。因此可有D來控制顯示的開和關(guān)。2顯示起始行設(shè)置在顯示開始行寄存器中的Z地址所對應(yīng)RAM地址中的數(shù)據(jù)會被顯示在屏幕的頂端,此命令可用于動態(tài)顯示。3設(shè)置葉(X地址)當(dāng)要顯示的RAM數(shù)據(jù)的地址設(shè)置在X地址寄存器后,寫或讀數(shù)據(jù)都在該設(shè)定葉中進(jìn)行。4設(shè)置Y地址當(dāng)把要操作的RAM的Y地址寫入Y地址計(jì)數(shù)器后,對RAM的讀寫操作Y地址計(jì)數(shù)器會自動加1。5讀狀態(tài)指令當(dāng)在讀狀態(tài)中如果發(fā)現(xiàn)BUSY(DB7)為1,說明LCD系統(tǒng)處于忙狀態(tài),此時(shí)不能接收其它指令,因此在每一次發(fā)送指令前應(yīng)判斷是否處于空閑狀態(tài)。如果ON/OFF位(DB5)為1,說明處于顯示開狀態(tài),為0時(shí)關(guān)狀態(tài)。RESET位(DB4)為1表面系統(tǒng)正被初始化,此時(shí)除了讀狀態(tài)指令外其它指令不可被執(zhí)行,為0表示初始化已完成。6寫顯示數(shù)據(jù)指令將要顯示的字符數(shù)據(jù)寫入指定的RAM地址中。323寫時(shí)序及相關(guān)操作流程知道了命令格式及其用途后,就可以根據(jù)寫時(shí)序向TM12864發(fā)出相關(guān)命令。單片機(jī)的寫時(shí)序如圖12所示,可見在E的下降沿DB0_7被讀入。TDSUR/WWWEDB07TWHTWLCS1B,CS2BCS3RSTC圖12單片機(jī)向TM12864寫時(shí)序前四個(gè)指令的R/W和D/I相同都位0,對這四個(gè)指令可編寫一個(gè)寫指令函數(shù)以下為實(shí)現(xiàn)以上命令的調(diào)用,其流程如圖13所示在寫命令流程中的,檢測TM12864是為了了解是否忙,是的話要一直等待直到空閑為止,最后一步是為了產(chǎn)生E的下降沿,程序見附錄。設(shè)寫命令函數(shù)為WRITE_INST,那么可用一下方式調(diào)用1如果要輸出顯示開/關(guān)指令,則調(diào)用WRITE_INST0X3EI,其中I1時(shí)為開I0時(shí)為關(guān)。2設(shè)置起始行可調(diào)用WRIST_INST0XC0X,X為起始顯示的RAM地址。3設(shè)置RAM的X地址WRITE_INST0XB8X。X地址即葉地址,八行RAM為一葉。4RAM的Y地址WRITE_INST0X40Y,當(dāng)葉地址設(shè)定后每當(dāng)一次讀寫后Y地址自動加一。檢測TM12864是否忙,忙則等待R/W0,RS0,寫命令PA輸出相應(yīng)命令E1延時(shí)E0開始圖13單片機(jī)向TM1864寫命令時(shí)序圖RAM地址中的X與Y的結(jié)構(gòu)如圖14所示圖14顯示RAM地址結(jié)構(gòu)對于寫顯示數(shù)據(jù)的流程只要將寫指令流程中的RS0改為RS1既可。324讀時(shí)序及相關(guān)流程對TM12864的操作有時(shí)要讀出其內(nèi)部數(shù)據(jù),了解它的工作狀態(tài),其讀時(shí)序如圖15所示TDUSR/WWWEDB07TWHTWLCS1B,CS2BCS3RSTC圖15單片機(jī)向TM12864讀數(shù)據(jù)時(shí)序由讀時(shí)序可得出讀顯示數(shù)據(jù)的流程如圖16所示R/W1,RS1讀數(shù)E1E0圖16單片機(jī)向TM12864讀數(shù)據(jù)時(shí)序流程對于讀顯示數(shù)據(jù)在指定了地址后要有一個(gè)假的讀操作,以使數(shù)據(jù)鎖存在輸出緩沖器中。在每一次對TM12864操作都要判斷其是否處于忙狀態(tài),可用讀狀態(tài)解決,讀出的第七位為1表示忙,為0表示空閑,程序見附錄。這一判斷過程可用流程圖17表示R/W1,RS0E1讀入狀態(tài)數(shù)據(jù)第七位是否為1E0結(jié)束YN圖17單片機(jī)讀TM12864狀態(tài)的流程圖有了寫指令、讀顯示數(shù)據(jù)、讀狀態(tài),就能夠指定顯示的內(nèi)容和在屏幕何處顯示,同時(shí)還可知道TM12864的工作狀態(tài),組成LCD的顯示控制函數(shù),程序見附錄。325顯示一個(gè)字形的控制流程要顯示字符首先要有一個(gè)字模,字符以816的形式顯示,以下為實(shí)現(xiàn)顯示字符的流程如圖18所示X地址0I/8次給出一個(gè)字節(jié)DDRB|0X01/PORT0為輸出口PORTB/右移一位DELAY53讀字節(jié)函數(shù)UNSIGNEDCHARREADONECHARVOIDUNSIGNEDCHARI0UNSIGNEDCHARDAT0FORI8I0IDDRB|0X01/PROTB0設(shè)為輸出口PORTBIFI63/判斷地址是否越界/BREAKIFI8/地址進(jìn)入右半屏范圍/CS1_0CS2_1WRITE_ISNTY1|0XB8WRITE_INSTX|0X40WHILEI8WRITE_INSTQQXICSA_CLRCSB_CLR/關(guān)顯示屏/9傳輸與接收函數(shù)VOIDUART0_INITVOIDUCSRB0X00/DISABLEWHILESETTINGBAUDRATEUCSRA0X00UCSRCBITURSEL|0X06UBRRL0X33/SETBAUDRATELO內(nèi)部晶振8MUBRRH0X00/SETBAUDRATEHIUCSRB0XD8PRAGMA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ××超市文件歸檔規(guī)定
- 校園生活的點(diǎn)滴記事類作文9篇
- 讀西游記有感于成長之路讀后感(15篇)
- 2025年法語TCF考試試卷:法語閱讀理解與長篇文本分析
- 2025景觀設(shè)計(jì)師(初級)職業(yè)技能鑒定模擬試題分析
- 2025年電工特種作業(yè)操作證考試試卷(電工電氣工程合同管理咨詢報(bào)告)
- 2025年電子商務(wù)師(初級)考試試卷:電商數(shù)據(jù)分析與預(yù)測建模試題
- 太空之旅的想象之旅小學(xué)想象作文14篇
- 2025年消防執(zhí)業(yè)資格考試題庫:消防救援隊(duì)伍管理法規(guī)案例分析真題解析試卷
- 2025年保險(xiǎn)從業(yè)資格考試保險(xiǎn)法律法規(guī)與政策實(shí)務(wù)應(yīng)用與案例分析試題
- 供暖管道焊接技術(shù)培訓(xùn)
- 滋補(bǔ)品店鋪運(yùn)營方案設(shè)計(jì)
- 2025年保密教育線上培訓(xùn)考試題庫參考答案
- 安管員考試題庫及答案
- 《屹立在世界的東方》課件
- 【博觀研究院】中國口服維生素保健品市場分析報(bào)告(簡版)
- T/CI 475-2024廚余垃圾廢水處理工程技術(shù)規(guī)范
- T/CCT 011-2020干法選煤技術(shù)規(guī)范
- (高清版)DB62∕T 4730-2023 公路裝配式石籠防護(hù)設(shè)計(jì)與施工技術(shù)規(guī)范
- 2024-2025 學(xué)年八年級英語下學(xué)期期末模擬卷 (深圳專用)原卷
- 內(nèi)蒙古呼和浩特市實(shí)驗(yàn)中學(xué)2024-2025學(xué)年下學(xué)期七年級數(shù)學(xué)試卷
評論
0/150
提交評論