版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 西南科技大學(xué)2011級(jí)微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告課題名稱(chēng)微機(jī)原理與接口技術(shù)姓 名學(xué) 號(hào)院、系、部制造科學(xué)與工程學(xué)院專(zhuān) 業(yè)指導(dǎo)教師 2014年 月 日36 / 37文檔可自由編輯一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù): 1、利用MCS-51內(nèi)部定時(shí)器定時(shí),編程實(shí)現(xiàn)年、月、日、時(shí)、分、秒的顯示,顯示格式為: 年月日: 10-06-18 時(shí)分秒: 09-12-35也可自行設(shè)定顯示格式,兩部分可按鍵切換顯示;2、能按鍵調(diào)整日期、時(shí)間的數(shù)值;3、可設(shè)定時(shí)間報(bào)警,報(bào)警的時(shí)間至少有2個(gè),報(bào)警時(shí)應(yīng)有報(bào)警指示。4、要求至少調(diào)試出任務(wù)的前兩項(xiàng)。要 求: 首先進(jìn)行預(yù)設(shè)計(jì),根據(jù)設(shè)計(jì)的任務(wù)要求,先確定設(shè)計(jì)的硬件電路方案,然
2、后進(jìn)行硬件電路的初步設(shè)計(jì),在計(jì)算機(jī)上畫(huà)出硬件電路圖,在老師的指導(dǎo)下進(jìn)行修正硬件電路圖,并對(duì)所涉及的參數(shù)進(jìn)行計(jì)算。在確定硬件的基礎(chǔ)上,要進(jìn)行軟件的總體設(shè)計(jì),包括軟件主流程的設(shè)計(jì)以及各子程序的設(shè)計(jì),同時(shí),要寫(xiě)出詳細(xì)的操作說(shuō)明,如時(shí)間的調(diào)整方法,顯示窗口的時(shí)間切換等,以配合軟件的設(shè)計(jì)。然后進(jìn)入硬件的調(diào)試及編程工作,設(shè)計(jì)組內(nèi)的同學(xué)可根據(jù)任務(wù)分工,有調(diào)試硬件各功能模塊的,如鍵盤(pán)子程序、顯示子程序等,有進(jìn)行整體程序的編制的,各模塊的編制過(guò)程中要注意資源的銜接。最后進(jìn)入聯(lián)機(jī)調(diào)試,聯(lián)機(jī)調(diào)試的原則也要采用分步走的原則,各個(gè)功能模塊要逐步套入,通過(guò)一個(gè)再增加一項(xiàng)功能,從而達(dá)到設(shè)計(jì)的總體要求,不要上來(lái)編制個(gè)最大的程
3、序,最后無(wú)法查找錯(cuò)誤。最后寫(xiě)出設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 2014年 月 日 三、成績(jī) 指導(dǎo)教師簽名: 年 月 日 目 錄一、 緒 言1二、系統(tǒng)設(shè)計(jì)12.1系統(tǒng)整體流程圖12.2日歷時(shí)鐘的控制方案論證12.3單片機(jī)的選擇方案論證22.4鍵盤(pán)選擇方案論證22.5顯示模塊的選擇方案論證22.6模塊的選擇方案論證2三、硬件電路設(shè)計(jì)23.1日歷時(shí)鐘的控制電路圖23.2行列式鍵盤(pán)的設(shè)計(jì)33.3數(shù)碼管顯示電路的設(shè)計(jì)33.4蜂鳴器驅(qū)動(dòng)電路的設(shè)計(jì)43.5主要元器件選擇4四、程序流程圖5五、 c語(yǔ)言程序設(shè)計(jì)5六、日歷時(shí)鐘的控制器仿真196.1 Keil調(diào)試196.2 Proteus調(diào)試197、 結(jié)束語(yǔ)20 8、
4、參考文獻(xiàn)211、緒 言 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。 電子時(shí)鐘是現(xiàn)代社會(huì)中的主要計(jì)時(shí)工具之一,廣泛應(yīng)用于手機(jī),電腦,汽車(chē)等社會(huì)生活需要的各個(gè)方面,及對(duì)時(shí)間有要求的場(chǎng)合。本設(shè)計(jì)采用AT89C51單片機(jī)作為主要核心部件,附以上電復(fù)位電路,時(shí)鐘電路及按鍵調(diào)時(shí)電路組成。數(shù)字鐘已成為人們?nèi)粘I钪校?必不可少的必需品, 廣泛用于個(gè)人家庭以及車(chē)站、 碼頭、劇場(chǎng)、辦公室等公共場(chǎng)
5、所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。 由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性 能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。 2、系統(tǒng)設(shè)計(jì)2.1 設(shè)計(jì)任務(wù) 1、利用MCS-51內(nèi)部定時(shí)器定時(shí),編程實(shí)現(xiàn)年、月、日、時(shí)、分、秒的顯示,顯示格式為: 年月日: 10-06-18 時(shí)分秒: 09-12-35也可自行設(shè)定顯示格式,兩部分可按鍵切換顯示;2、能按鍵調(diào)整日期、時(shí)間的數(shù)值;3、可設(shè)定時(shí)間報(bào)警,報(bào)警的時(shí)間至少有2個(gè),報(bào)警時(shí)應(yīng)有報(bào)警指示。4、要求至少調(diào)試出任務(wù)的前兩項(xiàng)。2.2 方案比較與論證2.2.1 系統(tǒng)整體流程圖人機(jī)接口顯示
6、電路軟件控制程序電源電路單片機(jī)控制電路2.2.2 電子密碼鎖的控制方案論證用4*3的行列式鍵盤(pán)組成0-9數(shù)字鍵及確認(rèn)鍵、刪除鍵,從矩陣鍵盤(pán)輸入8位數(shù)密碼,起始密碼由程序設(shè)定,輸入完后按確定鍵開(kāi)鎖,取消鍵清除所有輸入。用8位數(shù)碼管組成顯示電路提示信息,當(dāng)輸入密碼時(shí),只顯示“-”,當(dāng)密碼位輸入完畢按下確認(rèn)鍵時(shí),對(duì)輸入的密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確,則開(kāi)鎖,此處用LED發(fā)光二極管亮一秒鐘做為提示。當(dāng)密碼不正確時(shí),禁止按鍵輸入3秒,同時(shí)啟動(dòng)蜂鳴器發(fā)出“嘀、嘀”報(bào)警聲。2.2.3 單片機(jī)的選擇方案論證方案一:采用可編程邏輯期間CPLD作為控制器。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高
7、、體積小、穩(wěn)定性高、IO資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高,且從使用及經(jīng)濟(jì)的角度考慮我們放棄了此方案方案二:采用Atmel公司的AT89S52單片機(jī)作為控制器。AT89S52是一個(gè)低功耗,高性能的51內(nèi)核的CMOS 8位單片機(jī),片內(nèi)含8k空間的可反復(fù)擦些1000次的Flash只讀存儲(chǔ)器,具有256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)IO口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器。綜合考慮,選擇方案二,采用Atmel公司的AT89S52單片機(jī)作為控制器。2.
8、2.4 鍵盤(pán)選擇方案論證方案一:采用獨(dú)立式鍵盤(pán)。由于各鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,通過(guò)檢測(cè)輸入線的電平狀態(tài)可以很容易的判斷哪個(gè)按鍵被按下。此種鍵盤(pán)適用于按鍵較少或操作速度較高的場(chǎng)合。但本題發(fā)揮部分要求12個(gè)功能鍵,按鍵數(shù)目較多,這就需要較多的輸入口線,而且電路結(jié)構(gòu)復(fù)雜。故此方案不可取。方案二:采用行列式鍵盤(pán)。它由行線和列線組成,按鍵位于行列的交叉點(diǎn)上,行線信號(hào)和列線信號(hào)分別通過(guò)兩個(gè)接口和CPU相連,通過(guò)行列掃描法判定按鍵的位置,此方案適用于按鍵較多的場(chǎng)合。通過(guò)對(duì)電子密碼鎖題目的分析,采用4*3行列式鍵盤(pán)。2.2.5 顯示模塊的選擇方案論證方案一:采用帶字庫(kù)LCD模塊顯示。能顯示復(fù)雜的信
9、息,具有質(zhì)量輕,體積小,功耗低,指令功能強(qiáng),接口簡(jiǎn)單,可靠性強(qiáng)等優(yōu)點(diǎn),顯示內(nèi)容豐富,圖形美觀,易于人機(jī)交流。但是價(jià)格昂貴。方案二:采用LED數(shù)碼管顯示。數(shù)碼管能顯示數(shù)字和符號(hào),但是占用IO口資源較多,對(duì)于簡(jiǎn)單的電路可以選用此方案。電子密碼鎖,電路簡(jiǎn)單,選用方案二,顯示所需信息。2.2.6 模塊的選擇方案論證當(dāng)輸入密碼時(shí),若密碼正確,則開(kāi)鎖,此處用LED發(fā)光二極管亮一秒鐘做為提示。當(dāng)密碼不正確時(shí),禁止按鍵輸入3秒,同時(shí)發(fā)出“嘀、嘀”報(bào)警聲,為實(shí)現(xiàn)此功能我們選用LED發(fā)光二極管和蜂鳴器混合使用。3 硬件電路設(shè)計(jì)3.1 電子密碼鎖控制電路圖圖2 電子密碼鎖控制線路圖3.2 行列式式鍵盤(pán)的設(shè)計(jì)鍵盤(pán)電路
10、如圖3所示。設(shè)計(jì)數(shù)字鍵09 的鍵號(hào)依次為09,取消鍵的鍵號(hào)為10,確認(rèn)鍵的鍵號(hào)為11,鍵號(hào)可按鍵值行首鍵號(hào)(0、4、8、12)列鍵號(hào)(0、1、2、3)公式計(jì)算。圖3 鍵盤(pán)電路3.3 數(shù)碼管顯示電路的設(shè)計(jì)數(shù)碼管驅(qū)動(dòng)采用8 個(gè)共陰極數(shù)碼管顯示, 由于單片機(jī)的驅(qū)動(dòng)能力有限,采用74LC245 作為數(shù)碼管的驅(qū)動(dòng),在7 段碼輸出線上串聯(lián)100 歐姆電阻起限流作用。其電路如圖3所示。圖4 數(shù)碼管顯示電路3.4 蜂鳴器驅(qū)動(dòng)電路的設(shè)計(jì)蜂鳴器的驅(qū)動(dòng)采用NPN 三極管2484 來(lái)驅(qū)動(dòng),低電平有效。其電路如圖5 所示。圖5 蜂鳴器電路圖3.5 主要元器件選擇主要元器件選用型號(hào)和數(shù)量如表1所示:表1 主要元器件清單序
11、號(hào)材料名稱(chēng)規(guī)格型號(hào)數(shù)量元件代號(hào)1單片機(jī)AT89C511U12晶振12MHz1X13電容22PF2C1、C24鍵盤(pán)4*3125數(shù)碼管MPX816蜂鳴器17發(fā)光二極管1D18驅(qū)動(dòng)74LS451U29三級(jí)管24841Q110排阻10k1RP14 程序流程圖 時(shí)間程序流程圖5 C語(yǔ)言程序設(shè)計(jì)程序清單:設(shè)置變量緩沖區(qū)SECEQU30HMINEQU31HHOUREQU32HDAYEQU33HMONEQU34HYEAREQU35H;*ORG 0000HLJMP MAINORG 000BHLJMP INT_T0ORG 0030HMAIN:LCALL CHUSHIMOV TMOD,#01HMOV TH0,#4C
12、HMOV TL0,#00HMOV IE,#82HSETB TR0;開(kāi)啟定時(shí)器T0MOV 50h,#00H;啟用定時(shí)器T0的初始值MOV37H,#0;顯示日期和時(shí)間的標(biāo)志MOV 38H,#0;12進(jìn)制和24進(jìn)制的標(biāo)志MOV 39H,#23;默認(rèn)時(shí)間為24進(jìn)制CLRF0;日歷定時(shí)0和1的標(biāo)志LOOP:MOVA,37HJZSHIJIANMOVR1,#33HLJMP BEGIN1SHIJIAN:MOV R1,#30H ;初始化顯示BEGIN1:MOV A,38HJZ JZ24MOV 39H,#11LJMP BEGIN2JZ24:MOV 39H,#23BEGIN2:LCALLDISPLAYLCALLKE
13、Y ;掃描鍵盤(pán)CJNE A,#05H,DINGS ;判斷鍵值是否為5號(hào)鍵LCALL DY1MS ;若是,則實(shí)現(xiàn)調(diào)整LCALL TIAOTLCALL TIAOTLCALL DISPLAYLJMP DOWNDINGS:CJNE A,#06H,QIEH ;判斷鍵值是否為6號(hào)鍵,定時(shí)LCALL DY1MS ;若是,則實(shí)現(xiàn)調(diào)整CPL F0JNB F0,DI0 ;F0=0,定時(shí)器0LCALL DISHI1 ;F0=1,定時(shí)器1LCALL DISPLAYLJMP DOWN DI0:LCALL DISHI0LCALL DISPLAYLJMPDOWNQIEH:CJNE A,#07H,BIANH ;判斷鍵值是否為
14、7號(hào)鍵,切換LCALL DY1MS ;若是,則切換顯示,年月日與時(shí)分秒切換LCALL DISPLAYMOVA,37HCPLAMOV37H,ALJMP DOWNBIANH:CJNE A,#08H,DOWN ;判斷是否為八號(hào)鍵,變換進(jìn)制LCALL DY1MSLCALL DISPLAYMOV A,38HCPLAMOV 38H,ADOWN:LJMP loop;調(diào)整子程序*TIAOT:push accCLRPSW.1 ;初始化標(biāo)志位TOP1:LCALLKEY ;掃描鍵盤(pán)CJNE A,#08H,PANFAN ;判斷鍵值是否為8號(hào)鍵,不是8鍵,則繼續(xù)判斷CPL PSW.1 ;取反標(biāo)志位JB PSW.1,TC
15、 ;標(biāo)志位為1,調(diào)整時(shí)間change0LCALL CHG1 ;標(biāo)志位為0,調(diào)整日期change1LCALL DISPLAYLJMP TOP1TC:CLR TR0LCALL CHG0LCALL DISPLAYPANFAN:CJNE A,#5,TOP1pop accRET;調(diào)整時(shí)間子程序*CHG0:MOV R1,#30HLCALL DISPLAYLCALL KEYS:CJNE A,#01H,M ;判斷鍵值,是否為1號(hào)鍵MOV R0,#SEC ;鍵值為01,即1號(hào)鍵調(diào)整秒MOV A,R0 ;進(jìn)制CJNE A,#59,L0 ;判斷秒是否為59MOV SEC,#00 ;若是,秒清零LCALL DISPL
16、AYLJMP CHG0L0:INC AMOV R0,ALCALL DISPLAYLJMP CHG0M:CJNE A,#02H,H ;判斷鍵值,是否為02HMOV R0,#MIN ;若是,即2號(hào)鍵,則調(diào)整分鐘MOV A,R0CJNE A,#59,L2 ;判斷分是否為59MOV MIN,#00 ;若是,分鐘清零LCALL DISPLAYLJMP CHG0L2:INC AMOV R0,ALCALL DISPLAYLJMP CHG0H:CJNE A,#03H,K ;判斷鍵值,是否為03HMOV R0,#HOUR ;鍵值為03,即3號(hào)鍵調(diào)整小時(shí)MOV A,R0CJNE A,39H,L4 ;判斷小時(shí)是否為
17、23MOV HOUR,#00LCALL DISPLAYLJMP CHG0L4:INC AMOV R0,ALCALL DISPLAYLJMP CHG0K:CJNE A,#04H,CHG0SETB TR0RET;調(diào)整日期*CHG1:MOV R1,#33HLCALL DISPLAYLCALL KEYR:CJNE A,#01H,Y ;判斷鍵值,是否為1HMOV R0,#DAY ;鍵值為01,調(diào)整日期MOV A,R0 ;進(jìn)制CJNE A,#31,B0 ;判斷30MOV DAY,#00LCALL DISPLAYLJMP CHG1B0:INC AMOV R0,ALCALL DISPLAYLJMP CHG1Y
18、:CJNE A,#02H,N ;判斷鍵值,是否為2MOV R0,#MONMOV A,R0CJNE A,#12,B1 ;判斷月是否12MOV MON,#00LCALL DISPLAYLJMP CHG1B1:INC AMOV R0,ALCALL DISPLAYLJMP CHG1N:CJNE A,#03H,K1 ;判斷鍵值,是否為FBMOV R0,#YEAR ;鍵值為3,調(diào)整年MOV A,R0CJNE A,#99,B2MOV YEAR,#0LCALL DISPLAYLJMP CHG1B2:INC AMOV R0,ALCALL DISPLAYLJMP CHG1K1:CJNE A,#04H,CHG1RE
19、T;第一次定時(shí)子程序* DISHI0:MOV 40H,SEC ;保存原值MOV 41H,MINMOV 42H,HOURLCALL CHG0 ;調(diào)用調(diào)整子程序MOV 43H,SECMOV 44H,MINMOV 45H,HOURLCALL DIRET;第二次定時(shí)子程序* DISHI1:MOV 40H,SECMOV 41H,MINMOV 42H,HOURLCALL CHG0MOV 46H,SECMOV 47H,MINMOV 48H,HOURLCALL DIRETDI:MOV SEC,40H ;恢復(fù)原值MOV MIN,41HMOV HOUR,42HLCALL DISPLAYRET;定時(shí)器T0子程序*I
20、NT_T0:INC 50hmov r5,50hCJNE R5,#20,DUAN11 ;判斷是否到一秒LJMP DUAN12DUAN11:LJMP NEXT0DUAN12:MOV 50h,#0 ;若是,則重新初始化循環(huán)次數(shù)MOV A,SEC CJNE A,#59,DUAN21 ;判斷秒是否為59LJMP DUAN22DUAN21:LJMP N0DUAN22:MOV SEC,#00 ;若是則秒清零lcall displayMOV A,MINCJNE A,#59,DUAN31 ;判斷分鐘是否為59LJMP DUAN32DUAN31:LJMP N1DUAN32:MOV MIN,#00 ;若是,則分鐘清
21、零lcall displayMOV A,HOURCJNE A,39H,DUAN41 ;判斷小時(shí)是否23LJMP DUAN42DUAN41:LJMP N2DUAN42:MOV HOUR,#00 ;若是,小時(shí)清零lcall displayMOV A,DAYPUSH ACCMOV A,MONCJNE A,#1,YUE3POP ACCLJMP RR2YUE3:CJNE A,#3,YUE5 ;1,3,5,7,8,10,12月31天POP ACCLJMP RR2YUE5:CJNE A,#5,YUE7POP ACCLJMP RR2YUE7:CJNE A,#7,YUE8POP ACCLJMP RR2YUE8:
22、CJNE A,#8,YUE10POP ACCLJMP RR2YUE10:CJNE A,#10,YUE12POP ACCLJMP RR2YUE12:CJNE A,#12,YUE4POP ACCLJMP RR2YUE4:CJNE A,#4,YUE6 ;4,6,9,11月30天POP ACCLJMP RR1YUE6:CJNE A,#6,YUE9POP ACCLJMP RR1YUE9:CJNE A,#9,YUE11POP ACCLJMP RR1YUE11:CJNE A,#11,YUE2POP ACCLJMP RR1YUE2:MOV A,YEAR ;2月:是閏年29天,是平年28天MOV B,#4DIV
23、 ABMOV A,BJZ RYUEPYUE:POP ACCLJMP RR00RYUE:POP ACCLJMP RR01RR00:CJNE A,#28,N3MOV DAY,#1LCALL DISPLAYLJMP RR3RR01:CJNE A,#29,N3MOV DAY,#1LCALL DISPLAYLJMP RR3RR1:CJNE A,#30,N3MOV DAY,#1LCALL DISPLAYLJMP RR3RR2:CJNE A,#31,N3MOV DAY,#1LCALL DISPLAYLJMP RR3RR3:MOV A,MONCJNE A,#12,N4 ;判斷月份是否為11MOV MON,#1
24、 ;若是,則月份清零lcall displayMOV A,YEAR ;年份加一CJNE A,#99,N5MOV YEAR,#0lcall displayLJMP NEXT0N0:INC A ;否則,秒加一MOV SEC,Alcall displayLCALL DFGLJMP NEXT0N1:INC A ;分鐘加一MOV MIN,Alcall displayLCALL DFGLJMP NEXT0N2:INC A ;小時(shí)加一MOV HOUR,Alcall displayLCALL DFGLJMP NEXT0N3:INC A ;日期加一MOV DAY,Alcall displayLJMP NEXT0
25、N4:INC A ;月份加一MOV MON,Alcall displayLJMP NEXT0N5:INC AMOV YEAR,ALCALL DISPLAYNEXT0:MOV TH0,#4CHMOV TL0,#00HRETI;判斷是否到定時(shí)時(shí)間子程序*DFG: MOV A,SEC ;判斷是否到第一個(gè)定時(shí)時(shí)間 CJNE A,43H,DOWN1 MOV A,MIN CJNE A,44H,DOWN1 MOV A,HOUR CJNE A,45H,DOWN1 CLR P3.6 ;若到第一個(gè)定時(shí)時(shí)間,則亮燈DOWN1: MOV A,SEC ;判斷是否到第二個(gè)定時(shí)時(shí)間 CJNE A,46H,DOWN2 MOV
26、 A,MIN CJNE A,47H,DOWN2 MOV A,HOUR CJNE A,48H,DOWN2 CLR P3.6 ;若到第二個(gè)定時(shí)時(shí)間,則亮燈DOWN2: LCALL KEY LCALL DY1MS ;掃描鍵盤(pán) CJNE A,#04H,DO ;若鍵值為4號(hào)鍵,則滅燈setb p3.6 DO: LCALL DISPLAY RET ;延時(shí)1ms *DY1MS:MOV R5,#0FAHLOOP7:NOPNOPDJNZ R5,LOOP7RET;初始化CHUSHI*CHUSHI:MOV SEC,#0MOV MIN,#0MOV HOUR,#0MOV DAY,#26MOV MON,#1MOV YEA
27、R,#11RET;子程序 KSI :判定有無(wú)閉合鍵的*KSI:MOVA, #00HMOVP1, A;P2口送00HLCALL DY1MSMOVA,P3CPL AANLA, #03H;屏蔽高6位RET;鍵盤(pán)掃描*key: LCALLKSI;檢查是否有鍵閉合 JNZ LK1 LJMPEND1LK1:LCALL DY1MS LCALLKSI;再檢查是否有鍵閉合 JNZ LK2;有鍵閉合轉(zhuǎn)移到LK2 LJMP END1;無(wú)鍵閉合,延時(shí)12ms后轉(zhuǎn)KEY1LK2: MOV A,#0FEHMOV P1,AMOV R3,AMOV R4,#00HLK4: MOV A,P3JBACC.0, LONE;ACC.3
28、=1,第一列無(wú)鍵閉合,轉(zhuǎn)LONE MOV A, #01H lJMPLKPLONE:JBACC.1, NEXT;ACC.2=1,第二列無(wú)鍵閉合,轉(zhuǎn)LTWO MOVA, #05H lJMPLKPLKP:ADD A, R4;計(jì)算鍵碼PUSHACC;保護(hù)鍵碼LK3:lCALLDY1MS;延時(shí)1ms lCALLKSI;檢查是否繼續(xù)閉合,若閉合再延時(shí) JNZ LK3 POPACC;若鍵起,則鍵碼送A RETNEXT:INC R4MOV A,R3JNB ACC.3,END1RL AMOV R3,AMOV P1,A lJMPLK4;進(jìn)行下一列掃描 END1: RET;顯示子程序* DISPLAY:push a
29、ccMOV R3,#03HMOV R2,#0FEHDISLOOP:MOV A,R2MOV P2,AMOV A,R1MOV B,#10DIV ABMOV 36h,AMOV A,BMOV DPTR,#KEYBOARDMOVC A,A+DPTRMOV P0,A;顯示低位LCALL DY1MSMOV A,R2RL AMOV R2,AMOV P2,AMOV A,36hMOV DPTR,#KEYBOARDMOVC A,A+DPTRMOV P0,A;顯示高位LCALL DY1MSMOV A,R2RL AJNB ACC.0,EXITMOV R2,AMOV P2,AMOV A,#10MOV DPTR,#KEYB
30、OARDMOVC A,A+DPTRMOV P0,ALCALL DY1MSMOV A,R2RL AMOV R2,AINC R1DJNZ R3,DISLOOPEXIT:pop accRET;斷碼值*KEYBOARD: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFHEND6 電子密碼鎖控制器仿真在完成了電子密碼鎖硬件設(shè)計(jì)和軟件設(shè)計(jì)以后,便進(jìn)入系統(tǒng)的調(diào)試階段。系統(tǒng)的調(diào)試步驟和方法基本上是相同的,但具體細(xì)節(jié)和所采用的開(kāi)發(fā)系統(tǒng)以及用戶系統(tǒng)選用的單片機(jī)型號(hào)有關(guān),如可選用Keil軟件進(jìn)行軟件調(diào)試,用Proteus軟件完成硬件調(diào)試。6.1 Keil調(diào)試6
31、.2 Proteus調(diào)試 7 結(jié)束語(yǔ)通過(guò)這次課程設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)和專(zhuān)業(yè)技能去分析問(wèn)題、解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及用c語(yǔ)言設(shè)計(jì)程序的思路技巧等方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。8 參考文獻(xiàn)1.期刊類(lèi)【格式】序號(hào)作者.篇名J.刊名,出版年份,卷號(hào)(期號(hào)):起止頁(yè)碼.【舉例】1 王海粟.淺議會(huì)計(jì)信息披露模式J.財(cái)政研究,2004,21(1):56-58.2 夏魯惠.高等學(xué)校畢業(yè)論文教學(xué)情況調(diào)研報(bào)告J.高等理科教育,2004(1):46-52.3 Heider, E.R.& D.C.Oliver. The structure of color space in naming and memory of two languages J. Foreign Language Teaching and Research, 1999, (3): 62 67.2.專(zhuān)著類(lèi)【格式】序號(hào)作者.書(shū)名M.出版地:出版社,出版年份:起止頁(yè)碼.【舉例】4 葛家澍,林志軍.現(xiàn)代西方財(cái)務(wù)會(huì)計(jì)理論M.廈門(mén):廈門(mén)大學(xué)出版社,2001:42.5 Gill, R. Mastering English Literature
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3.2 代數(shù)式 蘇科版數(shù)學(xué)七年級(jí)上冊(cè)堂堂練(含答案)
- 2024年采購(gòu)協(xié)議1850字
- 湖北公共基礎(chǔ)知識(shí)模擬6
- 2024年保安臨時(shí)用工合同
- 2024年買(mǎi)賣(mài)合同集合840字
- 寧夏行政職業(yè)能力模擬16
- 2024年電子商務(wù)合同法律制度完善
- 買(mǎi)賣(mài)車(chē)牌協(xié)議合同范本2024年
- 2009年2月8日銀監(jiān)分局真題
- 2024年工程設(shè)計(jì)合同樣本
- 服裝廠作業(yè)指導(dǎo)書(shū)
- 退伍軍人登記表.doc
- 公寓精裝修施工方案
- 農(nóng)村公路養(yǎng)護(hù)規(guī)范
- 工電聯(lián)整管理手冊(cè)
- 【論文】旅游APP在“定制旅游”中的應(yīng)用研究
- 捷達(dá)手動(dòng)變速器的拆裝
- 牙列牙合頜位
- 年產(chǎn)10萬(wàn)噸高檔文化紙技改項(xiàng)目環(huán)境影響評(píng)價(jià)報(bào)告書(shū)
- 濟(jì)南中考物理知識(shí)點(diǎn)
- 鄉(xiāng)鎮(zhèn)財(cái)政管理規(guī)范化建設(shè)工作實(shí)施方案
評(píng)論
0/150
提交評(píng)論