課程設(shè)計(jì)--單片機(jī)電子密碼鎖_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  本設(shè)計(jì)通過(guò)1個(gè)單片機(jī)AT89C2051芯片,三極管,開(kāi)關(guān),電池線圈等完成一個(gè)8位電子密碼鎖,其工作原理是通過(guò)開(kāi)關(guān)控制單片機(jī)的P3.7, P3.2口輸出電流信號(hào),從而控制喇叭的響聲與電池線圈的磁通量變化,通過(guò)磁力的效應(yīng),吸引開(kāi)關(guān)的開(kāi)通與報(bào)警。</p><p>  本實(shí)驗(yàn)課題實(shí)現(xiàn)后可實(shí)現(xiàn)設(shè)定任意8位密碼,更

2、改密碼,開(kāi)鎖,報(bào)警等功能,有很強(qiáng)的實(shí)用價(jià)值,另外由于設(shè)計(jì)簡(jiǎn)單,實(shí)驗(yàn)材料價(jià)錢(qián)低,可用于實(shí)際生活中。</p><p>  本文以硬件內(nèi)容為主,介紹了8051系列單片機(jī),引腳用途的資料 功率放大器的使用。并通過(guò)這個(gè)課題展現(xiàn)出來(lái)。將本課題中的硬件運(yùn)行過(guò)程給予了詳細(xì)介紹。對(duì)密碼鎖的運(yùn)行狀態(tài)也繪制了流程圖給與了很好的說(shuō)明。</p><p>  關(guān)鍵詞: AT89C2051;wave軟件;密碼鎖<

3、/p><p><b>  目 錄</b></p><p><b>  引 言1</b></p><p>  1 課題要求及目的2</p><p>  1.1課題要求:2</p><p>  1.2研究目的,意義2</p><p>  2 51單

4、片機(jī)簡(jiǎn)介2</p><p>  2.1單片機(jī)發(fā)展史2</p><p>  2.2 51單片機(jī)3</p><p>  2.2.1 AT89C2051單片機(jī)芯片5</p><p>  2.3定時(shí)器/計(jì)數(shù)器概述9</p><p>  3 硬件電路設(shè)計(jì)10</p><p>  3.1芯片

5、的選擇10</p><p>  3.2時(shí)鐘電路11</p><p>  3.3放大電路與中斷,I/O口分配的解決12</p><p>  3.4復(fù)位電路13</p><p>  3.5開(kāi)鎖電路14</p><p>  3.6電源電路15</p><p>  3.7報(bào)警電路15<

6、;/p><p><b>  4軟件設(shè)計(jì)16</b></p><p><b>  4.1流程圖16</b></p><p>  4.2源程序及分析17</p><p><b>  總 結(jié)20</b></p><p><b>  參考文獻(xiàn)21

7、</b></p><p>  基于單片機(jī)的電子密碼鎖的設(shè)計(jì)</p><p><b>  引 言</b></p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì)。 CMOS化 近年,由于CHMOS技

8、術(shù)的進(jìn)小,大大地促進(jìn)了單片機(jī)的CMOS化。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。這也是今后以80C51取代8051為標(biāo)準(zhǔn)MCU芯片的原因。因?yàn)閱纹瑱C(jī)芯片多數(shù)是采用CMOS(金屬柵氧化物)半導(dǎo)體工藝生產(chǎn)。CMOS電路的特點(diǎn)是低功耗、高密度、低速度、低價(jià)格。采用雙極型半導(dǎo)體工藝的TTL電路速度快,但功耗和芯片面積較大。隨著技術(shù)和工藝水平的提高,又出現(xiàn)了HMOS(高密度、高速度MOS)和CHM

9、OS工藝。CHMOS和HMOS工藝的結(jié)合。目前生產(chǎn)的CHMOS電路已達(dá)到LSTTL的速度,傳輸延遲時(shí)間小于2ns,它的綜合優(yōu)勢(shì)已在于TTL電路。因而,在單片機(jī)領(lǐng)域CMOS正在逐漸取代TTL電路。 低功耗化 單片機(jī)的功耗已從Ma級(jí),甚至1uA以下;使用電壓在3~6V之間,完全適應(yīng)電池工作。低功耗化的效應(yīng)不僅是功耗低,而且?guī)?lái)了產(chǎn)品的高可靠性、高</p><p>  1 課題要求及目的</p>

10、<p><b>  1.1課題要求:</b></p><p>  用單片機(jī)設(shè)計(jì)一個(gè)密碼鎖,要求設(shè)計(jì)一個(gè)8位密碼的密碼鎖。能完成密碼設(shè)置,密碼檢驗(yàn),錯(cuò)誤時(shí)報(bào)警5秒提示,錯(cuò)誤超過(guò)3次時(shí)報(bào)警1分鐘作用</p><p>  1.2研究目的,意義</p><p>  通過(guò)研究設(shè)置一個(gè)8位密碼鎖的方法,使我們重溫了基礎(chǔ)知識(shí)并提高了對(duì)單片機(jī)的理解,

11、加深了對(duì)單片機(jī)的用途的認(rèn)識(shí),加強(qiáng)自我學(xué)習(xí)能力與動(dòng)手動(dòng)腦能力。</p><p>  2 51單片機(jī)簡(jiǎn)介</p><p><b>  2.1單片機(jī)發(fā)展史</b></p><p>  單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。 1.SCM即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是

12、尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。 2.MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技

13、術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。 Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì),將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績(jī)。 3.單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就</p><p>  

14、2.2 51單片機(jī)</p><p>  8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,實(shí)際使用方面已經(jīng)被市場(chǎng)淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在, MCS-51內(nèi)核系列兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品(比如目前流行的89S51、已經(jīng)停產(chǎn)的89C51等),各高校及專(zhuān)業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。 有些文獻(xiàn)甚至也將8051泛指MCS-51系列單片機(jī),805

15、1是早期的最典型的代表作,由于MCS-51單片機(jī)影響極深遠(yuǎn),許多公司都推出了兼容系列單片機(jī),就是說(shuō)MCS-51內(nèi)核實(shí)際上已經(jīng)成為一個(gè)8位單片機(jī)的標(biāo)準(zhǔn)。 其他的公司的51單片機(jī)產(chǎn)品都是和MCS-51內(nèi)核兼容的產(chǎn)品而以。同樣的一段程序,在各個(gè)單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51, PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說(shuō)的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司

16、的 AT89C51單片機(jī),同時(shí)是在原基礎(chǔ)上增強(qiáng)了許多特性,如時(shí)鐘,更優(yōu)秀的是由Flash(程序存儲(chǔ)器的內(nèi)容至少可以改寫(xiě)1000次)存儲(chǔ)器取帶了原來(lái)的ROM(一次性寫(xiě)入),AT89C51的</p><p>  2.2.1 AT89C2051單片機(jī)芯片</p><p>  AT89C2051外部引腳圖:(可以直接拷入ASM程序文件中,作注釋使用,十分方便</p><p&g

17、t;  【引腳電器性能】AT89C2051單片機(jī)的P口特點(diǎn): P1口:P1口是一個(gè)8位雙向I/O端口,其中P1.2~P1.7引腳帶有內(nèi)部上拉電阻,P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內(nèi)精密模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流,并能直接驅(qū)動(dòng)LED顯示。  對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P2口作輸入口使用

18、時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil).</p><p>  P3口:P3.0~P3.5、P3.7是帶有內(nèi)部上拉電阻的7個(gè)雙向I/O端口。P3.6用于固定輸入片內(nèi)比較器的輸出信號(hào)并且它作為一通用I/O口引腳而只讀。P3口輸出緩沖器可吸收20mA電流。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P3口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳

19、會(huì)輸出一個(gè)電流(Iil)。AT89C51單片機(jī)的P口特點(diǎn): P0口:是一個(gè)8位漏極開(kāi)路輸出型雙向I/O端口。作為輸出端口時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL輸入,對(duì)端口寫(xiě)1時(shí),又可作高阻抗輸入端用。 在訪問(wèn)外部程序或數(shù)據(jù)存儲(chǔ)器時(shí),它是時(shí)分多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間將激活內(nèi)部的上拉電阻。  P1口:P1口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1口的輸出緩沖器可驅(qū)動(dòng) (吸收或輸出電

20、流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P2口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil)。 P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P</p><p>  內(nèi)部單元:運(yùn)算器: 1、算術(shù)/邏輯部件ALU:用以完成+、-、*、/ 的算術(shù)運(yùn)算及布爾代數(shù)的邏輯運(yùn)算,并通過(guò)運(yùn)算結(jié)果影響程序狀態(tài)寄存器PS

21、W的某些位,從而為判斷、轉(zhuǎn)移、十進(jìn)制修正和出錯(cuò)等提供依據(jù)。 2、累加器A:在算術(shù)/邏輯運(yùn)算中存放一個(gè)操作數(shù)或結(jié)果,在與外部存儲(chǔ)器和 I/O接口打交道時(shí),進(jìn)行數(shù)據(jù)傳送都要經(jīng)過(guò)A來(lái)完成。 3、寄存器B:在 *、/ 運(yùn)算中要使用寄存器B 。乘法時(shí),B用來(lái)存放乘數(shù)以及積的高字節(jié);除法時(shí),B用來(lái)存放除數(shù)及余數(shù)。不作乘除時(shí),B可作通用寄存器使用。 4、程序狀態(tài)標(biāo)志寄存器PSW:用來(lái)存放當(dāng)前指令執(zhí)行后操作結(jié)果的某些特征,以便為下一條指令

22、的執(zhí)行提供依據(jù)。</p><p>  RS1、RS0:工作寄存區(qū)選擇位:</p><p>  片內(nèi)工作寄存器組·RS1、RS0與片內(nèi)工作寄存器組的對(duì)應(yīng)關(guān)系        RS1 RS0 寄存器區(qū)        片內(nèi)RAM地址 通用寄存器名

23、稱(chēng)        0       0       0           00H~07H     

24、   R0~R7        0       1       1           08H~0FH  &

25、#160;     R0~R7        1       0       2           10H

26、~17H        R0~R7        1       1       3        

27、;   18H~1FH        R0~R7控制器: 1、指令寄存器IR和指令譯碼器。 2、程序計(jì)數(shù)器:存放CPU執(zhí)行下一條指令的地址。是一個(gè)16位寄存器,可尋址64KB 。 3、堆棧指針SP:用于子程序調(diào)用和中斷處理。(機(jī)器復(fù)位后,SP←#07H ,因此壓棧的第一個(gè)數(shù)據(jù)在08H單元中)。 4、數(shù)據(jù)指針寄存器DPTR:16位的

28、寄存器,也可以作為兩個(gè)8位寄存器DPH和DPL 。 DPTR主要作外部數(shù)據(jù)指針,可對(duì)64K</p><p>  存儲(chǔ)器1、數(shù)據(jù)存儲(chǔ)器(即RAM)MCS-51系列有128B內(nèi)部數(shù)據(jù)存儲(chǔ)器(片內(nèi)ARM),分3部分:7FH┓       ┣ 數(shù)據(jù)緩沖區(qū):存放數(shù)據(jù)或是作為堆棧區(qū)。30H┛2FH┓ 位尋址區(qū):這(61×8)128位的為地址

29、為00H~7FH,其中每位占用一個(gè)位地址。       ┣ (這些位地址名可以并只能在位操作指令中使用。例如:MOV C,30H20H┛ 其中的30H是指位地址名,而不是寄存器30H,要特別注意。)1FH┓       ┣ 寄存器 3 區(qū)┓18H┛     &

30、#160;          ┃ 17H┓                ┣ 4個(gè)寄存器區(qū)占用內(nèi)部RAM的00H~1FH共31個(gè)單元。     &

31、#160; ┣ 寄存器 2 區(qū)┃ 其中每區(qū)8個(gè)寄存器為R0~R7,參見(jiàn)上述“工作寄存器組”。10H┛                ┃ (注:因?yàn)镃PU復(fù)位時(shí),SP(堆棧指針)指向07H,使用寄存器1、2、3時(shí),必須將SP移至數(shù)據(jù)緩沖區(qū)(30H~7FH)。)0FH┓ 

32、0;              ┃       ┣ 寄存器 1 區(qū)┃08H┛          </p><p>  2.3

33、定時(shí)器/計(jì)數(shù)器概述</p><p>  1.定時(shí)器/計(jì)數(shù)器在微型計(jì)算機(jī)系統(tǒng)中的主要作用就是為CPU和I/O設(shè)備提供實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)中斷、定時(shí)檢測(cè)、定時(shí)掃描、定時(shí)顯示等定時(shí)控制,或者對(duì)外部事件進(jìn)行計(jì)數(shù)。一般的微機(jī)系統(tǒng)和微機(jī)應(yīng)用系統(tǒng)中均配置了定時(shí)器/計(jì)數(shù)器電路,它既可當(dāng)作計(jì)數(shù)器作用,又可當(dāng)作定時(shí)器使用,其基本的工作原理就是"減1"計(jì)數(shù)。 ①定時(shí)器:CLK輸入脈沖是一個(gè)周期性的時(shí)鐘脈沖,每當(dāng)

34、計(jì)數(shù)單元為零時(shí),計(jì)數(shù)初值寄存器的內(nèi)容會(huì)自動(dòng)重新裝入計(jì)數(shù)單元,重新開(kāi)始"減1"計(jì)數(shù),于是OUT輸出的是低于CLK頻率的均勻脈沖序列。 ②計(jì)數(shù)器:CLK輸入脈沖是一個(gè)非周期事件計(jì)數(shù)脈沖,當(dāng)計(jì)算單元為零時(shí),OUT輸出一個(gè)脈沖信號(hào),以示計(jì)數(shù)完畢。 2.可編程定時(shí)器/計(jì)數(shù)器都有幾個(gè)通道,每個(gè)通道都是一個(gè)相對(duì)獨(dú)立的定時(shí)器/計(jì)數(shù)器,一個(gè)通道有以下5個(gè)部分組成。 ①控制寄存器:一個(gè)8位的只寫(xiě)寄存器用以存放由CPU寫(xiě)入的通

35、道工作方式選擇控制字。 ②計(jì)數(shù)初值寄存器CR:一個(gè)16位寄存器,用以存放計(jì)數(shù)初值。 ③計(jì)數(shù)執(zhí)行單元CE:是一個(gè)16位的減1計(jì)數(shù)器。 ④計(jì)數(shù)輸出鎖存器OL:一個(gè)16位的只讀寄存器,用以鎖存當(dāng)前計(jì)數(shù)值。 ⑤控制邏</p><p><b>  3 硬件電路設(shè)計(jì)</b></p><p><b>  3.1芯片的選擇</b></p&

36、gt;<p>  引腳功能詳見(jiàn)2.2.</p><p><b>  3.2時(shí)鐘電路</b></p><p><b>  內(nèi)部振蕩方式:</b></p><p>  在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱(chēng)晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)

37、成了自激振蕩器,并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用6MHz、12MHz或24MHz。內(nèi)部振蕩方式如圖1所示。圖中電容器C1,C2起穩(wěn)定振蕩頻率、快速起振的作用。電容值一般為5~30pF。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。</p><p>  3.3放大電路與中斷,I/O口分配的解決</p><p>  三極管是一種控制元件,主要用來(lái)控制電流的大小,以共發(fā)射極接法為例(信

38、號(hào)從基極輸入,從集電極輸出,發(fā)射極接地),當(dāng)基極電壓UB有一個(gè)微小的變化時(shí),基極電流IB也會(huì)隨之有一小的變化,受基極電流IB的控制,集電極電流IC會(huì)有一個(gè)很大的變化,基極電流IB越大,集電極電流IC也越大,反之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。但是集電極電流的變化比基極電流的變化大得多,這就是三極管的放大作用。IC 的變化量與IB變化量之比叫做三極管的放大倍數(shù)β(β=ΔIC/ΔIB, Δ表示變化量。),三

39、極管的放大倍數(shù)β一般在幾十到幾百倍。</p><p>  在PnP技術(shù)出現(xiàn)之前,中斷和I/O端口的分配是由人手工進(jìn)行的,若想要一塊塊聲卡占用中斷5,就找一個(gè)小跳線在卡上標(biāo)著中斷5的針腳上一插。這樣的操作需要用戶了解中斷和I/O端口的知識(shí),并且能夠自己分配中斷地址而不發(fā)生沖突,對(duì)普通用戶提出這樣的要求是不切實(shí)際的。</p><p>  PnP技術(shù)就是用來(lái)解決這個(gè)問(wèn)題的,PnP技術(shù)將自動(dòng)找到一

40、個(gè)不沖突的中斷和I/O地址分配給外部設(shè)備,而完全不需要人工干預(yù)。</p><p><b>  3.4復(fù)位電路</b></p><p>  復(fù)位操作完成單片機(jī)片內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開(kāi)始運(yùn)行。</p><p>  當(dāng)8XX51單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時(shí)單片機(jī)就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處

41、于循環(huán)復(fù)位狀態(tài),而無(wú)法執(zhí)行程序。因此要求復(fù)位后能脫離復(fù)位狀態(tài)。</p><p>  根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位、開(kāi)關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。</p><p><b>  3.5開(kāi)鎖電路</b></p><p>  電磁繼電器的工作原理和特性</p><p>  電磁式繼電

42、器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))吸合。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼

43、電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱(chēng)為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱(chēng)為“常閉觸點(diǎn)”。</p><p><b>  3.6電源電路</b></p><p>  本課題使用5V外接電源與內(nèi)部電池供電。</p><p><b>  3.7報(bào)警電路</b></p><p>  采用普通5V成品小蜂

44、鳴器</p><p><b>  圖1 電子鎖原理圖</b></p><p><b>  4軟件設(shè)計(jì)</b></p><p><b>  4.1流程圖</b></p><p>  圖2  電磁鎖程序流程圖</p><p><b>  

45、4.2源程序及分析</b></p><p><b>  ORG 0000H</b></p><p>  AJMP START</p><p><b>  ORG OO3OH</b></p><p>  START:ACALL PB</p><p>  MOV RO

46、,#31H</p><p><b>  MOV R2,#8</b></p><p>  SET:MOV P1,#0FFH</p><p><b>  MOV A,P1</b></p><p>  CJNE A,#0FFH,L8 ;當(dāng)A≠0FFH時(shí),轉(zhuǎn)移(判斷有無(wú)按鍵按下)&

47、lt;/p><p><b>  AJMP SET</b></p><p>  L8: ACALL DELAY ;調(diào)用延時(shí)</p><p>  CJNE A,#0FFH,SAVE</p><p>  AJMP SET ;設(shè)置8位密碼</p>&

48、lt;p>  SAVE: ACALL BP</p><p>  MOV @R0A ;把A送給R0中內(nèi)容所指向地址</p><p><b>  INC R0</b></p><p>  DJNZ R2,SET ;R2-1≠0,轉(zhuǎn)移(判斷輸入密碼夠8位否)</p&g

49、t;<p>  MOV R5,#16</p><p>  D2S: ACALL BP ;延時(shí)</p><p>  DJNZ R5,D2S</p><p>  MOV R0,#31H</p><p><b>  MOV R3,#3</b></p><p>  AA1: MOV R2,#

50、8</p><p>  AA2: MOV P1,#0FFH</p><p><b>  MOV A,P1</b></p><p>  CJNZ A,#0FFH, L9</p><p>  AJMP AA2 </p><p>  L9ACALL DELAY</p><p&

51、gt;  CJNE A,#0FFH,AA3</p><p>  AJMP AA2 ;判斷輸入密碼有錯(cuò)誤否</p><p>  AA3: ACALL BP</p><p>  CLR C ;對(duì)進(jìn)位清零</p><p>  SUBB A, @R0 ;A-@R0-CY

52、(判斷輸入密碼與設(shè)置密碼相等否)</p><p><b>  INC R0</b></p><p>  CJNE A,#00H,AA4 ;A≠00H,轉(zhuǎn)移</p><p><b>  AJMP AA5</b></p><p>  AA4: SETB 00H

53、 ;記錯(cuò)誤一次,00H單元內(nèi)容置“1”</p><p>  AA5: DJNZ R2,AA2 ;R2-1≠0,轉(zhuǎn)移到AA2(判斷輸入密碼夠8位否)</p><p>  JB 00H AA6 ;00H單元=1,轉(zhuǎn)移</p><p>  CLR P3.2

54、 ;標(biāo)志=1否</p><p>  L3 MOV R5,#8</p><p>  ACALL BP ;延時(shí)</p><p>  DJNZ R4, L3</p><p><b>  MOV R3,#3</b></p><p><

55、;b>  SETB P3.2</b></p><p><b>  AJMP AA1</b></p><p>  AA6:DKNZ R3,AA7 ;判斷3次錯(cuò)誤到否</p><p>  MOV R5,#24</p><p>  L5: MOV R4,#200</p>

56、;<p>  L4: ACALL BP ;錯(cuò)誤3次,警告1分鐘</p><p>  DJNZ R4,L4</p><p>  DJNZ R5,L5</p><p><b>  MOV R3,#3</b></p><p>  AA7: MOV R5,#40</p&g

57、t;<p>  ACALL BP ;延時(shí)</p><p>  DJNZ R5,AA7</p><p>  AA8: CLR 00H ;錯(cuò)誤標(biāo)志清零</p><p><b>  AJMP AA1</b></p><p>  

58、BP:CLR P3.7 ;錯(cuò)誤次數(shù)清零</p><p>  MOV R7,#250</p><p>  L2:MOV R6,#124</p><p>  L1:DJNZ R6,L1 ;R6-1≠0,轉(zhuǎn)移</p><p>  CPL P3.7 ;P3.7口取

59、反</p><p>  DJNZ R7,L2</p><p>  SETB P3.7 ;P3.7口置“1”</p><p><b>  RET</b></p><p>  DELAYMOV R7,#20</p><p>  L7: MOV R6,#1

60、25 ;延時(shí)(短音提示)</p><p>  L6: DJNZ R6,L6</p><p>  DJNZ R7,L7</p><p><b>  RET</b></p><p><b>  END </b></p><p>&l

61、t;b>  總 結(jié)</b></p><p>  作為一名自動(dòng)化專(zhuān)業(yè)的大三學(xué)生,我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。在已度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專(zhuān)業(yè)課。我們?cè)谡n堂上掌握的僅僅是專(zhuān)業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專(zhuān)業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類(lèi)似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。</p><p>  

62、在做本次課程設(shè)計(jì)的過(guò)程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開(kāi)實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無(wú)法升級(jí)為設(shè)計(jì)。</p><p>  其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專(zhuān)業(yè)課知識(shí),如:protel99制圖

63、、匯編語(yǔ)言等。雖然過(guò)去從未獨(dú)立應(yīng)用過(guò)它們,但在學(xué)習(xí)的過(guò)程中帶著問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。</p><p>  最后,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一

64、個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常德,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題。</p><p>  另外,這次課程設(shè)計(jì)讓我感到了團(tuán)隊(duì)合作的重要性。在團(tuán)隊(duì)中,我們互幫互助,對(duì)整個(gè)課程設(shè)計(jì)來(lái)說(shuō),這是至關(guān)重要的,缺少每一個(gè)人都會(huì)對(duì)我們的設(shè)計(jì)產(chǎn)生影響。還有要感謝指導(dǎo)老師在我們遇到困難時(shí),給

65、予我們的建議與鼓勵(lì)。</p><p>  幾周的課程設(shè)計(jì)結(jié)束了,但是從中學(xué)到的知識(shí)會(huì)讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問(wèn)題和實(shí)踐能力的提高都會(huì)受益于我在以后的學(xué)習(xí)、工作和生活中。</p><p><b>  參考文獻(xiàn)</b></p><p>  1 何立民. 單片機(jī)高級(jí)教程. 第1版.北京:北京航空航天大學(xué)出版社,2001 2 趙曉安.

66、 MCS-51單片機(jī)原理及應(yīng)用. 天津:天津大學(xué)出版社,2001.3 3 李廣第. 單片機(jī)基礎(chǔ). 第1版.北京:北京航空航天大學(xué)出版社,1999 4 徐惠民、安德寧. 單片微型計(jì)算機(jī)原理接口與應(yīng)用. 第1版. 北京:北京5郵電大學(xué)出版社,1996 6 何立民.從Cygnal 80C51F看8位單片機(jī)發(fā)展之路. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002年,第5期:P5~8 7 夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:北京航空航天大

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論