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

正文內容

基于51單片機的紅外遙控密碼鎖畢業(yè)論文-預覽頁

2025-07-13 13:11 上一頁面

下一頁面
 

【正文】 圖5 LCD硬件連接圖 矩陣鍵盤電路設計本次設計要運用按鍵來控制,這時會想到有獨立式鍵盤和矩陣式鍵盤兩種連接方式,其中,獨立鍵盤需要使用多個IO口,由于本次設計要用到16個按鍵,因此若用獨立按鍵會極大降低IO口的利用率。是一個2K位串行CMOS E2PROM。遙控器應用范圍:電器、兒童玩具等。以此來完成紅外遙控的發(fā)送于接收。紅外接收頭與單片機的連接硬件電路如下圖所示: 圖16 紅外接收頭連接圖 模擬鎖與報警電路設計本次設計采用led來模擬鎖,將發(fā)光二極管接到單片機的IO口上,實際應用中接上一個1K電阻以保證發(fā)光二極管的亮度。蜂鳴器外圍電路如下: 圖18 蜂鳴器連接圖 系統(tǒng)PCB設計根據上述每個模塊的設計,以及單片機的各個管腳特性整體電路如圖19。首先考慮到矩陣鍵盤的掃描問題,單片機IO口默認為高電平,如上面矩陣鍵盤圖所示,鍵盤的列和行分別接P1口的高低電平,可以先固定在某一行進行掃描,利用switch語句返回每個按鍵鎖表示的數值及跳轉到某個功能函數中去,以此來實現按鍵控制。其中密碼為六位數。最后要考慮遠程遙控問題,遙控器來發(fā)送紅外波,并由接收頭接收信號經過處理之后傳到單片機中,再經過程序運行處理來進行開鎖、改密等。當IO口味高電平時led熄滅,此時認為上鎖。接收頭的輸出管腳連接的是單片機的外部中斷1口,因此,在程序運行時,首先要判斷是否產生中斷。SCK接時鐘線即為SCL,SDA接數據線,其余均接地。然后分模塊逐一進行調試。以及24c02的讀寫操作。單片機固定牢固之后1602便可正常顯示。主要是將按鍵按下的值保存到存儲器中,并能夠從中讀取。本人在調試過程中發(fā)現輸入密碼時不能夠正常開鎖,而真正能通過的密碼無從得知,若不通過存儲器的讀取,將初始值直接與鍵入值比較,此時密碼正確。此時再回到PROTEUS仿真,看下存儲器接線與PCB是否一致,以及芯片是否安置正確。經過參考網上給出的例程,加上外部中斷1程序,使用中斷,檢測是否發(fā)送信號。按下改密按鍵,1602第一行顯示input old code,輸入舊密碼(密碼錯誤則提示,并重新輸入),若密碼正確,畫面提示input new code,此時鍵入新密碼(六位數),然后按確定鍵,畫面顯示input new code again。然后用遙控器如上操作,同樣可以進行開鎖及修改密碼。寫程序時為了達到預期效果,對新接觸的芯片進行研究,通過多次修改完成每個模塊的運行。 致謝從開始選定課題到現在經歷了將近半年的時間,在這期間遇到一些困難想要放棄的時候室友們都會鼓勵我,讓我再次有了信心。 {_nop_()。}。void delay(unsigned char x) 。 //外部中斷1//sbit lock=P2^3。 i13。bit key_flag=0,currentdisflag=1,lastdisflag=1,keystatusflag=0,dispassword_=0,dispassword_flag=0。uchar code tab2[]={ Right! }。uchar code tab6[]={Input new code }。uchar code open[]={Wele... }。//定義接口sbit rw=P2^1。void LCD_WriteData(uchar WDLCD)。/******************************延時函數****************************/void delay11(){。x) for(y=110。 rw=0。 en=0。 LCD_Data=WCLCD。 //設置顯示模式:16X2,5X7,8位數據接口 LCD_WriteCommand(0x0c)。= 0x1。//當要顯示第二行時地址碼+0x40。 LCD_WriteData(DData)。 Y amp。//限制X不能大于15,Y不能大于1 while (DData[ListLength]!=39。 X++。 delay11()。}void stop() //停止信號{ sda=0。 sda=1。}void respons() //應答{ uchar i。 while((sda==1)amp。 delay11()。i8。 sda=CY。 } scl=0。}uchar read_byte() //讀一個字節(jié){ uchar i,k=0。 delay11()。 delay11()。 } return k。 write_byte(address)。 stop()。 respons()。 write_byte(AddRd)。 return indata。i4。 //DisplayOneChar(62*i,1,message[temp/0x10])。 //DisplayData(indata)。 for(i=0。 //DisplayOneChar(2*i+1,1,message[temp%0x10])。 delay2(1)。 scl=1。 TH0=(6553650000)/256。 if (IRIN==1) { EX1 =1。 for (j=0。k++) //每組數據有8位 { while (IRIN) //等 IR 變?yōu)榈碗娖健? N++。 } //高電平計數完畢 IRCOM[j]=IRCOM[j] 1。 return。 //右移4次,高四位變?yōu)榈退奈?if(IRCOM[5]9) { IRCOM[5]=IRCOM[5]+0x37。 q= (((IRCOM[6]amp。break。break。break。 //串口發(fā)送05 case 0x51:key=6。 //串口發(fā)送07 case 0x52:key=8。 //串口發(fā)送09 case 0x45:key=14。//確定 (EQ) case 0x46:key=13。break。 keypad=0xf0。//取高四位 keypad=0x0f。//取低四位 *temp=temp_l|temp_h。 key=0xff。temp)) { delay(4)。 case 0xde:key=1。 case 0x7e:key=12。 case 0xdd:key=4。 case 0x7d:key=10。 break。 break。 //9 break。 // 取消 break。 time_value=0。(!getkeycode(amp。 keystatusflag=0。 for(i=0。 DisplayOneChar(72*i,1,message[temp%0x10])。//LCD初始化 DisplayListChar(0,1,cls)。 /* } else if(currentdisflag!=lastdisflag) { LCD_WriteCommand(0x08,1)。 keycounts=0。tab9[10PASSWORD_LENGTH])。key10){ if(keycountsPASSWORD_LENGTH) { keycounts++。 temp=temp*10+key。 } if(key==11amp。 keycounts=0。 dispassword_=0。//退出鍵 } } *input=temp。 while(status){ refresh_display(0,0,tab1)。 refresh_display(0,0,tab2)。 delay2(1000)。 refresh_display(0,1,tab3)。 } } }}void setup_password(){ dword SETUP_PASSWORD1=0,SETUP_PASSWORD2=0。 delay2(100)。 //delay(4000)。 //delay(4000)。SETUP_PASSWORD1)){ refresh_display(0,0,tab7)。 refresh_display(0,1,tab8)。 } else { refresh_display(0,1,tab3)。 } else break。}void keyhandle(){ switch(key){ case 13:setup_password()。 }}void main(void){ IRIN=1。 EA=1。 delay2(400)。 if(RdFromROM_dword(PASSWORD_ENTRY)!=default_entrywords) { WrToROM_dword(PASSWORD_ENTRY,default_entrywords)。 } //delay(400)。0x0f])。 while(1) { if(dispassword_flag){DisplayData(passwords)。 DisplayOneChar(14,0,message[key/0x10])。 keyscan()。 }}void delay1(int ms){ unsigned char y。 _nop_()。 for(i=802
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1