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

正文內容

基于單片機的電子門禁系統(tǒng)設計畢業(yè)設計論文c語言程序(編輯修改稿)

2024-08-23 05:36 本頁面
 

【文章內容簡介】 :出口參數(shù):***************************************************************/void judge_clear_lcd(){ if( N_DISPLAY != N_DISPLAY_HISTORY ) { lcd_wcmd(0x01)。 //清屏 } }/***************************************************************函數(shù)功能:lcd顯示第0幕入口參數(shù):出口參數(shù):***************************************************************/void display0(){ uchar i。 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x00)。 //設置顯示位置 delay1(1)。 for(i=0。 wel[i]!=39。\039。 i++) { lcd_wdat(wel[i])。 } N_DISPLAY_HISTORY=0。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示第1幕入口參數(shù):出口參數(shù):***************************************************************/void display1(){ uchar i。 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x00)。 //設置顯示位置 delay1(1)。 for(i=0。 _in[i] !=39。\039。 i++) //顯示Come in please ! { lcd_wdat(_in[i])。 } lcd_pos(0x40)。 //設置顯示位置 delay1(1)。 for(i=0。 push[i] !=39。\039。 i++) //顯示Push the door ! { lcd_wdat(push[i])。 } N_DISPLAY_HISTORY=1。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示第2幕入口參數(shù):出口參數(shù):***************************************************************/void display2(){ uchar i。 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x00)。 //設置顯示位置 delay1(1)。 for(i=0。 pull[i]!=39。\039。 i++) //顯示Pull the door ! { lcd_wdat(pull[i])。 } N_DISPLAY_HISTORY=2。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示第3幕入口參數(shù):出口參數(shù):***************************************************************/void display3(){ uchar i。 bit j = 0。 // 已顯示‘*’ 標志 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x00)。 //設置顯示位置 delay1(1)。 for(i=0。 input[i]!=39。\039。 i++) //顯示Intput password { lcd_wdat(input[i])。 } lcd_wcmd(0x0d)。 //顯示閃爍光標 delay1(1)。 lcd_pos(0x43)。 //設置顯示位置 delay1(1)。 do { if( (V_KEY=13) amp。amp。 (V_KEY=15) ) { lcd_wcmd(0x0c)。 //不顯示閃爍光標 delay1(1)。 return。 //跳出本界面 } if( F_PASSW == 1 ) //是否有密碼輸入 { lcd_wdat(39。*39。)。 F_PASSW = 0。 j = 1。 //置位 已顯示‘*’ 標志 } if( (V_KEY == 12) amp。amp。 (j == 1) ) //是否在 已顯示‘*’下情況下按“輸入密碼”鍵 { //清除之前顯示的字符39。*39。 j = 0。 //清除 已顯示‘*’標志 lcd_pos(0x43)。 //設置顯示位置 for(i=0。 i6。 i++) { lcd_wdat(0x0a)。 //顯示空格 } lcd_pos(0x43)。 //設置顯示位置 } }while( F_PASSW_O != 1 )。 lcd_wcmd(0x0c)。 //不顯示閃爍光標 delay1(2)。 N_DISPLAY_HISTORY = 3。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示第4幕入口參數(shù):出口參數(shù):***************************************************************/void display4(){ uchar i。 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x00)。 //設置顯示位置 delay1(1)。 for(i=0。 passw_err[i]!=39。\039。 i++) //顯示Error ! { lcd_wdat(passw_err[i])。 } N_DISPLAY_HISTORY=4。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示第5幕入口參數(shù):出口參數(shù):***************************************************************/void display5(){ uchar i。 judge_clear_lcd()。 //是否清屏處理 lcd_pos(0x42)。 //設置顯示位置 delay1(1)。 for(i=0。 passw_err[i]!=39。\039。 i++) //顯示Test ... { lcd_wdat(test[i])。 } N_DISPLAY_HISTORY=5。 //記錄 歷史顯示界面編號}/***************************************************************函數(shù)功能:lcd顯示幕判別入口參數(shù):出口參數(shù):***************************************************************/void display(){switch( N_DISPLAY ) //根據(jù)當前界面編號N_DISPLAY進行顯示{case 0 : display0()。break。case 1 : display1()。break。case 2 : display2()。break。case 3 : display3()。break。case 4 : display4()。break。case 5 : display5()。break。}} 鍵盤程序1. 鍵盤程序流程圖如圖312示:圖312 鍵盤程序流程圖:/***************************************************************函數(shù)功能:鍵值計算程序,返回鍵值0~15入口參數(shù):i出口參數(shù):v***************************************************************/uchar key_calcu(uchar i, uchar m){ uchar v。 switch(m) { case 0x0e: v=(i*4)+0。break。 //第i行第1列 case 0x0d: v=(i*4)+1。break。 //第i行第2列 case 0x0b: v=(i*4)+2。break。 //第i行第3列 case 0x07: v=(i*4)+3。break。 //第i行第4列 default : v=0xff。 } return v。}/***************************************************************函數(shù)功能:鍵盤掃描程序,返回鍵值0~15入口參數(shù):出口參數(shù): (鍵值)***************************************************************/uchar key_scan(void) //使用行列逐級掃描法{ uchar i, temp=0, m, v_key。 P1 = 0x0f。//高四位低電平,低四位高電平 if(P1 != 0x0f) //確認是否有鍵按下 { delay(5)。 //去抖動, if(P1 != 0x0f) { //有鍵按下 for(i=0。 i4。 i++) //逐行掃描 { temp = ~ ( 1(4+i) )。 //~,P1口其他引腳為高 P1 = temp。 if(P1 != temp) //確認第i行是否有鍵按下 { m = P1 amp。 0x0f。 //~,用于計算鍵值 while( P1 != temp ) 。 //等待按鍵松開 delay(5)。 //去抖動, while( P1 != temp ) 。 //等待按鍵松開 v_key = key_calcu( i, m )。 //計算鍵值 if(v_key != 0xff) { return v_key。 //返回有效鍵值 } } } } } return 0xff。 //無鍵按下或掃描異常時,返回0xff作為鍵值} /***************************************************************函數(shù)功能:密碼驗證程序入口參數(shù):出口參數(shù):***************************************************************/void passw_check(){ uchar i, j = 0。 rec_passw[N_PASSW] = V_KEY。 //暫存輸入密碼 F_PASSW = 1。 //置位新密碼輸入標志 N_PASSW++。 //密碼存放位加1 if(N_PASSW == 6) //6位密碼是否輸入完畢 { F_INPUT = 0。 //清零 進入輸入密碼程序標志 F_PASSW_O = 1。 //置位 密碼輸入完畢標志 for(i=0。 i6。 i++) { if( rec_passw[i] == pass_word[i] ) { j++。 //記錄正確密碼個數(shù) } else break。 //若有一位密碼錯誤,則跳出、不再比較 } if(j == 6) { //密碼正確 N_DISPLAY = 1。 //顯示請進提示界面 go_out_OR_enter()。 //開鎖等處理 } else { //密碼錯誤 BUZZER = 0。 //蜂鳴器響 N_DISPLAY = 4。 //顯示密碼錯誤提示界面 set_origscr()。 //置位返回初始界面標志 } }}/***************************************************************函數(shù)功能:鍵值處理程序入口參數(shù):出口參數(shù):***************************************************************/void key_dispose(){ if( (F_INPUT == 1) amp。amp。 (V_KEY = 0) amp。amp。 (V_KEY = 9) ) //是否輸入密碼為0~9
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1