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

正文內(nèi)容

基于單片機紅外遙控防盜密碼鎖的設(shè)計(編輯修改稿)

2025-07-03 22:49 本頁面
 

【文章內(nèi)容簡介】 osc2:內(nèi)部振蕩外接位;VT:有效傳輸確認;VCC:電源正極;Vss:電源負極;由于PT2262必須與解碼芯片PT2272配對使用,而市場上大量的PT2272都是4個數(shù)據(jù)位的,所以我們選用4個數(shù)據(jù)位的設(shè)計。PT2272的操作流程:圖36 PT2272上電工作流程圖上電后PT2272進入待機模式,檢查是否有接收信號,如無接收信號,仍停留在待機狀態(tài)。否則在收到信號后,進行接收,碼地址與設(shè)置的碼地址進行比較。當接收地址與設(shè)置地址相互匹配時,數(shù)據(jù)存于寄存器中。當檢查到連續(xù)兩幀的碼地址都匹配,且數(shù)據(jù)都一致時,相應的數(shù)據(jù)輸出端有輸出,并且驅(qū)動VT輸出。當聯(lián)系兩幀的碼地址不匹配時,VT不會被驅(qū)動,對于瞬態(tài)輸出型來說,輸出數(shù)據(jù)復位,而對鎖存型的輸出,則輸出數(shù)據(jù)維持。 密碼存儲部分的電路設(shè)計為了保存用戶設(shè)置的密碼,該系統(tǒng)使用AT24C04用來保存用戶設(shè)置的密碼,電路原理圖如圖37所示。該電路要注意的是SCL、SDA必須加上一上拉電阻,阻值為10k。圖37 AT24C04電路原理圖紅外遙控器(鑰匙)的用戶名(鑰匙身份)和密碼存放在AT24C02中,當需要更改或讀取用戶名和密碼時,只需對AT24C02里的數(shù)據(jù)更改或讀取。AT24C02芯片介紹:(1)在介紹AT24C02前,先介紹一下I2C總線。I2C總線使用兩根信號線來進行數(shù)據(jù)傳輸,一根是串行數(shù)據(jù)線(SDA),另一根是串行時鐘線(SCL)。它允許若干兼容器件共享總線??偩€上所有器件要依靠SDA發(fā)送的地址信號尋址,不需要片選線。任何時刻總線只能由一個主器件控制,各從器件在總線空閑時啟動數(shù)據(jù)傳送,由I2C總線仲裁來決定哪個主器件控制總線。I2C總線數(shù)據(jù)傳輸?shù)淖罡咚俾蕿?00kbps,標準速率為100kbps。SDA與SCL為雙向I/O線,都是開漏極端(輸出1時,為高阻抗狀態(tài))。因此I2C總線上的所有設(shè)備的SDA、SCL引腳都要外接上拉電阻。I2C總線的協(xié)議如下:a) 只有在總線非忙時才被允許進行數(shù)據(jù)傳送。b) 在數(shù)據(jù)傳送時,當時鐘線為高電平,數(shù)據(jù)線必須為固定狀態(tài),不允許有跳變。時鐘線為高電平時,數(shù)據(jù)線的任何電平變化將被當作總線的啟動或停止條件。(2)AT24C02芯片介紹。AT24C02是美國ATMEL公司生產(chǎn)的I2C串行E2PROM。它為可用電擦除、可編程只讀存儲器,自定時寫周期,包括自動擦除時間不超過10ms,典型時間為5ms。,可擦寫100萬次,數(shù)據(jù)保存可長達100年,提供8腳DIP和SOIC封裝。AT24C02允許在一個寫周期內(nèi)同時對1字節(jié)到1頁的若干字節(jié)進行編程寫入,一頁的大小取決于芯片內(nèi)寄存器的大小。:WP:寫保護。將該管腳接VCC,E2PROM就實現(xiàn)寫保護(只讀)。將該管腳接地或懸空,可以對器件進行讀寫操作。SCL:串行時鐘腳串行輸入輸出數(shù)據(jù)時,該腳用于輸入時鐘。SDA:串行數(shù)據(jù)/地址輸入腳雙向串行數(shù)據(jù)/地址腳,用來輸入輸出數(shù)據(jù)。該腳為射(漏)極開路輸出,需接上拉電阻。A0A1A2:片選或頁選地址輸入。用于芯片尋址。AT24C02內(nèi)部無連接。:主器件在發(fā)送啟動命令后開始傳送,主器件發(fā)送相應的從器件的地址,8位從器件地址的高4位固定為1010。接下來的3位(見圖38)用來定義存儲器的地址,對于AT24C02位無意義。最后一位為讀寫控制位?!?”表示讀操作,“0”表示寫操作。1010XXXR/W圖38 AT24C02從器件尋址每次數(shù)據(jù)傳送成功后,接收器件發(fā)送一個應答信號。當?shù)诰艂€時鐘信號產(chǎn)生時,接收器件將SDA下拉為低,通知已經(jīng)接收到8位數(shù)據(jù)。 報警電路設(shè)計本系統(tǒng)設(shè)計時考慮到防盜而設(shè)計了報警電路,由蜂鳴器發(fā)聲進行報警,通過PNP型三極管做電流放大,因此可以通過單片機控制蜂鳴器的頻率及蜂鳴時間。當輸入錯誤的密碼進行開鎖時,系統(tǒng)會報警,蜂鳴器兩端加電,由蜂鳴器發(fā)出1秒的報警聲,當連續(xù)三次出現(xiàn)密碼錯誤時,則系統(tǒng)會長時間報警,此舉為了防止別人非法試探開鎖。 本機處理與遙控處理功能選擇本系統(tǒng)設(shè)計了一個自鎖按鍵用來選擇本機處理或者遙控處理,在設(shè)置密碼時一定要處于本機處理狀態(tài)下,而開鎖則可以選擇遙控開鎖也可以選擇本機開鎖,當此按鍵按下時,紅燈亮表示選擇了本機處理,此時可以設(shè)置密碼,修改密碼,也可以本機開鎖,而不能遙控開鎖;當此開關(guān)沒按下時,紅燈滅選擇遙控開鎖,此時可以通過遙控器輸入密碼進行開鎖,在遙控開鎖時不能進行本機開鎖以及設(shè)置密碼。 4 系統(tǒng)軟件設(shè)計軟件是整個控制系統(tǒng)設(shè)計的核心,它具有充分的靈活性,可以根據(jù)系統(tǒng)的要求而變化。在硬件結(jié)構(gòu)一定的情況下,只要改變軟件就能實現(xiàn)一些不同的功能。單片機所具有的智能功能要由軟件來完成。在本系統(tǒng)中,軟件結(jié)構(gòu)采用模塊化設(shè)計方法,將遙控接收器所要完成的功能分別編寫和調(diào)試。所有模塊調(diào)試成功以后,將各個模塊連接構(gòu)成單片機軟件系統(tǒng)。這樣的設(shè)計有利于程序代碼的優(yōu)化,而且便于設(shè)計、調(diào)試和維護。對于51系列單片機,現(xiàn)有四種語言支持,即匯編、PL/M,C和BASIC。BASIC通常附在PC機上,是初學編程的第一種語言。一個新變量名定義之后可在程序中作變量使用,非常易學,根據(jù)解釋的行可以找到錯誤而不是當程序執(zhí)行完才能顯現(xiàn)出來。BASIC由于逐行解釋自然很慢,每一行必須在執(zhí)行時轉(zhuǎn)換成機器代碼,需要花費許多時間不能做到實時性。BASIC為簡化使用變量,所有變量都用浮點值。BASIC是用于要求編程簡單而對編程效率和運行速度要求不高的場合。當前已經(jīng)很少用到此語言了。PL/M是Intel從8080微處理器開始為其系列產(chǎn)品開發(fā)的編程語言。它很像PASCAL,是一種結(jié)構(gòu)化語言,但它使用關(guān)鍵字去定義結(jié)構(gòu)。PL/M編譯器好像匯編器一樣可產(chǎn)生緊湊代碼。PL/M總的來說是高級匯編語言可詳細控制著代碼的生成。但對51系列,PL/M不支持復雜的算術(shù)運算、浮點變量而無豐富的庫函數(shù)支持。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。C可以進行許多機器級函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點:對單片機的指令系統(tǒng)不要求了解,僅要求對51的存儲器結(jié)構(gòu)有初步了解,寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調(diào)試時間顯著縮短,從而提高效率。提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能將己編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術(shù)C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機的不同較快地移植過來。51的匯編語臺非常像其他匯編語臺,簡單實用。指令系統(tǒng)比第一代微處理器要強些。51的不同存儲區(qū)域使得其復雜一些。但是利用匯編語言指令就可以充分利用片內(nèi)RAM資源,充分利用單片機內(nèi)部的一些特殊規(guī)定,充分利用單片機的一切資源,因而單片機資源的利用效率高。同時匯編語言是最接近機器語言的,因而代碼的執(zhí)行效率高。在本系統(tǒng)中,由于單片機內(nèi)部的運算量不大,而匯編語言簡單,執(zhí)行效率高,己經(jīng)能夠滿足系統(tǒng)需求,所以選擇匯編語來編寫相應代碼。 應用軟件設(shè)計原則應用系統(tǒng)中的應用軟件是根據(jù)系統(tǒng)功能要求設(shè)計的,應可靠實現(xiàn)系統(tǒng)的各種功能。在本系統(tǒng)中,軟件設(shè)計要力求做到以下幾點:1) 軟件結(jié)構(gòu)清晰,簡捷,流程合理。2) 各功能程序?qū)崿F(xiàn)模塊化,子程序化。這樣,即便于調(diào)試,鏈接,又便于移植,修改。3) 程序存儲區(qū),數(shù)據(jù)存儲區(qū)要合理規(guī)劃,既能節(jié)約內(nèi)存容量,又使操作方便。4) 運行狀態(tài)實現(xiàn)標志化管理。各個功能程序運行狀態(tài),運行結(jié)果以及運行要 求都要設(shè)置狀態(tài)標志以便查詢,程序的轉(zhuǎn)移,運行,控制都可通過狀態(tài)標志條件來控制。5) 經(jīng)過調(diào)試修改后的程序應進行規(guī)范化,除去修改的痕跡,以便于交流和借鑒,也為以后的軟件模塊化,標準化打下基礎(chǔ)。6) 實現(xiàn)全面軟件抗干擾設(shè)計。軟件抗干擾是單片機應用系統(tǒng)提高可靠性的 有利措施。具體的軟件抗干擾方法,將在第四章中介紹。下面幾節(jié)將詳細介紹各個模塊要實現(xiàn)的功能以及實現(xiàn)方法。 遙控接收程序遙控接收子程序要完成的功能就是不斷地掃描解碼芯片的地址位,接收解碼芯片的數(shù)據(jù)位和有效傳輸確認位,判斷出遙控器上發(fā)射過來的相應鍵值。由于解碼芯片的地址位在默認情況下是接地的,對于遙控器上連接在編碼芯片的數(shù)據(jù)位上的鍵值,只要置高,那么相應的解碼芯片對應的數(shù)據(jù)位也會為高,遙控接收子程序可以直接接收判斷,不需要再對地址位置位。本系統(tǒng)中值為3,6,9,的鍵值就是直接接收。對于余下的8個連接在編碼芯片地址位的鍵值,當遙控器上的鍵按下后,遙控接收子程序就不斷地循環(huán)置地址位為高,然后通過解碼芯片的有效傳輸確認位來確認是不是相應編碼芯片的地址位也為高。有效傳輸確認位輸出高電平則編碼芯片的相應地址位為高,記下相應地址位,推出遙控器上的鍵值。地址位與單片機之間加入三極管PNP8550進行隔離和驅(qū)動。有效傳輸確認位與單片機之間加入三極管NPN8050進行隔離和驅(qū)動。所以當單片機的控制腳RA1,RA2,??,RA8為低時,解碼芯片相應地址位為高。當?shù)絹恚詥纹瑱C讀取數(shù)據(jù)位數(shù)據(jù)可以延遲一定的時間。因而遙控接收子程序中可以先處理地址位然后處理數(shù)據(jù)位數(shù)據(jù),不會出現(xiàn)數(shù)據(jù)丟失。一位地址位最多需要等待30ms以確定是否有值,8位最多等待8x30ms=240ms,然后接收數(shù)據(jù)位數(shù)據(jù),不會給用戶造成反應遲鈍的感覺,符合用戶要求。 I2C通訊子程序如前說述,(串行時鐘線)和SDA(串行數(shù)據(jù)線)來實現(xiàn)與EEPROM 24WC02IT通訊。EEPROM 24WC02的器件地址為AOH。1.寫操作(1)節(jié)寫在字節(jié)寫模式下,主器件發(fā)送起始命令和從器件地址信息(R/W位置零)給從器件,在從器件產(chǎn)生應答信號后,主器件發(fā)送AT24WC02的字節(jié)地址,主器件在收到從器件的另一個應答信號后,再發(fā)送數(shù)據(jù)到被尋址的存儲單元。AT24WC02再次應答。并在主器件產(chǎn)生停止信號后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中,AT24WC02不再應答主器件的任何請求。(2)頁寫用頁寫AT24WC02可以一次寫入16個字節(jié)的數(shù)據(jù)。頁寫操作的啟動和字節(jié)寫一樣。不同在于傳送了一字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號。主器件被允許發(fā)送15個額外的字節(jié)。每發(fā)送一個字節(jié)數(shù)據(jù)后AT24WC02產(chǎn)生一個應答位并將字節(jié)地址低位加1,高位保持不變。如果在發(fā)送停止信號之前主器件發(fā)送超過16個字節(jié),地址計數(shù)器將自動翻轉(zhuǎn),先前寫入的數(shù)據(jù)被覆蓋。接收到16字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號后,AT24WC02啟動內(nèi)部寫周期將數(shù)據(jù)寫到數(shù)據(jù)區(qū)。所有接收的數(shù)據(jù)在一個寫周期內(nèi)寫入AT24WC02。(3)應答查詢可以利用內(nèi)部寫周期時禁止數(shù)據(jù)輸入這一特性。一旦主器件發(fā)送停止位指示主器件操作結(jié)束時,AT24WC02啟動內(nèi)部寫周期,應答查詢立即啟動,包括發(fā)送一個起始信號和進行寫操作的從器件地址。如果AT24WC02正在進行內(nèi)部寫操作,不會發(fā)送應答信號。如果A39。T24WC02己經(jīng)完成了內(nèi)部自寫周期,將發(fā)送一個應答信號主器件可以繼續(xù)進行下一次讀寫操作。(4)寫保護寫保護操作特性可使用戶避免由于不當操作而造成對存儲區(qū)域內(nèi)部數(shù)據(jù)的改寫。當WP管腳接高時,整個寄存器區(qū)全部被保護起來而變?yōu)橹豢勺x取。AT24WC02可以接收從器件地址和字節(jié)地址。但是裝置在接收到第一個數(shù)據(jù)字節(jié)后不發(fā)送應答信號從而避免寄存器區(qū)域被編程改寫。對AT24WC02讀操作的初始化方式和寫操作時一樣,僅把R/W位置為1,有三種不同的讀操作方式:立即地址讀,選擇讀和連續(xù)讀。(1)立即地址讀AT24WC02的地址計數(shù)器內(nèi)容為最后操作字節(jié)的地址加1。也就是說,如果上次讀/寫的操作地址為N,則立即讀的地址從地址N+1開始。如果N=E(對24WC02E=255)則計數(shù)器將翻轉(zhuǎn)到0且繼續(xù)輸出數(shù)據(jù)AT24WC02接收到從器件地址信號后(R/W位置1),它首先發(fā)送一個應答信號,然后發(fā)送一個8位字節(jié)數(shù)據(jù)。主器件不需發(fā)送一個應答信號,但要產(chǎn)生一個停止信號。(2)選擇性讀選擇性讀操作允許主器件對寄存器的任意字節(jié)進行讀操作。主器件首先通過發(fā)送起始信號,從器件地址和它想讀取的字節(jié)數(shù)據(jù)的地址執(zhí)行一個偽寫操作。在AT24WC02應答之后,主器件重新發(fā)送起始信號和從器件地址,此時R/W位置1,AT24WC02響應并發(fā)送應答信號,然后輸出所要求的一個8位字節(jié)數(shù)據(jù),主器件不發(fā)送應答信號但產(chǎn)生一個停止信號。(3)連續(xù)讀操作連續(xù)讀操作可通過立即讀或選擇性讀操作啟動。在AT24WC02發(fā)送完一個8位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個應答信號來響應,告知AT24WC02主器件要求更多的數(shù)據(jù),對應每個主機產(chǎn)生的應答信號AT24WC02將發(fā)送一個8位數(shù)據(jù)字節(jié)。當主器件不發(fā)送應答信號而發(fā)送停止位時結(jié)束此操作。AT24WC02輸出的數(shù)據(jù)按順序由N到N+l輸出。讀操作時地址計數(shù)器在AT24WC02整個地址內(nèi)增加。這樣整個寄存器區(qū)域在可在一個讀操作內(nèi)全部讀出。當讀取的字節(jié)超255,計數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。 系統(tǒng)程序系統(tǒng)上電后首先完成初始化工作,然后按照事先設(shè)定好的程序執(zhí)行。本系統(tǒng)程序是基于單任務(wù)機制的。這種機制的應用程序是一個無限的循環(huán),在這循環(huán)的過程中調(diào)用相應的子程序函數(shù)來完成相應的操作。這種機制具有簡單直觀,易于控制的優(yōu)點。程序中有以下一些設(shè)定:設(shè)定用戶
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1