可編程作息時(shí)間控制器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)_第1頁
可編程作息時(shí)間控制器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)_第2頁
可編程作息時(shí)間控制器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)_第3頁
可編程作息時(shí)間控制器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)_第4頁
可編程作息時(shí)間控制器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 單片機(jī)系統(tǒng)課程設(shè)計(jì)單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)成績評定表設(shè)計(jì)課題 : 可編程作息時(shí)間控制器設(shè)計(jì) 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級 : 學(xué)生姓名 : 學(xué) 號 : 指導(dǎo)教師 : 設(shè)計(jì)地點(diǎn) : 設(shè)計(jì)時(shí)間 : 指導(dǎo)教師意見:成績: 簽名: 年 月 日 單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱: 可編程作息時(shí)間控制器設(shè)計(jì) 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)地點(diǎn): 課程設(shè)計(jì)時(shí)間: 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書學(xué)生姓名專業(yè)班級學(xué)號題 目課題性質(zhì)工程設(shè)計(jì)課題來源選題指導(dǎo)教師 主要內(nèi)容(參數(shù))可編程作息時(shí)間控制器系統(tǒng)包括:單片機(jī)、lcd顯示系統(tǒng)、按鍵輸入系統(tǒng)、蜂鳴器組成

2、。利用單片機(jī)內(nèi)部的定時(shí)器,采用軟件編程實(shí)現(xiàn)時(shí)鐘計(jì)時(shí),根據(jù)設(shè)定時(shí)間完成播報(bào),可按照設(shè)定的時(shí)間進(jìn)行相應(yīng)的控制,能夠隨意設(shè)定播報(bào)時(shí)間。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料1 張迎新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)m北京:國防工業(yè)出版社,20042偉福lab6

3、000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006審查意見系(教研室)主任簽字: 年 月 日 1、引言11.1研究背景和用途31.2設(shè)計(jì)思想及基本功能31.3研究內(nèi)容及采方法3(1)主要研究內(nèi)容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.

4、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附錄:191、引言1.1研究背景和用途 20世紀(jì)末,電子技術(shù)得到了飛速的發(fā)展。在其推動下,現(xiàn)代電子產(chǎn)品乎滲透到了社會的各個(gè)領(lǐng)域,有力的推動和提高了社會生產(chǎn)力的發(fā)展與信息化程度,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提升,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時(shí)間對于人來說總是那么珍貴,工作的忙碌性和繁雜讓人容易忘記當(dāng)前時(shí)間。然而遇到重大事情的時(shí)候,一旦忘記時(shí)間,就會給自己或他人造成更大的麻煩。對于學(xué)校來說作息時(shí)間尤為重要。如今,在電子計(jì)算機(jī)基礎(chǔ)上發(fā)展而來的可編程作息時(shí)間控制器,它可以利用電子計(jì)算

5、機(jī)的內(nèi)部時(shí)間,通過程序判斷處理,完成對作息時(shí)間的精確控制,并且由于是程序控制,所以可通過改變程序而進(jìn)而靈活改變作息時(shí)間,同時(shí)可以實(shí)時(shí)顯示時(shí)間,并實(shí)現(xiàn)打鈴功能??删幊虝r(shí)間控制器可實(shí)現(xiàn)對時(shí)間控制的智能化,擺脫由人控制時(shí)間的長短不同的不便,并且可以在必要時(shí)人工切入控制,完美的滿足作息時(shí)間控制。1.2設(shè)計(jì)思想及基本功能 該系統(tǒng)能夠?qū)崿F(xiàn)以往的人工控制時(shí)間具有的功能,即到達(dá)所規(guī)定的時(shí)間后打鈴的功能,再次功能的前提下,還具有以往方式不具備的時(shí)間顯示功能。在選取設(shè)計(jì)方案和采取元器件方面,該系統(tǒng)本著簡單實(shí)用經(jīng)濟(jì)的思想,盡量簡化電路,以最經(jīng)濟(jì)的方式達(dá)到設(shè)計(jì)要求。 可編程作息時(shí)間控制器具備以下功能: (1)可以通過

6、鍵盤進(jìn)行時(shí)間設(shè)定 (2)具有屏幕顯示的功能 (3)到達(dá)所設(shè)定的時(shí)間,能夠進(jìn)行上下課打鈴。1.3研究內(nèi)容及采方法(1)主要研究內(nèi)容 用c語言編寫作息時(shí)間控制程序,按照給定的時(shí)間模擬控制,上下課打鈴、燈光控制(屏幕顯示),并且具備日期和時(shí)鐘顯示。給定的時(shí)間可修改,可模擬手動控制,用揚(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í)通過比較來判斷是亮燈還是滅燈;隨后是上下課打鈴的模擬,需要調(diào)用dos顯示功

7、能,將設(shè)定好的時(shí)間在屏幕上顯示出來,然后調(diào)用pc機(jī)內(nèi)部時(shí)鐘,判斷時(shí)鐘與給定時(shí)間是否相同,進(jìn)而判斷是否響鈴,若響鈴則調(diào)用設(shè)定好的響鈴程序,并實(shí)現(xiàn)屏幕模擬顯示;給定時(shí)間修改是調(diào)用鍵盤i/o中斷功能號,獲取鍵值的方法來進(jìn)入,先確定應(yīng)該修改哪個(gè)響鈴,再將新的響鈴時(shí)間數(shù)據(jù)存入要修改時(shí)鐘的緩沖區(qū),并將其覆蓋來實(shí)現(xiàn);模擬手動控制、用揚(yáng)聲器模擬打鈴,同樣采用調(diào)用鍵盤i/o中斷功能號,獲取鍵值的方法,判斷是否與設(shè)定的手動按鍵相同,若相同則進(jìn)入手動控制,進(jìn)入后調(diào)用響鈴程序,而后自動退出響鈴,開始其他響應(yīng)功能。2、總體設(shè)計(jì)方案2.1 方案選取 通常通過單片機(jī)對時(shí)鐘模塊進(jìn)行設(shè)計(jì)有兩種方案:一是通過單片機(jī)內(nèi)部的定時(shí)器計(jì)

8、數(shù)器,采用軟件編程實(shí)現(xiàn)時(shí)鐘技術(shù),一般為軟時(shí)鐘,這個(gè)方法硬件線路簡單,系統(tǒng)功能一般與軟件設(shè)計(jì)有關(guān),通常用在對時(shí)間精度要求不高的場所;二是采用時(shí)鐘芯,它的功能強(qiáng)大,功能部件集中在芯片內(nèi)部,自動產(chǎn)生時(shí)鐘等相關(guān)功能。硬件成本相對較高,軟件編程簡單。通常用在對時(shí)鐘要求較高的場所。綜合兩者特點(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è)簡易的可編程作息時(shí)間控制器,若lcd選擇有背光顯示的模塊,在夜晚或黑暗的場合中也可使用。程序執(zhí)行后工作指示燈led閃動,表示程序開始執(zhí)行,同時(shí)顯示系統(tǒng)時(shí)間。作息

9、時(shí)間控制器是由4路可調(diào)鬧鐘組成,從而實(shí)現(xiàn)打鈴等功能。當(dāng)四路鬧鐘中的任一路到時(shí),均會點(diǎn)亮燈、打鈴。其中操作鍵k1k4的功能分別為:設(shè)置限制的時(shí)間/時(shí)的調(diào)整、顯示鬧鐘設(shè)置的時(shí)間/分的調(diào)整、設(shè)置鬧鐘的時(shí)間/設(shè)置完成、鬧鐘更換。3、硬件電路及芯片介紹3.1 at89c51單片機(jī) 本設(shè)計(jì)的核心硬件就是8051芯片,這里選擇了at89c51,at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲器制造技術(shù)制造

10、,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖3.1 at89c51引腳圖引腳及其功能: p0口:p0口為一個(gè)8位漏級開路雙 向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。 p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1

11、口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),p

12、2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,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外部輸入)

13、 p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)

14、行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/psen信號將不出現(xiàn)。 ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的

15、輸入。 xtal2:來自反向振蕩器的輸出。 p1.0口接k1按鍵,p1.1口接k2按鍵,p1.2口接k3按鍵,p1.3口接k4按鍵,p2.0口接rs口,p2.1口接rw口,p2.2口接e口,p2.3口接發(fā)光二極管d2陽極,p2.4口接發(fā)光二極管d1陽極,p2.5口接電阻r3,p3口的8個(gè)口依次和lcd的數(shù)據(jù)口d0d7.3.2 1602lcd液晶顯示器 lm016l 液晶模塊采用hd44780 控制器。hd44780 具有簡單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動、閃爍等功能。lm016l 與單片機(jī)mcu(microcontroller unit)通訊可采用8 位或者4 位并行傳輸兩種方式。hd4

16、4780 控制器由兩個(gè)8 位寄存器、指令寄存器(ir)和數(shù)據(jù)寄存器(dr)、忙標(biāo)志(bf)、顯示數(shù)據(jù)ram(ddram)、字符發(fā)生器rom(cgrom)、字符發(fā)生器ram(cgram)、地址計(jì)數(shù)器(ac)。ir 用于寄存指令碼,只能寫入不能讀出;dr 用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入ddram和cgram,或者暫存從ddram和cgram 讀出的數(shù)據(jù)。bf 為1 時(shí),液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。ddram 用來存儲顯示的字符,能存儲80 個(gè)字符碼。cgrom 由8 位字符碼生成5*7 點(diǎn)陣字符160 種和5*10 點(diǎn)陣字符32 種,8 位字符編碼和字符的對應(yīng)關(guān)系

17、,可以查看參考文獻(xiàn)3中的表4。cgram 是為用戶編寫特殊字符留用的,它的容量僅64 字節(jié)??梢宰远x8 個(gè)5*7 點(diǎn)陣字符或者4 個(gè)5*10 點(diǎn)陣字符。ac 可以存儲ddram 和cgram的地址,如果地址碼隨指令寫入ir,則ir 自動把地址碼裝入ac,同時(shí)選擇ddram 或者cgram 單元。lm016l 液晶模塊的引腳功能見表:圖3.2 lcd1602引腳圖 第1腳:vss為地電源。 第2腳:vdd接5v正電源。 第3腳:vl為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高,對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對比度。 第4腳:rs為寄存器選擇

18、,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:r/w為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時(shí)可以讀忙信號,當(dāng)rs為高電平r/w為低電平時(shí)可以寫入數(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接滑動變阻器,rs口接p2.0口,rw口接p2.1口,e口接p2.2口。3.3其他重要元件(1) 獨(dú)

19、立式鍵盤的接口電路: 在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵接在一根i/o接口線上,這種方式的連接稱為獨(dú)立式鍵盤。每個(gè)獨(dú)立式按鍵單獨(dú)占有一根i/o接口線,每根i/o接口線的工作狀態(tài)不 會影響到其他 i/o接口線 。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占用一根i/o接口線,i/o接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時(shí),i/o接口線有確定的高電平。當(dāng)i/o接口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。圖3.3 獨(dú)立式鍵盤(2) 蜂鳴器: 將蜂鳴器的一端電源,另一

20、端接至晶閘管集電極,當(dāng)需要鬧鐘響時(shí),p2.5將發(fā)出有規(guī)律的電平使得晶閘管導(dǎo)通,從而使得蜂鳴器發(fā)出聲響。圖3.4 蜂鳴器接線圖 (3)respack-8:上拉電阻鍵k1k4分別與單片機(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í)子程序等

21、。本章節(jié)系統(tǒng)的介紹了可編程作息控制器的主程序和主要功能子程序的設(shè)計(jì)流程,具體的代碼見附錄。4.1主程序軟件設(shè)計(jì) 主程序無限循環(huán),采用了程序結(jié)構(gòu)的模塊化,避免了一些函數(shù)的不必要的重復(fù)書寫。主要完成lcd初始化,單片機(jī)初始化,鍵盤掃描和顯示時(shí)間等功能。主程序流程圖如圖所示:圖4.1主程序流程圖4.2鍵盤掃描程序設(shè)計(jì) 由于鍵位未按下,輸出高電平,鍵位按下,輸出低電平,因此可以通過檢測輸出線路上的電平高低來判斷有無按鍵按下。但是無論按下鍵位還是松開鍵位都會產(chǎn)生抖動。如果抖動不做處理,必然會出現(xiàn)錯(cuò)誤。抖動消除有兩種方法:硬件消除和軟件消除。硬件消除是通過在按鍵輸出電路上加上一定硬件線路來消除抖動,一般采

22、用r-s觸發(fā)器。軟件消除是利用延時(shí)來跳過抖動過程。一般情況下,延時(shí)10ms就可以跳過抖動過程了,然后又單片機(jī)開始執(zhí)行相應(yīng)的命令,下圖為鍵盤程序設(shè)計(jì)流程圖:圖4.2鍵盤掃描程序流程圖4.3時(shí)鐘調(diào)節(jié)程序設(shè)計(jì) 按下k1鍵,進(jìn)入始終調(diào)節(jié)模式,可是可以通過按下k1,k2按鍵來調(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í)會顯示設(shè)置好的鬧鐘時(shí)間,250ms過后,自動返回時(shí)鐘模式。流程圖如下:圖4.4鬧鐘時(shí)間調(diào)節(jié)程序流

23、程圖4.5鬧鐘時(shí)間判斷子程序設(shè)計(jì) 鬧鐘時(shí)間的判別主要是通過設(shè)定時(shí)間與實(shí)時(shí)時(shí)間逐位對比確定是否進(jìn)行鬧鈴,流程圖如圖所示圖4.5鬧鐘時(shí)間判斷子程序流程圖5、 總結(jié) 在整個(gè)設(shè)計(jì)過程中,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。這次課程設(shè)計(jì)的制作過程是我的一次再學(xué)習(xí),再提高的過程。在課程設(shè)計(jì)中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識。我從資料的收集中,掌握了很多單片機(jī)、led數(shù)碼管的知識,讓我對我所學(xué)過的知識有所鞏固和提高,并且讓我對當(dāng)今單片機(jī)、led的最新發(fā)展技術(shù)有所了解。在整個(gè)過程中,我學(xué)到了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實(shí)自己,爭取在所學(xué)領(lǐng)域有所作為。 腳踏實(shí)地,

24、認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對我實(shí)際能力的一次提升,也會對我未來的學(xué)習(xí)和工作有很大的幫助。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我的耐心,做什么事都在有耐心。此次課程設(shè)計(jì)中學(xué)了很多很多東西,這是最重要的。參 考 文 獻(xiàn) 1 張毅剛主編,單片機(jī)原理及應(yīng)用,北京:高等教育出版社,2004 2 陳濤編著,單片機(jī)應(yīng)用及c51程序設(shè)計(jì),北京:機(jī)械工業(yè)出版社,2008 3 周潤景主編,proteus入門實(shí)用教程,北京:機(jī)械工業(yè)出版社,2007 4 皮大能主編,單片機(jī)課程設(shè)計(jì)指

25、導(dǎo)書,北京:北京理工大學(xué)出版社,2010 5 樓然苗主編, 單片機(jī)實(shí)驗(yàn)與課程設(shè)計(jì)(proteus仿真版),浙江:浙江大學(xué)出版社, 2010附錄:;*作息時(shí)間控制器;*signbit2ah設(shè)置按鍵輸入完畢標(biāo)志位為sign org0000h ljmpstart org000bh ljmptime0;設(shè)置定時(shí)器0的中斷程序入口 org 0013h ljmp iint1 ;設(shè)置中斷1的中斷程序入口 start: mov sp,#60h ;設(shè)置指針 mov 31h,#250 mov 32h,#16 mov tmod,#02h ;設(shè)置定時(shí)器為方式2工作,自動載入初值 mov th0,#06h mov tl

26、0,#06h mov ie,#86h ;允許cpu中斷,外部1中斷和定時(shí)器的中斷 clr it1 ;開外部中斷1 clr sign ;清標(biāo)志位 mov dptr,#5fffh mov a,#0dch ;將顯示ram全部置1 movxdptr,await:movxa,dptr jbacc.7,wait;清除完畢 mova,#00h;設(shè)置為8*8左邊輸入 movxdptr,a mova,#34h;20分頻 movxdptr,a movr2,#6;輸入是6位數(shù) movr1,#39h;顯示數(shù)據(jù)存放首地址clear:movr1,#00h incr1 djnzr2,clear;全部清零 lcalldisp

27、 movr3,#06hkeyin:jnbsign,keyin clrsign lcalldisp;掃描到鍵盤輸入了一個(gè)新字符則調(diào)用顯示 djnzr3,keyin clrex1 setbtr0;時(shí)鐘0啟用loop:jnb00h,next;00h作1秒到標(biāo)志 clr00h acallt0serve;調(diào)用時(shí)間步進(jìn)子程序 lcallring;調(diào)用鈴聲時(shí)間對比子程序 lcalldisp;調(diào)用顯示子程序next:sjmploop;*time0: djnz31h,cccmov31h,#250djnz32h,cccmov32h,#16setb00hccc:retit0serve:mova,39hadda,#0

28、1h;秒數(shù)加一mov39h,a cjnea,#0ah,exit mov39h,#00h;秒的個(gè)位逢十進(jìn)一 mova,3ah adda,#01h mov3ah,a cjnea,#06h,exit mov3ah,#00h;秒的十位逢六進(jìn)一 mova,3bh adda,#01h mov3bh,a cjnea,#0ah,exit mov3bh,#00h;分鐘的個(gè)位逢十進(jìn)一 mova,3ch adda,#01hmov3ch,acjnea,#06h,exit mov3ch,#00h;分鐘的個(gè)位逢六進(jìn)一 mova,3ehswapa adda,3dh;合并小時(shí)數(shù) adda,#01hdaa movr7,a an

29、la,#0fh mov3dh,a mova,r7 swapa anla,#0fh mov3eh,a mova,r7 cjnea,#24h,exit;小時(shí)數(shù)逢二十四清零 mov3dh,#00h mov3eh,#00hexit:ret;*ring:mova,3eh swapa adda,3dh;將小時(shí)的顯示值合并載入a中 movr7,a;將小時(shí)數(shù)裝入r7寄存 subba,#08h;小時(shí)數(shù)與8比較jcoff mova,r7;將小時(shí)的顯示值合并載入a中 subba,#11h;小時(shí)數(shù)與11比較 jcn1 jzn1 mova,r7;將小時(shí)的顯示值合并載入a中 subba,#14h;小時(shí)數(shù)與14比較 jcoff mova,r7;將小時(shí)的顯示值合并載入a中 subba,#17h;小時(shí)數(shù)與17比較 jcn1;小時(shí)條件符合則繼續(xù) jzn1;小時(shí)條件符合則繼續(xù) ajmpoffn1:mova,3ch swapa adda,3bh;將分鐘的顯示值合并載入a中 subba

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論