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

正文內(nèi)容

課程設(shè)計(論文)-基于單片機的電子密碼鎖設(shè)計-wenkub

2022-11-05 19:18:00 本頁面
 

【正文】 鎖,利用光電耦合或電磁感應(yīng)的原理,將密鑰信息預(yù)先置于卡片內(nèi),加工好的卡片充當(dāng)鑰匙,開鎖時將卡片插入鎖內(nèi)或近距離感應(yīng)就能將鎖打開。管理員利用采樣控制軟件,通過指紋采集儀采集、保存指紋;識別軟件依賴指紋庫識別開鎖者的身份,通過外圍設(shè)備顯示、打印和存儲?,F(xiàn)今,很多行業(yè)的許多地方都要用到密碼鎖,隨著人們生活水平的提高,如何實現(xiàn)家庭或公司的防盜這一問題也變的尤其突出,傳統(tǒng)的機械鎖由于其構(gòu)造簡單,被撬的事件屢見不鮮,再者,普通密碼鎖的密碼容易被多次試探而破譯,所以,考慮到單片機的優(yōu)越性,一種基于單片機的電子密碼鎖應(yīng)運而生。 目前使用的密碼鎖種類繁多,各具特色。 2. 系統(tǒng)總體方案設(shè)計 本次設(shè)計利用單片機中一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳 XTAL1和 XTAL2 分別是該放大器的輸入端和輸出端。如果使用石英晶體,最好電容使用 30pF177。 本方案采用一種是以 8052 為核心的單片機控制方案。 ( 3)輸入密碼過程中,如果輸入錯誤,可按“取消”鍵清除屏幕。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器??臻e模式下, CPU 停止工作,允許RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。 當(dāng)用做通用 I/O 口時,每個引腳可驅(qū)動 8 個 TTL 負載;當(dāng)用做輸入時,每個端口首先置 1。在進行編程校驗時,需外接 10KΩ 的上拉電阻。 和 引腳也用做定時器 2的外部計數(shù)輸入 ()和觸發(fā)器輸入 ()。對 P2口各位寫入 1,可作為輸入。當(dāng)用做輸入熟,要先將 P3 口各位置如外部負載將 P3 口拉低,則經(jīng)過上拉電阻向外輸出電流。 按鍵電路設(shè)計 由于設(shè)計要求使用矩陣鍵盤,所以本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的 I/O 線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。方法是:向行線輸出全掃描字 00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器 A中。 LED 顯示電路 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管, 八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“ 8”可分為 1 位、 2位、 4 位等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。反之,則不亮。 (2) 動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8個顯示筆劃的同名端“ a,b,c,d,e,f,g,dp”連在一起,另外為每個數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨立的 I/O 線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收 到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形取決于單片機對位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示字形,沒有選通的不會亮。電路原 理圖如圖 33 所示。具體電路圖如下圖 34所示。當(dāng)上電后,由于電容的緩慢充電,單片機的 9 腳電壓逐步由高向 低轉(zhuǎn)化,經(jīng)過一段時間后,9腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復(fù)位結(jié)束,系統(tǒng)程序從 0000H 開始執(zhí)行。根據(jù)獲取的鍵值編碼,選擇相應(yīng)的功能,驅(qū)動數(shù)碼管的指示燈顯示。當(dāng)程序中斷時,程序保存現(xiàn)場,并重裝 TH0、 TL0 的初值,然后判斷 showflag 是否為 1,如是則調(diào)用數(shù)碼管顯示函數(shù),最后中斷返回。 首先是 PCB 的問題。本次程序設(shè)計參考了許多實驗流程圖和代碼, 對于 一些函數(shù) 的 程序設(shè)計不是完全了解 ,導(dǎo)致調(diào)試時數(shù)碼管顯示不理想,經(jīng)過同學(xué)的指導(dǎo),我了解到主要的障礙是對 S52 單片機引腳分配理解不透徹,為此我又 重溫一遍單片機技術(shù),最后顯示問題得以解決。通過這次課程設(shè)計,可以很好的把理論知識與實際情況有機的聯(lián)系在一起,對以后的學(xué)習(xí)、工作很有幫助。 雖然這是我 第 二 次做課程設(shè)計, 但也 必然在設(shè)計與實施方面弊端, 具體 體現(xiàn)在獨自編程以及程序的調(diào)試上面,讓我們看到了與工程人員的差距。很顯然,任何的實踐活動,都不可能閉門造車,是必須去吸取前人的實踐經(jīng)驗,這就要求 在課程設(shè)計的過程中,從網(wǎng)絡(luò)上,從圖書館,借尋相關(guān)資料書籍等,有力地指導(dǎo)課程設(shè)計。這就要求在以后的大學(xué)時間里,要繼續(xù)鞏固相關(guān)的理論知識,繼續(xù)多動手操作,提高具體的實踐操作能力,為即將畢業(yè)謀求出路,做好充分的準(zhǔn)備。對于老師孜孜不倦的教會及指導(dǎo),讓我受益終生。通過這次訓(xùn)練,大大增進了我們合作能力。 //根據(jù)共陰極字型編碼表獲取自行代碼 void display()。 //字型碼緩沖區(qū) uchar t1count。 //輸入密碼存儲區(qū) bit enterflag。 sbit red=P3^0。 //T0,T1 工作方式 1 //2ms 定時設(shè)置 TH0=2020/256。 //啟動計數(shù)器 0,關(guān)閉計數(shù)器 1 TR0=1。 EA=1。 //密碼標(biāo)志先置為 0 green=0。 pw[2]=3。 showflag=1。 digbit=0x80。 count++。 count++。 count++。 count++。 count++。 count++。 count++。 count++。 count++。 count++。 else pwflag=0。j6。 default:break。 //密碼位計數(shù)器清 0 //用 FFFFFF 清除已經(jīng)輸入的密碼 for(j=0。 //計數(shù)器 1 開始計數(shù) t1count=0。 for(i=300。 P1=0xf0。0xf0)!=0xf0) //延時后再判斷,去除抖動影響 { scancode=0xfe。0xf0)!=0xf0) //本行有鍵按下 { tmpcode=(P1amp。 delay()。 //返回特征字節(jié)碼,為 1 的位即對應(yīng)于行和列 } else scancode=(scancode1)|0x01。256。 TL1=50000amp。 //關(guān)閉計數(shù)器 1 t1count=0。 //打開數(shù)碼管顯示 digbit=0x80。 } } //根據(jù)共陰極字型編碼表獲取 0~9, A~B 字型代碼 uchar getcode(uchar i) { uchar p。 break。 break。 break。 break。 break。 break。 break。 break。 switch(digbit) { case 0x80: i=0。 case 0x20: i=2。 case 0x08: i=4。 } P2=0x0。 else digbit=0x80。i6。 } } return(flag)。 else { flag=0。 uchar i。 //送字型碼 P2=~digbit。 case 0x04: i=5。 case 0x10: i=3。 case 0x40: i=1。 } return(p)。 break。 break。 break。 break。 break。 break。 break。 break。k6。 //綠燈不亮 red=0。 if(t1count20) { t1count++。 //調(diào)用顯示函數(shù) } //定時器 1 中斷服務(wù)子程序, 50ms 定時動態(tài)掃描顯示 void time1_int(void)interrupt 3 桂林電子科技大學(xué)課程設(shè)計(論文)報告用紙 第 20 頁 共 21 頁 { uchar k。 //無鍵按下,返回值為 0 } //定時器 0 中斷服務(wù)子程序, 2ms 定時動態(tài)掃描顯示 void time0_int(void)interrupt 1 { //重置 2ms 定時 TH0=2020/256。0xf0)!=0xf0){}。 while((P1amp。0x10)!=0) //逐行掃描 { P1=scancode。0xf0)!=0xf0) //若有鍵按下 { delay()。i)。 //綠燈亮 else red=1。j++) pwbuf[j]=0x0f。 //關(guān)閉數(shù)碼管顯示 enterflag=0。 //數(shù)碼管顯示 888888 pwbuf[j]=0x0f。 case 0x84: //3 行 4 列,取消鍵 count=0。 case 0x44: //3 行 3 列,確認(rèn)鍵 enterflag=1。 case 0x24: //3 行 2 列,數(shù)字 9 桂林電子科技大學(xué)課程設(shè)計(論文)報告用紙 第 18 頁 共 21 頁 if(count6) { wordbuf[count]=0x0f。 case 0x14: //3 行 1 列,數(shù)字 8 if(count6) { wordbuf[count]=0x0f。 case 0x82: //2 行 4 列,數(shù)字 7 if(count6) { wordbuf[count]=0x0f。 case 0x42: //2 行 3 列,數(shù)字 6 if(count6) { wordbuf[count]=0x0f。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1