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

正文內(nèi)容

電子密碼鎖的設計畢業(yè)論(編輯修改稿)

2025-07-13 00:13 本頁面
 

【文章內(nèi)容簡介】 復位。 根據(jù)實際情況選擇如圖 24 所示的復位電路。 6 圖 24 復位電路 顯示模塊 設計 LCD1602 顯示器具有體積小、功耗低、顯示內(nèi) 容豐富、超薄輕巧等優(yōu)點 。 顯示器由32 個字符點陣塊組成,每個字符點陣塊由 5*7 或 5*10 個點陣組成,可以顯示 ASCII 碼表中的所有可視的字符,采用 5V電源供電。 8 位雙向數(shù)據(jù)總線 與單片機 P0口連接, RS(寄存器選擇 ) 、 R/W(讀 /寫信號 ) 、 EN/E(顯示器模塊使能信號輸入端 )和 單片機 P2 口 連接 ,電路如圖 25 所示 。 圖 25 顯示電路 鍵盤輸入模塊設計 鍵盤輸入電路采用的是 4*4 的矩陣鍵盤,因為本設計所用到的按鍵數(shù)量較多而不適合用獨立按鍵式鍵盤因此采用的是矩陣式按鍵鍵盤,它由行和列組成,也稱行列式鍵盤,按鍵位于行線和列線的交叉點上,密碼鎖的密碼輸入由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多 I/O 口。本設計中使用的這個 4*4 鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,設置功能等。鍵盤的每個按鍵功能在程序設計中設置。平時無按鍵按下時,行線電平狀態(tài)將由與此電平相連的列線電平?jīng)Q定。列線電平如果為低,則行線 7 電平為低;列線電平為高,則行線電平也為高。這是識別矩陣鍵盤是否被按下的關(guān)鍵所在。由于矩陣鍵盤中的行、列為多鍵公用,各按鍵均影響該按鍵所在行和列的電平,因此,各按鍵彼此將相互發(fā)生影響,所以必須將行列線信號配 合起來,并作適當?shù)奶幚恚@樣才能決定閉合鍵的位置。其按鍵結(jié)構(gòu) 以 及與單片機 P3 口 接法如圖 27 所示。 圖 26 鍵盤電路接法 繼電器驅(qū)動模塊設計 使 用 SONGLE/松樂 牌 繼電器 , 5V 直流供電 ,同時其磁場會對單片機的工作造成影響,應放置在離單片機較遠的位置 。 密碼輸入正確時, 單片機發(fā)送信號給繼電器,繼電器吸合(接常開觸點),使解鎖機構(gòu)通電,打開門鎖。 圖 27 繼電器驅(qū)動電路 8 聲光報警提示模塊設計 每按下鍵盤上的按鈕,蜂鳴器就會響起。 密碼輸入正確時,配合繼電器 LED 會點亮。確保了密碼鎖 的實用性和準確 性。 圖 28 聲光報警電路 電源模塊 設計 使用 USB 接 口數(shù)據(jù)線 連接插頭 給系統(tǒng)供電 , 實物圖如圖 28 所示。 圖 29 電源連接圖 9 3 系統(tǒng)軟件 設計 程序結(jié)構(gòu)分析 本系統(tǒng)軟件設計由主程序、初始化程序、 LCD顯示程序、鍵盤掃描程序、鍵盤功能程序、確認密碼程序、重置密碼程序、設置密 碼程序、 EEPROM讀寫程序、 校時程序 和延時程序等組成。 系統(tǒng)程序流 程 圖 主程序 : 先執(zhí)行初始化程序,然后啟動程序,執(zhí)行鍵盤掃描程序,根據(jù)各個功能鍵執(zhí)行相 應的功能。 初 始 化開 始顯 示 程 序鍵 盤 程 序 圖 31 主程序流程圖 鍵盤功能程序 流程圖 鍵盤功能程序:先掃描各個 IO 口,確定哪個鍵按下,然后調(diào)用相應的子程序。 10 鍵 盤 掃 描開 始鍵 值 = “ 0 ~ 9 ”輸 入 密 碼 程 序鍵 值 = “ 確 認 ”確 認 密 碼 程 序鍵 值 = “ 重 置 ”重 置 密 碼 程 序顯 示 標 志 位 置 1鍵 值 = “ 設 置 ”設 置 密 碼 程 序鍵 值 = “ 校 時 ”鍵 值 = “ 加 減 ”校 時 子 程 序加 減 子 程 序返 回N YNNN NN NYYYYYY圖 32 鍵盤功能 程序流程圖 確認 密碼 程序 流程圖 確認密碼 程序: 密碼正確,則 LED 點亮、開鎖。不正確三次 ,則自鎖 30 秒。 開 始鍵 盤 掃 描密 碼 正 確L E D 點 亮 、 開 鎖密 碼 不 正 確 3 次自 鎖 3 0 s返 回YYNN鍵 盤 掃 描 圖 33 確認 密碼 流程圖 11 4 系統(tǒng) 聯(lián)機 調(diào)試 與分析 調(diào)試 輸 入密碼 時, 顯示器顯示亂碼現(xiàn)象。進行密碼比較時,不 論 輸入任何密碼(包括正確密碼), 都沒有開鎖 。經(jīng)過程序檢查,發(fā)現(xiàn)有兩處錯誤:錯誤之一是 密碼的 初始地址沒給;錯誤之二是 液晶 初始化和清零程序有問題 。還有是在調(diào)試的過程中遇到不少問題, 后來改正后,顯示和按鍵 統(tǒng)一。在整個程序設計是使用 C 語言, 通過 改正以上錯誤及對硬件電路做 出 調(diào)整 后,再進行通電調(diào)試,最終 在 實物上調(diào)試完成 。 在本設計中,程序設計與編程時通過看書上的資料,通過老師和同學的幫助,完成的比較順利。 12 結(jié)論與謝辭 在論文完成之際,我要忠心的感謝身邊給予過我 莫大幫助的老師、同學和朋友,致以他們最誠摯的謝意。 我在導師林潔老師 她 的親切關(guān)懷和悉心指導下最終完成了我的畢業(yè)設計。 在我做論文的過程中林老師總是不厭其煩的給我進行論文指導, 為我指點迷津進,修改論文,幫我開拓了研究的思路。這一過程占用了她 很多的私人時間,但她仍不忘記在指導論文的過程中給我提一些可行性的意見和建議 , 這讓我在整個論文的撰寫過程中學習到了很多關(guān)于課題研究方面的知識 ,再次感謝我的指導老師林老師。 真誠的感謝參加論文評審和答辯的各位老師,感謝你們的辛勤勞動和即將從你們那里獲得的有益教誨 , 感謝同學 們在設計中給予 我 的指導和幫助 , 在我遇到難題的時候能夠樂意、耐心地同我一起討論、分析問題和查閱資料,為我提供我沒能買到的電子元件、焊接的電路板子和測試用的一些實驗儀器,并且?guī)椭医鉀Q了不少在實物制作過程中出現(xiàn)的技術(shù)問題。 最后,感謝所有的學校領(lǐng)導、老師和我的同學,在這三年 讓我得到了人生最大的一筆財富。在此,也對他們表示衷心感謝。 感謝母校對我的培養(yǎng),我要用我的所學,來回報母校,回報社會。 13 參考文獻 [1] 馬忠梅 等 .單片機的 C 語言應用程序設計 .北京航空航天大學出版社 .2021. [2] 先鋒工作室 .單片機程 序設計實例 .清華大學出版社 .. [3] 馬汝星 .單片機應用系統(tǒng)設計與制作 .人民郵電出版社, 2021 [4] 李廣弟 .單片機基礎(chǔ) .北航出版社 .2021 [5] 郭惠 等 .單片機 C 語言程序設計完全自學手冊 .電子工業(yè)出版社 ,. [6] 鄭惠群等 .電子產(chǎn)品生產(chǎn)工藝與管理實訓 .浙江科學技術(shù)出版社 .. [7] 余紅娟等 .電子電路分析與調(diào)試實踐指導 .北京人民郵電出版社 .. [8] 余紅娟等 .電子技術(shù)基本技能 .北京人民郵電出版社 .. 14 附 件 1. 元器件清單 物質(zhì)名稱 規(guī)格型號 數(shù)量(單位) 單片機 STC89C52 1 塊 USB 接口 1 個 液晶屏 LCD1602 1 塊 電解電容 10uF 1 個 瓷片電容 22pF 2 個 按鍵 SWPB 16 只 三極管 8550 2 個 蜂鳴器 1 個 LED 燈 紅 1 個 晶振 11M 1 個 電位器 50K 1 個 電阻 10K 2 個 電阻 1K 1 個 排 阻 RESPACK8 1 個 繼電器 5V 1 個 15 附 件 2. 電路仿真圖 16 附 件 3. 原理圖 及 PCB 圖 17 附 件 4. 實物圖 18 附 件 5. 程序 include //調(diào)用頭文件(單片機內(nèi)部的寄存器定義) include //調(diào)用頭文件(單片機內(nèi)部的寄存器定義) include include define uchar unsigned char define uint unsigned int sbit LED=P2^1。 char SS,MM,HH,N,Y,R。 char H,L。 char flag=0。 uchar countt=0。 uchar counter1,x。 uchar table1[5]。//存儲 A C 參數(shù)值 基礎(chǔ)運算數(shù)據(jù) 單個最大 6 位 long A。//A 結(jié)果 long GG=0。 sbit JDQ=P1^0。 /********模塊變量定義區(qū) *******************************************/ char SS,MM,HH,XQ,DA,MO,YE。 uint countt1=0。//定義秒鐘產(chǎn)生的計數(shù)變 量。 char counter11=0。//用于記錄 K1 鍵選擇的是哪個被設置變量 uchar key_value=0。//用于記錄鍵盤掃描獲得的鍵值 /****************************************************************** 函數(shù)名稱: timer0_init() 隸屬模塊: 函數(shù)屬性:內(nèi)部 參數(shù)說明:無返回值,無帶入?yún)?shù) 返回說明:無 功能描述:對定時器 T0 進行初始化 . *****************************************************************/ void timer0_init()//定時器 T0 的初始化程序 { TMOD=TMOD|0X01。//0000 0001 T0 工作于方式 1,定時模式 TH0=(6553650000)/256。 TL0=(6553650000)%256。//定時 50MS EA=1。ET0=1。//開啟總中斷,和分中斷 TR0=1。//啟動定時器 T0 19 } /****************************************************************** 函數(shù)名稱: timer0() interrupt 1 隸屬模塊: 函數(shù)屬性:內(nèi)部 參數(shù)說明:無返回值,無帶入?yún)?shù) 返回說明:無 功能描述:中斷自動響應函數(shù),無需調(diào)用 .中斷產(chǎn)生成秒、分、時信息 *****************************************************************/ void timer0() interrupt 1 { TH0=(6553650000)/256。 TL0=(6553650000)%256。//一定要重新賦初值 countt1++。 if(countt1==20)//如果 count=1000 表示產(chǎn)生了 1 秒鐘 { countt1=0。//清零計數(shù)變量,以便下一次計數(shù)使用 SS++。 if(SS59) { SS=0。 MM++。 if(MM59) { MM=0。 HH++。 if(HH23) { HH=0。 DA++。 if(DA30) { DA=1。 MO++。 if(MO12) { MO=1。 YE++。 if(YE99) { YE=0。 } } } } } } } } /****************************************************************** 20 函數(shù)名稱: dis_timer() 隸屬模塊: 函數(shù)屬性:內(nèi)部 參數(shù)說明: 無返回值,無帶入?yún)?shù) 返回說明:無 功能描述:系統(tǒng)時鐘顯示界面、設置時鐘顯示界面 *****************************************************************/ void dis_timer()//時鐘日期顯示函數(shù) {uchar m。//定義一個變量用于閃爍臨時計數(shù) m=SSamp。0x01。//通過 m 變量的取值來實現(xiàn)變量閃爍 lcd_xy_puts(0,0,20)。//顯示固定字符 20 /*“年份” 顯示代碼部分 */ if(counter11==7)//年變量處于設置狀態(tài), 1 秒鐘閃爍一次 { if(m==0)//如果 m=0,就將年顯示出來 {lcd_goto_xy(2,0)。lcd_number(YE/10)。lcd_number(YE%10)。} else //則顯示空格字符。 {lcd_goto_xy(2,0)。lcd_putc(39。 39。)。lcd_putc(39。 39。)。 } } else //否則年變量不處于 修改狀態(tài) ,直接顯示年 {lcd_goto_xy(2,0)。lcd_number(YE/10)。lcd_number(YE%10)。} /*“間隔符”顯示代碼部分 */ lcd_putc(39。/39。)。//間隔符顯示 /*“月份”顯示代碼部分 */ if(counter11==6)//月變量處于設置狀態(tài), 1 秒鐘閃爍一次 {if(m==0)//如果 m=0,就將月顯示出來 {lcd_goto_xy(5,0)。lcd_number(MO/10)。lcd_number(MO%10)。} else //則顯示空格字符。 {lcd_goto_xy(5,0)。lcd_putc(39。 39。)。lcd_putc(39。 39。)。 } } else //否則年變量不處于修改狀態(tài) ,直接顯示月 {lcd_goto_xy(5,0)。lcd_number(MO/10)。lcd_number(MO%10)。} /*“間隔符”顯示代碼部分 */ lcd_putc(39。/39。)。//間隔符顯示 /*“日”顯示代碼部分 */ if(counter11==5)//日變量處于設置狀態(tài), 1 秒鐘閃爍一次 {if(m==0)//如果 m=0,就將日顯示出來 {lcd_goto_xy(8,0)。lcd_number(DA/10)。lcd_number(DA%10)。} else //則顯示空格字符。 {lcd_goto_xy(8,0)。lcd_putc(39。 39。)。lcd_putc(39。 39。)。 } } else //否則年變量不處于修改狀態(tài) ,直接顯示月 21 {lcd_goto_xy(8,0)。lcd_number(DA/10)。lcd_number(DA%10)。} /*“間隔字符”顯示代碼部分 */ lcd_puts( WEEK)。//字符顯示 /*“星期”顯示代碼部分 */ if(counter11==4)//星期變量處于設置狀態(tài), 1 秒鐘閃爍一次 {if(m==0)//如果 m=0,就將日顯示出來 {lcd_goto_xy(15,0)。lcd_number(XQ%10)。} else //則顯示空格字符。 {lcd_goto_xy(15,0)。lcd_putc(39。 39。)。 } } else //否則年變量不處于修改狀態(tài) ,直接顯示月 {lcd_goto_xy(15,0)。lcd_number(XQ%10)。 } /*“小時”顯示代碼部分 */ if(counter11==3)//小時變量處于設置狀態(tài), 1 秒鐘閃爍一次 {if(m==0)//如果 m=0,就將小時顯示出來 {lcd_goto_xy(4,1)。lcd_number(HH/10)。lcd_number(HH%10)。} els
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1