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

正文內(nèi)容

基于51單片機(jī)的紅外遙控密碼鎖160畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-08-16 12:37 本頁面
 

【文章內(nèi)容簡介】 0 主程序流程圖 5 系統(tǒng)仿真與硬件調(diào)試 系統(tǒng)仿真和調(diào)試方案 根據(jù)上述各個(gè)模塊的功能以及 PCB 設(shè)計(jì)可用 PROTEUS 來進(jìn)行仿 真,修改程序。仿真圖如下圖 21 所示: 開始 紅外解碼 有紅外中斷? 接收碼正確否? 密碼對否? 調(diào)用中斷解碼程序 紅外解碼 報(bào)警 開鎖 中斷返回 基于 51 單片機(jī)的紅外遙控密碼鎖 15 圖 21 整體仿真圖 仿真圖與 PCB 原理圖稍有差異,例如圖 中的存儲(chǔ)器 24c02 實(shí)物為 8 個(gè)管腳,但在 PROTEUS 仿真中卻只 有六個(gè)管腳,其中少的兩個(gè)管腳:管腳 4 為 GND 即直接接地,管腳 8 為 VCC,為電源。 SCK 接時(shí)鐘線即為 SCL, SDA 接數(shù)據(jù)線,其余均接地。另外,1602 本為 16 個(gè)管腳,在 PROTEUS 仿真中是 14 個(gè)管腳,管腳 3 調(diào)節(jié) 1602 亮度接 1K滑動(dòng)變阻器。實(shí)際電路中,管腳 3 應(yīng)接 10K 滑動(dòng)變阻器,管腳 15 接 10 歐電阻。 為了保證程序可在實(shí)物中使用,每個(gè)芯片接入到單片機(jī)的 IO 口都會(huì)與 PCB 原理圖保持一致。然后分模塊逐一進(jìn)行調(diào)試。 由于本次設(shè)計(jì)采用的是市場賣的遙控器,在 PROTEUS 中無法進(jìn)行仿真,所以在基于 51 單片機(jī)的紅外遙控密碼鎖 16 PROTEUS 仿真中只有 主控模塊的原理圖。因此,先寫矩陣鍵盤控制密碼鎖的程序。根據(jù)程序設(shè)計(jì)思路首先對矩陣鍵盤進(jìn)行掃描,將對應(yīng)的數(shù)字以 *的形式顯示到 1602 上,這里要考慮 1602 的寫地址。以及 24c02 的讀寫操作。 系統(tǒng)硬件調(diào)試 1) 1602 顯示模塊 電源能夠供電并芯片沒有出現(xiàn)發(fā)熱等不正?,F(xiàn)象說明焊接正確。將 1602 的顯示程序通過學(xué)習(xí)板燒到做好的電路板中,檢測 1602 是否正常顯示,若 1602 只亮屏不顯示字符此時(shí)調(diào)節(jié)滑動(dòng)變阻器改變對比度。若調(diào)節(jié)滑動(dòng)變阻器 1602 依然不顯示,此時(shí)再看看程序中 1602 初始化函數(shù)是否有錯(cuò),再看硬件 有沒有問題,本人在調(diào)試 1602的時(shí)候就遇到類似問題,電路與程序都完全正確, 1602 卻依然不能正常顯示,有時(shí)會(huì)出現(xiàn)亂碼的現(xiàn)象,最后發(fā)現(xiàn)竟然是單片機(jī)沒有與插槽接觸完全,導(dǎo)致 1602 的控制端與單片機(jī)接觸不良,因此,會(huì)出現(xiàn)時(shí)而亂碼時(shí)而不顯示的狀況。單片機(jī)固定牢固之后 1602 便可正常顯示。 2)按鍵掃描 1602 能夠正常顯示之后再看通過按鍵掃描能不能將數(shù)字傳遞到 1602 顯示,首先檢測硬件電路是否完全通路,再將程序燒進(jìn)單片機(jī)中,按下數(shù)字鍵看能否將數(shù)字顯示到 1602 制定的位置上,此時(shí)還要注意密碼不能超過六位數(shù)。一般按鍵如 果電路正確,并且程序和硬件都無差錯(cuò)則在仿真中運(yùn)行正確實(shí)物也可以輕松實(shí)現(xiàn)器功能。 3)存儲(chǔ)器硬件調(diào)試 在本次設(shè)計(jì)中,如上述介紹為了防止掉電丟失采用 AT24c02 進(jìn)行存儲(chǔ)數(shù)據(jù)。主要是將按鍵按下的值保存到存儲(chǔ)器中,并能夠從中讀取。按下解鎖鍵, LCD1602 首行顯示提示語,令一行則是顯示將要輸進(jìn)去的密碼。此時(shí)程序中還要進(jìn)行密碼的對比,若正確, led 亮,說明鎖已經(jīng)打開。錯(cuò)誤,則燈滅,說明鎖已經(jīng)關(guān)閉。本人在調(diào)試過程中發(fā)現(xiàn)輸入密碼時(shí)不能夠正常開鎖,而真正能通過的密碼無從得知,若不通過存儲(chǔ)器的讀取,將初始值直接與鍵入值比較 ,此時(shí)密碼正確。說明存儲(chǔ)器在讀密碼的時(shí)出現(xiàn)某些未知的錯(cuò)誤。經(jīng)過對程序的調(diào)試,讓此時(shí)存儲(chǔ)器隨機(jī)出現(xiàn)的密碼顯示到 1602 上,然后再在開鎖時(shí)鍵入對應(yīng)的密碼,此時(shí)密碼正確。這說明原始設(shè)定的密碼在調(diào)用的過程中被某一句程序改寫。此時(shí)再回到 PROTEUS 仿真,看下存儲(chǔ)器接線與 PCB 是否一致,以及芯片是否安置正確。經(jīng)過檢查發(fā)現(xiàn)電路板上放置的芯片并不是 AT24c02,更換芯片后便能夠?qū)崿F(xiàn)開鎖,改密等功能。 基于 51 單片機(jī)的紅外遙控密碼鎖 17 4)紅外遙控模塊 首先寫一個(gè)紅外遙控發(fā)送接收程序,看是否將字符正確顯示到 1602 上。參考網(wǎng)上給的遙控器鍵碼值使用 swith 語句同矩陣按鍵掃描返回?cái)?shù)字及調(diào)用功能函數(shù)。經(jīng)過參考網(wǎng)上給出的例程,加上外部中斷 1 程序,使用中斷,檢測是否發(fā)送信號。再將寫好的程序燒到單片機(jī)中,驗(yàn)證通過則證明遙控器可以正確使用,再將兩個(gè)程序綜合到一起來實(shí)現(xiàn)雙控。 調(diào)試結(jié)果 本次設(shè)計(jì)整體調(diào)試結(jié)果:給電路板送入 +5V 電源, 1602 第一行中間顯示 wele,然后按解鎖鍵, 1602 第一行顯示 input code 此時(shí)輸入密碼再按確定鍵。若密碼正確模擬鎖 led 點(diǎn)亮并顯示 right,密碼 不正確 顯示 error 蜂鳴器 鳴叫 并跳轉(zhuǎn)到 最初的 界面。按 下改密按鍵, 1602 第一行顯示 input old code,輸入舊密碼(密碼錯(cuò)誤則提示,并重新輸入),若密碼正確,畫面提示 input new code,此時(shí)鍵入新密碼(六位數(shù)),然后按確定鍵,畫面顯示 input new code again。再一次鍵入設(shè)置的新密碼。若兩次密碼相同,則 1602 顯示 plete。然后切斷電源,重新給電路板供電,再次輸入密碼(輸入剛才設(shè)定的新密碼), 1602 顯示 right 并模擬鎖發(fā)光二極管點(diǎn)亮。 然后用遙控器如上操作,同樣可以進(jìn)行開鎖及修改密碼。 6 總結(jié)與展望 確定研究課題之后,查閱相關(guān) 資料,設(shè)計(jì)相應(yīng)的原理圖。由于相同功能的芯片有很多,經(jīng)過對比其實(shí)用性,是否易操作,外圍電路以及程序設(shè)計(jì)難易等等來選擇較合理的芯片。另外要考慮仿真與實(shí)物的不同,所以在畫 PCB 板時(shí),除了注意與仿真保持一致還要注意在實(shí)物中的效果,因此要考慮元器件封裝及接入器件的電阻大小等等。寫程序時(shí)為了達(dá)到預(yù)期效果,對新接觸的芯片進(jìn)行研究,通過多次修改完成每個(gè)模塊的運(yùn)行。最艱難的應(yīng)該是對電路板的調(diào)試,雖然在仿真中效果了令人滿意,但當(dāng)在實(shí)物中時(shí)卻達(dá)不到仿真的效果,這就要通過多次檢測,從每根線的焊接到每個(gè)芯片的管腳接通情況都要一一測量 。每一次失敗都會(huì)離成功又進(jìn)一步。本次 畢業(yè)設(shè)計(jì) 不僅僅是對我大學(xué)四年的檢測也是對我毅力的考驗(yàn),讓我在一次次的打擊之后變得更堅(jiān)強(qiáng) 。 致謝 從開始選定課題到現(xiàn)在經(jīng)歷了將近半年的時(shí)間,在這期間遇到一些困難想要放棄的時(shí)候室友們都會(huì)鼓勵(lì)我,讓我再次有了信心。遇到不懂的問題實(shí)驗(yàn)室那些經(jīng)驗(yàn)豐富的同學(xué)都會(huì)過來給予建議,感謝他們的幫助。另外,還要感謝趙老師,總是在百忙之基于 51 單片機(jī)的紅外遙控密碼鎖 18 余指導(dǎo)我,幫我解決了不少難題,讓我順利完成了設(shè)計(jì)。 參考文獻(xiàn) [1] 張毅剛 . 單片機(jī)原理及應(yīng)用 (第二版) [M]. 北京 :高等教育出版社 , 20xx: 1642. [2] 林伸茂 . 8051 單片機(jī)徹底研究基礎(chǔ)篇 [M]. 北京 :人民郵電出版社, 20xx:24150. [3] 麥山,皮佑國 .基于單片機(jī)的協(xié)議紅外遙控系統(tǒng) [J].1998. [4] 邱玉春,李文俊 .單片機(jī)系統(tǒng)中的紅外通信接口 [J].20xx:56163. [5] 張文崢 ,李先亮 ,張其善 .IrDA 紅外通信在導(dǎo)航儀中的應(yīng)用 [J]. 20xx. [6] 康華光等 .電子技術(shù)基礎(chǔ)第 2 版 [M].北京 :高等教育出版社, 20xx:10156. [7] 牛翌光 .單片機(jī)原理及接口技術(shù) [M].北京 :電子工業(yè)出版社 , 20xx: 3279. 附錄 1.元器件清單 元器件名稱及規(guī)格 數(shù)量 51 單片機(jī) 1 晶振 12MHZ 1 瓷片電容 30PF 2 電解電容 10 uF 2 USB 1 發(fā)光二極管 2 蜂鳴器 1 三極管 PNP 1 AT24C02 1 滑動(dòng)變阻器 10K 1 排阻 10K 1 電阻 1K 4 按鍵 17 自鎖按鍵 1 電阻 10K 3 電阻 10 歐 1 2.源程序 include include //包含 _nop_()函數(shù)定義的頭文 件 define uchar unsigned char define uint unsigned int define delayNOP()。 {_nop_()。_nop_()。_nop_()。_nop_()。}。 define dword unsigned long 基于 51 單片機(jī)的紅外遙控密碼鎖 19 define keypad P1 define PASSWORD_LENGTH 6 //不要超過 9 define PASSWORD_ADDR 0x10 define PASSWORD_ENTRY 0x08 define AddWr 0xa0 //寫數(shù)據(jù)地址,需要參考 24c02 芯片文檔 define AddRd 0xa1 //讀數(shù)據(jù)地址 define default_passwords 123456 define default_entrywords 20xx0411 define wait_time 600 //等待 600s 后關(guān)閉顯示屏,節(jié)電 uchar IRCOM[7]。 /****紅外延時(shí)函數(shù)聲明 *****/ void delay(uint)。 void delay1ms()。 void delay(unsigned char x) 。 void display()。 void delay1(int ms)。 sbit IRIN=P3^3。 //外部中斷 1 //sbit lock=P2^3。//模擬鎖 sbit buzzer=P2^4。//蜂鳴器 void delay(unsigned char x) //x* { unsigned char i。 while(x) { for (i = 0。 i13。 i++) {} } } sbit sda=P2^6。 sbit scl=P2^5。 dword time_value=0,passwords=123456。 基于 51 單片機(jī)的紅外遙控密碼鎖 20 bit key_flag=0,currentdisflag=1,lastdisflag=1,keystatusflag=0,dispassword_=0,dispassword_flag=0。 uchar second=0,minute=0,hour=0。 uchar key=0,keycounts=0,t_num=0。 uchar code tab1[]={Input code }。 uchar code tab2[]={ Right! }。 uchar code tab3[]={Error }。 uchar code tab4[]={Wele enter }。 uchar code tab5[]={Input old code }。 uchar code tab6[]={Input new code }。 uchar code tab7[]={Input code again}。 uchar code tab8[]={Complete! }。 uchar code cls[]= { }。 uchar code open[]={Wele... }。 uchar code tab9[]={ }。 uchar code message[16]={0123456789abcdef}。 /****************************LCD1602 驅(qū)動(dòng) **************************/ define LCD_Data P0//數(shù)據(jù)接口 sbit rs=P2^0。//定義接口 sbit rw=P2^1。 sbit en=P2^2。 sbit led=P2^3。 void LCD_Init(void)。 void LCD_WriteData(uchar WDLCD)。 void LCD_WriteCommand(uchar WCLCD)。 void DisplayOneChar(uchar X, uchar Y, uchar DData)。 void DisplayListChar(uchar X, uchar Y, uchar code *DData)。 /******************************延時(shí)函數(shù) ****************************/ void delay11(){。} 基于 51 單片機(jī)的紅外遙控密碼鎖 21 void delay2(uint t) //延時(shí)函數(shù) ms { uint x,y。 for(x=t。x0。x) for(y=110。y0。y)。 } /****************************1602 寫數(shù)據(jù)函數(shù) **************************/ void LCD_WriteData(uchar WDLCD) { rs=1。 rw=0。 en=1。 LCD_Data=WDLCD。 delay2(1)。 en=0。 } /************************
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1