




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
鄭州理工職業(yè)技術(shù)學院
課程設(shè)計
課程電子密碼鎖設(shè)計
學校鄭州理工職業(yè)技術(shù)學院___________
院系機電工程系_________________
專業(yè)班級數(shù)控112班___________________
學生姓名田景亮________________________
學生學號201104010049____________________
指導(dǎo)教師關(guān)B雅召________________________
2011年3月25日
目錄
第一章概述2
1.1引言2
1.2電子密碼鎖的背景3
1.3電子鎖設(shè)計的意義的本設(shè)計特點3
第二章系統(tǒng)硬件設(shè)計5
2.1系統(tǒng)總設(shè)計結(jié)構(gòu)圖5
2.2.開鎖機構(gòu)設(shè)計6
2.2.1主控芯片AT89c51單片機的簡介6
2.3鍵盤設(shè)計10
2.4系統(tǒng)電路設(shè)計:11
2.4.1晶振時鐘電路11
2.4.2復(fù)位電路設(shè)計12
2.4.3串口引腳功能介紹12
2.4.4其它引腳12
2.5元器件采購13
第三章軟件設(shè)計流程及描述13
3.1系統(tǒng)軟件設(shè)計整體思路13
3.2系統(tǒng)軟件設(shè)計流程圖14
3.3程序調(diào)試16
3.3.1程序調(diào)試用到的軟件及工具16
3.4KEILC51簡介16
3.5調(diào)試過程17
第四章源程序代碼19
4.1程序總體設(shè)計19
總結(jié)33
參考文獻34
致謝35
附錄1系統(tǒng)電路圖36
第一章概述
1.1引言
隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的
突出,傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,電子鎖由
于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的喜愛。鎖
是置于可啟閉的器物上,用以關(guān)住某個確定的空間范圍或某種器具的,必
須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們
對它的結(jié)構(gòu)、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工
具也層出不窮。現(xiàn)代人類文明社會里,由于社會中各種矛盾沖突十分劇烈,
人們的思想道德觀念,價值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,
善良的人們能夠自覺規(guī)范自己的行為,“非禮不為”,雖無鑰匙亦不會亂
闖。然而,那些毫無道德觀念的盜賊卻想方設(shè)法利用高科技手段撬門開鎖,
使廣大居民防不勝防。
為什么會出現(xiàn)這種情況呢?因為傳統(tǒng)鎖具都存在致命的弱點:
第一、鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強力破壞;
2
第二、鎖具制作工藝,技術(shù)落后,無法阻止技術(shù)手段的開啟。
目前,市場上很多國內(nèi)外的鎖具,實際上都不具備真正的防盜功能。
在慣偷面前,兩根鋼絲或兒件簡單的工具就可以把這些鎖打開,有的慣偷
甚至公開揚言:“沒有我打不開的鎖?!逼鋵崳皇撬麄兌喔呙?,而是一
般鎖具技術(shù)原理太過簡單。面對這一殘酷的現(xiàn)狀,新時代提出了鎖具必須
革命的迫切的要求。
1.2電子密碼鎖的背景
隨著社會科技的進步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光
鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,
不同磁場,不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜
等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,
人們也就能對自身財產(chǎn)安全有了更多的保障。當今安全信息系統(tǒng)應(yīng)用越來
越廣泛,特別在保護機密、維護隱私和財產(chǎn)保護方面起到重大作用,而基
于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實
意義。
1.3電子鎖設(shè)計的意義的本設(shè)計特點
單片機,亦稱單片微電腦或單片微型計算機。它是把中央處理器
(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出端口(I/O)
等主要計算機功能部件都集成在一塊集成電路芯片上的微型計算機。計
算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。微計算機(單
3
片機)在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的
各個領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到匕機上各種儀表的控制,從計算機的網(wǎng)
絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們
生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。
以前沒有單片機時,這些東西也能做,但是只能使用復(fù)雜的模擬電路,然
而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用,元器
件不斷老化,控制的精度自然也會達不到標準。在單片機產(chǎn)生后,我們就
將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機外圍接一點簡單的接
口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,
成本也降低了,長期使用也不會擔心精度達不到了,且容易升級改善。
電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單
位的文件檔案、財務(wù)報表以及一些個人資料的保存等多種場合使用。大大
提高了主人物資的安全性,安全可以代替老式機械鎖。目前使用的密碼鎖
種類繁多,各具特色。本文從經(jīng)濟實用的角度出發(fā),采用AT89c2051單機,
研制了-一款具有防盜自動報警功能的電子密碼鎖。該密碼鎖設(shè)計方法合
理,簡單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價
值。
(1)系統(tǒng)設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。
(2)密碼由用戶自己設(shè)定,在開鎖狀態(tài)下,用戶可自行修改密碼。
(3)具有自動報警功能。自動報警分現(xiàn)場報警和遠程報警兩種?,F(xiàn)場報
警由揚聲器發(fā)出報警聲。
(4)兩種情況下可報警:一是密碼輸入錯誤3次,則報警;二是非正常
開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測,同時報警,
保證了系統(tǒng)的安全性。系統(tǒng)工作時,用戶通過按鍵輸入4位密碼,單片機
4
將輸入密碼與設(shè)定密碼進行比較,若密碼正確,則發(fā)出開鎖信號,將門打
開,系統(tǒng)不報警;若密碼不正確,則有相應(yīng)的指示燈閃動,并要求重新輸
入密碼,重新輸入密碼的次數(shù)不能超過3次,若3次輸入的密碼都不正確,
則發(fā)出報警信號。
第二章硬件電路設(shè)計及描述
第二章系統(tǒng)硬件設(shè)計
2.1系統(tǒng)總設(shè)計結(jié)構(gòu)圖
數(shù)碼管及LED燈顯示
密碼輸入設(shè)備>單片機AT89c51一單片機時鐘電路
開鎖機構(gòu)
本設(shè)計由主控芯片51單片機,單片機時鐘電路,鍵盤,和開鎖電路組成。
單片負責控制整個系統(tǒng)的執(zhí)行過程。
5
2.2.開鎖機構(gòu)設(shè)計
通過單片機送給開鎖執(zhí)行機構(gòu),電路驅(qū)動電磁鎖吸合,從而達到開鎖
的目的。本設(shè)計通過P3.0接一個3極管驅(qū)動繼電器打開電磁閥線圈實現(xiàn)
開關(guān)門。
圖2—2密碼鎖開鎖機構(gòu)示意圖
當用戶輸入的密碼正確而且是在規(guī)定的時間及次數(shù)輸入之內(nèi),單片機便
輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達到開門的目的。
2.2.1主控芯片AT89C51單片機的簡介
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器
(FPEROM一FalshProgrammableandErasableReadOnlyMemory)的低
電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲
器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)
制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8
位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微
控制器。
主要特性:
?與MCS-51兼容
?4K字節(jié)可編程閃爍存儲器
6
?壽命:1000寫/擦循環(huán)
?數(shù)據(jù)保留時間:10年
?全靜態(tài)工作:0Hz-24MHz
?三級程序存儲器鎖定
?128X8位內(nèi)部RAM
?32可編程I/O線
?兩個16位定時器/計數(shù)器
?5個中斷源
?可編程串行通道
?低功耗的閑置和掉電模式
?片內(nèi)振蕩器和時鐘電路
管腳說明:
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電
流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部
程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。
P1□:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖
器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用
作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉
的緣故。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可
接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電
阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將
7
輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16
位地址外部數(shù)據(jù)存儲器進行存取時;P2口輸出地址的高八位。在給出地
址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀
寫時,P2口輸出其特殊功能寄存器的內(nèi)容。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收
輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,
并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)
這是由于上拉的緣故。
P3口也可作為AT89c51的一些特殊功能口,如下表所示:
P3.0RXD(串行輸入口)
P3.1TXD(串行輸出口)
P3.2/INTO(外部中斷0)
P3.3/INT1(外部中斷1)
P3.4T0(記時器0外部輸入)
P3.5T1(記時器1外部輸入)
P3.6/WR(外部數(shù)據(jù)存儲器寫選通)
P3.7/RD(外部數(shù)據(jù)存儲器讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期
的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存
地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,
ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的l/6o
因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當
8
用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。另外,該引腳被略微拉高。
如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,
每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效
的/PSEN信號將不出現(xiàn)。
/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器
(OOOOH-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA
將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
Jvcc
PO.O(ADOI
PO.14AOt)
iPO2<AO2)
P0.31AD3)
P0.44AO4)
PO.5<AO5)
POe4AO6)
1PO.7(AO7)
<RXO)P30EA/VPP
(TXO)P31ALE/PROO
(nimr>pa2;PSCN
<rMTT)P33
<TO>P34
<T1)P35
(WR)P36
4a6PJ7
XTAL2
X7AL1
GNOP2O<Aftl
AT89C51
圖2-3AT89C51芯片圖
9
2.3鍵盤設(shè)計
為了使本電路更加簡潔,本電子鎖的密碼鎖采用簡單易學但不為多數(shù)
人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設(shè)備只需要一個按即可實
現(xiàn)密碼的輸入與更改。
關(guān)于摩斯碼的介紹如下:
摩斯密碼是20世紀使用較為廣泛的電報傳輸使用的一種編碼。電報最
早是由美國的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由一個
輸入按鍵在輸入時按住的間隔時間長短組成來決定你的輸入:短促的點信
號".讀"嘀"(Di);保持一定時間的長信號讀''嗒"(Da)o
間隔時間:"嘀"It;"嗒"3t;"滴嗒"間It;字母間3t;字間5t。
表2—1字符一摩斯碼對照表
字符摩斯碼字符摩斯碼字符摩斯碼
A?_M———Y—,——
B—???N—?Z__??
C—,—?0———1,————
D—,,P,——?2,,——
EQ?_3??,
F,,—?R,—,4???,——
G———,S??.5
H?.,?T—6—????
1??U,,—7——???
10
J,———V??,—8———,,
K—,—W,——9————,
L?—??X0—————
注:摩斯碼用在數(shù)字電路中“一”表示1,表示0,如0翻譯成二
進制數(shù)為11111H,十六進制數(shù)為1FH。
本電路設(shè)計只取0?9數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無效。
表3—2本設(shè)計用到的數(shù)字的摩斯碼和二進制對照
數(shù)
0123456789
字
摩
1111011100110001000000001000110011101111
斯
1111100000
碼
2
1111011100110001000000001000110011101111
進
1111100000
制
2.4系統(tǒng)電路設(shè)計:
本系統(tǒng)電路主芯片AT89c51,晶振和兩個電容組成的時鐘脈沖,一個
電阻和一個電解電容和一個按鍵組成的復(fù)位電路,一個8段數(shù)碼管構(gòu)成的
密碼顯示器,一個蜂鳴器,5個LED,一個NPN三極管加上一個繼電器組
成的驅(qū)動電路構(gòu)成了系統(tǒng)電路。
2.4.1晶振時鐘電路
單片機XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶
11
振,形成單片機的晶振電路。
2.4.2復(fù)位電路設(shè)計
2.4.3串口引腳功能介紹
單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INTO外
接蜂鳴器,當INTO被置0時,蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用
作系統(tǒng)工作狀態(tài)提示。
2.4.4其它引腳
ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA
接電源
12
2.5元器件采購
1.元器件清單
表3—3元器件清單
原件名稱備注
單片機AT89C51
電阻RI,R210K,100K各一只
電解電容C3100F
無極電容Cl,C230VF
數(shù)碼管一只
5V蜂鳴器一只
晶振12MHZ
三極管9014一個
按健SLS2各一個
12V繼電器一個
LEDDI,D2,D3,D4綠,黃,紅,藍各一個
2極管40041只
萬能電路板1塊
經(jīng)采購繼電器沒有買到,所以原電路的輸出電路3極管的繼電器改為
LED燈,只要電路IC經(jīng)密碼輸入后能點亮LED燈則電路設(shè)計要求達到。
第三章軟件設(shè)計流程及描述
3.1系統(tǒng)軟件設(shè)計整體思路
?個應(yīng)用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同
時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速發(fā)展的今
天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采
用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如
數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,
13
采用與C51系列單片機相對應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行
軟件編程。
程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是
機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程
序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看
懂”,然后逐一執(zhí)行。
高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算
機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且
語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語
言編制程序的速度比較快,也便于學習和交流,但是本系統(tǒng)卻選用了匯編
語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控
制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適
合于存儲容量較小的系統(tǒng)。
3.2系統(tǒng)軟件設(shè)計流程圖
輸
入
錯
誤
未
滿
滋
15
圖3—1系統(tǒng)程序設(shè)計結(jié)構(gòu)圖
3.3程序調(diào)試
把也寫好的匯編語言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法
錯誤,再根據(jù)軟件提示對本程序進行修改,直到?jīng)]有錯誤再生成單片機能
運行的機器碼,再用51開發(fā)板或其它單怎機寫入工具把機器碼寫入單片
機進行實際的程序調(diào)試,根據(jù)實際情況再對程序的不足加以修改,直到滿
足設(shè)計要求。
3.3.1程序調(diào)試用到的軟件及工具
調(diào)試本程序需要用到KEILC51,及51開發(fā)板一塊及其配套的下載燒錄
軟件
3.4KEILC51簡介
KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語
言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維
護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),
體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)
調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的
匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語
句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語
言的優(yōu)勢。
C51工具包的整體結(jié)構(gòu):uVision與Ishell分別是C51forWindows
16
和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、
仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編
源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文
件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成
絕對目標文件(.ABS)oABS文件由0H51轉(zhuǎn)換成標準的Hex文件,以供調(diào)
試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直
接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。
3.5調(diào)試過程
首先打開KEILC51主程序,新建工程,新建文本框?qū)懭氤绦?,保存?/p>
檢查是否有語法錯誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機可執(zhí)行的
HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機。
17
9
ProjectWorkspacex270setbp3.2
國口目標1281movp1,#Offh
282ainu)cunchu2
283
284next1_1:
285cinea,xs_l,next2_2
286movp1,#0f9h
28
7clr
28p3.2
288_________:Leal]delayIs
289
290movp1,#Offh
291a-impcunchu2
297
295next2_2:
294onnea,xs_2,next3_3
295movp1,#0a4h
296drp3.2
2971cai1delayIs
298setbp3.2
299movplj>#Offh
300ajmncunchu2
30
301
302next3_3:
303ennea,xs_3,next4_4
304movp1,#ObOh
305clrp3.2
306里calldelayIs
307setbp3.2
308movpl#Offh
319ajmncunchu2
310
311next4_4:
3412cinea,xs_4,next5_5
3movpl,#99h
clrp3.2
昌|零|g|%|嚕.|STARTUP.A51[§)1111ASM「
X***WARNINGL2:REFERENCEMADETOUNRESOLVEDEXTERNAL
SYMBOL:?C_START
MODULE:STARTUP.obj(?C_STARTUP)
nADDRESS:080AH
iProgramSize:data=9.0xdata=Ocode=15
3"1111111111"-0個錯誤,2個警告.
\??A命令人在文杵中音技/
圖3—2keilc51調(diào)試介面
18
??
-
裝FLASH裝EEPROM讀焰絲位寫熔絲位讀FLASH芯片編程芯片編輯關(guān)于
編程選項1FLASH內(nèi)容|EEPROM內(nèi)容|產(chǎn)品記錄|
芯片選擇熔絲位
擴
展
后
M硒
At89s51v設(shè)置|熔絲低位:FF-Fr
Em
IN
芯片特征手:5106讀取|FT1NANA
1.ENA-N
I
時鐘效準:mNAWAE
ENAN
NONEHONEKAINA.E
mENAN
NONEHOWEHAm
NAI
mENA-N
FLASH:0/4096I
EEPROM:0/0mHAEEH
IB
mHAEN
BOOTLOAD及加密IE
讀取|mNAESN
r-lBLBOlNoLockI
mNA
r-lBLBO2LocklW入|
r-lBLBH。LockZ編程選項
I-1BLB12Lock3回芯片擦除口編程EEFROM匚]編程后絲才擦除|
口片空檢建口校帖FLASH口芯片頗定聆編程|
選項及談作說明
回編程FLASH口校驗iEEPROM回該識別字
0自動重裝FLASH□自劭重裝EEFROM匚]編程51時1眇結(jié)束
口啟動LOGOE自動洞速底]芯片編程計數(shù)清空|
(3提示音回快速校覽芯片編程數(shù):0
口檢也卜自動編程口更新一自動編程口Enter鍵一芯片編程
圖3—3單片機燒錄軟件介面
第四章源程序代碼
4.1程序總體設(shè)計
本設(shè)計的程序:
hcOequ4ah;延時緩存區(qū)
he1equ4bh
hc2equ4ch
he3equ4dh
hc4equ4eh
xs_Oequ50h;顯示緩存區(qū)
xs_lequ51h
xs_2equ52h
xs_3equ53h
19
xs_4equ54h
xs_5equ55h
xs_6equ56h
xs_7equ57h
xs_8equ58h
xs_9equ59h
psiequ5ah;設(shè)置密碼緩存區(qū)
ps2equ5bh
ps3equ5ch
ps4equ5dh
mmbzequ5fh;密碼輸入次數(shù)
atlequ60h;輸入密碼緩存區(qū)
at2equ61h
at3equ62h
at4equ63h;初始化
orgOOh
ajmpmainl
org30h
mainl:movpsi,#00h
movps2,#00h
movps3,#00h
movps4,#00h
movatl,#00h
movat2,#00h
movat3,#00h
movat4,#00h
main:movxs_O,#lfh;顯示0的摩斯值
movxs_l,#Ofh;顯示1的摩斯值
movxs_2,#07h;顯示2的摩斯值
movxs_3,#03h;顯示3的摩斯值
movxs_4,#01h;顯示4的摩斯值
movxs_5,#00h;顯示5的摩斯值
movxs_6,#10h;顯示6的摩斯值
movxs_7,#18h;顯示7的摩斯值
movxs_8,#lch;顯示8的摩斯值
20
movxs_9,#leh;顯示9的摩斯值
clrp3.0;RXD置0
mova,#00h;密碼緩存
movr2,#04h;四位密碼
movrl,#00h
mov10,#psl
movr7,#05h;摩斯次數(shù),由于數(shù)字為5次
clrp2.7
start:movpO,#Offh
movpl,#Offh
setbp2.4;按鍵位
jbp2.4,start;2.4為1轉(zhuǎn)start
Icalldelay500ms
jbp2.4,start
ok:;嘀的音
clrpO.O
Icalldelay500ms
jnbp2.4,daa;是否去嗒音
cun:;
setbp0.2
setbpO.O
rla
adda,rl;存入一位摩斯碼
djnzr7,yanshi;是否夠五位摩斯碼
ajmpxianshi
yanshi:;輸入一位摩斯碼停頓It
Icalldelay500ms
jbp2.4,main
ajmpok
daa:;嗒的音
Icalldelay500ms
jbp2.4,stop
setbpO.O
clrp0.2
21
Icalldelay500ms
setbp0.2
jnbp2.4,stop
movrl,#O1h
ajmpcun
stop:;摩斯輸入錯誤
clrp0.4
Icalldelay2s
setbp0.4
ajmpmain
cunchu:mov@r0,a
incrO
mova,#00h
movrl,#00h
movr7,#05h
djnzr2,yanshi
clrp0.6
Icalldelay2s
setbp0.6
ajmpshuru
xianshi:cjnea,xs_O,nextl;夠五位摩斯碼顯示0
movpl,#OcOh
clrp3.2;報警器
IcalldelayIs
setbp3.2;報警器
movpl,#Offh
ajmpcunchu
nextkcjnea,xs_l,next2;夠五位摩斯碼顯示1
movpl,#0f9h
clrp3.2
IcalldelayIs
setbp3.2
22
movpO,#Offh
ajmpcunchu
next2:cjnea,xs_2,next3;夠五位摩斯碼顯示2
movpl,#0a4h
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next3:
cjnea,xs_3,next4夠五位摩斯碼顯示3
movpl,#ObOh
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next4:
cjnea,xs_4,next5夠五位摩斯碼顯示4
movpl,#99h
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next5:
cjnea,xs_5,next6夠五位摩斯碼顯示5
movpl,#92h
clrp3.2
IcalldelayIs
23
setbp3.2
movpl,#Offh
ajmpcunchu
next6:
cjnea,xs_6,next7夠五位摩斯碼顯示6
movpl,#7dh
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next7:
cjnea,xs_7,next8夠五位摩斯碼顯示7
movpl,#0f8h
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next8:
cjnea,xs_8,next9;夠五位摩斯碼顯示8
movpl,#080h
clrp3.2
IcalldelayIs
setbp3.2
movpl,#Offh
ajmpcunchu
next9:
cjnea,xs_9,cw;夠五位摩斯碼顯示9
movpl,#90h
clrp3.2
IcalldelayIs
24
setbp3.2
movpl,#Offh
ajmpcunchu
cw:
clrp3.2
clrp0.4
Icalldelay5s
clrp0.4
setbp3.2
ajmpmainl
shuru:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國全自動剖溝機數(shù)據(jù)監(jiān)測研究報告
- 山東省德州市寧津縣2024-2025學年九年級上學期期末化學試卷(含答案)
- 高中禁毒測試題及答案
- 2019-2025年軍隊文職人員招聘之軍隊文職法學自我提分評估(附答案)
- 2019-2025年消防設(shè)施操作員之消防設(shè)備高級技能提升訓練試卷A卷附答案
- 2023-2024學年廣東省廣州四中教育集團七年級(下)期中數(shù)學試卷(含答案)
- 汽油檢測知識培訓課件
- (一模)哈三中2025屆高三第一次模擬考試 物理試題(含答案)
- 安徒生童話之丑小鴨的感悟
- 煤炭買賣居間合同
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員考試真題
- 《VAVE價值工程》課件 - 創(chuàng)造最大化的價值與效益
- 中醫(yī)養(yǎng)生保健知識科普
- 社區(qū)居委會2025年工作總結(jié)暨2025年工作計劃
- 2024年天翼云認證運維工程師考試復(fù)習題庫(含答案)
- 水果聯(lián)營合同范例
- 江蘇卷2024年高考語文第一次模擬考試一(原卷版+解析版)
- 實驗室儀器設(shè)備售后服務(wù)承諾書(7篇)
- 《主管技能訓練》課件
- 2024解析:第十六章電壓和電阻-講核心(解析版)
評論
0/150
提交評論