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

正文內(nèi)容

數(shù)字密碼鎖單片機(jī)課程設(shè)計(jì)-在線瀏覽

2025-08-05 12:48本頁(yè)面
  

【正文】 陣鍵盤。矩陣鍵盤設(shè)計(jì)電路圖,如圖4所示。1234567890退位確認(rèn)設(shè)置時(shí)間*關(guān)閉圖4 矩陣鍵盤設(shè)計(jì)電路圖 聲音提示電路設(shè)計(jì)聲音提示電路采用小蜂鳴器提示。蜂鳴器電路,如圖5所示。如下所示,圖6為1602A液晶顯示器的接口示意圖,表1為接口說明。表2 顯示模塊與MCU連接說明序號(hào)1602A液晶顯示器引腳ADUC848單片機(jī)引腳1RS引腳(A13)2R/W引腳(A14)3E引腳(A15)4D0引腳(AD0)5D1引腳(AD1)6D2引腳(AD2)7D3引腳(AD3)8D4引腳(AD4)9D5引腳(AD5)10D6引腳(AD6)11D7引腳(AD7)四、程序設(shè)計(jì)與系統(tǒng)仿真 模塊介紹與硬件電路相關(guān)聯(lián),本系統(tǒng)軟件包括主程序模塊、密碼比較判斷模塊、鍵盤掃描模塊、修改密碼模塊、1602A液晶顯示模塊等。開始系統(tǒng)初始化調(diào)用E2PROM密碼顯示主界面輸入密碼判斷密碼確定密碼開鎖模擬聲光鎖定鍵盤YN返回Y判斷次數(shù)N超過N次未超過N次再次輸入密碼密碼設(shè)置完畢N設(shè)置新密碼Y按鍵N判斷按鍵值返回主界面NY設(shè)置解碼次數(shù)產(chǎn)生隨機(jī)密碼輸入密碼N=0x84N=0x82N=0x11圖9 系統(tǒng)程序流程圖 主程序模塊主程序主要用于定義全局變量,給全局變量賦初值,初始化E2PROM,啟動(dòng)定時(shí)器以及從AT24C02中讀取密碼,為整個(gè)程序提供數(shù)據(jù);檢測(cè)按鍵;調(diào)用顯示等功能。其密碼輸入和比較判決流程圖如圖10所示。如圖11所示,為鍵盤掃描流程圖。圖12為修改密碼流程圖。在此次課程設(shè)計(jì)中我負(fù)責(zé)的模塊出現(xiàn)了問題導(dǎo)致在數(shù)碼管上顯示狀態(tài)的時(shí)候混亂了,主要是因?yàn)檠訒r(shí)上沒有處理好,Aduc848的定時(shí)器處理時(shí)是要加上一定的延時(shí)來防止沖突的。綜上而言,通過此次課程設(shè)計(jì),我很好的學(xué)習(xí)了單片機(jī)的應(yīng)用以及其編程。void p_revise()。void p_new2()。 void p_show()。void p_record()。void p_state(uchar f_s)。void p_copy(uchar *f_s,uchar *f_k)。sbit p10=P1^0。sbit p12=P1^2。sbit p14=P1^4。sbit p16=P1^6。sbit p20=P2^0。sbit p22=P2^2。sbit p24=P2^4。sbit p26=P2^6。sbit p30=P3^0。sbit p32=P3^2。sbit p34=P3^4。sbit p36=P3^6。/*變量聲明*/uchar bot,key1[9],key2[9],save[9],t[4],s,min,h,mino,mint,ho,ht,n1=1,n2=1,lock,minu,sign,tov,state,n,sound,point=1, showlist[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x71,0xff,0x21,0x85,0xe1,0x7f,0x7d}。 /*主函數(shù)*/void main(){ EA=1。 //開內(nèi)部中斷0 ET1=0。 TH0=0xf9。 //計(jì)數(shù)器0低八位 TR0=1。 sound=0。 //超時(shí)計(jì)數(shù)置為1 P1=0x00。 //調(diào)用首次使用判斷函數(shù) p_base()。 //密碼數(shù)組置首位 state=fanin。 else state=n。 if(n!=0amp。tov==0) //判斷密碼數(shù)組是不是在首位,超時(shí)計(jì)數(shù)是否為0 { p_state(tover)。 //調(diào)用主函數(shù) } switch(bot) { case vain: break。 //把密碼后一位置為end if(p_pare(key1,save)) //判斷輸入的密碼是否與原密碼相同 { p_state(succed)。 //鎖定鍵盤計(jì)數(shù)置為0 point=1。 //指示管置為輸入狀態(tài)opened while(1) { bot=p_scan()。 break。 switch(bot) { case off: main()。 case enter: main()。 } } } } } else { p_state(error)。 //調(diào)用錯(cuò)誤計(jì)數(shù)函數(shù) main()。 case cancel: main()。 case back: if(n!=0) //判斷當(dāng)前密碼是否為首位 key1[n]=end。 case revise: p_revise()。 case trevise: p_trevise()。 default: if(n+1==9) { p_state(error)。 } key1[n++]=bot。 ET1=0。 p_state(fanin)。 while(1) { if(n==0) state=fanin。 bot=p_scan()。 main()。 case enter: key1[n]=end。 point=1。 p_new1()。 p_record()。 } break。 break。 break。 case off: break。 break。 main()。 } }} /*首次使用設(shè)置密碼*/void p_new1() { n=0。 while(1) { if(n==0) state=new1。 if((tov==0amp。sign==1)||(n!=0amp。tov==0)) { p_state(tover)。 } bot=p_scan()。 case enter: key1[n]=end。 break。 break。 break。 break。 break。 main()。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1