單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 電子時(shí)鐘設(shè)計(jì)_第1頁(yè)
單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 電子時(shí)鐘設(shè)計(jì)_第2頁(yè)
單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 電子時(shí)鐘設(shè)計(jì)_第3頁(yè)
單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 電子時(shí)鐘設(shè)計(jì)_第4頁(yè)
單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 電子時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電子時(shí)鐘設(shè)計(jì)課程設(shè)計(jì): 單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 專 業(yè): 通信技術(shù) 班 級(jí): 08通信(2)班 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 2010年 6 月 27 日設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)簡(jiǎn)易時(shí)鐘,設(shè)計(jì)內(nèi)容包括:(1) 使用8051單片機(jī)片內(nèi)定時(shí)器設(shè)計(jì)一個(gè)簡(jiǎn)易時(shí)鐘。(2) 使用8位led對(duì)測(cè)量結(jié)果進(jìn)行顯示1)確定系統(tǒng)設(shè)計(jì)方案;2)進(jìn)行系統(tǒng)的硬件設(shè)計(jì);3)完成必要的參數(shù)計(jì)算與元器件選擇;4)完成應(yīng)用程序設(shè)計(jì);5)進(jìn)行軟硬件調(diào)試;(3) 能通過鍵盤對(duì)對(duì)時(shí)鐘設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求進(jìn)行實(shí)時(shí)調(diào)整。(4) 具有鬧鐘功能注:帶者為選做設(shè)計(jì)要求:主 要 設(shè) 計(jì) 條 件1、教材2、單片機(jī)開發(fā)板、proteus軟件3、參考書:

2、1)單片機(jī)原理及運(yùn)用 電子工業(yè)出版社2)單片機(jī)應(yīng)用技術(shù)新教程 電子工業(yè)出版社 目 錄設(shè)計(jì)內(nèi)容:1設(shè)計(jì)要求:1一、系統(tǒng)總體方案選擇與說明11.系統(tǒng)總體方案選擇12. 說明1二、系統(tǒng)結(jié)構(gòu)框圖與工作原理31. 系統(tǒng)結(jié)構(gòu)框圖32.工作原理4三、各單元硬件設(shè)計(jì)說明及計(jì)算方法51.定時(shí)器計(jì)數(shù)器52 .中斷系統(tǒng):63 .鍵盤64 .led數(shù)碼管顯示器:75 .led數(shù)碼顯示器有兩種連接方法7圖(1)led引腳排列8四、軟件設(shè)計(jì)與說明(包括流程圖)81主程序82數(shù)碼管顯示模塊93定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序104按鍵處理模塊11五 、程序清單131.中斷子程序132.延時(shí)程序133.主程序和定時(shí)器中斷子程序

3、134.led顯示子程序145.按鍵控制子程序156.數(shù)字電子時(shí)鐘系統(tǒng)protues仿真19六、參考文獻(xiàn)20致 謝21一、系統(tǒng)總體方案選擇與說明1.系統(tǒng)總體方案選擇該課程設(shè)計(jì)是利用mcs-51單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器、中斷系統(tǒng)、以及行列鍵盤和led顯示器等部件,設(shè)計(jì)的一個(gè)單片機(jī)電子時(shí)鐘。設(shè)計(jì)的電子時(shí)鐘通過數(shù)碼管顯示,并能通過按鍵實(shí)現(xiàn)設(shè)置時(shí)間和暫停、啟動(dòng)控制等,用定時(shí)計(jì)數(shù)器t0,工作于定時(shí),采用方式1,對(duì)12mhz的系統(tǒng)時(shí)鐘進(jìn)行定時(shí)計(jì)數(shù),初值設(shè)為50000。形成定時(shí)時(shí)間為50ms。計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還有校時(shí)功能。因此,一個(gè)基本的數(shù)字鐘電路主要由顯示器“時(shí)”,“

4、分”,“秒”和單片機(jī),還有校時(shí)電路組成。8個(gè)數(shù)碼管的段選接到單片機(jī)的p0口,位選接到單片機(jī)的p2口。數(shù)碼管按照數(shù)碼管動(dòng)態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號(hào)送入“秒單元”,“秒單元”采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60秒發(fā)出一個(gè)“分脈沖”信號(hào),該信號(hào)將作為“分單元”的時(shí)鐘脈沖。“分單元”也采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個(gè)“時(shí)脈沖”信號(hào),該信號(hào)將被送到“時(shí)單元”?!皶r(shí)單元”采用24進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對(duì)一天24小時(shí)的累計(jì)。顯示電路將“時(shí)”、“分”、“秒”通過七段顯示器顯示出來。校時(shí)電路時(shí)用來對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整,校時(shí)電路時(shí)用來對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整,

5、按一下second,秒單元就加1 ,按一下minute,分就加1,按一下hour,時(shí)就加1。 2. 說明2.1、系統(tǒng)由at89c51、led 數(shù)碼管、按鍵、電容、電阻等部分構(gòu)成,能實(shí)現(xiàn)時(shí)間的調(diào)整、輸出、調(diào)時(shí)間等功能。系統(tǒng)中按鈕button能對(duì)時(shí)間進(jìn)行調(diào)整功能的按鈕,采用單鍵控制調(diào)時(shí)功能,運(yùn)用軟件去抖判斷按鍵的時(shí)間從而選擇完成相對(duì)應(yīng)的功能2.2 、時(shí)鐘顯示:在此部分的設(shè)計(jì)中,在顯示時(shí),首先將時(shí)間十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為顯示段碼,然后送往數(shù)碼管顯示。顯示段碼采用動(dòng)態(tài)掃描的方式。2.3 、時(shí)間調(diào)整:該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按hour來調(diào)節(jié)小時(shí)的時(shí)間,按 minute來調(diào)節(jié)分針的時(shí)間,按 s

6、ceond來調(diào)節(jié)秒的時(shí)間。按鍵處理是先檢測(cè)秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測(cè)分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測(cè)時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒有按下,就把時(shí)間顯示出來。2.4、中斷:中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)cpu的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)cpu正在執(zhí)行程序a時(shí),發(fā)生了另一個(gè)急需處理的事件b,這是cpu暫停當(dāng)前執(zhí)行的程序a,立即轉(zhuǎn)去執(zhí)行處理事件b的程序,處理完事件b后,再返回到程序a繼續(xù)執(zhí)行,這個(gè)過程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序a稱為主程序,(2)

7、處理事件b的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件b稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(cpu)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打電話來請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。 二、系統(tǒng)結(jié)構(gòu)框圖與工作原理 1. 系統(tǒng)結(jié)構(gòu)框圖數(shù)字電子時(shí)鐘的原理圖2.工作原理軟時(shí)鐘是利用單片機(jī)內(nèi)部的定時(shí)器計(jì)數(shù)器來實(shí)現(xiàn)的,它的處理過程如下:首先設(shè)定單片機(jī)內(nèi)部的一個(gè)定時(shí)器計(jì)數(shù)器工作于定

8、時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間,然后用另一個(gè)定時(shí)器計(jì)數(shù)器或軟件計(jì)數(shù)的方法對(duì)基準(zhǔn)時(shí)間計(jì)數(shù)形成秒,秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。數(shù)碼管顯示可以采用靜態(tài)顯示方法或動(dòng)態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時(shí)鐘顯示用8個(gè)數(shù)碼管。由于系統(tǒng)沒有其他的復(fù)雜的任務(wù)處理,而且顯示的時(shí)鐘信息隨時(shí)都可能變化,一般采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方法線路相對(duì)簡(jiǎn)單,但需動(dòng)態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn)定。譯碼方式可分為軟件譯碼和硬件譯碼,軟件譯碼通過譯碼程序查得顯示信息的字段碼;硬件譯碼通過硬件譯碼器

9、得到顯示信息的字段碼,實(shí)際中通常采用軟件譯碼。在具體處理時(shí),定時(shí)器計(jì)數(shù)器采用中斷方式工作,對(duì)時(shí)鐘的形成在中斷服務(wù)程序中實(shí)現(xiàn)。在主程序中只需對(duì)定時(shí)器計(jì)數(shù)器初始化、調(diào)用顯示子程序和控制子程序。另外,為了使用方便,設(shè)計(jì)了簡(jiǎn)單的按鍵,可以通過按鍵實(shí)現(xiàn)時(shí)、分的調(diào)整,這樣在主程序中就加入了鍵盤設(shè)置子程序。 單片機(jī)應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機(jī)以及擴(kuò)展的存儲(chǔ)器、io接口、外圍擴(kuò)展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應(yīng)用程序。 在單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)是整個(gè)系統(tǒng)的核心,對(duì)整個(gè)系統(tǒng)的信息輸入、處理、信息輸出進(jìn)行控制。與單片機(jī)配套的有相應(yīng)的復(fù)位電路、時(shí)鐘電路以及擴(kuò)展的存

10、儲(chǔ)器和io接口,使單片機(jī)應(yīng)用系統(tǒng)能夠運(yùn)行。 在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,往往都會(huì)輸入信息和顯示信息,這就涉及鍵盤和顯示器。在單片機(jī)應(yīng)用系統(tǒng)中,一般都根據(jù)系統(tǒng)的要求配置相應(yīng)的鍵盤和顯示器。配置鍵盤和顯示器一般都沒有統(tǒng)一的規(guī)定,有的系統(tǒng)功能復(fù)雜,需輸入的信息和顯示的信息量大,配置的鍵盤和顯示器功能相對(duì)強(qiáng)大,而有些系統(tǒng)輸入/輸出的信息少,這時(shí)可能用幾個(gè)按鍵和幾個(gè)led指示燈就可以進(jìn)行處理了。在單片機(jī)應(yīng)用系統(tǒng)在中配置的鍵盤可以是獨(dú)立鍵盤,也可能是矩陣鍵盤。顯示器可以是led指示燈,也可以是led數(shù)碼管,也可以是lcd顯示器,還可以使用crt顯示器。單片機(jī)應(yīng)用系統(tǒng)中鍵盤一般用的比較多的是矩陣鍵盤,顯示器用的

11、比較多的是led數(shù)碼管還lcd顯示器。三、各單元硬件設(shè)計(jì)說明及計(jì)算方法1.定時(shí)器計(jì)數(shù)器 1、mcs-51系列中51子系列有兩個(gè)16位的可編程定時(shí)計(jì)數(shù)器可:定時(shí)計(jì)數(shù)器t0和定時(shí)計(jì)數(shù)器t1。它由加法計(jì)數(shù)器、方式寄存器tmod、控制寄存器tcon等組成。方式寄存器用于設(shè)定定時(shí)計(jì)數(shù)器t0和t1的工作方式,控制寄存器用于對(duì)定時(shí)計(jì)數(shù)器啟動(dòng)、停止進(jìn)行控制。 2、每個(gè)定時(shí)計(jì)數(shù)器既可以對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定時(shí),也可以外部信號(hào)計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能通過編程設(shè)定來實(shí)現(xiàn)。 3、每個(gè)定時(shí)計(jì)數(shù)器都有多種工作方式,其中t0有四種工作方式,t1有三種工作方式,t2有三種工作方式。通過編程可設(shè)定工作于某種方式。四種工作方式為:13位定

12、時(shí)計(jì)數(shù)器、16位定時(shí)計(jì)數(shù)器、8位自動(dòng)重置定時(shí)計(jì)數(shù)器、兩個(gè)8位定時(shí)計(jì)數(shù)器(只有t0有) 4、每一個(gè)定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)時(shí)間到時(shí)產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式處理。2 .中斷系統(tǒng):1、mcs-51單片機(jī)提供5個(gè)硬件中斷源,2個(gè)外部中斷源,2個(gè)定時(shí)計(jì)數(shù)器t0和t1的溢出中斷tf0和tf1,1個(gè)串行口發(fā)送ti和接收ri中斷。2、mcs-51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器ie的各位來控制的。中斷允許寄存器ie的字節(jié)地址為a8h,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時(shí),中斷允許寄存器ie的內(nèi)容為00h,如果要開放某個(gè)中斷源,則必須使ie中的

13、總控置位和對(duì)應(yīng)的中斷允許位置“1”。3、mcs-51單片機(jī)有5個(gè)中斷源,為了處理方便,每個(gè)中斷源有兩級(jí)控制,高優(yōu)先級(jí)和低優(yōu)先級(jí)。通過由內(nèi)部的中斷優(yōu)先級(jí)寄存器ip來設(shè)置,中斷優(yōu)先級(jí)寄存器ip的字節(jié)地址為b8h,可以進(jìn)行位尋址。如果某位被置“1”,則對(duì)應(yīng)的中斷源被設(shè)為高優(yōu)先級(jí);如果某位被清零,則對(duì)應(yīng)的中斷源被設(shè)為低優(yōu)先級(jí)。對(duì)于同級(jí)中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,從高到低優(yōu)先權(quán)順序?yàn)橥獠恐袛?、定時(shí)計(jì)數(shù)器t0中斷、外部中斷1、定時(shí)計(jì)數(shù)器t1中斷、串行口中斷。通過設(shè)置中斷優(yōu)先級(jí)寄存器ip能夠改變系統(tǒng)默認(rèn)的優(yōu)先級(jí)順序。4、mcs-51單片機(jī)響應(yīng)中斷的條件為:中斷源有請(qǐng)求且中斷允許。3 .鍵盤鍵盤是單片機(jī)

14、應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機(jī)應(yīng)用系統(tǒng)中,操作人員一般都是通過鍵盤向單片機(jī)系統(tǒng)輸入指令、地址和數(shù)據(jù),實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。鍵盤實(shí)際上是一組按鍵開關(guān)的集合,平時(shí)按鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時(shí)它才閉合。鍵盤的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤和矩陣式鍵盤。矩陣式鍵盤的工作方式有3種:查詢工作方式、定時(shí)掃描工作方式和中斷工作方式。4 .led數(shù)碼管顯示器:led數(shù)碼管顯示器在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常用到led數(shù)碼管作為顯示輸出設(shè)備,led數(shù)碼管顯示器雖然顯示信息簡(jiǎn)單,但它具有顯示清晰、亮度高、使用電壓低、壽命長(zhǎng)、與單片機(jī)接口方便等特點(diǎn),基本上能夠滿足單片機(jī)應(yīng)用系統(tǒng)的需要,所以在單片機(jī)應(yīng)用系統(tǒng)中經(jīng)

15、常用到。led數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是8段式led數(shù)碼管顯示器,它有共陰極和共陽(yáng)極兩種。所謂譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式。對(duì)于led數(shù)碼管顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。led數(shù)碼管在顯示時(shí),通常有兩種顯示方式:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。在使用時(shí)可以把它們組合起來。在實(shí)際應(yīng)用時(shí),如果數(shù)碼管個(gè)數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個(gè)數(shù)較多時(shí),則通常用軟件譯碼動(dòng)態(tài)顯示。5 .led數(shù)碼顯示器有兩種連接方法(1)共陽(yáng)極接法把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極,使用時(shí)公共陽(yáng)極接+5v,每

16、個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)則不點(diǎn)亮。(2)共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽(yáng)極通過電阻與輸入端相連。當(dāng)陽(yáng)極端輸入高電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)則不點(diǎn)亮。在本設(shè)計(jì)中所采用的是共陰極led數(shù)碼顯示器,其引腳排列如下圖(1)所示: 圖(1)led引腳排列四、軟件設(shè)計(jì)與說明(包括流程圖)電子時(shí)鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按鍵處理、數(shù)碼管顯示模塊等, 1主程序主程序執(zhí)行流程如下圖(2),主程序先對(duì)顯示單元和定時(shí)器/計(jì)數(shù)器初

17、始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。 開始顯示單元清零t0、t1設(shè)為16位計(jì)數(shù)模式允許t0中斷調(diào)用顯示子程序進(jìn)入功能程序按下鍵否?否是 圖(2)主程序執(zhí)行流程2數(shù)碼管顯示模塊本系統(tǒng)共用8個(gè)數(shù)碼管,從右到左依次顯示秒個(gè)位、秒十位、橫線、分個(gè)位、分十位、橫線、時(shí)個(gè)位和時(shí)十位。采用軟件譯碼動(dòng)態(tài)顯示。流程圖如下圖(3)所示: 開始秒單元加1,50ms計(jì)數(shù)器清0,秒寫入秒個(gè)位和秒十位50ms 計(jì)數(shù)器=20?否是分單元加1,秒單元清0,分寫入分個(gè)位和分十位秒單元=60?時(shí)單元加1,分單元清0,時(shí)寫入時(shí)個(gè)位和時(shí)十位分單元=60?時(shí)單元清0時(shí)單元=24?結(jié)束否否否

18、是是是 圖(3) 數(shù)碼管顯示程序流程圖 3定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序定時(shí)器/計(jì)數(shù)器t0用于時(shí)間計(jì)時(shí)。選擇方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加1,秒單元加到60則對(duì)分單元加1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把它們的值放到存儲(chǔ)單元的指定位置。定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序流程圖如下圖(4): 開始現(xiàn)場(chǎng)保護(hù),重置初值啟動(dòng)下一個(gè)50ms50ms 計(jì)數(shù)器加1中斷返回圖(4)定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序流程圖4按鍵

19、處理模塊按鍵處理設(shè)置為:如沒有按鍵,則時(shí)鐘正常走時(shí)。當(dāng)按下k0按鍵時(shí),進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng);按k1可k2按鍵可進(jìn)行加1或減1操作;繼續(xù)按k0鍵可分別進(jìn)行分和小時(shí)的調(diào)整;最后按k0鍵將退出調(diào)整狀態(tài),時(shí)鐘開始計(jì)時(shí)運(yùn)行 nynynyhour加1顯示時(shí)間結(jié)束開始sceond按鍵按下?sceond加1minute按鍵按下?minute加1hour按鍵按下?圖(5)按鍵控制程序流程圖五 、程序清單 采用8位led軟件譯碼動(dòng)態(tài)顯示程序使用at89c51單片機(jī),12mhz晶振,p0輸出字段碼,p2口輸出位選碼,用共陽(yáng)led數(shù)碼管,p1.0為調(diào)時(shí)位選擇按鍵,p1.1為加1鍵,p1.2為減1鍵。1.中斷子程

20、序timer0 (void) interrupt 1 using 1 u+; th0=(65536-50000)/256; tl0=(65536-50000)%256; 2.延時(shí)程序void delay() unsigned int time,p; for(time=30;time0;time-) for(p=0;p10;p+); 3.主程序和定時(shí)器中斷子程序#includechar mod=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;char sceond,minute,hour,i,k,l,j,x,y;int u;sbit p1_0=

21、p10;sbit p1_1=p11;sbit p1_2=p12;void main() tmod=0x01; th0=(65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1; do kongzhi(); xianshi(); while(1);4.led顯示子程序void xianshi() if(u=20) u=0; sceond+; while(sceond=60) sceond=0; minute+; if(minute=60) minute=0; hour+ ; if(hour=24) hour=0; x=hour%10

22、; y=hour/10; l=minute%10; j=minute/10; i=sceond%10; k=sceond/10; p2=0x7f; p0=modi; delay(); p2=0xbf; p0=modk; delay(); p2=0xdf; p0=0x40; delay(); p2=0xef; p0=modl; delay(); p2=0xf7; p0=modj; delay(); p2=0xfb; p0=0x40; delay(); p2=0xfd; p0=modx; delay(); p2=0xfe; p0=mody; delay();5.按鍵控制子程序void kongzh

23、i() if(p1_0=0) tr0=0; while(p1_0=0); while(1) if(p1_1=0) sceond+; if(sceond=60) sceond=0; while(p1_1=0); if(p1_2=0) sceond-; if(sceond0) sceond=0; while(p1_2=0); i=sceond%10; k=sceond/10; p2=0x7f; p0=modi; delay(); p2=0xbf; p0=modk; delay(); if(p1_0=0) while(p1_0=0); while(1) if(p1_1=0) minute+;while(minute=60)minute=0; while(p1_1=0); if(p1_2=0) minute-; if(minute0) minute=0; while(p1_2=0); l=minute%10; j=minute/10; p2=0xef; p0=modl;delay();p2=0xf7; p0=modj;delay(); if( p1_0=0) hile(p1_0=0);while(1)if(p1_1=0) hour+; while(hour=24) h

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論