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

正文內(nèi)容

課程設(shè)計(jì)-基于at89s52單片機(jī)的液晶顯示電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)-在線瀏覽

2025-01-17 09:49本頁面
  

【正文】 L 邏輯電平。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。晶振工作時(shí), RST 腳持續(xù) 2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能無效。 EA/VPP:訪問外 部程序存儲(chǔ)器控制信號(hào)。為了執(zhí)行內(nèi)部程序指令, EA 應(yīng)該接 VCC。 ALE/PROG:地址鎖存控制信號(hào) (ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。當(dāng) AT89S52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí), PSEN 在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí), PSEN 將不被激活。 XTAL2:振蕩器反相放大器的輸出端。 AT89S52 有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以 64K 尋址。對(duì)于 AT89S52,如果 EA 接 VCC,程序讀寫先從內(nèi)部存儲(chǔ)器 (地址為 0000H~ 1FFFH)開始,接著從外部尋址,尋址地址為: 2020H~FFFFH。高 128 字節(jié) 與特殊功能寄存器重疊。當(dāng)一條指令訪問高于 7FH 的地址時(shí),尋址方式?jīng)Q定 CPU訪問高 128 字節(jié) RAM 還是特殊功能寄存器空間。所以, HD44780 主要適用于顯示西文 ASCII 字符內(nèi)容的液晶顯示 。其內(nèi)置 192 種字符 (160 個(gè) 5*7 點(diǎn)陣字符和 32個(gè) 5*10 點(diǎn)陣字符 ),具有 64 個(gè)字節(jié)的自定義字符 RAM,可自定義 8 個(gè) 5*8 點(diǎn)陣字符或 4 個(gè) 5*11 點(diǎn)陣字符。本設(shè)計(jì)中采用帶背光 16 引腳線 的。 芯片工作電壓: 。 模塊最佳工作電壓: 。 LCD1602 的 16 個(gè)引腳可參照?qǐng)D 33,其引腳功能分別為: VSS:電源地 (GND)。 V0: LCD 驅(qū)動(dòng)電壓,液晶顯示器對(duì)比度調(diào)整端。 RS:寄存器選擇輸入端,選擇模塊內(nèi)部寄存器類型信號(hào)。 RS=1,無論進(jìn)行讀操作還是寫操作均指向數(shù)據(jù)寄存器。 R/W=0,讀操作; R/W=1,寫操作。 E:使能信號(hào)輸入端。選擇 4 位方式通訊時(shí),不使用 DB0~DB3。 BLK:背光的負(fù)端 0V。 1602 本身內(nèi)置各種字符,還可以自定義顯示字符。 圖 33 LCD1602 引腳圖 圖 35 液晶顯示電路圖 6 ~ 接 1602 控制端,其中 接使能端 E,寫操作時(shí),使能端下降沿有效。 接寄存器選擇端 RS, RS=0,寫操作時(shí)指向指令寄存器,讀操作時(shí)指向地址寄存器; RS=1,無論讀操作還是寫 操作都指向數(shù)據(jù)寄存器。背光電源線 LCD 正負(fù)兩端分別接電源和地即可。程序設(shè)定為每當(dāng)識(shí)別到有一位按鍵被按下時(shí),蜂鳴器發(fā)聲 ;開鎖時(shí)停頓 2S 發(fā)聲 2S,發(fā)聲 3 次;密碼錯(cuò)誤時(shí)每次停頓 發(fā)聲 1S,錯(cuò)誤 5 次以內(nèi)時(shí)錯(cuò) N 次發(fā) N 聲,錯(cuò)誤 5 次及以上發(fā)聲 10 次。其發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它。本設(shè)計(jì)中使用三極管 9012, 口高電平時(shí)三極管截至,蜂鳴器不發(fā)聲; 口低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。 開鎖控制電路 開鎖控制電路如 圖 37,電路的功能就是在輸入正確的密碼后開鎖。設(shè)計(jì)中用一個(gè)發(fā)光二極管模擬表現(xiàn)鎖的開關(guān),只有鎖打開之后,繼電器吸合至常開觸電,發(fā)光二極管才會(huì)亮起;實(shí)際應(yīng)用中用繼電器控制開鎖電路的開關(guān)。繼電器便能完成這一橋梁作用。在大多數(shù)情況下,繼電器就是一個(gè)電磁鐵,這個(gè)電磁鐵的銜鐵可以閉合或斷開一個(gè)、數(shù)個(gè)觸點(diǎn)。 AT24C02 簡介 AT24C02是美國 Atmel公司的低功耗 CMOS型 E2PROM,內(nèi)含 256*8位存儲(chǔ)空間,具有工作電壓寬 (~),擦寫次數(shù)多 (大于 10000 次 ),寫入速度快 (小于 10ms),抗干擾能力強(qiáng),數(shù)據(jù)不易丟失,體積小等特點(diǎn)。 AT24C02 有一個(gè) 16字節(jié)頁寫緩沖器,該器件通過 I2C 總線接口進(jìn)行操作,還有一個(gè)專門的寫保護(hù)功能。 SDA:雙向串行數(shù)據(jù) /地址管腳,用于器件所有數(shù)據(jù)的發(fā)送或接收。這些輸入腳用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)值為 0。 WP:寫保護(hù)。當(dāng) WP 管腳連接到 Vss 或懸空,允許器件進(jìn)行正常的讀 /寫操作。 AT24C02 只需要串行時(shí)鐘 SCL引腳接 ,串行數(shù)據(jù) /地址 SDA 引腳接 ,即可完成數(shù)據(jù)和指令的傳送,比起并 行傳輸節(jié)省 I/O 口資源。寫保護(hù) WP 接地,使 AT24C02可進(jìn)行正常讀寫。這樣即便單片機(jī)掉電,重啟后仍能讀取用戶密碼,從而達(dá)到掉電存儲(chǔ)的目的。在按鍵未被按下時(shí),每一條行線與線列線的交叉處互不相通,當(dāng)某個(gè)按鍵被按下后,該按鍵所在 的行線和列線連通。通過行列掃描檢測出這兩位,即可識(shí)別出被按下的鍵。 系統(tǒng)具體使用的鍵盤是一體式薄膜鍵盤,更輕薄更便捷,有印刷字符,無需連接上拉電阻。然后進(jìn)行列掃描,同理可識(shí)別出按鍵所在列。 手動(dòng)復(fù)位電路 為確保系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分。如果復(fù)位電路可靠性較差,將直接影響到整個(gè)單片機(jī)系統(tǒng)工作的穩(wěn)定性,造成系統(tǒng)調(diào)試成功后出現(xiàn)死機(jī)或“程序跑飛”等現(xiàn)象。完成復(fù)位操作共需 24 個(gè)狀態(tài)周期,復(fù)位結(jié)束后,單片機(jī)從地址 0000H 開始執(zhí)行程序。 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng) 電源 穩(wěn)定后,撤銷復(fù)位信號(hào)。圖 316 所示的復(fù)位電路可以基本實(shí)現(xiàn)上述功能,該電路在最基 本的復(fù)位電路基礎(chǔ)上增加了一個(gè)手動(dòng)復(fù)位開關(guān),當(dāng)人為按下按鈕時(shí),則 Vcc 的高電平就會(huì)直接加到 RST 端。 晶振電路 單片機(jī)本身是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),必須提供時(shí)鐘信號(hào),以使其系統(tǒng)在時(shí)鐘信號(hào)的控制下按時(shí)序協(xié)調(diào)工作。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時(shí)鐘信號(hào)。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬分之五十,高級(jí)的精度更高。 如圖 317 所示, AT89S52 芯片中的高增益反向放大器輸入端為引腳 XTAL1,輸出端引腳為 XTAL2。這兩個(gè)電容叫晶振的負(fù)載電容,它是根據(jù)晶振廠家提供的晶振要求負(fù)載電容選值的;換句話說,晶振的頻率就是在它提供的負(fù)載電容下測得的,能最大限度的保證頻率值的誤差,也能保證溫漂等誤差。設(shè)計(jì)方法是先用文本編輯器編寫源碼,然后用軟件 Keil C51 編譯,如果沒有錯(cuò)誤,可連接生成 .HEX格式的文件 (需事先在 Keil C51 中設(shè)置 )。當(dāng)然也可以直接在 Keil中編碼。 HEX 文件經(jīng)常被用于將程序或數(shù)據(jù)傳輸存儲(chǔ)到 ROM、 EPROM,大多數(shù)編程器和模圖 316 手動(dòng)復(fù)位電路圖 圖 317 晶振電路圖 9 擬器使用 HEX 文件。燒寫需要的設(shè)備是燒寫器和配套軟件 Superpro280,將單片機(jī)引腳放入燒寫器并卡緊,打開燒寫器,打開軟件,選定單片機(jī)的型號(hào), AT89S52。完成后校驗(yàn),無誤 后即可關(guān)掉燒寫器,取下單片機(jī)。由于用戶在使用系統(tǒng)的過程中,可能在任何時(shí)刻按下任何按鍵,而程序都必須對(duì)此作出正確響應(yīng)。 初始化及按鍵識(shí)別 如圖 42,系統(tǒng)的初始化包括堆棧起始地址的設(shè)定,兩個(gè)定時(shí) /計(jì)數(shù)器的設(shè)定,液晶顯示模式的設(shè)定,密碼緩沖區(qū)的初始化,一些自定義數(shù)據(jù)空間的初始化,蜂鳴器初始化發(fā)聲等操作。 系統(tǒng)初始化并讀取密碼完成后,液晶顯示 Password:,提示用戶可以輸入密碼。如果有,則進(jìn)行按鍵識(shí)別;行列掃描法識(shí)別出的鍵位與對(duì)應(yīng) BUFF 的值如表 41 所示。實(shí)際程序運(yùn)行時(shí),絕大部分時(shí)間都在測試按鍵,等待用戶輸入。根據(jù)表 41 可知,識(shí)別出的按鍵排列不符合用戶使用習(xí)慣,也不利于程序的后續(xù)處理,需要重新定位。剩下的 6 個(gè)按鍵為功能按鍵,各鍵位對(duì)應(yīng)的功能設(shè)定如表 43。 程序開始時(shí),先驅(qū)動(dòng)蜂鳴器發(fā)聲 秒,提示用戶程序已經(jīng)檢測到剛才的按鍵。 如果 BUFF 的值是 0, 1, 2, 4, 5, 6, 8, 9, D 中的一個(gè),則按鍵是屬于數(shù)字鍵。然后程序跳轉(zhuǎn)至保存密碼部分,將數(shù)字密碼保存至密碼緩沖區(qū)。確認(rèn)鍵處理當(dāng)確認(rèn)鍵按下后的程序流程,開鎖鍵處理當(dāng)開鎖鍵按下后的準(zhǔn)備開鎖流程,改密處理當(dāng)確認(rèn)鍵按下后的預(yù)備修改密碼流程,稍后將分別詳細(xì)介紹。程序設(shè)置了一個(gè) 16 字節(jié)的密碼緩沖區(qū) (PS1~PS16)和一個(gè) 16字節(jié)緩沖區(qū)存儲(chǔ)正確的密碼 (AT1~AT16)。后面沒有輸入的位填充默認(rèn)值 0FFH。每輸入一位密碼,增加一位星號(hào),便于用戶直觀察覺已經(jīng)輸入的密碼位數(shù)。因?yàn)槊艽a超長并不涉及其他功能鍵,在保存密碼之 前可判斷當(dāng)前密碼的長度。此時(shí)清空密碼緩沖區(qū)所有密碼,等待重新輸入。輸入密碼完成后會(huì)按確認(rèn)鍵,但是輸入的密碼有三種情況:舊密碼,新密碼第一次,新密碼第二次,三種情況所做的操作也不一樣。如果 PS_NEW1被置 1,則表明輸入的密碼是新密碼第一次,需將緩沖區(qū) PS1~PS16 的信息轉(zhuǎn)存至 NEW1~NEW16,然后 PS_NEW1清 0, PS_NEW2 置 1,提示重新輸入新密碼第二次。 如果兩個(gè)標(biāo)志位均沒有被置 1,則沒有進(jìn)行改密操作,程序進(jìn)行密碼校驗(yàn),調(diào)用密碼校驗(yàn)子程序判斷輸入密碼是否正確。如果密碼錯(cuò)誤,系統(tǒng)也有聲光警示,此時(shí)無法進(jìn)行開鎖或改密操 作。以下幾個(gè)按鍵的處理程序段開頭也有類似的 BUFF 值檢測,不再做贅述。 開鎖鍵處理 該程序段是程序識(shí)別到開鎖鍵被按下后的流程,如圖 46 所示。如果 PSW_F=1,則前面輸入的密碼正確,可以開鎖。 開鎖過程就是將 口置 0,繼電器得到低電平就會(huì)自動(dòng)吸合,點(diǎn)亮發(fā)光二極管;可以配合液晶顯示器和蜂鳴器發(fā)聲,提示用戶鎖已被打開。 改密鍵處理 如圖 47,可以看出,改密鍵的處理流程跟開鎖鍵類似,都需檢查密碼正確的標(biāo)志位,只有 PSW_F 被置 1才可以進(jìn)行改密 。 校驗(yàn)新密碼 新密碼的校驗(yàn)用于當(dāng)新密碼第二次的標(biāo)志位 PS_NEW2=1 時(shí),按下確認(rèn)鍵后程序判定當(dāng)前新密碼已經(jīng)輸入兩次,繼而執(zhí)行新密碼校驗(yàn),即判斷兩次輸入的新密碼是否一致。然后查詢密碼正確標(biāo)志位 PSW_F,如果 PSW_F=1,則表明兩次輸入的新密碼一致,可以修改密碼,即可調(diào)用 AT24C02 寫子程序保存新密碼。 因?yàn)樾旅艽a寫入存儲(chǔ)器的過程可能發(fā)生異常,故寫入后馬上調(diào)用 AT24C02 讀子程序讀出密碼,然后調(diào)用密碼校驗(yàn)子程序進(jìn)行對(duì)比,即可判斷密碼是否被正確寫入。如果 PSW_F=0,則表明讀出的密碼跟要用戶準(zhǔn)備修改的密碼不一致,密碼修改異常。若仍然不一致,則只 能調(diào)用系統(tǒng)初試密碼,這個(gè)密碼是系統(tǒng)最初寫入單片機(jī) ROM 內(nèi)部的密碼,僅在 AT24C02 無法正常讀寫的時(shí)候啟用。盡管進(jìn)入子程序的前提條件是按鍵檢測子程序檢測到有按鍵被按下,但掃描前仍再次調(diào)用按鍵檢測子程序;因?yàn)槿藶榘存I的速度再快也會(huì)持續(xù)幾十毫秒,遠(yuǎn)遠(yuǎn)低于程序的處理速度,所以若是用戶正常按下按鍵,此處的按鍵檢測子程序仍可檢測到。 前面提到,薄膜按鍵沒有上拉電阻,掃描行列之前需先給行列寫 1。同理,在讀列線之前先給 P1口高 4 位送高電平,然后再讀出,低電平所在的列就是被按下的列。然后在列掃描時(shí)給 BUFF 加上按鍵所在列的值,分別加 00H, 01H, 02H, 03H。至于 BUFF 的重賦值,則在按鍵重定位中根據(jù)初值對(duì)應(yīng)修改。 每次更新顯示內(nèi)容前,需清顯示清空 LCD 原先的顯示內(nèi)容,清屏指令的指令碼為 01H,即將 P0口賦值 01H,然后寫入指令寄存器 IR。每次送一個(gè)字符的 ASCII 碼入 P0口,然后寫入數(shù)據(jù)寄存器 DR,最后將字符地址加一, LCD1602 會(huì)將寫入的 ASCII 碼對(duì)應(yīng)的字符依次顯示出來。 LCD 顯示的內(nèi)容在下次更新前會(huì)一直保持。 如圖 411 所示,單片機(jī)作為主器件,發(fā)送起始信號(hào)和要尋址的從器件的地址;因?yàn)榇藭r(shí)即隨后的發(fā)送讀取地址操作都是單片機(jī)往 AT24C02 寫入控制信息,所以 R/W 要置 0。 AT24C02 接收到信號(hào)后,發(fā)送應(yīng)答信號(hào)。再次接收到從器件的應(yīng)答信號(hào)后,單片機(jī)重新發(fā)送起始信號(hào)和讀模式信號(hào),將 R/W 位置 1,對(duì)應(yīng)代碼為 0A1H,正式開始讀取信息。當(dāng)單片 機(jī)不發(fā)送應(yīng)答信號(hào)而發(fā)送停止信號(hào)時(shí)表示讀取結(jié)束。單片機(jī)發(fā)送起始信號(hào),接著發(fā)送從器件 AT24C02所在地址 (0A0H)。對(duì)應(yīng)地址上的從器件 AT24C02 接收到地址信號(hào)后發(fā)送應(yīng)答信號(hào)。單片機(jī)再次接收到從器件的應(yīng)答信號(hào)后即可開始寫入信息。直到所有數(shù)據(jù)發(fā)送完畢,單片機(jī)發(fā)送停止信號(hào),結(jié)束寫操作。單片機(jī)系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,很多硬件錯(cuò)誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。所以硬件的調(diào)試是基礎(chǔ),如果硬件調(diào)試不 通過,軟件設(shè)計(jì)則是無從做起。首先應(yīng)該確認(rèn)電源電壓是否正常,用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓。分別測量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。另一個(gè)辦法是測量復(fù)位狀態(tài)下的 IO 口電平,按住復(fù)位鍵不放,然后測量 IO 口 (沒接外部上拉的 P0口除外 )的電壓,看是否是高電平,如果不是高電平,則多半 是因?yàn)榫д駴]有起振。如果系統(tǒng)運(yùn)行不穩(wěn)定的話,有時(shí)是因?yàn)殡娫礊V波不好導(dǎo)致的。如果電源沒有濾波電容的話,則需要再接一個(gè)更大濾波電容,例如 220uF 的。 系統(tǒng)的鍵盤輸入電路,蜂鳴器發(fā)聲電路, AT24C02 密碼存儲(chǔ)電路,繼電器開鎖電路,液晶顯示電路,這幾個(gè)部分在檢查硬件無誤后,需要結(jié)合軟件調(diào)試。如蜂鳴器發(fā)聲電路,可編寫程序控制單片機(jī) 口電平,上電運(yùn)行看是否正常發(fā)聲。如鍵盤輸入電路,需加上按鍵顯示程序顯示被按下按鍵的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1