freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的安全監(jiān)控-論文(編輯修改稿)

2025-02-14 15:11 本頁面
 

【文章內(nèi)容簡介】 時,每當(dāng)讀或?qū)懸粋€字符后地址指針減1,且光標(biāo)減1。S=1時,每當(dāng)寫一個字符,整屏顯示左移(N=1)或右移(N=0),得到光標(biāo)不再移動后停止的屏幕移動的效果;S=0時,每當(dāng)寫一個字符,整屏顯示不移動。(b) 數(shù)據(jù)控制指令碼為80H+地址碼(00H~27H,40H~67H)時,設(shè)置顯示的數(shù)據(jù)地址指針。指令碼為01H時,所有數(shù)據(jù)指針清屏,所有顯示將會清零。指令碼為02H時,顯示回車,數(shù)據(jù)指針將會清零。 LM032L與單片機接口電路本系統(tǒng)的顯示部分采用LM032L字符顯示器,與采用數(shù)碼管相比,硬件連接和軟件調(diào)試上都有優(yōu)勢,只要把要顯示的內(nèi)容放進液晶模塊的顯示存儲器里面就可以直觀的顯示出指定的內(nèi)容,操作方便。系統(tǒng)顯示電路由單片機AT89C5字符式液晶顯示器LM032L和1k8的排阻構(gòu)成,單片機實現(xiàn)對LCD命令和顯示數(shù)據(jù)的讀寫控制功能,P1口作數(shù)據(jù)口,對應(yīng)與LM032L的D0~D7相接(~~D7上),在P1口與D0~D7數(shù)據(jù)線之間可以分別接8個上拉電阻,以確保電路能夠正常工作顯示。AT89C52的P2口的部分口作為LCD的控制線,;LM032L的其它三個控制端VDD接電源,VEE接電阻接電源,VSS直接接地。 LM032L與單片機的連接 時鐘芯片DS1302 DS1302的簡介DS1302是DALLAS公司推出的涓流充電時鐘日歷芯片,芯片內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過SPI三線串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、日期、月和年等信息。每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,有效至2100年[10]。時鐘操作可通過AM/PM指示決定采用24或12小時的計時方式。DS1302與單片機之間能簡單地采用三線同步串行的方式進行通信,僅需用到下面三個端口:(1)RES復(fù)位;(2)I/O數(shù)據(jù)線;(3)SCLK串行時鐘輸入。下面將對主要的性能指標(biāo)做一個綜合介紹:(1) 實時時鐘具有能計算2100年之前的秒、分、時、日、日期、星期、月和年的能力,也具有閏年調(diào)整的能力;(2) 318位(31字節(jié))暫存數(shù)據(jù)存儲RAM;(3) 采用SPI三線接口串行通信,使得管腳數(shù)量最少;(4) 工作電壓范圍:~;(5) 工作電流:,電流小于300nA;(6) 讀/寫時鐘或RAM數(shù)據(jù)時,有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送;(7) 8腳DIP封裝或8腳SOIC封裝;(8) 工業(yè)級工作溫度范圍:40℃~+85℃; DS1302的管腳說明。GND12348765VCC2VCC1X1X2SCLKI/O DS1302的管腳圖各管腳的功能說明: VCC1:主電源。VCC2:備份電源。當(dāng)VCC2VCC1+,由VCC2向DS1302供電,當(dāng)VCC2VCC1時,由VCC1向DS1302供電。SCLK:串行時鐘輸入。I/O:三線接口時的雙向數(shù)據(jù)線。 :復(fù)位引腳,用于對芯片進行操作。在讀、寫數(shù)據(jù)期間,必須為高電平。 DS1302的工作原理首先通過介紹DS1302的控制字,來介紹DS1302的工作原理??刂谱止?jié)的最高位(位7)必須為1,若為0則不能把數(shù)據(jù)寫入芯片;位6決定操作是對于RAM還是時鐘寄存器,位6若為0,則表示存取時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5~位1是RAM或時鐘寄存器在DS1302的內(nèi)部地址;位0為最低有效位,若為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)應(yīng)從最低位開始輸出[11]。 DS1302的控制字節(jié)位7位6位5位4位3位2位1位01RAM/CKA4A3A2A1A0RAM/K在DS1302芯片中,通過把端置高來啟動所有數(shù)據(jù)的傳送。輸入有兩種功能:第一,控制允許地址/命令序列送入移位寄存器;其次,提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸手段。當(dāng)為高電平時,所有數(shù)據(jù)傳送將會被初始化,可以對DS1302進行操作。若在傳送過程中置成低電平,則會終止次次數(shù)據(jù)的傳送,且I/O引腳變?yōu)楦咦锠顟B(tài)。值得知道的是,無論哪種同步串行通訊接口,都是對時鐘信號敏感的,且一般是在上升沿數(shù)據(jù)寫入有效,在下降沿讀出有效。在控制指令輸入后的下一個SCLK時鐘上升沿到來時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位開始。在8位的控制指令字后的緊跟的下一個SCLK的下降沿來到時讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)也是從低位到高位的,從位0到位7。RW A0 A1 A2 A3 A4 R/C 1SCLKI/O DS1302的命令字結(jié)構(gòu)DS1302共有12個寄存器,其中有7個寄存器與日歷/時鐘相關(guān),數(shù)據(jù)位以BCD碼形式存放。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器和與RAM相關(guān)的寄存器等寄存器。時鐘突發(fā)寄存器可以一次性順序讀寫除了充電寄存器以外的所有寄存器內(nèi)的內(nèi)容。DS1302與RAM相關(guān)的寄存器共有兩類:一類是單個RAM單元,共有31個,每個單元是一個8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另外一類為突發(fā)方式下的RAM,這種方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 DS1302外圍電路連接。,,這幾個口一一對應(yīng)連接進行SPI通信。 DS1302的外圍電路和與單片機的連線 I2C總線工作原理 I2C總線簡介I2C總線是PHLIPS公司推出的一種串行總線,具備多主機系統(tǒng)所需的總線裁決和高低速器件同步功能的高性能的串行總線。I2C總線只有兩根雙向傳輸?shù)男盘柧€,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。Vcc I2C總線多級工作示意圖I2C總線的SDA線和SCL線通過上拉電阻接到電源正端,當(dāng)總線處于空閑狀態(tài)時,兩根線均為高電平。在總線上的任一器件輸出的低電平,都將使總線的信號變?yōu)榈停锤髌骷腟DA及SCL都是線“與”關(guān)系。接到I2C總線上的器件都應(yīng)有唯一確定的地址。主機與器件間的數(shù)據(jù)傳送可以是由主機發(fā)送數(shù)據(jù)到其它器件的,這時主機即為發(fā)送器,由總線上接收數(shù)據(jù)的器件發(fā)送數(shù)據(jù),此時主機則為接收器。在多主機系統(tǒng)中,可能同時有幾個主機企圖啟動總線傳送數(shù)據(jù),為了避免混亂,I2C總線要通過總線仲裁,以確定由哪一臺主機控制總線。在80C51/52單片機應(yīng)用系統(tǒng)的串行總線擴展中,我們經(jīng)常使用的是以80C51/52單片機為主機,其它接口器件為從機的單主機情況。 I2C總線工作原理I2C總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持著穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許發(fā)聲變化。SCLSDA要求數(shù)據(jù)穩(wěn)定允許數(shù)據(jù)變化要求數(shù)據(jù)穩(wěn)定 I2C總線進行數(shù)據(jù)傳送時序圖SCL為高電平期間,SDA由高電平向低電平跳變時表示起始信號;SCL為高電平期間,SDA線由低電平向高電平跳變時表示終止信號。SCLSDA起始信號S終止信號P I2C總線通信起始停止時序圖起始和終止信號都是由主機發(fā)出,在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線則變?yōu)榭臻e的狀態(tài)。連接到I2C總線上的器件,若具有I2C總線的硬件接口,則很容易能檢測到起始和終止信號,若一些非I2C總線的可編程器件,可以通過軟件編程來仿真I2C總線,同樣可以實現(xiàn)I2C總線通信。接收器件收到一個完整的數(shù)據(jù)字節(jié)后,有可能還需要做一些其它的工作,如處理內(nèi)部中斷程序等等,可能無法立刻接收下一個字節(jié),這時接收器件可以將SCL線拉低,從而使主機處于等待狀態(tài),直到接收器件準(zhǔn)備好接收下一個字節(jié)時,再釋放SCL線使之為高電平,這樣就能使數(shù)據(jù)傳送可以繼續(xù)進行。 I2C總線數(shù)據(jù)傳送格式(1) 字節(jié)傳送與應(yīng)答每一個字節(jié)數(shù)據(jù)必須保證是8位長度,在數(shù)據(jù)傳送時,先傳送最高位,在每一個被傳送的字節(jié)后都必須跟隨一位應(yīng)答位(即一幀共有9位)。 SDA(從機)SDA(主機)起始信號S非應(yīng)答應(yīng)答 字節(jié)傳送與應(yīng)答時序圖從機不對主機尋址信號應(yīng)答時(如從機正在進行實時性的處理工作而無法接收總線上的數(shù)據(jù)),數(shù)據(jù)線必須置于高電平,由主機產(chǎn)生一個終止信號以結(jié)束總線的數(shù)據(jù)傳送。若從機對主機進行了應(yīng)答,但在數(shù)據(jù)傳送一段時間后無法繼續(xù)接收更多的數(shù)據(jù)時,從機可以通過對無法接收的第一個數(shù)據(jù)字節(jié)進行“非應(yīng)答”通知主機,主機則會發(fā)出終止信號以結(jié)束數(shù)據(jù)的傳送[12]。當(dāng)主機接收數(shù)據(jù)時,它收到最后一個數(shù)據(jù)字節(jié)后,必須向從機發(fā)出一個結(jié)束傳送的信號。這個信號是由對從機的“非應(yīng)答”來實現(xiàn)的。然后,從機釋放SDA線,以允許主機產(chǎn)生終止信號。(2) 數(shù)據(jù)幀格式I2C總線上傳送的信號既包括地址信號,又包括的數(shù)據(jù)信號,在起始信號后必須傳送一個7位的從機的地址,第8位是數(shù)據(jù)的傳送方向位(R/T),主機發(fā)送數(shù)據(jù)時該位為“0”,主機接收數(shù)據(jù)時該位為“1”。每次數(shù)據(jù)傳送結(jié)束由主機產(chǎn)生的終止信號結(jié)束,但是,假如主機希望繼續(xù)占用總線進行新的數(shù)據(jù)傳送,則可以不發(fā)出終止信號,可以立即再次發(fā)出起始信號對另一從機進行尋址,繼續(xù)操作。 主機發(fā)送地址時,總線上的每個從機都將這7位地址碼與自己的地址進行比較,如果相同,則從機就認(rèn)為自己正被主機尋址,根據(jù)R/T位的值的情況,決定將自己確定為發(fā)送器或接收器[13]。從機的地址由固定部分和可編程部分組成,在一個系統(tǒng)中可能希望接入多個相同的從機,從機地址中可編程部分決定了可接入總線該類器件的最大數(shù)量。一個從機的7位地址有4位是固定地址位,3位是可編程地址位,這時僅能尋址8個同樣的器件,即可以有8個這樣的器件接入到該I2C總線系統(tǒng)中進行通信。 存儲器AT24C02 AT24C02的簡介AT24C02是一個2k位串行CMOS E2PROM,其內(nèi)部含有256個8位字節(jié),該芯片功耗較低[14]。AT24C02有四位固定地址,三位可編程地址,通過I2C總線接口進行操作,與其他器件進行通信,該芯片具有專門的寫保護功能。 AT24C02的管腳功能。A0A1A2GNDVCCWPSCLSDA12348765 AT24C02的引腳圖SCL:串行時鐘口。AT24C02的串行時鐘輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘信號,這是一個輸入管腳。SDA:串行數(shù)據(jù)/地址口。雙向串行數(shù)據(jù)/地址管腳,用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA是一個開漏輸出的管腳,可與其它開漏輸出或集電極開路輸出進行線“與”。A0、AA2:器件的地址輸入端。這些管腳為硬連線或者不連接,屬于器件的可編程地址選擇端,不接默認(rèn)為0。WP:寫保護端口。當(dāng)WP腳連接到VCC時,所有內(nèi)存變成寫保護,只能讀不能寫;當(dāng)WP引腳連接到GND或懸空時,允許器件進行讀或者寫操作[15]。 AT24C02外圍電路和與單片機的連線。 AT24C02外圍電路和與單片機;;WP接地;將A0、A1和A2接地,可編程地址為000,器件地址為1010000。 4 軟件設(shè)計軟件部分采用單片機C語言編程,程序中主要運用了中斷,SPI三線通信協(xié)議,I2C總線通信協(xié)議的知識,來實現(xiàn)要達到的功能,當(dāng)然必不可少的運用了最基本利用軟件對單片機的I/O口輸入輸出的控制。結(jié)合軟件流程圖對軟件部分進行一下詳盡的介紹,完整的程序清單請見附錄C。 主程序流程圖。開始初始化檢測參數(shù)存儲并顯示有無險情?聲光報警檢測調(diào)用存儲按鍵檢測修改日歷按鍵調(diào)用按鍵?日歷按鍵?修改日歷時間調(diào)用存儲數(shù)據(jù)顯示示YNYNYN 軟件主程序流程圖本設(shè)計中程序開始后執(zhí)行初始化子程序,初始化子程序?qū)︼@示的初始化和初始顯示進行了定義。接著進入大循環(huán)。循環(huán)開始,進行修改日歷顯示時間設(shè)置按鍵的檢測,若有按下按鍵,跳到日歷顯示時間設(shè)置子程序,相反沒有話繼續(xù)向下運行,進行檢測參數(shù),檢測完畢后判斷有無險情,有險情則跳至報警子程序,并存儲當(dāng)時時間和參數(shù)情況并顯示出來,若無險情,直接保存時間和參數(shù),并顯示。掃描到檢測調(diào)用程序按鍵,若檢測有按鍵,則進行調(diào)用時間設(shè)置,設(shè)置到什么時間,將把這個時間保存的參數(shù)顯示到顯示器上,若沒有按鍵,則轉(zhuǎn)入循環(huán)的開始。 子程序流程圖下面將介紹部分重要的子程序流程圖設(shè)計及部分程序。 修改日歷子程序。開始bb等于6?日歷時間設(shè)置設(shè)置完成并顯示結(jié)束bb自加1bb置0NYDD1是否按下?YN 修改日歷子程序流程圖用掃描方式檢測按鍵,子程序開始時對按鍵DD1進行檢測,若有按鍵,讓bb自加1,并進行日歷時間設(shè)置,直到bb值為6時,將bb置0將bb復(fù)位,表示完成設(shè)置。設(shè)置一旦完成,將按設(shè)定的顯示時間并顯示。 參數(shù)檢測子程序。開始選通A1區(qū),P0口高四位值送tem0tem0左移,進位位值送j,i自加1i是否小于4?k自加1將k的值給value1選通A2區(qū),P0口高四位值送tem1tem1左移,進位位值送j1,i1自加1i1是否小于4?k1自加1將k1的值給value2結(jié)束YNNY 檢測參數(shù)子程序流程圖程序開始時選通區(qū)域A1,將P0口高四位的值送給tem0,將tem0進行四次左移,每次左移時的進位位要是為1,則將k自加1(k的初始值為零),最終將k的值送給value1,value1里面的值表示A1區(qū)內(nèi)險情的個數(shù)。A1區(qū)域的操作完成后,進行對A2區(qū)域的操作。選通A2區(qū)域,將P0口高四位的值送給tem1,將tem1進行四次左移,每次左移時的進位位要是為1則將k1自加1(k1的初始值為零),最終將k1的值送給value2,value2里面的值表示A2區(qū)內(nèi)險情的個數(shù)。下面將結(jié)合程序?qū)υ摬糠值能浖崿F(xiàn)進行說明。void jcc(){ uchar i,j,k,i1,j
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1