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

正文內(nèi)容

基于51單片機(jī)的紅外遙控密碼鎖畢業(yè)設(shè)計-預(yù)覽頁

2025-08-11 12:37 上一頁面

下一頁面
 

【正文】 圖 1 總體系統(tǒng)框架圖 3 系統(tǒng)硬件電路設(shè)計 單片機(jī)最小系統(tǒng)設(shè)計 本 次 設(shè)計的單片機(jī)采用 ATMEL 公司推出的 AT89S51 系列單片機(jī)。 圖 2 上電復(fù)位電路 晶振 電 路 結(jié)構(gòu)如圖 3 中 Y1,C1, 12MHz 頻率的石英晶體 ,補(bǔ)償電容采用 30pF 左右的瓷片電容 . 紅 外 發(fā) 射 器 晶振電路 紅外接收頭 上鍵復(fù)位 紅 外 發(fā) 射 器 51 單 片 機(jī) LCD 模擬鎖 蜂鳴器 4*4 按鍵 基于 51 單片機(jī)的紅外遙控密碼鎖 4 圖 3 晶振電路 LCD 顯示電路設(shè)計 從設(shè)計成本來考慮,顯示電路部分首先會想到用數(shù)碼管,但由于一個數(shù)碼管只可以顯示一個字符,例如本次設(shè)計中,進(jìn)入界面要顯示 wele,輸入密碼是也要提示input code 等等,就要用到 10 多個數(shù)碼管。 第一行顯示提示內(nèi)容,第二行顯示鍵入的數(shù)值。 因此, 本次實驗采用的是 4 4 矩陣鍵盤, 電路連接比較復(fù)雜,但同時提高了 IO口的利用率。 內(nèi)部含有 256 個 8 位字節(jié), CATALYST 公司的先進(jìn) CMOS 技術(shù)實質(zhì)上減少了器件的功耗。 按編碼分類,有兩種編碼方式,主要分為 RC5碼和 NEC碼 【 35】 。本次設(shè)計采用的是 VS_1838b。如下圖所示: 圖 17 led 連接圖 報警電路采用的是蜂鳴器, 由于蜂鳴器的工作電流一般比較大, 這將導(dǎo)致單片機(jī)的 IO 口無法直接進(jìn)行驅(qū)動 【 6】 【 7】 。由于LCD 接的是單片機(jī)的 P0 口所以每個管腳要接一個 10K 的上拉電路,即 10K 排阻。 其次是 1602LCD 顯示問題,先將 LCD 初始化,首行顯示提示語例如登陸界面 顯示 wele,開鎖是顯示 input code 等。 然后是 AT24c02 存儲器,防止密碼斷電丟 失。由前面的硬件介紹部分可知接收 頭 連接的是外部中斷 1,當(dāng) 發(fā)射 器發(fā)送信號時,外部中斷 1 打開,此時進(jìn)入中斷程序,遙控器的 21 個按鍵有各自的鍵碼值,同上述按鍵掃描采用 switch 語句可返回各個按鍵代表的數(shù)字及功能,以此來實現(xiàn)遙控器對密碼鎖 的控制。蜂鳴器是用三極管來驅(qū)動接入到單片機(jī)的 IO 口,如發(fā)光二極管,當(dāng) IO 口為低電平時蜂鳴器響。先是遙控器發(fā)射出紅外波,由接收部分將發(fā)射過來的信號轉(zhuǎn)換為電信號,再經(jīng)過放大電路等將其還原成相應(yīng)的編碼信號,然后通過譯碼器譯碼,將相應(yīng)的解碼賦予不同的功能,從而進(jìn)行對密碼鎖的控制,實現(xiàn)遙控效果。另外,1602 本為 16 個管腳,在 PROTEUS 仿真中是 14 個管腳,管腳 3 調(diào)節(jié) 1602 亮度接 1K滑動變阻器。 由于本次設(shè)計采用的是市場賣的遙控器,在 PROTEUS 中無法進(jìn)行仿真,所以在基于 51 單片機(jī)的紅外遙控密碼鎖 16 PROTEUS 仿真中只有 主控模塊的原理圖。 系統(tǒng)硬件調(diào)試 1) 1602 顯示模塊 電源能夠供電并芯片沒有出現(xiàn)發(fā)熱等不正?,F(xiàn)象說明焊接正確。 2)按鍵掃描 1602 能夠正常顯示之后再看通過按鍵掃描能不能將數(shù)字傳遞到 1602 顯示,首先檢測硬件電路是否完全通路,再將程序燒進(jìn)單片機(jī)中,按下數(shù)字鍵看能否將數(shù)字顯示到 1602 制定的位置上,此時還要注意密碼不能超過六位數(shù)。按下解鎖鍵, LCD1602 首行顯示提示語,令一行則是顯示將要輸進(jìn)去的密碼。說明存儲器在讀密碼的時出現(xiàn)某些未知的錯誤。經(jīng)過檢查發(fā)現(xiàn)電路板上放置的芯片并不是 AT24c02,更換芯片后便能夠?qū)崿F(xiàn)開鎖,改密等功能。再將寫好的程序燒到單片機(jī)中,驗證通過則證明遙控器可以正確使用,再將兩個程序綜合到一起來實現(xiàn)雙控。再一次鍵入設(shè)置的新密碼。 6 總結(jié)與展望 確定研究課題之后,查閱相關(guān) 資料,設(shè)計相應(yīng)的原理圖。最艱難的應(yīng)該是對電路板的調(diào)試,雖然在仿真中效果了令人滿意,但當(dāng)在實物中時卻達(dá)不到仿真的效果,這就要通過多次檢測,從每根線的焊接到每個芯片的管腳接通情況都要一一測量 。遇到不懂的問題實驗室那些經(jīng)驗豐富的同學(xué)都會過來給予建議,感謝他們的幫助。_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]。 void display()。//模擬鎖 sbit buzzer=P2^4。 i++) {} } } sbit sda=P2^6。 uchar second=0,minute=0,hour=0。 uchar code tab3[]={Error }。 uchar code tab7[]={Input code again}。 uchar code tab9[]={ }。 sbit en=P2^2。 void LCD_WriteCommand(uchar WCLCD)。} 基于 51 單片機(jī)的紅外遙控密碼鎖 21 void delay2(uint t) //延時函數(shù) ms { uint x,y。y0。 en=1。 } /****************************1602 寫指令函數(shù) **************************/ void LCD_WriteCommand(uchar WCLCD)//BusyC 為 0 時忽略忙檢測 { rs=0。 delay2(1)。 //開顯示 ,顯示光標(biāo) ,光標(biāo)閃爍 LCD_WriteCommand(0x06)。 X amp。 X |= 0x80。 //delay(1)。= 0x1。\039。 } } } /*********************************LCD1602 驅(qū)動 **********************************/ /*****************************24C02 驅(qū)動 *********************************/ void start() //開始信號 { sda=1。 sda=0。 delay11()。 delay11()。 基于 51 單片機(jī)的紅外遙控密碼鎖 24 sda=0。amp。 } void write_byte(uchar indata) //寫一個字節(jié) { uchar i,temp。i++) { temp=temp1。 delay11()。 delay11()。 基于 51 單片機(jī)的紅外遙控密碼鎖 25 scl=0。 for(i=0。 k=(k1)|sda。 } void WrToROM_Byte(uchar address,uchar indata) { start()。 respons()。 } uchar RdFromROM_Byte(uchar address) { uchar indata。 write_byte(address)。 respons()。 } void WrToROM_dword(uchar address,dword indata) { uchar temp=0,i=0。i++){ temp=(indata(8*i))amp。 delay2(1)。 } dword RdFromROM_dword(uchar address) { uchar i=0,temp=0。i4。 //DisplayOneChar(2*i,1,message[temp/0x10])。 return indata。 delay11()。 TL0=(6553650000)%256。 基于 51 單片機(jī)的紅外遙控密碼鎖 28 return。j4。 {delay(1)。 if (N=30) { EX1=1。 //數(shù)據(jù)最高位補(bǔ)“ 0” if(N=8) { IRCOM[j] = IRCOM[j] | 0x80。 } IRCOM[5]=IRCOM[2] amp。 } else IRCOM[5]=IRCOM[5]+0x30。0x0f)4) + (IRCOM[5]amp。 //串口發(fā)送 0 case 0x03:key=1。 //串口發(fā)送 02 case 0x55:key=3。 //串口發(fā)送 04 case 0x13:key=5。break。break。break。break。// 上鎖 ( CH+) default :break。 delay11()。 delay11()。 if(*temp==0xff)return 0。 基于 51 單片機(jī)的紅外遙控密碼鎖 31 if((!keystatusflag)amp。 if(getkeycode(amp。 break。 //刪除 break。 break。led=1。 case 0xdb:key=7。 case 0x7b:key=13。 case 0xd7:key=14。 case 0x77:key=11。 keystatusflag=1。temp))){ delay2(4)。 } } } /*********************************矩陣鍵盤驅(qū)動 *******************************/ dword get_preserve_password() { return RdFromROM_dword(PASSWORD_ADDR)。i4。 DisplayOneChar(62*i,1,message[temp/0x10])。 DisplayListChar(0,0,open)。//關(guān)閉顯示 } lastdisflag=currentdisflag。 passwords=get_preserve_password()。 } keyscan()。 DisplayOneChar(keycounts+(13PASSWORD_LENGTH)/2,1,39。 delay2(200)。amp。 if(dispassword_||temp==(default_entrywords/10000)){ if(dispassword_amp。 } else if(temp==(default_entrywords/10000))dispassword_=1。 return 1。 status=input_password(amp。 led=0。 //DO_OTHERTHING()。 buzzer=0。 char stat
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1