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

正文內(nèi)容

本科畢業(yè)設(shè)計-基于51單片機的紅外遙控密碼鎖設(shè)計-文庫吧資料

2025-01-24 15:53本頁面
  

【正文】 ag)amp。}void keyscan(){ uchar temp=0。 if(*temp==0xff)return 0。0x0f。 delay11()。0xf0。 delay11()。 } /***************************定時器1中斷*********************************//***********************************矩陣鍵盤驅(qū)動**************************/bit getkeycode(uchar *temp){ uchar temp_h=0,temp_l=0。// 上鎖 (CH+) default :break。led=1。break。break。break。break。break。break。break。break。 //串口發(fā)送04 case 0x13:key=5。 //串口發(fā)送03 case 0x08:key=4。 //串口發(fā)送02 case 0x55:key=3。 //串口發(fā)送01 case 0x18:key=2。 //串口發(fā)送0 case 0x03:key=1。 switch(q) //判斷按鍵鍵碼值 { case 0x16:key=0。0x0f)4) + (IRCOM[5]amp。 } else IRCOM[6]=IRCOM[6]+0x30。 } else IRCOM[5]=IRCOM[5]+0x30。 //取鍵碼的低四位 IRCOM[6]=IRCOM[2] 4。 } IRCOM[5]=IRCOM[2] amp。 } } if(IRCOM[2]!=~IRCOM[3]) { EX1=1。 //數(shù)據(jù)最高位補“0” if(N=8) { IRCOM[j] = IRCOM[j] | 0x80。 } //。 if (N=30) { EX1=1。 while (IRIN) //計算IR高電平時長 { delay(1)。 {delay(1)。k8。j4。 delay(1)。 return。 delay(15)。 TL0=(6553650000)%256。 unsigned char q=0。 delay11()。 delay11()。 return indata。 } //DisplayData(indata)。 //DisplayOneChar(2*i,1,message[temp/0x10])。 indata=(indata8)+temp。i4。 //refresh_display(0,1,cls)。}dword RdFromROM_dword(uchar address){ uchar i=0,temp=0。 } delay2(1)。 delay2(1)。 //DisplayOneChar(72*i,1,message[temp%0x10])。i++){ temp=(indata(8*i))amp。 for(i=0。}void WrToROM_dword(uchar address,dword indata){ uchar temp=0,i=0。 stop()。 respons()。 start()。 write_byte(address)。 write_byte(AddWr)。}uchar RdFromROM_Byte(uchar address){ uchar indata。 respons()。 respons()。 respons()。}void WrToROM_Byte(uchar address,uchar indata){ start()。 delay11()。 k=(k1)|sda。i++) { scl=1。 for(i=0。 sda=1。 scl=0。 delay11()。 delay11()。 delay11()。 delay11()。 delay11()。i++) { temp=temp1。 for(i=0。}void write_byte(uchar indata) //寫一個字節(jié){ uchar i,temp。 scl=0。amp。 delay11()。 sda=0。 sda=0。 delay11()。 delay11()。 delay11()。 scl=0。 sda=0。 scl=1。 } }}/*********************************LCD1602驅(qū)動**********************************//*****************************24C02驅(qū)動*********************************/void start() //開始信號{ sda=1。//顯示單個字符 ListLength++。\039。= 0xF。= 0x1。 ListLength = 0。 //delay(1)。//這里不檢測忙信號,發(fā)送地址碼 //delay(1)。 X |= 0x80。//限制X不能大于15,Y不能大于1 if (Y) X |= 0x40。 X amp。 //設(shè)置光標(biāo)指針}/******************1602按指定位置顯示一個字符函數(shù)**********************/void DisplayOneChar(uchar X, uchar Y, uchar DData){ Y amp。 //開顯示,顯示光標(biāo),光標(biāo)閃爍 LCD_WriteCommand(0x06)。}/****************************1602初始化函數(shù)**************************/void LCD_Init(void){ LCD_WriteCommand(0x38)。 delay2(1)。 en=1。}/****************************1602寫指令函數(shù)**************************/void LCD_WriteCommand(uchar WCLCD)//BusyC為0時忽略忙檢測{ rs=0。 delay2(1)。 en=1。} /****************************1602寫數(shù)據(jù)函數(shù)**************************/void LCD_WriteData(uchar WDLCD){ rs=1。y0。x0。}void delay2(uint t) //延時函數(shù)ms{ uint x,y。void DisplayListChar(uchar X, uchar Y, uchar code *DData)。void LCD_WriteCommand(uchar WCLCD)。void LCD_Init(void)。sbit en=P2^2。/****************************LCD1602驅(qū)動**************************/define LCD_Data P0//數(shù)據(jù)接口sbit rs=P2^0。uchar code tab9[]={ }。uchar code cls[]= { }。uchar code tab7[]={Input code again}。uchar code tab5[]={Input old code }。uchar code tab3[]={Error }。uchar code tab1[]={Input code }。uchar second=0,minute=0,hour=0。dword time_value=0,passwords=123456。 i++) {} }}sbit sda=P2^6。 while(x) { for (i = 0。//模擬鎖sbit buzzer=P2^4。sbit IRIN=P3^3。void display()。void delay1ms()。define dword unsigned longdefine keypad P1define PASSWORD_LENGTH 6 //不要超過9define PASSWORD_ADDR 0x10define PASSWORD_ENTRY 0x08define AddWr 0xa0 //寫數(shù)據(jù)地址,需要參考24c02芯片文檔define AddRd 0xa1 //讀數(shù)據(jù)地址define default_passwords 123456define default_entrywords 20130411define wait_time 600 //等待600s后關(guān)閉顯示屏,節(jié)電uchar IRCOM[7]。_nop_()。_nop_()。參考文獻(xiàn)[1] 張毅剛. 單片機原理及應(yīng)用(第二版)[M]. 北京:高等教育出版社, 2010: 1642. [2] 林伸茂. 8051單片機徹底研究基礎(chǔ)篇[M]. 北京:人民郵電出版社,2003:24150. [3] 麥山,[J].1998.[4] 邱玉春,[J].2000:56163.[5] 張文崢,李先亮, 紅外通信在導(dǎo)航儀中的應(yīng)用[J]. 2000.[6] [M].北京:高等教育出版社,2004:10156.[7] [M].北京:電子工業(yè)出版社,2008:3279.附錄1.元器件清單元器件名稱及規(guī)格數(shù)量51單片機1晶振12MHZ1瓷片電容30PF2電解電容10 uF 2USB1發(fā)光二極管2蜂鳴器1三極管PNP1AT24C021滑動變阻器10K1排阻10K1電阻1K4按鍵17自鎖按鍵1電阻10K3電阻10歐12.源程序includeinclude //包含_nop_()函數(shù)定義的頭文件define uchar unsigned chardefine uint unsigned intdefine delayNOP()。遇到不懂的問題實驗室那些經(jīng)驗豐富的同學(xué)都會過來給予建議,感謝他們的幫助。本次畢業(yè)設(shè)計不僅僅是對我大學(xué)四年的檢測也是對我毅力的考驗,讓我在一次次的打擊之后變得更堅強。最艱難的應(yīng)該是對電路板的調(diào)試,雖然在仿真中效果了令人滿意,但當(dāng)在實物中時卻達(dá)不到仿真的效果,這就要通過多次檢測,從每根線的焊接到每個芯片的管腳接通情況都要一一測量。另外要考慮仿真與實物的不同,所以在畫PCB板時,除了注意與仿真保持一致還要注意在實物中的效果,因此要考慮元器件封裝及接入器件的電阻大小等等。6 總結(jié)與展望確定研究課題之后,查閱相關(guān)資料,設(shè)計相應(yīng)的原理圖。然后切斷電源,重新給電路板供電,再次輸入密碼(輸入剛才設(shè)定的新密碼),1602顯示right并模擬鎖發(fā)光二極管點亮。再一次鍵入設(shè)置的新密碼。若密碼正確模擬鎖led點亮并顯示right,密碼不正確顯示error蜂鳴器鳴叫并跳轉(zhuǎn)到最初的界面。再將寫好的程序燒到單片機中,驗證通過則證明遙控器可以正確使用,再將兩個程序綜合到一起來實現(xiàn)雙控。參考網(wǎng)上給的遙控器鍵碼值使用swith語句同矩陣按鍵掃描返回數(shù)字及調(diào)用功能函數(shù)。經(jīng)過檢查發(fā)現(xiàn)電路板上放置的芯片并不是AT24c02,更換芯片后便能夠?qū)崿F(xiàn)開鎖,改密等功能。這說明原始設(shè)定的密碼在調(diào)用的過程中被某一句程序改寫。說明存儲器在讀密碼的時出現(xiàn)某些未知的錯誤。錯誤,則燈滅,說明鎖已經(jīng)關(guān)閉。按下解鎖鍵,LCD1602首行顯示提示語,令一行則是顯示將要輸進去的密碼。3)存儲器硬件調(diào)試在本次設(shè)計中,如上述介紹為了防止掉電丟失采用AT24c02進行存儲數(shù)據(jù)。2)按鍵掃描1602能夠正常顯示之后再看通過按鍵掃描能不能將數(shù)字傳遞到1602顯示,首先檢測硬件電路是否完全通路,再將程序燒進單片機中,按下數(shù)字鍵看能否將數(shù)字顯示到1602制定的位置上,此時還要注意密碼不能超過六位數(shù)。若調(diào)節(jié)滑動變阻器1602依然不顯示,此時再看看程序中1602初始化函數(shù)是否有錯,再看硬件有沒有問題,本人在調(diào)試1602的時候就遇到類似問題,電路與程序都完全正確,1602卻依然不能正常顯示,有時會出現(xiàn)亂碼的現(xiàn)象,最后發(fā)現(xiàn)竟然是單片機沒有與插槽接觸完全,導(dǎo)致1602的控制端與單片機接觸不良,因此,會出現(xiàn)時而亂碼時而不顯示的狀況。 系統(tǒng)硬件調(diào)試1)1602顯示模塊電源能夠供電并芯片沒有出現(xiàn)發(fā)熱等不正?,F(xiàn)象說明焊接
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1