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

正文內(nèi)容

基于單片機(jī)的電子密碼鎖設(shè)計畢業(yè)設(shè)計說明書(論文)(參考版)

2025-07-05 17:25本頁面
  

【正文】 ) //。 } if (value == 39。 writeChar(2,column,value)。amp。 while(1) { value = keyScan()。 unlock = 0。 InuptInit()。 uint i=0。 Beep = ~Beep。 } //定時器 0 的中斷服務(wù)函數(shù) void time0() interrupt 1 { TH0 = scalesH[note]。 } break。 TR0 = 0。note++) { TR0 = 1。 case 1 : for(note=2。 delay(300)。 delay(300)。i3。 switch( c ) { case 0 : note = 6。 //開總中斷 TR0 = 0。 //T/C0 工作在方式一 ET0 = 1。 uchar note。 uchar code scalesH[] = {0xf7,0xf8,0xfc,0xf9,0xfa,0xfa,0xfb}。$39。 //等待按鍵釋放 if(flag) return keyValue[i]。 break。 i 12。 //按鍵掃描 if(KEY != rowScan[k]) { uchar i=0。 k++) { KEY = rowScan[k]。 for(k = 0。 // 1 2 3 4 5 6 7 8 9 * 0 uchar code keyValue[]=123456789*0。 //行掃描碼 //uchar code columnScan[]={0xEF,0xDF,0xBF,0x7F}。 EA =1。//開顯示,光標(biāo)閃爍,顯示光標(biāo) } //外部中斷初始化 void InuptInit(void) { IT0=1。//地址加一 ,整屏右移 delay(30)。//清屏 delay(30)。 //設(shè)置 16*2 顯示, 5*7 點陣, 8 位數(shù)據(jù)接口 delay(30)。 //屏幕移動 delay(900)。 i 0。 writeString(1,25,25,s)。 column2++。 i 32) { writeChar(row + 1,column2,*(s+i))。 } if(i 15 amp。 delay(2)。) break。 i++) { if((*(s+i)) == 39。 for(i = 0。\039。 { char i。 delay(200)。 { LCDPosition(row,column)。 delay(10)。 // column = 0~15在 LCD上的可見域顯示 else if(row == 2) position = 0xC0 + column 1。 } // ========將坐標(biāo)轉(zhuǎn)換為 LCD 的坐標(biāo) =========== void LCDPosition(uchar row,uchar column) { char position。 delay(1)。 LCDDataBus=Cmd。 } // 寫指令函數(shù) void LCDWriteCmd(uchar Cmd) { RS=0。 delay(1)。 //寫 LCDDataBus=Data。 } //=================================== // LCD 部分 //=================================== // 寫數(shù)據(jù)函數(shù) void LCDWriteData(uchar Data) { RS=1。 i 0。 k 0。 //初始密碼 // 延時函數(shù) void delay(uint k) { unsigned char i。 sbit unlock = P3^0。 sbit RW = P0^2。 還要感謝我論文中所引用、參考的文獻(xiàn)的作者,正式站在你們的肩膀上,我才能看得更遠(yuǎn)。 **老師在整個畢業(yè)設(shè)計的過程中,多次詢問進(jìn)度情況與所遇困難,督促、引領(lǐng)著我,沒有 **老師,我就無法高質(zhì)量的完成此做,在此, 謹(jǐn)向 我的導(dǎo)師馬玲老師表示我內(nèi)心最誠摯的謝意! 與此同時,我還要感謝四年來我的任課老師們,沒有諸位老師的悉心教導(dǎo),我斷然無法達(dá)到今日的學(xué)術(shù)水平,遑論完成這個畢業(yè)設(shè)計。 致 謝 在 **老師的悉心指導(dǎo)下,本設(shè)計終于得以完成,在此,我衷心的感謝馬玲老師對我的關(guān)心與幫助。 在這次畢業(yè)設(shè)計中,從定下課題、查閱資料,到著手制作、修改完善,每一步都令我受益匪淺,不僅鞏固了大學(xué)期間學(xué)到的知識,又增加了許多工程實踐經(jīng)驗。 ( 2)當(dāng)輸入密碼不正確時,不能開鎖,系統(tǒng)報警,同時顯示屏出現(xiàn)相應(yīng)顯示信息。由 Keil 獲取 Hex 文件后,在 Proueus 進(jìn)行了成功的仿真,得到了完整的設(shè)計。本設(shè)計 在充分探究實用性、經(jīng)濟(jì)性的基礎(chǔ)上,主控芯片選擇了 單片機(jī) AT89S51, 顯示模塊選擇了 LCD1602, 結(jié)合 了自行設(shè)計的矩陣 鍵盤、報警 模塊等外圍電路 , 主控芯片的控制程序 則使用 C 語言 編寫 而成,簡潔而注釋充分條理 , 完成了課題的要求 。如圖 所示。 圖 新密碼輸入界面 ( 7) 只有當(dāng)輸入新的密碼 是 6 位時 ,電子密碼鎖的密碼才 會 更新, 否則發(fā)出 錯誤警告,要求重新輸入 ,顯示圖如圖 所示。顯示屏顯示如圖 所示。 按下“ 修改密碼 ”鍵后顯示屏 的 顯示情況如圖 。 圖 密碼錯誤不能開鎖的仿真圖 ( 4) 電子密碼鎖的密碼 可 修改。 圖 密碼正確實現(xiàn)開鎖的仿真圖 ( 3) 當(dāng)密碼輸入有誤 時,顯示屏 上 將 會 顯示“ Wrong Password, Unlock Failed !”,同時 播放短促的報警聲, 鎖 保持關(guān)閉 ,發(fā)光二極管 D1不 發(fā)光。在本設(shè)計的仿真中 使用發(fā)光二極管代替 實際產(chǎn)品中的 電磁鎖, 以 發(fā)光二極管 D1的 發(fā)光 代表 鎖 打開 。以下是電子密碼鎖各種功能實現(xiàn)的具體仿真過程: ( 1) 本電子密碼鎖在密碼輸入過程中,每輸入一位密碼,都會在顯示屏上反應(yīng)出來,仿真效果圖如圖 。初始狀態(tài)如圖 所示。 經(jīng)反復(fù)修改后,程序會提示編譯成功,編譯成功的畫面如圖 : 圖 Keil編譯成功 Keil 中的程序需生成 51 單片機(jī)可執(zhí)行的 HEX 文件,需要對“目標(biāo) 1” 的屬性進(jìn)行如圖 和圖 所示的操作。 ABS文件 經(jīng)過 OH51的 轉(zhuǎn)換 就可以得到 標(biāo)準(zhǔn)的 Hex文件, 可以使用仿真器直接對目標(biāo)進(jìn)行調(diào)試 [18]。 除了語言優(yōu)勢, Keil C51 軟件生成的目標(biāo)代碼很緊湊, 這 加快了運行速度,提高了效率。 軟件調(diào)試 Keil 軟件簡介 本 設(shè)計 的軟件編譯環(huán)境使用 了 Keil uVision4,這 是 一款基于 C 語言的 51系列兼容單片機(jī)軟件開發(fā)系統(tǒng) 。 } 4 仿真調(diào)試 Proteus ISIS 簡介 本設(shè)計硬件原理圖的繪制 使用了 Proteus軟件 , Proteus軟件是一款電路設(shè)計與仿真軟件 ,它 基于 VSM技術(shù), 相比 其他軟件 有著諸多優(yōu)點:它支持 仿真 的單片機(jī)型號很多,像 MCS51系列、 PIC系列等 均可 , 同時集成了多樣的 單片機(jī)外圍 電路,比如鍵盤、 LED、 LCD等等。 TL0 = scalesL[note]。 } Beep = 1。 delay(300)。 delay(300)。note6。 } break。 TR0 = 0。i++) { TR0 = 1。 for(i=0。 //關(guān)閉定時器 0 } //播放聲音 void play(uchar c) { uint i。 //開定時器中斷 EA = 1。 //初始化函數(shù) void AlarmInit() { TMOD = 0x01。 //7 個音符所對應(yīng)的計數(shù)器初值 uchar code scalesL[] = {0x20,0x88,0x44,0x59,0x13,0x67,0x04}。 表 不同 音階 所 對應(yīng)頻率 、 計數(shù)初值 音階 1 2 3 4 5 6 7 頻率 /Hz 440 494 523 587 659 698 784 計數(shù)初值 0xF720 0xF888 0xFC44 0xF959 0xFA13 0xFA67 0xFB04 由此,可得到報警聲音模塊的代碼如下: sbit Beep = P3^1。次頻率為音階“ 1”所對應(yīng)的頻率值。這里以起中的音階“ 1”為例說明,其初值設(shè)為 0xF720,對應(yīng)十進(jìn)制數(shù) 63264,則計數(shù) 65536 63264 = 2272 次后溢出進(jìn)入中斷,若單片機(jī)外接 24MHZ 晶振,則計數(shù)一次對應(yīng) ,即計數(shù) 1136μs 后溢出。本程序就是利用單片機(jī)產(chǎn)生不同頻率的方波,來驅(qū)動蜂鳴器發(fā)出不同音調(diào)的聲音。 圖 密碼修改程序流程圖 報警聲音子程序設(shè)計 本程 序的設(shè)計類似于電子音樂盒,可以實現(xiàn) 1~ 7 七個音符的各種組合,理論上可以播放任意音樂,但音階始終位于 1 個八度內(nèi)。 若要修改密碼,須先輸入舊密碼密碼,密碼驗證通過后方可設(shè)置新密碼,新密碼輸入結(jié)束后,驗證位數(shù),然后保存新密碼。//開顯示,光標(biāo)閃爍,顯示光標(biāo) } 密碼修改子程序設(shè)計 在本設(shè)計中,密碼修改功能是使用外部中斷觸發(fā)的,這意味用戶得以隨時進(jìn)行密碼的修改,十分方便。//地址 加一 ,整屏右移 delay(30)。//清屏 delay(30)。 //設(shè)置 16*2 顯示, 5*7 點陣, 8 位數(shù)據(jù)接口 delay(30)。 ○ 5 寫字符串函數(shù) void writeString(uchar row,uchar column1,uchar column2, char *s) 參數(shù): row 表示行, column1 表示第一行起始地址, column2 表示 下一行起始地址,均從 1 開始。不同層次的函數(shù)之間是被調(diào)用的關(guān)系 。 } LCD 顯示子程序設(shè)計 LCD 顯示是本設(shè)計的核心模塊之一,為了能在屏幕上總能顯示恰當(dāng)?shù)男畔?,本設(shè)計中 LCD 顯示子程序的功能,應(yīng)為保障單個字符、字符串的顯示,為主程序或其他子程序留出接口,以便需要時可以很容易調(diào)用。 } } return 39。 } } while(KEY != rowScan[k])。 i++) { if(KEY == key12[i]) { //比較鍵碼 flag=1。 for(i = 0。 //逐行掃描 delay(10)。k 4。 define KEY P1 //=====鍵盤掃描函數(shù) ========== uchar keyScan(void) // 返 回 值 : 有 鍵 按 下 時 獲 得 的 鍵 盤 值( 1234567890*),無鍵按下時返回字 符‘ $’ { uchar k = 0,flag = 0。 根據(jù)上述過程,該矩陣鍵盤的按鍵檢測掃描程序設(shè)計如下: uchar code rowScan[]={0xFE,0xFD,0xFB,0xF7}。同理可得第一行另兩個按鍵的鍵碼為 0xDE、0xBE[16]。若無鍵按下 ,其值仍應(yīng)為 0xFE。 ○ 2 延時 5~ 20ms 再次進(jìn)行檢測 , 實
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1