版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、西安文理學(xué)院課程設(shè)計報告第 1 頁引言20 世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展。在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高1。同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間2。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。例如,許多火災(zāi)都是由于人們一時忘記了關(guān)閉煤氣或是忘記充電時間。所以有必要制作一個定時系統(tǒng)。隨時提醒這些容易忘記時間的人。 而鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且
2、大大地擴展了鐘表原先的報時功能3。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義4。隨著生活水平的提高,人們越來越追求人性化的事物。傳統(tǒng)的時鐘已不能滿足人們的需求。而現(xiàn)代的時鐘不僅需要模擬電路技術(shù)和數(shù)字電路技術(shù)而且更需要單片機技術(shù),增加數(shù)字鐘的功能5。利用軟件編程盡量做到硬件電路簡單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進和提高如選用更精密的元器件。但與機械式時鐘相比已經(jīng)具有更
3、高的準(zhǔn)確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用6。數(shù)字鐘通過數(shù)字電路實現(xiàn)時、分、秒。數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表7。多功能數(shù)字鐘的應(yīng)用非常普遍8。由單片機作為數(shù)字鐘的核心控制器,通過它的時鐘信號進行實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行校時、定時等功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管來顯示技術(shù)9。 本系統(tǒng)利用單片機實現(xiàn)具有計時、校時等功能的數(shù)字時鐘,是以單片機AT89C
4、51 為核心元件同時采用 LED 數(shù)碼管顯示器動態(tài)顯示“時”、“分”、“秒”的現(xiàn)代計時裝置。另外具有校時功能,秒表功能,和定時器功能,利用單片機實現(xiàn)的數(shù)字時鐘具有編程靈活,便于功能的擴充等優(yōu)點10。西安文理學(xué)院課程設(shè)計報告第 2 頁1 課題的背景1.1 課題的來源隨著生活水平的提高,人們越來越追求人性化的事物,傳統(tǒng)的時鐘已不能滿足人們的需求?,F(xiàn)代的時鐘不僅需要模擬電路技術(shù)而且需要數(shù)字電路技術(shù)和單片機技術(shù),增加時鐘的功能。數(shù)字電子鐘可利用軟件編程盡量做到硬件電路簡單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,減小因元器件精度不夠引起的誤差;盡管如此數(shù)字鐘還是可以改進和提高,比如選用更精密的元器件。但與機械
5、式時鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。1.2 課題研究的目的和意義20 世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。例如,許多火災(zāi)都是由于人們一時忘記了關(guān)閉煤氣或是忘記充電時間等造成的。而鐘表的數(shù)字化給人們
6、生產(chǎn)生活帶來了極大的方便。數(shù)字鐘是通過數(shù)字電路實現(xiàn)時,分,秒數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烤箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。1.3 應(yīng)解決的主要問題及達(dá)到的技術(shù)要求本設(shè)計應(yīng)解決的主
7、要問題有兩大方面,即硬件電路設(shè)計和軟件設(shè)計兩大方面。其中硬件電路部分又可分為四個模塊:鍵盤模塊、顯示模塊、計時模塊和發(fā)聲模塊。硬件電路部分致力于低成本、低功耗和易實現(xiàn)性。軟件部分則應(yīng)做到代碼的精簡、準(zhǔn)確、易讀懂。最后通過硬軟件的結(jié)合實現(xiàn)數(shù)字鐘的精確計時、校時、鬧鐘設(shè)置、秒表和定時報警功能。2 方案的選擇和論證2.1 單片機型號的選擇通過對多種單片機性能的分析,最終認(rèn)為 AT89C51 是最理想的電子時鐘開發(fā)芯片。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,西安文理學(xué)院課程設(shè)計報告第 3 頁高性能 CMOS8 位微處理器,器件采用 ATMEL 高密度非易失存儲器制造技
8、術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,而且它與 MCS-51 兼容,且具有 4K 字節(jié)可編程序存儲器和 1000 次擦寫循環(huán),數(shù)據(jù)保留時間為 10 年,是最好的選擇。2.2 按鍵的選擇方案一:44 矩陣式鍵盤。如果選擇此方案,那么在修改時鐘或設(shè)置鬧鈴時間時就可以直接從鍵盤輸入,方便、快捷,但程序較為復(fù)雜。 方案二:獨立式按鍵。如果設(shè)置過多按鍵,將會占用較多 I/O 口,而且會給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時間
9、或設(shè)置鬧鈴時間時就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序簡單。 由于并不需要經(jīng)常修改時間和設(shè)置鬧鈴時間,而且方案二的程序簡單,按鍵少、成本低,因此,選擇方案二。2.3 顯示器的選擇方案一:液晶顯示器。如果選擇此方案,將會降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動電路復(fù)雜,使用起來有一定的難度。 方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動電路簡單,使用方便,如果選擇了此方案,那么在夜間看時間的時候就不需要有光源,非常方便。其缺點是功耗較大。由于數(shù)碼管使用起來較為方便,在夜間看時間也很方便,因此我選擇了方案二。2.4 計時部分的選擇如果使用時鐘芯片,系統(tǒng)就不
10、怕掉電且時間精確。但這種芯片比較貴,況且,設(shè)計本系統(tǒng)主要是為了學(xué)習(xí)單片機程序的編寫和調(diào)試以及設(shè)計硬件電路的一些方法,因此采用軟件的方法來計時而沒有采用價格較高的時鐘芯片。2.5 發(fā)音部分的設(shè)計通過三極管放大后驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。2.6 顯示器驅(qū)動電路由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片 74LS245 來驅(qū)動段碼,用 P3 口作位碼驅(qū)動。2.7 電源的選擇如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本系統(tǒng)的體積較大,即
11、使使用電池供電也不能隨身攜帶,因此,用電池供電不大合適,所以用 5V 外部穩(wěn)壓電源來供電。3 數(shù)字電子鐘的設(shè)計原理和方法西安文理學(xué)院課程設(shè)計報告第 4 頁3.1 設(shè)計原理系統(tǒng)原理圖如圖系統(tǒng)原理圖如圖系統(tǒng)原理圖如圖 3.13.13.1圖圖 3.1 系統(tǒng)原理圖系統(tǒng)原理圖3.2 硬件電路的設(shè)計3.2.1 AT89C51 單片機簡介AT89C51 是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場合。可以滿足多方面的性能要求。AT89C51 采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時間只需 2 到 4 個時鐘周期。6 倍于標(biāo)準(zhǔn) 51 單片機器件。AT89C51 集成了許多系統(tǒng)級的功能,這樣可大大減
12、少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。AT89C51 單片機內(nèi)部主要有以下部件:8031CPU、振蕩電路、總線控制部件、中斷控制部件、片內(nèi) Flash 存儲器、并行 I/O 接口、定時器和串行 I/O 接口。如圖 3.2 所示。圖圖 3.2 AT89C51 單片機單片機3.2.2 鍵盤電路的設(shè)計鍵盤采用 7 個獨立按鍵配以 7 個上拉電阻實現(xiàn)對時鐘和鬧鐘的設(shè)定及修改。西安文理學(xué)院課程設(shè)計報告第 5 頁如圖 3.3,圖 3.4 所示。圖圖 3.3 獨立按鍵獨立按鍵圖圖 3.4 鍵盤輸入電路鍵盤輸入電路3.2.3 段碼驅(qū)動電路由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片
13、74LS245 來驅(qū)動段碼,用 P3 口作位碼驅(qū)動。如圖 3.5 所示。西安文理學(xué)院課程設(shè)計報告第 6 頁圖圖 3.5 段碼驅(qū)動器段碼驅(qū)動器 74LS2453.2.4 蜂鳴器驅(qū)動電路發(fā)音部分是通過三極管放大驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。如圖 3.6 所示。圖圖 3.6 蜂鳴器驅(qū)動電路蜂鳴器驅(qū)動電路3.3 軟件部分的設(shè)計3.3.1 主程序部分的設(shè)計程序部分主要采用了程序結(jié)構(gòu)的模塊化設(shè)計,避免了一些函數(shù)的不必要的重復(fù)書寫,使程序變得單間易懂。程序在執(zhí)行時,主程序要須通過調(diào)用子函數(shù)就可完成相應(yīng)的功能 。主程序流程圖如下圖
14、3.7。西安文理學(xué)院課程設(shè)計報告第 7 頁圖圖 3.7 主程序流程圖主程序流程圖3.3.2 中斷定時器的設(shè)置數(shù)字電子鐘設(shè)計中主要使用定時器 T0 中斷 ET0,利用 ET0 中斷進行計時時間的自增,從而實現(xiàn)計時功能。AT89C51 有兩個通用定時/計數(shù)器。兩者均可配置為定時器或事件計數(shù)器。另外增加了定時器 T0/T1,溢出時 T0/T1 腳自動翻轉(zhuǎn)的功能選項。 用作“定時器”功能時,每經(jīng)過一個機器周期,寄存器值加 1。 用作“計數(shù)器”功能時,寄存器在對應(yīng)的外部輸入管腳 T0/T1 上每發(fā)生一次 1 到 0 的跳變時加 1。使用該功能時,外部輸入每個機器周期被采樣一次。 如圖 3.8 所示。圖圖
15、 3.8 定時器工作原理定時器工作原理 1 設(shè)計中采用了中斷方式 1 作為定時中斷,其定時計數(shù)初值的設(shè)置可由以下公式計算得到,中斷服務(wù)流程圖如下圖 3.9。cyTtX162西安文理學(xué)院課程設(shè)計報告第 8 頁X:計數(shù)初值:計數(shù)初值 t:定時時間:定時時間 :機器周期:機器周期 1 cyT圖圖 3.9 中斷服務(wù)流程圖中斷服務(wù)流程圖3.3.3 鬧鐘子函數(shù)鬧鐘時間的判別主要是通過設(shè)定時間與實時時間對逐位對比確定是否進行鬧鈴。其工作流程圖如下圖 3.10。西安文理學(xué)院課程設(shè)計報告第 9 頁圖圖 3.10 工作流程圖工作流程圖3.3.4 計時函數(shù)計時函數(shù)部分,主要是通過單片機定時中斷來計時,復(fù)產(chǎn)生一次中斷
16、標(biāo)志位 FLAG 加 1,當(dāng) FLAG 加滿 20 次為 1 秒,然后把 FLAG 清 0 把秒存儲單元加1。然后再依次判斷分、時。其流程圖如下圖 3.11。西安文理學(xué)院課程設(shè)計報告第 10 頁圖圖 3.11 計時流程圖計時流程圖3.3.5 鍵盤掃描函數(shù)這些函數(shù)主要是判斷是否有按鍵按下,并根據(jù)相應(yīng)按鍵按下的情況調(diào)用相關(guān)函數(shù)執(zhí)行,其相關(guān)流程圖如下圖 3.12。圖圖 3.12 鍵盤掃描流程圖鍵盤掃描流程圖3.3.6 時間和鬧鐘的設(shè)置此部分主要是通過判斷 cnt 在不同值時通過調(diào)用加 1、減 1 子函數(shù)對時間和西安文理學(xué)院課程設(shè)計報告第 11 頁鬧鐘的時、分、秒進行設(shè)置。在鬧鐘設(shè)置時,判斷按鍵 S4
17、 按下情況我,進行鬧鐘的開啟與關(guān)閉,相關(guān)流程圖如下圖 3.13。圖圖 3.13 時間時間/ /鬧鐘設(shè)置流程圖鬧鐘設(shè)置流程圖3.3.7 計時秒表的設(shè)置此部分主要是在 cnt7 時通過 S5、S6、S7 對秒表進行開始、暫停和清零的設(shè)置。相關(guān)流程圖如下圖 3.14。圖圖 3.14 秒表設(shè)置流程圖秒表設(shè)置流程圖4 實驗結(jié)果此電子鬧鐘設(shè)計是利用 Proteus 仿真軟件進行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。硬件部分設(shè)置了的三個按鍵 S1、S2、S3、S4、S5、S6、S7。當(dāng)按鍵 S1 按下第一、第二、第三次時,分別進入鬧鐘的秒設(shè)置、分設(shè)置和時設(shè)置,當(dāng)按 S1第四、第五、第六次按下時分別進入時
18、間的秒、分、時設(shè)置,在 S1 按下的各階段,可用按鍵 S2、S3 進行時間和鬧鈴時間的時、分、秒進行加減設(shè)置;當(dāng)按鍵S1 第七次按下時進入秒表顯示功能,按下 S5、S6、S7 分別進行秒表計時、暫停、清零功能;當(dāng)按鍵 S1 第八次按下時恢復(fù)到時間顯示功能。當(dāng)顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出等時間斷蜂鳴聲,鬧鈴時間設(shè)置為 60 秒。在各個鬧鐘設(shè)置階段,如果有 S4 按下,則相應(yīng)鬧鐘功能關(guān)閉或開啟;如在鬧鈴西安文理學(xué)院課程設(shè)計報告第 12 頁時有 S4 按下則提前停止鬧鈴。如圖 4.1。圖圖 4.1 運行仿真圖運行仿真圖西安文理學(xué)院課程設(shè)計報告第 13 頁總 結(jié)通過自己的不懈努力,我終
19、于完成了課程設(shè)計設(shè)計要求。功能上基本達(dá)標(biāo):時鐘的顯示,調(diào)時功能、校時功能、鬧鈴功能、鬧鐘設(shè)置、秒表功能。其精確度完全可以滿足日常生活顯示時間的需要;調(diào)時功能,方便快捷;校時功能保證了時鐘準(zhǔn)確和可靠性,鬧鐘響鈴還有擴展成音樂鬧鐘的余地。硬件設(shè)施合乎要求,軟件設(shè)計可以配合硬件實現(xiàn)要求的功能。但是由于時間比較短,前期設(shè)計出現(xiàn)部分不足:如位選閃爍功能不能實現(xiàn)、鬧鐘的開啟與關(guān)閉、間斷蜂鳴聲等。這些只是軟件設(shè)計時相應(yīng)功能部分還不完善造成。不過經(jīng)仔細(xì)思考和程序的完善,最終將軟件設(shè)計改進,并完全可以很好實現(xiàn)所有要求的功能??梢娂夹g(shù)在不斷進步,機械式時鐘已經(jīng)被淘汰,取而代之的是具有高度準(zhǔn)確性和直觀性且無機械裝置
20、,具有更長的使用壽命等優(yōu)點的數(shù)字時鐘。數(shù)字時鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。 無可否認(rèn)機械時代已經(jīng)過去,電子時代已經(jīng)到來。做為新時代的我們,更應(yīng)該提高自身能力,適應(yīng)新時代的發(fā)展。知識來自實踐,多去生活中探詢所需要的。對于上述所提到的研究課題,我們應(yīng)盡量考慮到人的因素,增強時鐘的實用性和操作性,為使用者提供切實的方便,營造一種舒適的生活氛圍。所以,在設(shè)計的時候,應(yīng)該從多方面、多角度去考慮問題,而且應(yīng)該進一步提高時鐘的質(zhì)量。另外,在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計但通過這次設(shè)計我學(xué)會了很多東西,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的
21、程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認(rèn)為編寫程序簡單,但到編程的時候才發(fā)現(xiàn)一些細(xì)微的知識或低級錯誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。從這次的課程設(shè)計中,我們真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在經(jīng)常的練習(xí)的過程中才能提高,我想這就是我在這次課程設(shè)計中的最大收獲。西安文理學(xué)院課程設(shè)計報告第 14 頁致謝經(jīng)過兩個星期的努力收集數(shù)據(jù)資料、整理材料、寫作論文,我終于可以順利的完成課程設(shè)計
22、了。 首先要感謝我的指導(dǎo)老師楊老師,她指引我論文的寫作的方向和架構(gòu),并對本文初稿進行仔細(xì)批閱,指正出其中不當(dāng)之處,使我有了思考的方向,他的循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。通過此次的論文,我學(xué)到了很多知識,在論文的寫作過程中,我不僅收集到了論文所需的資料數(shù)據(jù),而且學(xué)到了很多書本上沒有的知識。并且由原先的被動的接受知識轉(zhuǎn)換為主動的尋求知識,我想這可以說是學(xué)習(xí)方法上的一個很大的突破。 在論文的寫作過程中也學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先做學(xué)問要一絲不茍,對于發(fā)展過程中出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,不要一遇到困難就打退堂
23、鼓,只要堅持下去就可以找到思路去解決問題的。再次感謝我的大學(xué)和所有幫助過我并給我鼓勵的老師和同學(xué),謝謝你們!西安文理學(xué)院課程設(shè)計報告第 15 頁參考文獻1李全利、 遲榮強,單片機原理及接口技術(shù)M,北京:高等教育出版社,20042凌玉華,單片機原理及應(yīng)用系統(tǒng)設(shè)計M,長沙:中南大學(xué)出版社,20063張毅剛,MCS-51 單片機應(yīng)用設(shè)計M,哈爾賓:哈爾賓工業(yè)大學(xué)出版社,1997 4胡漢才,單片機原理及應(yīng)用M,北京:清華大學(xué)出版社,20045何立明,單片機應(yīng)用系統(tǒng)設(shè)計M,北京:北京航空航天大學(xué)出版社,19906王榮良,計算機接口技術(shù)M,北京:電子工業(yè)出版社,20037陳光東,單片機微型計算機原理與接口
24、技術(shù)M,武漢:華中理工大學(xué)出版社,19988王幸之、鐘愛琴、王雷、王閃,AT89 系列單片機原理與接口技術(shù)M,北京:北京航空航天大學(xué)出版社,20049張道德,單片機接口技術(shù)(C51 版)M,北京:中國水利水電出版社,200710王為青、程國鋼,單片機 KEIL CX51 應(yīng)用開發(fā)技術(shù)M,北京:人民郵電出版社,200711張靖武、周靈彬,單片機系統(tǒng)的 PROTEUS 設(shè)計與仿真M,北京:電子工業(yè)出版社,2007西安文理學(xué)院課程設(shè)計報告第 16 頁附 錄相關(guān)的程序代碼:/*頭文件*#INCLUDE #INCLUDE/*宏定義*#DEFINE UCHAR UNSIGNED CHAR #DEFINE
25、UINT UNSIGNED INT/*位聲明*SBIT KEY1=P10; SBIT KEY2=P11;SBIT KEY3=P12;SBIT KEY4=P13;SBIT KEY5=P14;/*開始計時SBIT KEY6=P15;/*暫停SBIT KEY7=P16;/*重置SBIT FMQ=P21;/*數(shù)碼管顯示的數(shù)值*UCHAR CODE TABLE=0XC0,0XF9,0XA4,0XB0,0X99,0X92,/ 0 1 2 3 4 5 0X82,0XF8,0X80,0X90,0XBF,0X0FF; / 6 7 8 9 - 滅 /*函數(shù)聲明*VOID JIA(); VOID JIAN(); /
26、*數(shù)組定義,數(shù)組內(nèi)含有 8 個數(shù)值*UCHAR TABLE18,TABLE28,TABLE38,TABLE48;/*時間顯示初始值*UCHAR SHI=3,FEN=0,MIAO=0;UCHAR SHI2,FEN2,MIAO2; /*定義全局變量*UCHAR SHI1,FEN1,MIAO1;UCHAR SHI4,FEN4,MIAO4;UCHAR HMFLAG=0;UCHAR FLAG, FLAG1, WSS, CNT, CNT1, ALM1;/ 1 秒 等時 位閃 次數(shù) 校時 鬧 1UINT FLAG2;/ 蜂鳴 /*延時函數(shù),用于動態(tài)掃描數(shù)碼管*VOID DELAY(UCHAR I) 西安文理
27、學(xué)院課程設(shè)計報告第 17 頁 UCHAR X,Y; FOR(X=I;X0;X-) FOR(Y=120;Y0;Y-); /*初始化函數(shù)*VOID INIT() TMOD=0X11; /工作方式 1 TH0=0X3C; /定時時間為:50MS (65536-50000)/256 TL0=0X0B0; /(65536-50000)%256 TH1=0XFE; TL1=0X0C; ET0=1; ET1=1; /打開定時器 EA=1; /開總中斷 TR0=1; /啟動定時器 /*顯示子函數(shù),用于顯示時間數(shù)值*VOID DISPLAY() UCHAR I,J; IF(CNT!=4|WSS=0) TABLE
28、10=MIAO%10; /分離秒的個位與十位 TABLE11=MIAO/10; ELSE TABLE10=TABLE11=11;IF(CNT!=5|WSS=0) TABLE13=FEN%10; /分離分的個位與十位 TABLE14=FEN/10; ELSE TABLE13=TABLE14=11;IF(CNT!=6|WSS=0) TABLE16=SHI%10; /分離時的個位與十位 TABLE17=SHI/10; ELSE TABLE16=TABLE17=11; TABLE12=TABLE15=10; J=0X7F; FOR(I=0;I=7;I+) /從秒到時的掃描 P3=J; P0=TABLE
29、TABLE1I; /顯示數(shù)值 DELAY(10); J=_CROR_(J,1); /循環(huán)右移 /*顯示子函數(shù),用于顯示定時 1 時間*西安文理學(xué)院課程設(shè)計報告第 18 頁VOID DISPLAY1() UCHAR I,J; IF(ALM1=0) IF(CNT!=1|WSS=0) TABLE20=MIAO1%10; /以下含義同上 TABLE21=MIAO1/10; ELSE TABLE20=TABLE21=11; IF(CNT!=2|WSS=0) TABLE23=FEN1%10; TABLE24=FEN1/10; ELSE TABLE23=TABLE24=11; IF(CNT!=3|WSS=0
30、) TABLE26=SHI1%10; TABLE27=SHI1/10; ELSE TABLE26=TABLE27=11; ELSE TABLE20=TABLE21=TABLE23=TABLE24=TABLE26=TABLE27=10; TABLE22= TABLE25=10; J=0X7F; FOR(I=0;I=7;I+) P3=J; P0=TABLETABLE2I;DELAY(10); J=_CROR_(J,1); /*顯示秒表子函數(shù),用于顯示時間數(shù)值*VOID DISPLAY2() UCHAR I,J; TABLE20=MIAO2%10; /分離秒的個位與十位 TABLE21=MIAO2/
31、10;TABLE23=FEN2%10; /分離分的個位與十位 TABLE24=FEN2/10; TABLE26=SHI2%10; /分離時的個位與十位 TABLE27=SHI2/10; TABLE22=TABLE25=10; J=0X7F; FOR(I=0;I=20) /判斷是否到一秒 WSS=WSS; FLAG=0; /到了,則標(biāo)志位清零 IF(CNT1!=0) MIAO4+; /秒加 1 IF( MIAO459) /判斷秒是否到 60S MIAO4=0; /到了,則清零 FEN4+; /分加 1 IF(FEN459) /以下含義同上 FEN4=0; SHI4+; IF(SHI423) SH
32、I4=0; ELSE MIAO+; /秒加 1 IF( MIAO59) /判斷秒是否到 60S MIAO=0; /到了,則清零 FEN+; /分加 1 IF(FEN59) /以下含義同上 FEN=0; SHI+; IF(SHI23) SHI=0; /*鍵盤掃描子函數(shù)*/VOID KEY_SCAN() IF(KEY1=0) WHILE(!KEY1) /防止掉顯 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) 西安文理學(xué)院課程設(shè)計報告第 20 頁 DISPLAY(); IF(CNT=7) DISPLAY2();
33、 CNT+; /記下按鍵 KEY1 按下的次數(shù) IF(CNT=4&CNT1=0) MIAO4=MIAO; FEN4=FEN; SHI4=SHI; CNT1+; IF(CNT=8) CNT=0; IF(CNT1=1) MIAO=MIAO4; FEN=FEN4; SHI=SHI4; CNT1=0; IF(KEY2=0) /判斷 KEY2 是否按下 WHILE(!KEY2) /防止掉顯 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); JIA(); IF(KEY3=0) /判斷 KEY
34、3 是否按下 WHILE(!KEY3) /防止掉顯 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); JIAN(); /調(diào)用減 1 子函數(shù) IF(KEY4=0) /判斷 KEY4 是否按下 WHILE(!KEY4) /防止掉 IF(CNT=1|CNT=2|CNT=3) ALM1=ALM1; DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); 西安文理學(xué)院課程設(shè)計報告第 21 頁 IF(KEY5=0) DELAY(5); IF(
35、!KEY5) TR1=1; WHILE(!KEY5) IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); IF(KEY6=0) IF(!KEY6) TR1=0; WHILE(!KEY6) IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); IF(KEY7=0) WHILE(!KEY7) IF(CNT
36、=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); MIAO2=0;FEN2=0;SHI2=0; /*加 1 子函數(shù)*VOID JIA() IF(CNT=1) /判斷 KEY1 按下的次數(shù)是否為 1 MIAO1+; /是,則秒加 1 IF(MIAO159) /判斷秒是否大于 60,是,則秒清零 MIAO1=0; IF(CNT=2) /以下含意同上 FEN1+; IF(FEN159)西安文理學(xué)院課程設(shè)計報告第 22 頁 FEN1=0; IF(CNT=3) SHI1+; IF(SHI123) SHI1=0; IF(CNT=4) MIAO+; IF(MIAO59) MIAO=0;CNT1+; IF(CNT=5) FEN+; IF(FEN59) FEN=0;CNT1+; IF(CNT=6) SHI+; IF(SHI23) SHI=0;CNT1+; /*減 1 子函數(shù)*/VOID JIAN() IF(CNT=1)/判斷 KEY1 按下的次數(shù)是否為 1,是則秒減 1 MIAO1-; IF(MIAO1=255)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國寶石花裝飾玻璃市場調(diào)查研究報告
- 2025至2031年中國甲基苯駢三氮唑行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國膏狀滲硼劑數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國制動系統(tǒng)清洗凈化工具組數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度高端鐵礦石全球購銷戰(zhàn)略協(xié)議范本3篇
- 二零二五版事業(yè)單位科研人員聘用合同規(guī)范文本3篇
- 二零二五年度行政事項委托評估合同
- 二零二五版消防工程設(shè)計咨詢與審查合同模板2篇
- 二零二五版土地入股合作礦產(chǎn)資源開發(fā)經(jīng)營協(xié)議書3篇
- 創(chuàng)業(yè)投資基金合同
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場發(fā)展態(tài)勢及前景戰(zhàn)略研判報告
- 北京離婚協(xié)議書(2篇)(2篇)
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- 康復(fù)醫(yī)學(xué)科患者隱私保護制度
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 高中學(xué)校開學(xué)典禮方案
- 內(nèi)審檢查表完整版本
- 3級人工智能訓(xùn)練師(高級)國家職業(yè)技能鑒定考試題及答案
評論
0/150
提交評論