版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目 :電子鐘、密碼鎖學(xué)生姓名 :專 業(yè) :班 級(jí) :學(xué) 號(hào) :同組人 :指導(dǎo)老師 :摘 要數(shù)字電子時(shí)鐘在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。為了更好的利用我們自己的時(shí)間,我們必須對(duì)時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始的機(jī)械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表. 即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計(jì)時(shí)功能,只是工作原理不同而已.本次課程設(shè)計(jì)之一-電子時(shí)鐘設(shè)計(jì),基于D8255AC芯片和LED數(shù)碼管為核心,輔以必要的電路,并以匯編為程序設(shè)計(jì)為基礎(chǔ),構(gòu)成一個(gè)簡單的單片機(jī)數(shù)字電子時(shí)鐘。由5.0
2、V直流電源供電,通過數(shù)碼管能夠準(zhǔn)確顯示時(shí)間,時(shí)、分、秒,并且可以通過鍵盤進(jìn)行校時(shí)。本報(bào)告主要介紹了數(shù)字電子時(shí)鐘的軟、硬件部分及在設(shè)計(jì)調(diào)試過程中遇到的問題及解決方案。關(guān)鍵字:D8255AC芯片 數(shù)字電子時(shí)鐘 校時(shí)簡易電子計(jì)算器隨著社會(huì)的發(fā)展,計(jì)算器的用途越來越廣泛,不斷可以進(jìn)行簡單的加、減、乘、除,還可以用來做所有簡單的計(jì)算,一些復(fù)雜的科學(xué)計(jì)算,單位換算,以及提供各種物理常數(shù)。本次課程設(shè)計(jì)之二的選做實(shí)驗(yàn),作者選擇的就是簡易電子計(jì)算器的設(shè)計(jì)。主要利用鍵輸入數(shù)據(jù)和運(yùn)算符號(hào),用LED顯示運(yùn)算過程和結(jié)果,實(shí)現(xiàn)簡單的加、減運(yùn)算。關(guān)鍵字:電子計(jì)算器 LED 加、減運(yùn)算目錄前言第一章 數(shù)字電子時(shí)鐘1.1.設(shè)計(jì)
3、要求1.2設(shè)計(jì)思路.1.3設(shè)計(jì)框圖1.4硬件設(shè)計(jì)原理圖及說明1.5軟件設(shè)計(jì)1.5.1.設(shè)計(jì)流程圖1.5.2. 調(diào)試過程與說明1.6小結(jié)第二章 簡易計(jì)算器2.1.設(shè)計(jì)要求2.2.設(shè)計(jì)思路.2.3.設(shè)計(jì)框圖2.4. 硬件設(shè)計(jì)原理圖及說明2.5.軟件設(shè)計(jì)2.5.1.設(shè)計(jì)流程圖2.5.2.程序模塊設(shè)計(jì)2.5.3調(diào)試過程與說明2.6.小結(jié)第三章 總結(jié)與體會(huì)參考文獻(xiàn)附錄一 數(shù)字電子時(shí)鐘程序清單附錄二 簡易計(jì)算器程序清單前言課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)
4、應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。單片機(jī)是智能儀器、計(jì)算機(jī)外部設(shè)備、生產(chǎn)過程控制的控制核心。單片機(jī)已經(jīng)是一項(xiàng)十分成熟的技術(shù),因其具有小型化、廉價(jià)、簡單可靠和穩(wěn)定性好等優(yōu)點(diǎn),在工業(yè)測(cè)控、電子儀器、汽車電子系統(tǒng)、日用家電、電子通信、辦公自動(dòng)化設(shè)備和尖端武器(如雷達(dá)、火炮的控制系統(tǒng))等方面都有廣泛的應(yīng)用。在本次設(shè)計(jì)中使用的是STC89C52單片機(jī),它是一種新型的價(jià)格便宜而性能優(yōu)良的單片機(jī)系統(tǒng),結(jié)構(gòu)簡單,布局合理,適用于多種程序功能調(diào)試和模擬。本次設(shè)計(jì)用單片機(jī)開發(fā)系統(tǒng)來模擬密碼鎖的各種功能,在開發(fā)系統(tǒng)中輸入編譯好的程序,使
5、用其鍵盤作為數(shù)字輸入鍵和各功能鍵.通過這次課程設(shè)計(jì),進(jìn)一步掌握了如何利用接口電路進(jìn)行硬件系統(tǒng)的設(shè)計(jì),如何進(jìn)行軟件的設(shè)計(jì),同時(shí)增強(qiáng)了學(xué)習(xí)興趣及動(dòng)手能力。在報(bào)告中,詳細(xì)地記述了整個(gè)設(shè)計(jì)過程的各個(gè)環(huán)節(jié),其中的不足歡迎師生們指出或給予更好的建議。第一章 數(shù)字電子時(shí)鐘1.1設(shè)計(jì)任務(wù)1.1.1設(shè)計(jì)要求用單片機(jī)開發(fā)系統(tǒng),設(shè)計(jì)一個(gè)電子時(shí)鐘,從左到右依次以時(shí)分秒的順序顯示時(shí)間。并且可以在程序代碼中修改時(shí)間初始值。提高要求:1、可以加入閃爍顯示,每過一秒使時(shí)和分,分和秒間的兩點(diǎn)閃爍一次。2、應(yīng)用鍵盤掃描程序,能隨時(shí)在鍵盤上修改時(shí)鐘的初始值。1.1.1 設(shè)計(jì)思路本課題的數(shù)字電子時(shí)鐘設(shè)計(jì)采用單片機(jī)定時(shí)器產(chǎn)生100MS
6、的時(shí),并開定時(shí)中斷。設(shè)計(jì)出一個(gè)1S的定時(shí)程序。每進(jìn)入一個(gè)定時(shí)中斷,在其中斷服務(wù)程序中計(jì)算分鐘,時(shí)鐘、鈔鐘。預(yù)先資源定義:時(shí)分秒的存放空間1.2設(shè)計(jì)框圖及簡要說明主程序數(shù)碼動(dòng)態(tài)掃描模塊當(dāng)前時(shí)間計(jì)時(shí)模塊當(dāng)前時(shí)間調(diào)整模塊數(shù)值轉(zhuǎn)換模塊計(jì)時(shí)單元由單片機(jī)內(nèi)部的定時(shí)器來實(shí)現(xiàn);時(shí)間顯示采用LED數(shù)碼管動(dòng)態(tài)掃描方式;LED數(shù)碼管的段碼輸入,由并行口P1低四位輸入。1.3硬件設(shè)計(jì)原理圖及說明一、 原理圖圖 1.3.1數(shù)字電子時(shí)鐘設(shè)計(jì)原理圖二、應(yīng)用原理該原理圖以8255為接口芯片。8255是intel公司生產(chǎn)的可編程輸入輸出接口芯片,它是具有3個(gè)8位的并行I/O端口,具有三種工作方式,被廣泛地使用于單片機(jī)的并行I/
7、O端口。 工作方式0:基本輸入輸出方式 工作方式1:選通輸入輸出方式 工作方式2:雙向傳送方式8255的讀/寫控制邏輯電路接受CPU發(fā)來的控制口號(hào)RD、WR、RESET和地址信號(hào)A1A0。然后根據(jù)命令端口,控制信號(hào)的要求,將端口的數(shù)據(jù)讀出選信CPU或者將CPU送來的數(shù)據(jù)寫入端口,各端口的工作狀態(tài)。如表1所示。表1-11.4軟件設(shè)計(jì)1.4.1程序設(shè)計(jì)流程圖(主程序、中斷服務(wù)子程序及修改時(shí)間)一、主程序框圖開 始設(shè)計(jì)初始化初始化顯示(調(diào)顯)調(diào)鍵盤掃描子程序有鍵按下否修改初值按鍵錯(cuò)誤開始計(jì)時(shí)定時(shí)中斷開定時(shí)中斷顯示錯(cuò)誤修改鍵否? 返 回 調(diào)鍵掃 調(diào)修改子程序圖1.4.1 數(shù)字電子時(shí)鐘主程序流程圖二、中
8、斷服務(wù)子程序框圖中斷入口中斷保護(hù)秒+1調(diào)顯示程序秒59秒清零送顯緩分+1分清零送顯緩時(shí)+1時(shí)清零送顯緩時(shí)23時(shí)的數(shù)量存進(jìn)顯緩秒的數(shù)量存進(jìn)顯緩分的數(shù)量存進(jìn)顯緩分59 中斷返回圖1.4.2 數(shù)字電子時(shí)鐘中斷服務(wù)子程序流程圖三、修改時(shí)間子程序開 始設(shè)計(jì)初始化初始化顯示(調(diào)顯)調(diào)鍵盤掃描子程序有鍵按下否修改初值按鍵錯(cuò)誤開始計(jì)時(shí)定時(shí)中斷開定時(shí)中斷顯示錯(cuò)誤修改鍵否? 返 回 調(diào)鍵掃 調(diào)修改子程序圖1.4.3 數(shù)字電子時(shí)鐘修改時(shí)間子程序流程圖1.4.2調(diào)試過程與說明在調(diào)試數(shù)字電子時(shí)鐘程序時(shí)出現(xiàn)了數(shù)碼管所顯示時(shí)間重疊模糊的情況。通過對(duì)程序代碼和對(duì)數(shù)碼管顯示原理的分析,得出了出現(xiàn)上述情況的原因是由于8個(gè)數(shù)碼管顯
9、示的數(shù)碼變化速度很快,受人眼視覺暫留的影響,人眼無法分辨前后兩次所顯示的數(shù)碼。為解決這個(gè)問題所采取的措施是,在每顯示一個(gè)數(shù)碼管的內(nèi)容后加一個(gè)延遲程序來減緩所顯示數(shù)碼的變換速度。改進(jìn)后再調(diào)試程序時(shí)8個(gè)數(shù)碼管所顯示的時(shí)間十分清晰。 1.5小結(jié)在本次課程設(shè)計(jì)中遇到的最大的困難是如何利用軟、硬件配合的方式產(chǎn)生中斷,對(duì)中斷向量表的裝載還比較模糊,對(duì)中斷的初始化、具體設(shè)置、中斷返回還不是很清楚,程序設(shè)計(jì)一度陷入停滯狀態(tài),最后在指導(dǎo)老師和同學(xué)們的幫助下,作者這個(gè)小組一起共同完成了該實(shí)驗(yàn),實(shí)現(xiàn)了數(shù)字電子時(shí)鐘的基本功能。第二章 簡易電子計(jì)算器 2.1 設(shè)計(jì)要求設(shè)計(jì)一個(gè)可以進(jìn)行簡易加減運(yùn)算的計(jì)算器,要求:1、 鍵
10、輸入數(shù)和運(yùn)算符號(hào);2、 LED顯示運(yùn)算過程和結(jié)果(十進(jìn)制數(shù));3、 有清零和復(fù)位功能; 提高要求能顯示位輸入和位輸出。 2.2 設(shè)計(jì)思路顯示設(shè)備采用八片七段共陰極LED顯示器,共設(shè)置16 個(gè)鍵,其中數(shù)字鍵09 共十個(gè),接下來依次是加號(hào)鍵、減號(hào)鍵、等于號(hào)鍵、清除鍵。利用C52的定時(shí)器中斷以給定的時(shí)間間隔掃描鍵盤,檢測(cè)出鍵盤輸入的信號(hào),然后送至單片機(jī)進(jìn)行處理,完成簡單的加減的計(jì)算器功能,然后將結(jié)果送至LED的顯示器,顯示輸出結(jié)果2.3設(shè)計(jì)框圖及簡要說明2.4硬件設(shè)計(jì)原理圖及說明由于本次課程設(shè)計(jì)以軟件設(shè)計(jì)部分為主,簡易電子計(jì)算器是繼數(shù)字電子時(shí)鐘的訓(xùn)練和鞏固。所以在應(yīng)用硬件方面的原理和設(shè)計(jì)和數(shù)字電子時(shí)
11、鐘相同。詳細(xì)工作原理請(qǐng)見第一章1.3節(jié)硬件設(shè)計(jì)原理圖及說明2.5.軟件設(shè)計(jì)2.5.1程序設(shè)計(jì)流程圖開 始初始化提示輸入一個(gè)數(shù)調(diào)鍵盤子程序保存該數(shù)據(jù)提示輸入另一個(gè)數(shù)鍵盤子程序保存該數(shù)據(jù)提示輸入運(yùn)算符加法子程序減法子程序判斷運(yùn)算符類型圖2.5.1 簡易電子計(jì)算器程序流程圖2.5.2程序模塊設(shè)計(jì)1、主程序的設(shè)計(jì)主程序主要是用來進(jìn)行初始化的,調(diào)用自檢程序,清空各個(gè)標(biāo)志位,清空緩存區(qū),給定定時(shí)器0工作方式。在等待定時(shí)器0中斷時(shí)主程序在以下程序段內(nèi)循環(huán): LP1: MOV PCON,#01HSJMP LP12、中斷模塊的程序設(shè)計(jì)進(jìn)入定時(shí)器0的中斷程序后,首先重新付初值,然后調(diào)用讀鍵程序,如果有鍵按下,則判
12、斷按鍵是否與上次按鍵相同,如果相同則判斷按鍵相應(yīng)位是否為一,如果不為一,說明這不是持續(xù)按鍵導(dǎo)致的按鍵相應(yīng),并且進(jìn)行相應(yīng)的程序。如果不是則退出中斷程序。3、顯示模塊的程序設(shè)計(jì)由于使用的是靜態(tài)顯示,故先要對(duì)SCON進(jìn)行相關(guān)設(shè)置,讓串口工作在方式0下,使用指令MOV SCON,#00H就可以了。首先從高位開始進(jìn)行滅零顯示,并將最后一個(gè)滅零的位,標(biāo)志為負(fù)號(hào)位,然后判斷負(fù)數(shù)標(biāo)志位是否為一,是則將標(biāo)志為負(fù)號(hào)位的送出顯示負(fù)號(hào)(筆形碼0FEH),否則直接送出顯示2.5.3 調(diào)試過程與說明在上機(jī)實(shí)踐中,作者發(fā)現(xiàn)運(yùn)算結(jié)果與實(shí)際結(jié)果不相符合,經(jīng)過單步運(yùn)行發(fā)現(xiàn),原來是調(diào)用BCD碼轉(zhuǎn)二進(jìn)制碼子程序錯(cuò)誤,于是作者調(diào)用成了
13、二進(jìn)制轉(zhuǎn)BCD碼子程序,原因是因?yàn)閮蓚€(gè)子程序的標(biāo)號(hào)很接近,一不小心就會(huì)調(diào)用錯(cuò)誤,說明了作為軟件編程人員是不能粗心大意的,一個(gè)程序的質(zhì)量的高低與你細(xì)心與否有著一定的聯(lián)系。在編程時(shí),充分使用了結(jié)構(gòu)化的思想,這樣程序檢查起來也比較方便,調(diào)試時(shí)也給了我很大方便,只要一個(gè)模塊一個(gè)模塊進(jìn)行調(diào)適就可以了,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢(shì)。一開始,設(shè)計(jì)只支持正整數(shù)的運(yùn)算,并沒有加入負(fù)數(shù)運(yùn)算,因?yàn)闀r(shí)間問題,只是大概想了思路,并沒實(shí)現(xiàn)。最后在班上同學(xué)的幫助下。終于實(shí)現(xiàn)了計(jì)算器的基本功能。2.6 小結(jié)由于簡易電子計(jì)算器是繼數(shù)字電子時(shí)鐘的練習(xí)和鞏固,大多數(shù)模塊都已經(jīng)熟悉。雖然在編程的過程中遇到了一些問題,但在同組人的共同努
14、力下。完成了本次課程設(shè)計(jì)的基本要求第三章 總結(jié)與體會(huì)經(jīng)過這次單片機(jī)專業(yè)課程設(shè)計(jì),訓(xùn)練了作者的動(dòng)手能力和理論實(shí)踐相結(jié)合的能力,從中還體會(huì)到了團(tuán)隊(duì)的合作精神,因?yàn)橐粋€(gè)人的能力畢竟有限,惟有善于合作的團(tuán)隊(duì)才能發(fā)揮出最大的能量。在這次課程設(shè)計(jì)中,作者真正體會(huì)到了合作的重要性,作者這個(gè)班級(jí)在這次程序設(shè)計(jì)中總在一起,從要實(shí)現(xiàn)的功能到流程圖的繪制,從程序的編寫到程序的檢查,從程序的調(diào)試到實(shí)驗(yàn)報(bào)告的寫作,其間每一個(gè)過程都凝聚了我們班級(jí)的力量。在遇到棘手的問題時(shí),大家總是一起討論,一起把問題解決;在作者遇到不很明白的程序時(shí),是同學(xué)們耐心地幫助講解;在面對(duì)有錯(cuò)的程序不知所措時(shí),也是同學(xué)們幫助作者一步步地調(diào)試,耐心
15、的指導(dǎo),直至程序能正常運(yùn)行??偟膩碚f,這次單片機(jī)課程設(shè)計(jì)對(duì)我們來說是很有意義的,以往在老師講課時(shí)不是很明白的問題在這次課程設(shè)計(jì)中通過大家一起學(xué)習(xí),一起動(dòng)手,很多問題都迎刃而解。而且加強(qiáng)了作者班級(jí)同學(xué)之間的凝聚力參考文獻(xiàn)1 于海生微型計(jì)算機(jī)控制技術(shù)M 清華大學(xué)出版社1999-62 孫涵芳MCS-51系列單片機(jī)原理及應(yīng)用M 北京航空航天大學(xué)出版社1996-43 黃正謹(jǐn)綜合電子設(shè)計(jì)與實(shí)踐M 東南大學(xué)出版社2002-34 楊欣等電子設(shè)計(jì)從零開始M 清華大學(xué)出版社2005-10附錄一:數(shù)字電子時(shí)鐘程序清單DEDA EQU 33H ;50MS記數(shù)常數(shù),滿200次為1S(T0)NUM EQU 34H ;0.
16、3S記數(shù)常數(shù),滿6次為0.3S(T1)SEC EQU 30H ;秒數(shù)據(jù)存儲(chǔ)區(qū)MIN EQU 31H ;分?jǐn)?shù)據(jù)存儲(chǔ)區(qū)HOU EQU 32H ;時(shí)數(shù)據(jù)存儲(chǔ)區(qū)SEC0 EQU 40H ;秒顯緩區(qū)低位SEC1 EQU 41H ;秒顯緩區(qū)高位MIN0 EQU 42H ;分顯緩區(qū)低位MIN1 EQU 43H ;分顯緩區(qū)高位HOU0 EQU 44H ;時(shí)顯緩區(qū)低位HOU1 EQU 45H ;時(shí)顯緩區(qū)高位SSEC0 EQU 60H ;秒顯緩區(qū)低位字型碼SSEC1 EQU 61H ;秒顯緩區(qū)高位字型碼SMIN0 EQU 62H ;分顯緩區(qū)低位字型碼SMIN1 EQU 63H ;分顯緩區(qū)高位字型碼SHOU0 EQ
17、U 64H ;時(shí)顯緩區(qū)低位字型碼SHOU1 EQU 65H ;時(shí)顯緩區(qū)高位字型碼GW BIT 06H ;個(gè)位標(biāo)志SW BIT 07H ;十位標(biāo)志HAL EQU 47HFUNCKEY EQU 0E7HHOUKEY EQU 0C7HMINKEY EQU 077HSECKEY EQU 87HKEY EQU 52H;-ORG 0000HLJMP MAINORG 000BHLJMP INTT0 ;T0中斷程序ORG 001BH ;定時(shí)器T1中斷程序入口LJMP INTT1 ;跳至INTT1執(zhí)行;- ;主程序;- MAIN: MOV SEC,#0MOV HOU,#23MOV MIN,#59MOV DEDA
18、,#00HMOV NUM,#06H ; 0.3秒定時(shí)用初值MOV SP,#0F0HMOV TMOD,#11H ;定時(shí)器0為方式1MOV TH0,#50H ;賦初值MOV TL0,#0C3HMOV TL1,#50H ;裝定時(shí)器T1定時(shí)初值MOV TH1,#0C3HSETB TR0 ;啟動(dòng)T0MOV IE,#82HLCALL ROLLMOV SEC, #0MOV HOU, #23MOV MIN, #59S: LCALL DISPLCALL KEY_SCAN ;鍵掃LCALL DISPSJMP S;- ;顯示程序;- DISP:MOV A, SECMOV B,#10 ;S轉(zhuǎn)換送顯緩區(qū)DIV ABMO
19、V SEC0,BMOV SEC1,AMOV A, MINMOV B,#10 ;MIN轉(zhuǎn)換送顯緩區(qū)DIV ABMOV MIN0,BMOV MIN1,AMOV A, HOUMOV B,#10 ;H轉(zhuǎn)換送顯緩區(qū) DIV ABMOV HOU0,BMOV HOU1,AMOV R5 ,#6MOV R0,#40HMOV R1 ,#60HLOOP:MOV A,R0MOV DPTR ,#TAB;MOVC A,A+DPTRMOV R1,AINC R0INC R1DJNZ R5, LOOPJBC SW ,LOPP0MOV 59H,#00H; MOV 58H,#00H; SJMP DISP0LOPP0:MOV 59H
20、,#09H; -MOV 58H,#09H; -DISP0:MOV A,#80H;寫8255顯示狀態(tài)字MOV DPTR,#0A003HMOVX DPTR,AMOV A,#0FEHMOV DPTR,#0A001H;輸出片選信號(hào)MOVX DPTR,AMOV A,SHOU1 ;HOURHMOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0FDHMOV DPTR,#0A001H;輸出片選信號(hào)MOVX DPTR,AMOV A,SHOU0 ;HOURLMOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0FBHMOV DPTR
21、,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,58H ;-MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0F7HMOV DPTR,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,SMIN1 ;MINATEH MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0EFHMOV DPTR,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,SMIN0 ;MINSTEL MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0DF
22、HMOV DPTR,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,59H ;-MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#0BFHMOV DPTR,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,SSEC1 ;SECONDH MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSMOV A,#7FHMOV DPTR,#0A001H;輸出片選信號(hào) MOVX DPTR,AMOV A,SSEC0 ;SECONDL MOV DPTR,#0A000HMOVX DPTR,ALCALL DE10MSRE
23、TDELAY:PUSH 02HDELAY1:PUSH 02HDELAY2:PUSH 02HDELAY3:DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2 ,DELAY1POP 02HDJNZ R2,DELAYRETDE10MS: ;延時(shí)子程序DL1: MOV R7,#14H ;DL2: MOV R6,#17HDL3:DJNZ R6,DL3DJNZ R7,DL2RETTAB: ;共陰0-9字行碼DB 3FH ;0DB 06H ;1DB 5BH ;2DB 4FH ;3DB 66H ;4DB 6DH ;5DB 7DH ;6DB 07H ;7DB 7F
24、H ;8DB 6FH ;9DB 00H ;熄滅符SEG:;- ;鍵盤掃描程序;- KEY_SCAN:MOV DPTR,#0A003H;設(shè)置狀態(tài)字MOV A,#89HMOVX DPTR,ALP51:MOV DPTR,#0A001H;設(shè)置端口BMOV A,#00HMOVX DPTR,AMOV DPTR,#0A002H MOVX A,DPTR ANL A,#0FHCJNE A,#0FH,XD AJMP OVERXD: MOV R7,#80DEL1: MOV R6,#123 DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1 MOVX A,DPTR ANL A,#0FHCJNE A,#0F
25、H,JKEY AJMP LP51MOV R3,#4MOV A,#0FEHJKEY: MOV DPTR,#0A001H MOVX DPTR,A MOV R5,AMOV DPTR,#0A002H MOVX A,DPTR ANL A,#0FH MOV R4,ACJNE A,#0FH,XD1 AJMP LP52 ;XUNHUAN XD1: MOV R7,#80 DEL11: MOV R6,#123 DEL22: DJNZ R6,DEL22 DJNZ R7,DEL11 MOVX A,DPTR ANL A,#0FHXRL A,R4JNZ LP52MOVX A,DPTR ANL A,#0FHXRL A,#0
26、FHJNZ OVERMOV A,R5ANL A,#0FHSWAP AADD A,R4MOV KEY,AAJMP JUSTLP52: DJNZ R3,LP53SJMP OVERLP53: MOV A,R5 ;片選信號(hào)移位RL AAJMP JKEYOVER:RETOVER1:CALL JUSTRET;- ;調(diào)整子程序;- JUST:MOV A,KEYCJNE A,HOUKEY ,J1INC HOUMOV A,HOUCJNE A,#24,JU1MOV HOU,#0JU1:LCALL DISPRETJ1:MOV A,KEYCJNE A,MINKEY ,J2INC MINMOV A,MINCJNE A,
27、#60,JU2MOV MIN,#00HJU2:LCALL DISPRETJ2:MOV A,KEYCJNE A,SECKEY ,J3INC SECMOV A,SECCJNE A,#60,JU3MOV SEC,#00HJU3:LCALL DISPJ3:RETDEY:DEL34: MOV R0,#10 ;延時(shí)0.65SDEL33: MOV R7,#0FH ;判斷按鍵是否抬起,不抬起放棄此鍵 MOV R6,#0FHDJNZ R6,$DJNZ R7,DEL33DJNZ R0,DEL34RET;- ;中斷程序;- P_INT:PUSH ACC ;MOV TL0 ,#58HMOV TH0 ,#9EHINC
28、HALINC DEDAMOV A,HALCJNE A,#10,PPSETB SWMOV HAL,#0PP:MOV A , DEDACJNE A , #20 ,TT ;1S?MOV DEDA , #0 ;記數(shù)值清零INC SEC ;秒加1MOV A ,SECCJNE A ,#60,TT ;1MIN?INC MINMOV SEC , #0MOV A, MINCJNE A, #60, TT ;1H?INC HOUMOV MIN ,#0MOV A ,HOUCJNE A ,#24,TT ;24H?MOV SEC ,#0MOV MIN ,#0MOV HOU ,#0TT:POP ACCRETI;-; 閃動(dòng)調(diào)時(shí) 程 序 ;-;T1中斷服務(wù)程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示INTT1:PUS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度事業(yè)單位合同制聘用合同范本(管理人員)3篇
- 2024年度數(shù)據(jù)中心施工合同補(bǔ)充協(xié)議3篇
- 2024年度事業(yè)單位聘用合同書(編制內(nèi))實(shí)施細(xì)則3篇
- 2024年度企業(yè)內(nèi)退員工職業(yè)規(guī)劃合同
- 2024年環(huán)保型污水泵安裝與運(yùn)營管理合同3篇
- 2024年度體育賽事贊助合同:體育賽事組織方與贊助商之間的贊助權(quán)益分配及贊助費(fèi)用等具體條款3篇
- 2024版保姆合同書:家庭保姆健康與保險(xiǎn)保障協(xié)議3篇
- 中學(xué)家校共育策略的構(gòu)建
- 2024年某旅游公司與某航空公司關(guān)于旅游包機(jī)的合同
- 學(xué)校食堂管理的現(xiàn)狀分析
- 井下修井作業(yè)技術(shù)課件
- 早期復(fù)極綜合征的再認(rèn)識(shí)課件
- 李商隱詩歌《錦瑟》課件
- 世界文化遺產(chǎn)-樂山大佛課件
- 2022小學(xué)一年級(jí)數(shù)學(xué)活用從不同角度解決問題測(cè)試卷(一)含答案
- 博爾赫斯簡介課件
- 2021年山東交投礦業(yè)有限公司招聘筆試試題及答案解析
- 施工單位資料檢查內(nèi)容
- 大氣課設(shè)-酸洗廢氣凈化系統(tǒng)
- 學(xué)校校慶等大型活動(dòng)安全應(yīng)急預(yù)案
- 檢測(cè)公司檢驗(yàn)檢測(cè)工作控制程序
評(píng)論
0/150
提交評(píng)論