




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 單片機(jī)系統(tǒng)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題:可編程作息時(shí)間控制器設(shè)計(jì)學(xué)院名稱: 電氣工程學(xué)院專業(yè)班級(jí):學(xué)生:學(xué)號(hào):指導(dǎo)教師:設(shè)計(jì)地點(diǎn) :設(shè)計(jì)時(shí)間 :指導(dǎo)教師意見(jiàn):成績(jī): 簽名: 年 月 日24 / 26單片機(jī)系統(tǒng)課程設(shè)計(jì)課程設(shè)計(jì)名稱:可編程作息時(shí)間控制器設(shè)計(jì)專業(yè)班級(jí):學(xué)生姓名:學(xué)號(hào):指導(dǎo)教師:課程設(shè)計(jì)地點(diǎn):課程設(shè)計(jì)時(shí)間: 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書(shū)學(xué)生專業(yè)班級(jí)學(xué)號(hào)題目課題性質(zhì)工程設(shè)計(jì)課題來(lái)源選題指導(dǎo)教師主要容(參數(shù))可編程作息時(shí)間控制器系統(tǒng)包括:?jiǎn)纹瑱C(jī)、LCD顯示系統(tǒng)、按鍵輸入系統(tǒng)、蜂鳴器組成。利用單片機(jī)部的定時(shí)器,采用軟件編程實(shí)現(xiàn)時(shí)鐘計(jì)時(shí),根據(jù)設(shè)定時(shí)間完成播報(bào),可按照設(shè)定的時(shí)間進(jìn)行相
2、應(yīng)的控制,能夠隨意設(shè)定播報(bào)時(shí)間。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)與要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫(huà)出單元電路圖,元件與元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫(xiě)程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫(xiě)課程設(shè)計(jì)報(bào)告。要求容完整、圖表清晰、文理流暢、格式規(guī)、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料1 迎新單片微型計(jì)算機(jī)原理、應(yīng)用與接口技術(shù)(第2版)M:國(guó)防工業(yè),20042偉福LAB6000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說(shuō)明書(shū)3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版):高等教育,2006審查意見(jiàn)系(教研室)
3、主任簽字: 年 月 日 1、引言11.1研究背景和用途31.2設(shè)計(jì)思想與基本功能31.3研究容與采方法3(1)主要研究容3(2)主要采用方法42、總體設(shè)計(jì)方案42.1 方案選取42.2系統(tǒng)框圖42.3系統(tǒng)工作原理53、硬件電路與芯片介紹53.1 AT89C51單片機(jī)53.2 1602LCD液晶顯示器83.3其他重要元件9(1) 獨(dú)立式鍵盤的接口電路:9(2) 蜂鳴器:103.4硬件電路設(shè)計(jì)圖114、 系統(tǒng)軟件設(shè)計(jì)124.1主程序軟件設(shè)計(jì)124.2鍵盤掃描程序設(shè)計(jì)134.3時(shí)鐘調(diào)節(jié)程序設(shè)計(jì)144.4鬧鐘時(shí)間調(diào)節(jié)程序設(shè)計(jì)154.5鬧鐘時(shí)間判斷子程序設(shè)計(jì)165、 總結(jié)17參 考 文 獻(xiàn)18附錄:19
4、1、引言1.1研究背景和用途20世紀(jì)末,電子技術(shù)得到了飛速的發(fā)展。在其推動(dòng)下,現(xiàn)代電子產(chǎn)品乎滲透到了社會(huì)的各個(gè)領(lǐng)域,有力的推動(dòng)和提高了社會(huì)生產(chǎn)力的發(fā)展與信息化程度,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提升,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。時(shí)間對(duì)于人來(lái)說(shuō)總是那么珍貴,工作的忙碌性和繁雜讓人容易忘記當(dāng)前時(shí)間。然而遇到重大事情的時(shí)候,一旦忘記時(shí)間,就會(huì)給自己或他人造成更大的麻煩。對(duì)于學(xué)校來(lái)說(shuō)作息時(shí)間尤為重要。如今,在電子計(jì)算機(jī)基礎(chǔ)上發(fā)展而來(lái)的可編程作息時(shí)間控制器,它可以利用電子計(jì)算機(jī)的部時(shí)間,通過(guò)程序判斷處理,完成對(duì)作息時(shí)間的精確控制,并且由于是程序控制,所以可通過(guò)改變程序而進(jìn)而靈活改變作息時(shí)間,同時(shí)可以實(shí)
5、時(shí)顯示時(shí)間,并實(shí)現(xiàn)打鈴功能。可編程時(shí)間控制器可實(shí)現(xiàn)對(duì)時(shí)間控制的智能化,擺脫由人控制時(shí)間的長(zhǎng)短不同的不便,并且可以在必要時(shí)人工切入控制,完美的滿足作息時(shí)間控制。1.2設(shè)計(jì)思想與基本功能該系統(tǒng)能夠?qū)崿F(xiàn)以往的人工控制時(shí)間具有的功能,即到達(dá)所規(guī)定的時(shí)間后打鈴的功能,再次功能的前提下,還具有以往方式不具備的時(shí)間顯示功能。在選取設(shè)計(jì)方案和采取元器件方面,該系統(tǒng)本著簡(jiǎn)單實(shí)用經(jīng)濟(jì)的思想,盡量簡(jiǎn)化電路,以最經(jīng)濟(jì)的方式達(dá)到設(shè)計(jì)要求。 可編程作息時(shí)間控制器具備以下功能: (1)可以通過(guò)鍵盤進(jìn)行時(shí)間設(shè)定 (2)具有屏幕顯示的功能 (3)到達(dá)所設(shè)定的時(shí)間,能夠進(jìn)行上下課打鈴。1.3研究容與采方法(1)主要研究容用C語(yǔ)言
6、編寫(xiě)作息時(shí)間控制程序,按照給定的時(shí)間模擬控制,上下課打鈴、燈光控制(屏幕顯示),并且具備日期和時(shí)鐘顯示。給定的時(shí)間可修改,可模擬手動(dòng)控制,用揚(yáng)聲器模擬打鈴。(2)主要采用方法 程需要用到延時(shí)程序,所以把延時(shí)程序單獨(dú)做成一個(gè)子程序,然后在需要的時(shí)候調(diào)用它,使得時(shí)間顯示程序更加精煉,此時(shí)日期和時(shí)鐘顯示功能已經(jīng)完成;而后設(shè)計(jì)燈光控制(屏幕顯示),采用比較跳轉(zhuǎn)的方式即可,當(dāng)?shù)竭_(dá)設(shè)定的時(shí)間區(qū)域時(shí)通過(guò)比較來(lái)判斷是亮燈還是滅燈;隨后是上下課打鈴的模擬,需要調(diào)用DOS顯示功能,將設(shè)定好的時(shí)間在屏幕上顯示出來(lái),然后調(diào)用PC機(jī)部時(shí)鐘,判斷時(shí)鐘與給定時(shí)間是否一樣,進(jìn)而判斷是否響鈴,若響鈴則調(diào)用設(shè)定好的響鈴程序,并實(shí)
7、現(xiàn)屏幕模擬顯示;給定時(shí)間修改是調(diào)用鍵盤I/O中斷功能號(hào),獲取鍵值的方法來(lái)進(jìn)入,先確定應(yīng)該修改哪個(gè)響鈴,再將新的響鈴時(shí)間數(shù)據(jù)存入要修改時(shí)鐘的緩沖區(qū),并將其覆蓋來(lái)實(shí)現(xiàn);模擬手動(dòng)控制、用揚(yáng)聲器模擬打鈴,同樣采用調(diào)用鍵盤I/O中斷功能號(hào),獲取鍵值的方法,判斷是否與設(shè)定的手動(dòng)按鍵一樣,若一樣則進(jìn)入手動(dòng)控制,進(jìn)入后調(diào)用響鈴程序,而后自動(dòng)退出響鈴,開(kāi)始其他響應(yīng)功能。2、總體設(shè)計(jì)方案2.1 方案選取 通常通過(guò)單片機(jī)對(duì)時(shí)鐘模塊進(jìn)行設(shè)計(jì)有兩種方案:一是通過(guò)單片機(jī)部的定時(shí)器計(jì)數(shù)器,采用軟件編程實(shí)現(xiàn)時(shí)鐘技術(shù),一般為軟時(shí)鐘,這個(gè)方法硬件線路簡(jiǎn)單,系統(tǒng)功能一般與軟件設(shè)計(jì)有關(guān),通常用在對(duì)時(shí)間精度要求不高的場(chǎng)所;二是采用時(shí)鐘
8、芯,它的功能強(qiáng)大,功能部件集中在芯片部,自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能。硬件成本相對(duì)較高,軟件編程簡(jiǎn)單。通常用在對(duì)時(shí)鐘要求較高的場(chǎng)所。綜合兩者特點(diǎn),此次設(shè)計(jì)精度不高,而且根據(jù)設(shè)計(jì)思想的經(jīng)濟(jì)性,采用第一種方案。2.2系統(tǒng)框圖系統(tǒng)框圖2.3系統(tǒng)工作原理 使用AT89C51單片機(jī)結(jié)合字符型LCD顯示器設(shè)計(jì)一個(gè)簡(jiǎn)易的可編程作息時(shí)間控制器,若LCD選擇有背光顯示的模塊,在夜晚或黑暗的場(chǎng)合中也可使用。程序執(zhí)行后工作指示燈LED閃動(dòng),表示程序開(kāi)始執(zhí)行,同時(shí)顯示系統(tǒng)時(shí)間。作息時(shí)間控制器是由4路可調(diào)鬧鐘組成,從而實(shí)現(xiàn)打鈴等功能。當(dāng)四路鬧鐘中的任一路到時(shí),均會(huì)點(diǎn)亮燈、打鈴。其中操作鍵K1K4的功能分別為:設(shè)置限制的時(shí)間/
9、時(shí)的調(diào)整、顯示鬧鐘設(shè)置的時(shí)間/分的調(diào)整、設(shè)置鬧鐘的時(shí)間/設(shè)置完成、鬧鐘更換。3、硬件電路與芯片介紹3.1 AT89C51單片機(jī) 本設(shè)計(jì)的核心硬件就是8051芯片,這里選擇了AT89C51,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制
10、器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖3.1 AT89C51引腳圖引腳與其功能: P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙 向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫(xiě)入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在F
11、LASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)
12、TTL門電流。當(dāng)P3口寫(xiě)入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下所示: P3口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)
13、位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序
14、存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 P1.0口接K1按鍵,P1.1口接K2按鍵,P1.2口接K3按鍵,P1.3口接K4按鍵,P2.0口接RS口,P2.1口接RW口,
15、P2.2口接E口,P2.3口接發(fā)光二極管D2陽(yáng)極,P2.4口接發(fā)光二極管D1陽(yáng)極,P2.5口接電阻R3,P3口的8個(gè)口依次和LCD的數(shù)據(jù)口D0D7.3.2 1602LCD液晶顯示器 LM016L 液晶模塊采用HD44780 控制器。HD44780 具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)、閃爍等功能。LM016L 與單片機(jī)MCU(Microcontroller Unit)通訊可采用8 位或者4 位并行傳輸兩種方式。HD44780 控制器由兩個(gè)8 位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標(biāo)志(BF)、顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(
16、CGRAM)、地址計(jì)數(shù)器(AC)。IR 用于寄存指令碼,只能寫(xiě)入不能讀出;DR 用于寄存數(shù)據(jù),數(shù)據(jù)由部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM 讀出的數(shù)據(jù)。BF 為1 時(shí),液晶模塊處于部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。DDRAM 用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80 個(gè)字符碼。CGROM 由8 位字符碼生成5*7 點(diǎn)陣字符160 種和5*10 點(diǎn)陣字符32 種,8 位字符編碼和字符的對(duì)應(yīng)關(guān)系,可以查看參考文獻(xiàn)3中的表4。CGRAM 是為用戶編寫(xiě)特殊字符留用的,它的容量?jī)H64 字節(jié)??梢宰远x8 個(gè)5*7 點(diǎn)陣字符或者4 個(gè)5*10 點(diǎn)陣字符。AC 可以存儲(chǔ)DDRA
17、M 和CGRAM的地址,如果地址碼隨指令寫(xiě)入IR,則IR 自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM 或者CGRAM 單元。LM016L 液晶模塊的引腳功能見(jiàn)表:圖3.2 LCD1602引腳圖 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)
18、RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第714腳:D0D7為8位雙向數(shù)據(jù)線。 將respack-8的1口接電源,28口順序和P3口相連接,并和LCD的數(shù)據(jù)口D1D7相接,VSS接地,VDD接電源,VEE接滑動(dòng)變阻器,RS口接P2.0口,RW口接P2.1口,E口接P2.2口。3.3其他重要元件(1) 獨(dú)立式鍵盤的接口電路: 在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡(jiǎn)單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵接在一根I/O接口線上,這種方式的連接稱為獨(dú)立式鍵盤。每個(gè)獨(dú)立式按鍵單獨(dú)占有
19、一根I/O接口線,每根I/O接口線的工作狀態(tài)不 會(huì)影響到其他 I/O接口線 。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O接口線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開(kāi)時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口部有上拉電阻時(shí),外電路可以不配置上拉電阻。圖3.3 獨(dú)立式鍵盤(2) 蜂鳴器: 將蜂鳴器的一端電源,另一端接至晶閘管集電極,當(dāng)需要鬧鐘響時(shí),P2.5將發(fā)出有規(guī)律的電平使得晶閘管導(dǎo)通,從而使得蜂鳴器發(fā)出聲響。圖3.4 蜂鳴器接線圖 (3)respack-8:上拉電阻鍵K1K4分別與單
20、片機(jī)的P1.0P1.3口相接。3.4硬件電路設(shè)計(jì)圖 將respack-8的1口接電源,28口順序和P3口相連接,并和LCD的數(shù)據(jù)口D1D7相接。發(fā)光二極管D1和P2.4口相連接用以顯示秒計(jì)時(shí),發(fā)光二極管和P2.3口相連接用以顯示鬧鐘時(shí)的廣播,按鍵K1K4分別與單片機(jī)的P1.0P1.3口相接,以實(shí)現(xiàn)按鍵的多功能使用。圖3.5 系統(tǒng)整體電路圖4、 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件主要包括主程序、顯示子程序、鍵盤掃描子程序、定時(shí)子程序等。本章節(jié)系統(tǒng)的介紹了可編程作息控制器的主程序和主要功能子程序的設(shè)計(jì)流程,具體的代碼見(jiàn)附錄。4.1主程序軟件設(shè)計(jì) 主程序無(wú)限循環(huán),采用了程序結(jié)構(gòu)的模塊化,避免了一些函數(shù)的不必要的重
21、復(fù)書(shū)寫(xiě)。主要完成LCD初始化,單片機(jī)初始化,鍵盤掃描和顯示時(shí)間等功能。主程序流程圖如圖所示:圖4.1主程序流程圖4.2鍵盤掃描程序設(shè)計(jì) 由于鍵位未按下,輸出高電平,鍵位按下,輸出低電平,因此可以通過(guò)檢測(cè)輸出線路上的電平高低來(lái)判斷有無(wú)按鍵按下。但是無(wú)論按下鍵位還是松開(kāi)鍵位都會(huì)產(chǎn)生抖動(dòng)。如果抖動(dòng)不做處理,必然會(huì)出現(xiàn)錯(cuò)誤。抖動(dòng)消除有兩種方法:硬件消除和軟件消除。硬件消除是通過(guò)在按鍵輸出電路上加上一定硬件線路來(lái)消除抖動(dòng),一般采用R-S觸發(fā)器。軟件消除是利用延時(shí)來(lái)跳過(guò)抖動(dòng)過(guò)程。一般情況下,延時(shí)10ms就可以跳過(guò)抖動(dòng)過(guò)程了,然后又單片機(jī)開(kāi)始執(zhí)行相應(yīng)的命令,下圖為鍵盤程序設(shè)計(jì)流程圖:圖4.2鍵盤掃描程序流程
22、圖4.3時(shí)鐘調(diào)節(jié)程序設(shè)計(jì) 按下K1鍵,進(jìn)入始終調(diào)節(jié)模式,可是可以通過(guò)按下K1,K2按鍵來(lái)調(diào)節(jié)時(shí)鐘時(shí)和分的大小,設(shè)置完畢后,按下K3,返回時(shí)鐘顯示模式。流程圖如下圖4.3時(shí)鐘調(diào)節(jié)流程圖4.4鬧鐘時(shí)間調(diào)節(jié)程序設(shè)計(jì) 按下K3鍵進(jìn)入鬧鐘模式,此時(shí)顯示器第二行顯示鬧鐘時(shí)間,K1和K2可調(diào)節(jié)鬧鐘的時(shí)間,設(shè)置完畢后,按下K3鍵完成設(shè)置此時(shí)會(huì)顯示設(shè)置好的鬧鐘時(shí)間,250ms過(guò)后,自動(dòng)返回時(shí)鐘模式。流程圖如下:圖4.4鬧鐘時(shí)間調(diào)節(jié)程序流程圖4.5鬧鐘時(shí)間判斷子程序設(shè)計(jì) 鬧鐘時(shí)間的判別主要是通過(guò)設(shè)定時(shí)間與實(shí)時(shí)時(shí)間逐位對(duì)比確定是否進(jìn)行鬧鈴,流程圖如圖所示圖4.5鬧鐘時(shí)間判斷子程序流程圖5、 總結(jié)在整個(gè)設(shè)計(jì)過(guò)程中,充
23、分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒(méi)學(xué)到的知識(shí)。這次課程設(shè)計(jì)的制作過(guò)程是我的一次再學(xué)習(xí),再提高的過(guò)程。在課程設(shè)計(jì)中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識(shí)。我從資料的收集中,掌握了很多單片機(jī)、LED數(shù)碼管的知識(shí),讓我對(duì)我所學(xué)過(guò)的知識(shí)有所鞏固和提高,并且讓我對(duì)當(dāng)今單片機(jī)、LED的最新發(fā)展技術(shù)有所了解。在整個(gè)過(guò)程中,我學(xué)到了新知識(shí),增長(zhǎng)了見(jiàn)識(shí)。在今后的日子里,我仍然要不斷地充實(shí)自己,爭(zhēng)取在所學(xué)領(lǐng)域有所作為。 腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對(duì)我實(shí)際能力的一次提升,也會(huì)對(duì)我未來(lái)的學(xué)習(xí)和工作有很大的幫助。在此
24、次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我的耐心,做什么事都在有耐心。此次課程設(shè)計(jì)中學(xué)了很多很多東西,這是最重要的。參 考 文 獻(xiàn) 1 毅剛主編,單片機(jī)原理與應(yīng)用,:高等教育,2004 2 濤編著,單片機(jī)應(yīng)用與C51程序設(shè)計(jì),:機(jī)械工業(yè),2008 3 周潤(rùn)景主編,PROTEUS入門實(shí)用教程,:機(jī)械工業(yè),2007 4 皮大能主編,單片機(jī)課程設(shè)計(jì)指導(dǎo)書(shū),:理工大學(xué),2010 5 樓然苗主編, 單片機(jī)實(shí)驗(yàn)與課程設(shè)計(jì)(Proteus仿真版),:大學(xué), 2010附錄:;*作息時(shí)間控制器;*SIGN BIT
25、60; 2AH 設(shè)置按鍵輸入完畢標(biāo)志位為SIGN ORG 0000H LJMP START ORG 000BH LJMP TIME0 設(shè)置定時(shí)器0的中斷程序入口 ORG
26、0013H LJMP IINT1 ;設(shè)置中斷1的中斷程序入口 START: MOV SP,#60H ;設(shè)置指針 MOV 31H,#250 MOV 32H,#16 MOV TMOD,#02H ;設(shè)置定時(shí)器為方式2工作,自動(dòng)載入初值 MOV TH0,#06H MOV TL0,#06H MOV IE,#86H ;允許CPU中斷,外部1中斷和定時(shí)器的中斷 CLR IT1 ;開(kāi)外部中斷1 CLR SIGN ;清標(biāo)志位 MOV DPTR,#5FFFH MOV A,#0DCH ;將顯示RAM全部置1 MOVX DPTR,A WAIT: MOV
27、X A,DPTR ACC.7,WAIT ;清除完畢 MOV A,#00H ;設(shè)置為8*8左邊輸入 MOVX DPTR,A MOV A,#34H
28、160; ;20分頻 MOVX DPTR,A MOV R2,#6 ;輸入是6位數(shù) MOV R1,#39H ;顯示數(shù)據(jù)存放首地址 CLEAR:MOV R1,#00H
29、; INC R1 DJNZ R2,CLEAR ;全部清零 LCALL DISP MOV R3,#06H KEYIN: JNB SIGN,KEYIN CLR
30、60; SIGN LCALL DISP ;掃描到鍵盤輸入了一個(gè)新字符則調(diào)用顯示 DJNZ R3,KEYIN CLR EX1 SETB TR0
31、160; ;時(shí)鐘0啟用 LOOP: JNB 00H,NEXT ;00H作1秒到標(biāo)志 CLR 00H ACALL T0SERVE ;調(diào)用時(shí)間步進(jìn)子程序 LCALL
32、 RING ;調(diào)用鈴聲時(shí)間對(duì)比子程序 LCALL DISP ;調(diào)用顯示子程序 NEXT: SJMP LOOP * TIME0: DJNZ 31H,CCC M
33、OV 31H,#250 DJNZ 32H,CCCMOV 32H,#16 SETB 00H CCC: RETI T0SERVE:MOV A,39H ADD A
34、,#01H ;秒數(shù)加一 MOV 39H,A CJNE A,#0AH,EXIT MOV 39H,#00H
35、160; ;秒的個(gè)位逢十進(jìn)一 MOV A,3AH ADD A,#01H MOV 3AH,A CJNE A,#06H,EXIT MOV 3AH,#
36、00H ;秒的十位逢六進(jìn)一 MOV A,3BH ADD A,#01H MOV 3BH,A CJNE A,#0AH,EXIT MOV
37、 3BH,#00H ;分鐘的個(gè)位逢十進(jìn)一 MOV A,3CH ADD A,#01HMOV 3CH,A CJNE A,#06H,EXIT MOV
38、60; 3CH,#00H ;分鐘的個(gè)位逢六進(jìn)一 MOV A,3EH SWAP A ADD A,3DH
39、; ;合并小時(shí)數(shù) ADD A,#01H DA A MOV R7,A ANL A,#0FH MOV 3DH,A MOV
40、60; A,R7 SWAP A ANL A,#0FH MOV 3EH,A MOV A,R7 CJNE A,#24H,EXIT ;小時(shí)數(shù)逢二十四清零
41、 MOV 3DH,#00H MOV 3EH,#00H EXIT: RET * RING: MOV A,3EH SWAP A ADD A,3DH ;將小時(shí)的顯示值合并載入A中 MO
42、V R7,A ;將小時(shí)數(shù)裝入R7寄存 SUBB A,#08H ;小時(shí)數(shù)與8比較 JC OFF MOV A,R7 ;將小時(shí)的顯示值合并載入A中 SUBB
43、;A,#11H ;小時(shí)數(shù)與11比較 JC N1 JZ N1 MOV A,R7 ;將小時(shí)的顯示值合并載入A中 SUBB A,#14H
44、60; ;小時(shí)數(shù)與14比較 JC OFF MOV A,R7 ;將小時(shí)的顯示值合并載入A中 SUBB A,#17H ;小時(shí)數(shù)與17比較 JC N1
45、160; ;小時(shí)條件符合則繼續(xù) JZ N1 ;小時(shí)條件符合則繼續(xù) AJMP OFFN1: MOV A,3CH
46、 SWAP A ADD A,3BH ;將分鐘的顯示值合并載入A中 SUBB A,#00H ;分鐘數(shù)與00比較 JZ N2
47、;分鐘條件符合則繼續(xù) MOV A,3CH SWAP A ADD A,3BH ;將分鐘的顯示值合并載入A中 SUBB A,#50H ;分鐘數(shù)與50比較 JZ N2 &
48、#160; ;分鐘條件符合則繼續(xù) AJMP OFF N2: MOV A,3AH SWAP A ADD A,39H ;將秒的顯示值合并載入A中 SUBB
49、;A,#10H ;秒數(shù)與10比較JZ RRR JC RRR ;小時(shí),分鐘,秒都符合則啟動(dòng)打鈴 AJMP OFF RRR: CLR P1.0
50、 ;啟動(dòng)鈴 AJMP EXT OFF: SETB P1.0 ;關(guān)閉鈴 EXT: RET * IINT1: PUSH ACC PUSH PSW
51、60; PUSH DPH PUSH DPL ;保護(hù)斷點(diǎn) CLR EA ;關(guān)CPU中斷 MOV A,#40H &
52、#160; MOV DPTR,#5FFFH MOVX A,DPTR MOV 35H,A ;取鍵盤輸入值進(jìn)入存 MOV B,#10 SUBB A,B JC
53、; DDD CLR A AJMP EEE DDD: MOV A,35H ;輸入值小于10則存入 EEE: MOV
54、60;3EH,3DH MOV 3DH,3CH MOV 3CH,3BH MOV 3BH,3AH MOV 3AH,39H MOV 39H,A ;前五位全班前移一位,將A的值顯示在最后一
55、位 SETB SIGN ;將按鍵輸入結(jié)束標(biāo)志位置1 SETB EA POP DPL POP DPH POP PSW POP ACC
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年項(xiàng)目的學(xué)習(xí)與發(fā)展策略試題及答案
- 其實(shí)你能行心理健康教育
- 口腔頜面部瘤樣病變
- 粘土手工房子制作課程
- 行政管理與公共關(guān)系整合試題及答案
- 理解技術(shù)進(jìn)步的經(jīng)濟(jì)學(xué)影響試題及答案
- 工程經(jīng)濟(jì)考試的綜合能力培養(yǎng)法試題及答案
- 稅務(wù)繳納與合規(guī)證明書(shū)(8篇)
- 2025年工程項(xiàng)目管理實(shí)施方案試題及答案
- 水利水電工程行業(yè)形勢(shì)分析試題及答案
- 輸變電工程監(jiān)督檢查標(biāo)準(zhǔn)化清單-質(zhì)監(jiān)站檢查
- GB/T 26718-2024城市軌道交通安全防范系統(tǒng)技術(shù)要求
- 《心房顫動(dòng)》課件
- 靜脈輸液操作考試流程
- 校園藝術(shù)團(tuán)指導(dǎo)教師聘用合同
- 護(hù)理記錄與交班制度
- 2024-2030年中國(guó)海外醫(yī)療中介服務(wù)行業(yè)運(yùn)行現(xiàn)狀及投資潛力分析報(bào)告
- 幼兒園應(yīng)急疏散演練
- 電力線路改遷工程預(yù)算方案
- 《家庭安全用電培訓(xùn)》課件
- 物理化學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋華東理工大學(xué)
評(píng)論
0/150
提交評(píng)論