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

正文內(nèi)容

基于c51多功能電子密碼鎖設(shè)計源程序代碼畢業(yè)設(shè)計-在線瀏覽

2025-05-01 09:06本頁面
  

【正文】 需要,具有一定的現(xiàn)實意義。用戶想要打開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖打開, 且 密碼輸入錯誤 時有提示,為了提高安全性,當密碼 連續(xù) 輸入錯誤三次將報警。修改之前必 須 先輸入管理員登錄密碼, 然后 再次輸入 舊 密碼,在輸入新密碼時需要二次確認,以防止誤操作。 2.基本要求: 硬件布局基本合理,焊接比較美觀,器件運用基本合理,用比較簡單的電路實現(xiàn)修改密碼 、 糾錯 、 確認等基本功能。 另外,可以用語音發(fā)聲芯片發(fā)出相應的提示信息 ,并用蜂鳴器 報警, 播放簡單的音樂段 。利用單片機靈活的編程設(shè)計和豐富的 I/O 端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能 ,以及一些擴展功能 。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS51 指令集和輸出管腳相兼容。 電子綜合設(shè)計與制作實踐 設(shè)計報告 6 ALE/PROG(Pin30):地址鎖存允許信號 PSEN(Pin29):外部存儲器讀選通信號 EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。 P0 口( Pin39~ Pin32): 8 位雙向 I/O 口線, 名稱為 ~ P1 口( Pin1~ Pin8): 8 位準雙向 I/O 口線,名稱為 ~ P2 口( Pin21~ Pin28): 8 位準雙向 I/O 口線,名稱為 ~ P3 口( Pin10~ Pin17): 8 位準雙向 I/O 口線,名稱為 ~ STC89C52 主要功能 如表 二 所示。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多 I/O 口。鍵盤的每個按鍵功能在程序設(shè)計 中設(shè)置。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。方法是:向行線輸出全掃描字 00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器 A 中。 判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。 電子綜合設(shè)計與制作實踐 設(shè)計報告 8 1 2 34 5 67 8 9刪除 確定開啟清零退出權(quán)限0/ 模式 圖 三 按鍵操作面板示意圖 (順序以實際電路為準) 10 個數(shù)字鍵用來輸入密碼, 0鍵有切換模式的功能, 另外 6個功能鍵分別是:權(quán)限鍵、退出鍵、清零鍵、開啟鍵 、刪除鍵、確定鍵 。 退出 鍵的功能是退出當前程序。 開啟 鍵的功能是 退出屏幕保護界面, 開啟LCD 顯示功能:未按下時 LCD 動態(tài)顯示屏保圖形 ,需要開鎖時按下此鍵, LCD 上會顯示“ Hello Enter your code”。 四. LCD 液晶顯示 為了提高 密碼鎖的密碼顯示效果能力。只有按下鍵盤上的開啟按鍵后,顯示器才處于開啟狀態(tài)。否則顯示器將一直處于 開啟 狀態(tài),當需要對密碼鎖進行開鎖時,按下鍵盤上的開 啟 按鍵后利用鍵盤上的數(shù)字鍵 0- 9 輸入密碼,每按下一個數(shù)字鍵后在顯示器上顯示一個 *,輸入多少位就顯示多少個 *(設(shè)定為 6 個) 。若連續(xù)三次密碼輸入錯誤,則密碼所被鎖定, LCD 上顯電子綜合設(shè)計與制作實踐 設(shè)計報告 9 示“ Please Wait? .”。若 輸入的密碼大于原密碼,則 LCD 上顯示“ Large”,若 輸入 的密碼小于原密碼, LCD上顯示“ Small”。其顯示部分引腳接口 如圖六所示: VSS1VDD2VL3RS4R/W5E6D07D18D29D310D411D512D613D714BLA15BLK16LCD1602*U1GNDGNDVCCVCCR110K 圖 四 顯示電路原理圖 五. ISD1760 語音提示 本設(shè)計采用 ISD760 單片 60秒高保真語音錄放電路進行語音操作, 實時提示當前狀態(tài)。語音電路如圖: Vccd1LED2RESET3MISO4MOSI5SCLK6SS7Vssa8Analn9MIC+10MIC11Vssp212SP13Vccp14SP+15Vssp116AUD/AUX17AGC18VOL19Rosc20Vcca21FT22PLAY23REC24ERASE25FWD26INT/RDY27Vssd28ISD1760*U310uFC4C5GNDC15C14GNDC1310uFC11GNDC1210uFC10GND揚聲器LS2*80KR9Res2C8C9LS1話筒R8Res2R7Res2R6Res2GNDGNDC7VCC1LED1KR5VCCkey19key20key22key18GNDGND+C16+1243S1SW DIP2key21C6VCCVCCVCC 圖五 語音電路原理圖 電子綜合設(shè)計與制作實踐 設(shè)計報告 10 六. 蜂鳴器發(fā)聲 報警模塊由蜂鳴器和單片機組成。蜂鳴器電路如圖七所示。 P101P112P123P134P145P156P167P178RST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20A8/P2021A9/P2122A10/P2223A11/P2324A12/P2425A13/P2526A14/P2627A15/P2728PSEN29ALE/PROG30EA/VPP31AD7/P0732AD6/P0633AD5/P0534AD4/P0435AD3/P0336AD2/P0237AD1/P0138AD0/P0039VCC40AT89C51*U210KR3Res2蜂鳴器U1*Q1NPNGNDVCC+ 圖 六 報警電路原理圖 電子綜合設(shè)計與制作實踐 設(shè)計報告 11 第三部分 軟件設(shè)計部分 一. 程序流程圖 屏保顯示,按下開啟鍵開啟模式簡單模式輸入密碼Y開鎖位數(shù)不夠提示重新輸入N報錯默認模式輸入密碼提示輸入 鎖已打開,播放開鎖音樂是否有權(quán)限修改密碼報錯Y N位數(shù)不夠鎖定,播放開鎖失敗音樂報錯三次返回主界面延時是否修改密碼輸入權(quán)限密碼提示輸入舊密碼提示密碼位數(shù)不夠報錯提示位數(shù)不夠輸入新密碼報錯提示密碼太簡單修改成功,播放密碼修改成功音樂返回主界面返回主界面Y NNYYN位數(shù)N確認新密碼密碼Y報錯鎖定,播放密碼修改失敗音樂報錯三次Y位數(shù)N按下 0 鍵播放門鈴音樂提示大小 位數(shù)不夠鎖定,播放密碼修改失敗音樂報錯三次報錯三次 圖七 程序流程圖 二.鍵盤掃描設(shè)計 鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應的子程序處理,處理結(jié)束再返回。 KeyPort=0xf0。 //去抖 if(KeyPort!=0xf0) { //表示有按鍵按下 KeyPort=0xfe。0xf0。 while(KeyPort!=0xfe)。 //去抖 while(KeyPort!=0xfe)。 } KeyPort=0xfd。0xf0。 while(KeyPort!=0xfd)。 //去抖 while(KeyPort!=0xfd)。 } KeyPort=0xfb。0xf0。 while(KeyPort!=0xfb)。 //去抖 while(KeyPort!=0xfb)。 } KeyPort=0xf7。0xf0。 while(KeyPort!=0xf7)。 //去抖 while(KeyPort!=0xf7)。 電子綜合設(shè)計與制作實踐 設(shè)計報告 13 } } } return 0xff。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。密碼在規(guī)定的時間內(nèi)輸入錯誤次數(shù)超過 3 次后的鎖定狀態(tài)顯示子程序,輸入 密碼錯誤的情況下清除密碼子程序等。 while(ms) { 電子綜合設(shè)計與制作實踐 設(shè)計報告 14 for(i = 0。 i++) { _nop_()。 _nop_()。 } } } bit lcd_bz() { // 測試 LCD 忙碌狀態(tài) bit result。 lcdrw = 1。 _nop_()。 _nop_()。 result = (bit)(P0 amp。 lcden = 0。 } void lcd_wcmd(uchar cmd) { // 寫入指令數(shù)據(jù)到 LCD while(lcd_bz())。 lcdrw = 0。 _nop_()。 P0 = cmd。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 lcden = 0。 } void lcd_wdat(uchar dat) { //寫入字符顯示數(shù)據(jù)到 LCD while(lcd_bz())。 lcdrw = 0。 P0 = dat。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 lcden = 0。 //16*2 顯示, 5*7 點陣, 8 位數(shù)據(jù) delay_gd(1)。 //顯示開,關(guān)光標 delay_gd(1)。 //移動光標 delay_gd(1)。 //清除 LCD 的顯示內(nèi)容 // delay_gd(1)。 lcd_init()。 delay_gd(10)。 //向右移動光標 lcd_pos(0)。 while(dis1[ i ] != 39。) { //顯示字符 CQ University lcd_wdat(dis1[ i ])。 temp=KeyPro()。 delay_gd(30)。 //控 制停留時間 lcd_wcmd(0x01)。 } 靜態(tài)顯示 主要程序 : void write_(uchar ) { P0=。 lcden=0。 lcden=1。 lcden=0。 rs=1。 delay(5)。 delay(5)。 } void init() { lcden=0。 delay(10)。 delay(10)。 delay(10)。 delay(10)。 TH1=(6553650000)/256。 EA=1。 TR1=1。 dat1=dat/10。 write_(0x80+0x40+0x06)。 write_date(0x30+dat2
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1