537【畢設課設】基於微控制器超市自動存包櫃檯管理系統
阿新 • • 發佈:2020-12-11
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
超市自動存包櫃設計
存包過程 :
存包-系統產生隨機密碼4位數-某櫃門開啟-手動按關門鍵-櫃門關
模擬效果 :
按下存包鍵顯示屏顯示4位數字及顯示櫃門編號,該號櫃門燈亮,按下關門鍵,櫃門燈滅,完成一次存包過程,其隨機密碼儲存至該密碼被使用,該密碼未使用,該編號櫃門為已使用櫃門,不被下次存包過程開啟。
該存包過程一共可存8個櫃,若8個櫃都被使用,下次按下存包時,顯示器顯示櫃門已滿。
取包過程:
取包-顯示輸入密碼-輸入密碼-判斷密碼-密碼正確-櫃門開啟-手動關門-若未關門系統延時5秒自動關門-該編號櫃門為可使用狀態,可於存包使用。
-密碼錯誤-顯示錯誤-重新輸入-若連續輸入3次-櫃門鎖定-密碼清楚(該編號櫃門鎖定後不被下次存包鎖開啟,即一直為使用狀態)
模擬效果:
按下取包鍵顯示屏顯示輸入密碼,手動輸入密碼系統判讀密碼,密碼正確,顯示櫃門編號,該編號櫃門燈亮,手動關門,若5秒內沒有關門,系統延時5秒自動關門。若密碼錯誤,顯示密碼錯誤重新輸入,連續3次錯誤顯示櫃門鎖定,該櫃門鎖定如上。
sbit KeyB_1=P2^0;//按鍵B1 sbit KeyB_2=P2^1;//按鍵B2 sbit KeyB_3=P2^2;//按鍵B3 sbit KeyB_4=P2^3;//按鍵B4 unsigned char password[4]={0};//密碼引數設定 unsigned char passwordtemp[4]={0};//密碼輸入裝載引數 unsigned char key_counter=0,Lcok_Flag=0, Lock_Ins=0,ReFlag=0; //按鍵計數值 unsigned int Counter_T=0; unsigned char PassWordS[8][4]={0}; void DelayUs2x(unsigned char t) //簡短延時函式 { while(--t); } void DelayMs(unsigned int t)//毫秒級延時函式 { while(t--) { DelayUs2x(245);//簡短延時函式 DelayUs2x(245);//簡短延時函式 } } void delay_n10us(unsigned int n) //微妙級延時函式