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

正文內(nèi)容

基于單片機(jī)的電子密碼鎖的課程設(shè)計(jì)-閱讀頁(yè)

2025-07-11 15:10本頁(yè)面
  

【正文】 下一步的檢測(cè)判斷。方法是對(duì)鍵盤的行線進(jìn)行掃描。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值其程序流程如圖32所示:圖32 鍵盤掃描程序流程圖 系統(tǒng)密碼及開鎖程序流程圖 由于設(shè)計(jì)是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計(jì)中用的是矩陣鍵盤,所以就用到鍵盤掃描子程序,例如還有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序等。 圖41 keil編譯程序成功圖42 keil生成hex文件圖43 proteus調(diào)用keil的hex文件進(jìn)行仿真 系統(tǒng)調(diào)試結(jié)果調(diào)試結(jié)果共有三種狀態(tài),第一種狀態(tài)為上鎖狀態(tài),此時(shí)若要開鎖則需輸入正確密碼。第三種狀態(tài)為輸入密碼錯(cuò)誤,需重新輸入密碼。調(diào)試結(jié)果如下圖所示: 圖44 初始上鎖狀態(tài)圖45 密碼正確綠燈亮圖46 密碼錯(cuò)誤啟動(dòng)報(bào)警 結(jié)論 本學(xué)期的課程設(shè)計(jì)總算完成了,回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。剛開始時(shí)我不知該從何著手,后來參考了一些文獻(xiàn),我便開始設(shè)計(jì)自己的課程設(shè)計(jì)。我對(duì)這些知識(shí)掌握的不太好,所以在作設(shè)計(jì)時(shí)遇到一些問題,但通過不斷努力,終于把密碼鎖的思路和模型定了下來,去整理和修改程序。而且我用的是C語(yǔ)言來實(shí)現(xiàn)的控制,這次的應(yīng)用鞏固了我的C語(yǔ)言知識(shí)。! 參考文獻(xiàn)[1]楊西明,[M].北京:(06)rw bit 。display equ p0。led bit 。returnbit bit 。LJMP start。LJMP intermit_t0。LJMP intermit_t1。start:MOV sp,60h。main0: lcall strat_display。setb tr0。cjne a,39。,next1。next1: cjne a,39。,next2。next2: ajmp main。setb open。MOV 34h,39。 MOV 35h,39。MOV 36h,39。MOV 37h,39。MOV 38h,39。MOV 39h,39。 ;存放初始密碼MOV r7,12。loop: MOV r0,10h。djnz r7,loop。MOV p0,03h。 ;液晶軟復(fù)位MOV p0,01h。mov p0,3fh。mov p0,0fh。mov p0,06h。 ;液晶初始化完畢mov r4,10。mov th0,0b0h。setb et0。定時(shí)器t0,ret。push psw。mov tl0,0b0h。clr led。return: pop psw。reti。push psw。mov tl1,58h。clr led。mov r4,10。pop acc。jnz k1。k1:call delay。jnz k2。k2:clr tr0。mov r2,0feh。k3:mov a,r2。mov a,p1。mov a,0。l1: jb ,l2。ljmp lk。mov a,8。l3: jb ,next_key。lk: add a,r6。k4: call ks。mov a,r6。movc a,a+dptr。 ;查表取值存入50H,保護(hù)鍵值ret。mov a,r2。rl a。jmp k3。ks:mov p1,0f0h。xrl a,0f0h。mov dptr,table4。mov r0,40h。jbc returnbit,set_password。mov r0,40h。input_pere:mov a,r0。jnz input_error。inc r1。nop。 ;驗(yàn)證輸入密碼完畢jmp set_password0。mov dptr,table5。call delay1_5s。call delay1_5sinc 52h。cjne a,3,set_password。sjmp $。cjne a,39。,next3。next3: nop。mov dptr,table2。mov r0,40h。jbc returnbit,set_password。mov dptr,table3。call delay1_5s。mov dptr,table4。mov r0,46h。jbc returnbit,set_password。mov r0,40h。set_pere:mov a,r0。jnz set_error。inc r1。mov 34h,40h。mov 36h,42h。mov 38h,44h。 ;存入新密碼完畢jmp main0。mov dptr,table5。call delay1_5s。clr led。 ;前后兩次輸入新密碼不一致,返回重設(shè)。mov dptr,table4。mov r0,40h。jbc returnbit,input_password。mov r0,40h。input_pere0:mov a,r0。jnz input_error22。inc r1。nop。 ;驗(yàn)證輸入密碼完畢setb ledjmp display_right。mov dptr,table5。call delay1_5s。clr led。mov a,52h。setb speaker。 入密碼錯(cuò)誤超過3次,鎖死lcall warnning。BACK: nop。 cjne a,39。,BACK。isplay_right:call clear_display。call input_hint。 ;開鎖next_key1:call key。nop。F39。setb open。 ;返回主程序 。strat_display:mov p0,80h。mov dptr,table1。mov p0,0c0h。mov dptr,table11。ret。call write_instruction。input_hint:mov r5,16。all_or_not:movc a,a+dptr。call writedata。clr a。nop。ret。mov r1,0c0h。mov p0,a。loop1: call key。nop。C39。setb returnbit。next_to:mov a,50h。mov display,39。 call writedata。inc r0。endt: ret。CLR rw。setb en。nop。call delay。寫指令write_instruction:CLR rs。clr en。nop。clr en。ret。warnning:mov p0,80h。mov dptr,table7。mov p0,0c0h。mov dptr,table71。setb speakerret。延時(shí)程序delay1_5s: push 07h。push 03h。del22s: MOV r3,0。djnz r2,$。djnz r7,del22s。pop 02h。ret。push 03h。del21s: mov r2,0。nop。djnz r3,del21s。pop 02h。delay: push 07h。mov r7,10。nop。djnz r6,$。pop 06h。ret。table0: db 39。,39。,39。,39。db 39。,39。,39。,39。db 39。,39。,39。,39。db 39。,39。,39。,39。table1: db 39。table11: db39。table2: db 39。table3: db 39。table4: db 39。table5: db 39。table6: db 39。table7: db 39。TABLE71: db39。End
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1