老師發(fā)了個題目《基于單片機的遠程控制系統(tǒng)的設計》
我在網(wǎng)上找了篇
好像是畢業(yè)論文很完整(原文地址——http://blog.sina.com.cn/s/blog_4cc9241a0100ba00.html)
單片機的存儲系統(tǒng)的分配利用在其工作過程中起非常大的作用,所以就必須對其進行必要的初始化。
程序代碼:
(1)片內(nèi)RAM初始化子程序
IBCLR: MOV
MOV
CLR
IBC1 :
INC
DJNZ
RET
(2)片外RAM初始化子程序
EBCLR1: MOV
MOV
MOV
MOV
CLR
EBC11:
INC
DJNZ
RET
(3)片外RAM初始化子程序(雙字節(jié)單元)
EBCLR2: MOV
MOV
MOV
MOV
MOV
JZ
INC
EBC21:
MOVX
INC
DJNZ
DJNZ
RET
本單元是通過計數(shù)器T0的外部中斷方式來計數(shù)的。
程序代碼:
ORG
TT0: SETB 7DH
RETI
本功能模塊主要是產(chǎn)生信號提示音,方便不同的使用者。根據(jù)普通人耳的反應頻率為20Hz至20KHz的范圍,而CCITT規(guī)定的電話話音信號的頻率范圍是300Hz至3400Hz,所以在本功能單元的發(fā)聲頻率定為500Hz和1000Hz兩種。
主要分為五種提示音:
1、一聲低音,表示裝置已經(jīng)摘機,請輸入密碼,其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;
2、兩聲低音,表示密碼已經(jīng)通過,請選擇電器,其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;
3、三聲低音,表示電器已經(jīng)選定,請控制(開/關),其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;
4、三聲高音,表示密碼輸入錯誤,其參數(shù):頻率f=1000Hz,延時t=0.3秒/聲;
5、一聲高音,表示控制已經(jīng)完成,其參數(shù):頻率f=1000Hz,延時t=0.3秒/聲;
提示音發(fā)生是使用有限循環(huán),反復使單片機的RXD口的電平反轉(zhuǎn),從而形成方波信號 。
子程序代碼:
ORG 1100H
RING10:MOV
RING11:MOV
RING12:LCALL
CPL
DJNZ
DJNZ
CLR
RET
ORG
RING20:MOV R3,#03
RING21:MOV
RING22:MOV
RING23:LCALL
CPL
DJNZ
DJNZ
CLR
MOV
RING24:LCALL
DJNZ
DJNZ
CLR
RET
ORG
RING30:MOV
RING31:MOV
RING32:MOV
RING33:LCALL
CPL
DJNZ
DJNZ
CLR
MOV
RING34:LCALL
DJNZ
DJNZ
CLR
RET
ORG
RING40:MOV
RING41:MOV
RING42:MOV
RING43:LCALL
CPL
DJNZ
DJNZ
CLR
MOV
RING44:LCALL
DJNZ
DJNZ
CLR
RET
ORG
RING50:MOV
RING51:MOV
RING52:LCALL
CPL
DJNZ
DJNZ
CLR
RET
ORG
DL10: MOV
DL12: MOV
DL11: DJNZ
DJNZ
RET
ORG
DL20: MOV
DL22: MOV
DL21: DJNZ
DJNZ
RET
ORG
DL30:MOV
DL32:MOV
DL31:DJNZ
DJNZ
RET
本系統(tǒng)密碼校驗的基本原理是:在系統(tǒng)初始化的時候把原始密碼寫入地址為30H開始的存儲空間內(nèi),密碼的位數(shù)“5”賦給R7。當系統(tǒng)摘機時,要求輸入密碼,單片機把解碼后的數(shù)據(jù)(使用者輸入的密碼)存儲在38H開始的存儲空間內(nèi)。然后單片機對兩個存儲地址的內(nèi)容逐位進行比較,直到完全相等才能轉(zhuǎn)到下一進程,有一位不同,程序就跳轉(zhuǎn)到出錯提示的子程序。
子程序代碼:
ORG
HOKE:CLR
SETB
CLR
MOV
LCALL
IN:
DTMF:MOV
MOV
SETB
SETB
SETB
SETB
WAIT:JBC
LJMP
CC:
MOV
MOV
CMP:MOV
MOV
CLR
MOV
SUBB
INC
INC
JZ
LJMP
AAA:DJNZ
LJMP
QQ: DJNZ
LCALL
LJMP
IN1: LCALL
LJMP
本系統(tǒng)是通過在線輸入密碼而改變特定存儲器中的密碼值的。
程序代碼:
ORG
KEYIN:SETB
CLR
ANL
MOV
LCALL
MOV
MOV
WPIN:
LJMP
READ: MOV
MOV
MOV
READ1:MOV
MOV
INC
INC R1
DJNZ
;跳轉(zhuǎn)READ1
LCALL
;新密碼
MOV
MOV
WRE:
LJMP
KEYCMP:MOV
MOV
MOV
KEYCP:MOV
CLR
SUBB
INC
INC
JZ
LJMP
BBB:
;即循環(huán)比較密碼的五位
MOV
MOV
MOV
KEYREIN:MOV
MOV
INC
INC
DJNZ:R6,KEYREIN
;環(huán)比較密碼的五位
LCALL
LJMP
RET
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |