




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計作業(yè)書1 .設(shè)計目的:本設(shè)計包括確定控制任務(wù)、整體系統(tǒng)設(shè)計、硬件系統(tǒng)設(shè)計、軟件程序設(shè)計等,以使學(xué)生掌握與單片機控制相關(guān)的設(shè)計思想和設(shè)計方法。為學(xué)生今后從事單片機控制系統(tǒng)的開發(fā)打下基礎(chǔ)。學(xué)習(xí)proteus仿真軟件,實現(xiàn)電路仿真。2 .設(shè)計內(nèi)容及要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計要求等):本課程的基本設(shè)計是使學(xué)生充分掌握單片機控制系統(tǒng)設(shè)計的基本理論,熟悉單片機的編程方法,使用89C52系列單片機和六位數(shù)碼管進行顯示時分秒,以24小時計時模式運行,并能點提醒(短嗶聲,次數(shù)代表小時上的小時),使用鑰匙開關(guān)實現(xiàn)時間和分鐘的調(diào)整,秒表/時鐘功能轉(zhuǎn)換、省電(關(guān)閉顯示)、定時設(shè)置提醒(蜂鳴器)等
2、功能。3 .設(shè)計任務(wù)和工作量要求(包括課程設(shè)計計算說明(論文) 、圖紙、實物樣品等):1 .根據(jù)課題要求的指標(biāo),通過查閱相關(guān)資料,確定系統(tǒng)設(shè)計方案,設(shè)計其硬件電路圖。2 .畫出電路原理圖,分析主要模塊的功能以及它們之間的數(shù)據(jù)傳輸和控制關(guān)系。3. 用Proteus軟件繪制并仿真硬件電路圖。4. 軟件設(shè)計包括流程圖、匯編語言或C語言編譯軟件、調(diào)試。課程設(shè)計作業(yè)書4 .主要參考:1.韓方。 MCS-51/96系列單片機原理與應(yīng)用(修訂版)。航空航天大學(xué)。 1994 2.潮清。單片機原理與接口技術(shù)(第3版)。航空航天大學(xué)。 2005年5 .設(shè)計成果表格及要求:一、硬件電路圖2. 軟件流程圖和程序清單3
3、. 撰寫課程設(shè)計報告。6 .工作計劃及進展:年6月2日至6月5日,查找資料,確定方案6月6日- 6月8日,設(shè)計硬件電路,繪制電路原理圖6月9日- 6月11日,軟件設(shè)計調(diào)試6月12日至6月13日,撰寫課程設(shè)計報告、答辯或成績評估負(fù)責(zé)人審核意見:簽名:年月日目錄 TOC o 1-3 h z u HYPERLINK l _Toc390549324 1簡介 PAGEREF _Toc390549324 h 1 HYPERLINK l _Toc390549325 1.1設(shè)計任務(wù)及要求 PAGEREF _Toc390549325 h 1 HYPERLINK l _Toc390549326 1.2實用價值和理
4、論意義 PAGEREF _Toc390549326 h 1 HYPERLINK l _Toc390549327 2設(shè)計思路和流程 PAGEREF _Toc390549327 h 2 HYPERLINK l _Toc390549328 2.1整體設(shè)計思路 PAGEREF _Toc390549328 h 2 HYPERLINK l _Toc390549329 2.2硬件設(shè)計 PAGEREF _Toc390549329 h 2 HYPERLINK l _Toc390549330 2.3軟件設(shè)計 PAGEREF _Toc390549330 h 6 HYPERLINK l _Toc390549331 3
5、調(diào)試結(jié)果與分析 PAGEREF _Toc390549331 h 9 HYPERLINK l _Toc390549332 3.1仿真調(diào)試 PAGEREF _Toc390549332 h 9 HYPERLINK l _Toc390549333 3.2硬件調(diào)試 PAGEREF _Toc390549333 h 9 HYPERLINK l _Toc390549334 4結(jié)論 PAGEREF _Toc390549334 h 10 HYPERLINK l _Toc390549335 附錄A:單片機時鐘圖 PAGEREF _Toc390549335 h 11 HYPERLINK l _Toc390549336
6、 附錄B :單片機程序源代碼 PAGEREF _Toc390549336 h 12 HYPERLINK l _Toc390549337 附錄C : PCB圖 PAGEREF _Toc390549337 h 36 HYPERLINK l _Toc390549338 參考文獻 PAGEREF _Toc390549338 h 371簡介1.1設(shè)計任務(wù)及要求設(shè)計基于89C52系列單片機控制的時鐘,實現(xiàn)以下功能:1.1.1實時顯示單片機控制六位數(shù)碼管顯示時分秒,以24小時計時方式運行。1.1.2準(zhǔn)時報告單片機控制蜂鳴器在整點上短時間鳴叫,次數(shù)代表整點時間。1.1.3時間調(diào)整使用鑰匙開關(guān)可以進行時分調(diào)整。
7、1.1.4秒表功能秒表/時鐘功能可以使用鑰匙開關(guān)進行切換。1.1.5節(jié)能模式使用按鍵開關(guān)可以實現(xiàn)正常操作/節(jié)能模式(顯示關(guān)閉)轉(zhuǎn)換。1.1.6鬧鐘功能使用鑰匙開關(guān)設(shè)置鬧鈴時間和鬧鈴切換方式。1.2實用價值和理論意義1.2.1實用價值數(shù)字時鐘可長時間連續(xù)、可靠、穩(wěn)定運行;同時還具有體積小、功耗低、攜帶方便、使用方便等特點。同時,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,數(shù)字時鐘的精度遠遠超過老式時鐘。鐘表的數(shù)字化給人們的生產(chǎn)生活帶來了極大的便利,極大地擴展了鐘表原有的計時功能。數(shù)字時鐘是利用數(shù)字電路實現(xiàn)“時、分、秒”數(shù)字顯示的計時裝置。電子鐘廣泛應(yīng)用于個人家庭、車站、碼頭、辦公室等各個角
8、落,已成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵贰?.2.2理論意義通過本課程的設(shè)計,您可以掌握單片機控制系統(tǒng)設(shè)計的基本理論和單片機的編程方法。熟悉單片機控制的設(shè)計思路和設(shè)計方法。2設(shè)計思路和過程2.1整體設(shè)計思路單片機時鐘的運行流程如圖 2-1 所示。根據(jù)流程圖,機器人分為幾個部分進行設(shè)計。圖 2-1單片機時鐘操作流程圖2.2硬件設(shè)計2.2.1微控制器最小系統(tǒng)根據(jù)設(shè)計要求,選用STC89C52RC單片機。 STC89C52是STC公司生產(chǎn)的一款低功耗、高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。 STC89C52采用經(jīng)典的MCS-51內(nèi)核,但做了很多改進,使芯片具有傳統(tǒng)51單
9、片機所不具備的功能。 STC89C52 在單芯片上具有智能 8 位 CPU 和系統(tǒng)內(nèi)可編程閃存,可為許多嵌入式控制應(yīng)用系統(tǒng)提供高度靈活和超高效的解決方案。具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash、512字節(jié)RAM、32位I/O線、 HYPERLINK :/baike.baidu /view/1313309.htm t _blank 看門狗定時器、4KB EEPROM、MAX810復(fù)位電路、3個16位 HYPERLINK :/baike.baidu /view/281961.htm t _blank 定時器/計數(shù)器、4個外部中斷、一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)的51向量2級中斷結(jié)構(gòu)),全雙工 HY
10、PERLINK :/baike.baidu /view/1060187.htm t _blank 串口。此外,STC89C52 可以降低到 0Hz 靜態(tài)邏輯操作,并支持兩種軟件可選的省電模式。在空閑模式下,CPU 停止工作,允許 RAM、定時器/計數(shù)器、串行端口和中斷繼續(xù)工作。在掉電保護模式下,RAM容量被保存,振蕩器被凍結(jié),單片機的所有工作都停止,直到下一次中斷或硬件復(fù)位。最高工作頻率35MHz,6T/12T可選。STC89C52RC單片機的最小系統(tǒng)如圖2-2所示,包括電源、晶振、單片機、復(fù)位電路和上拉電阻。圖 2-2微控制器最小系統(tǒng)2.2.2按鍵電路設(shè)計STC89C52RC單片機有兩個外部
11、中斷輸入端口,外部中斷0和外部中斷1分別對應(yīng)單片機的P3.2端口和P3.3端口。本系統(tǒng)的設(shè)計思路是在按鍵按下時觸發(fā)MCU中斷,進行實時處理。由于使用了8個按鍵,所以單片機只有兩個外部中斷輸入口,電路中使用了74LS21芯片。 74LS21 是一個四輸入雙與門。芯片、真值表如表2-1所示,按鍵電路如圖2-3所示。當(dāng)一個按鈕被按下時,MCU觸發(fā)中斷,然后MCU掃描I/O口來判斷哪個按鈕被按下。相應(yīng)地處理。表2-1 74LS21真值表輸入輸出是A B C D呼呼呼大號LXXX大號XXXXX大號XXLX大號XXXL大號,圖 2-3按鈕電路2.2.3數(shù)碼管電路設(shè)計LED數(shù)碼管(LED Segment D
12、isplays)是由多個發(fā)光二極管封裝在一起形成“8”字形組成的器件。零件中的引線已經(jīng)連接好,只需要畫出它們的筆劃和公共電極。數(shù)碼管實際上是由7個發(fā)光管組成的8字形,加上小數(shù)點為8。這些段分別用字母a、b、c、d、e、f、g、dp表示.如圖 2-4 所示。當(dāng)電壓施加到數(shù)碼管的特定部分時,這些特定部分會亮起,形成我們眼睛看到的文字。例如,如果顯示“2”,則應(yīng)為 a 亮 b 亮 g 亮 e 亮 d 亮 f 不亮 c 不亮 dp 不亮。 LED數(shù)碼管分為普通高亮和超高亮,也有0.5寸和1寸等不同尺寸。小型數(shù)碼管的顯示筆劃通常由一個發(fā)光二極管組成,而大型數(shù)碼管則由兩個或多個發(fā)光二極管組成。一般單個發(fā)光
13、二極管的管壓降在1.8V左右,電流不超過30mA。發(fā)光二極管的陽極接電源的正極,稱為共陽極數(shù)碼管,發(fā)光二極管的陰極接電源的負(fù)極,即為稱為共陰極數(shù)碼管。常用的LED數(shù)碼管顯示的數(shù)字和字符有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。系統(tǒng)采用四位八段和兩位八段共陰極數(shù)碼管,采用74HC573分時輸出位碼和段碼。最大驅(qū)動能力35mA,可勝任驅(qū)動數(shù)碼管。 74HC573真值表如圖2-5所示。數(shù)碼管電路如圖2-6所示。圖 2-4數(shù)碼管圖 2-5 74HC573 真值表圖 2-6數(shù)碼管電路2.2.4蜂鳴器電路設(shè)計由于蜂鳴器的工作電流一般較大,單片機的I/O口不能直接驅(qū)動,需要用放大電路
14、來驅(qū)動。一般采用三極管來放大電流。蜂鳴器電路如圖 2-7 所示。圖 2-7蜂鳴器電路2.2.5電源設(shè)計該系統(tǒng)由三節(jié)額定電壓為1.5V的干電池供電。三節(jié)電池串聯(lián)后,測得電壓為4.9V。由于本系統(tǒng)的額定電壓為5V,可以勝任給系統(tǒng)供電。2.3軟件設(shè)計2.3.1單片機編程軟件Keil C51是美國Keil Software公司出品的兼容51系列的單片機C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能、結(jié)構(gòu)、可讀性和可維護性等方面優(yōu)勢明顯,易于學(xué)習(xí)和使用。 . Keil 提供完整的開發(fā)解決方案,包括 C 編譯器、宏程序集、鏈接器、庫管理和強大的仿真器調(diào)試器,它們通過集成開發(fā)環(huán)境 (uVision) 組合在一
15、起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用 C 語言編程,那么 Keil 幾乎是你的最佳選擇。即使你不使用C語言,只使用匯編語言進行編程,其易用的集成環(huán)境和強大的軟件仿真調(diào)試工具也會讓你事半功倍。Keil uVision4 于 2009 年 2 月發(fā)布,Keil uVision4 引入了一個靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多個顯示器并在任何地方提供可視表面,并完全控制窗口位置。新的用戶界面更好地利用了屏幕空間,更有效地組織了多個窗口,為開發(fā)應(yīng)用程序提供了一個干凈、高效的環(huán)境。新版本支持更多最新的 ARM 芯片,并增加了一些其他新功能。界面如
16、圖 2-8 所示。圖 2-8 Keil uVision4 界面2.3.2單片機仿真軟件Proteus軟件是英國實驗室中心電子公司(該軟件中國總代理為豐標(biāo)電子科技)發(fā)布的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還可以仿真單片機和外圍設(shè)備。是目前比較好的模擬單片機及外圍設(shè)備的工具。雖然目前的全國推廣才剛剛開始,但受到了單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)與應(yīng)用的科技工作者的青睞。2.3.3單片機程序流程圖STC89C52RC 微控制器有兩個 16 位定時器/計數(shù)器。本系統(tǒng)使用定時器 0 產(chǎn)生第二個信號并加載初始值 15536,然后定時器溢出 50ms。每溢出 20
17、次,就會產(chǎn)生第二個信號。定時器中斷服務(wù)函數(shù)流程圖如圖2-9所示。圖 2-9時間算法流程圖3調(diào)試結(jié)果與分析3.1仿真調(diào)試在 Proteus 中連接圖 3-1 所示電路,并正確仿真并運行編譯好的程序。經(jīng)過仿真分析,系統(tǒng)實現(xiàn)了全部設(shè)計要求。圖 3-1仿真調(diào)試圖3.2 硬件調(diào)試按照圖 3-1 所示電路設(shè)計制作 PCB,焊接元器件,然后將程序燒寫到單片機中進行調(diào)試。經(jīng)過調(diào)試,系統(tǒng)已經(jīng)實現(xiàn)了所有的設(shè)計要求。系統(tǒng)使用指南如表 3-1 所示。表 3-1 用戶指南鑰匙號碼功能鑰匙號碼功能1打開/關(guān)閉鬧鐘5時間增量 1/秒表開始/秒表暫停2鬧鈴時間/實時切換6小時減 1/秒表重置3秒表/實時切換7積分加14打開/
18、關(guān)閉節(jié)能模式8減 14結(jié)論經(jīng)過兩周的MCU課程設(shè)計,在自己的努力和老師的幫助下,順利完成了設(shè)計任務(wù)MCU時鐘。老師給我們提供了課程設(shè)計所需的儀器、工具和元器件,然后一步步設(shè)計:首先明確了設(shè)計任務(wù),設(shè)計了一個單片機時鐘,實現(xiàn)6個功能;然后,經(jīng)過分析研究,提出了整體設(shè)計思路,分為模塊設(shè)計、繪制原理圖、繪制程序流程圖、編寫單片機程序、在仿真軟件中進行仿真。仿真無誤后,制作PCB,焊接元器件,燒寫程序,再次調(diào)試。最后,系統(tǒng)調(diào)試成功。附錄A :MCU 時鐘物理圖附錄B :單片機程序源代碼/*文件名:main.c作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘的主程序,首先初始化變量,I/O口
19、,外設(shè),然后單片機進入無條件循環(huán),如果觸發(fā)中斷,則進行實時處理。歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始/* 包含頭文件 */#include #include #include #include #include /*主程序入口參數(shù):無;返回值:無*/無效主要(無效)Timer_Init(); /定時器初始化鍵盤初始化(); /密鑰初始化顯示初始化(); /數(shù)碼管顯示初始化EN_Bell = 1; /關(guān)閉蜂鳴器while(1) /無條件循環(huán)顯示_更新數(shù)據(jù)(); /數(shù)碼管顯示更新/*文件名:延遲.h作
20、者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘文件,在delay.c中聲明全局函數(shù)和全局變量歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始#ifndef _DELAY_H_ /作用:防止delay.h被重復(fù)引用#define _DELAY_H_/*uS延時函數(shù)*/extern void DelayUs(unsigned char t); /全局函數(shù)聲明/*毫秒延遲函數(shù)*/extern void DelayMs(unsigned char t); /全局函數(shù)聲明萬一/ 不再/*文件名:delay.
21、c作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘簡易延時功能歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始/* 包含頭文件 */#include #include #include #include #include /*大約2uS*/void DelayUs(無符號字符 t)而(-t);/*大約1mS*/void DelayMs(unsigned char t)而(t-)延遲我們(245);延遲我們(245);/*文件名:display.h作者:郭建新日期:05/06/2014說明:數(shù)字時鐘
22、文件,在display.c中聲明全局函數(shù)和全局變量歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始#ifndef _DISPLAY_H_ /功能:防止display.h被重復(fù)引用#define _DISPLAY_H_位 LATCH1 = P07; /數(shù)碼管段鎖存器位 LATCH2 = P06; /數(shù)碼管位鎖存器外部位 EN_Dis,Open_Alarm; /全局變量聲明extern unsigned char EN_Play;/*數(shù)碼管顯示初始化程序*/extern void Display_Init(voi
23、d); /全局函數(shù)聲明/*數(shù)碼管顯示更新程序*/extern void Display_Updata(void); /全局函數(shù)聲明萬一/ 不再/*文件名:display.c作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘數(shù)碼管顯示程序,通過兩個74HC573和兩個片選信號,分時輸出段碼和位碼。歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始/* 包含頭文件 */#include #include #include #include #include /* 定義常量 */無符號字符碼 Table_D
24、uan10 = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/顯示段碼值09無符號字符碼 Table_Wei6 = 0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf;/分別對應(yīng)對應(yīng)的數(shù)碼管亮起,即位碼/*定義變量*/無符號字符 Table_Dis6 = 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00;無符號字符 j,EN_Play; /數(shù)碼管位數(shù),顯示模式標(biāo)志位 EN_Dis; /節(jié)能模式標(biāo)志位 Open_Alarm; /鬧鐘開啟標(biāo)志/*數(shù)碼管顯示初始化程序入口參數(shù):無;返
25、回值:無*/無效顯示初始化(無效)j = 0;s = 0;米 = 0;h = 0;s_1 = 0;m_1 = 0;h_1 = 0;s_2 = 0;m_2 = 0;h_2 = 0;Open_Alarm = 0;EN_Dis = 1;EN_Play = 0 x00;計數(shù)鐘 = 0;/*數(shù)碼管段碼計算程序入口參數(shù):無;返回值:無*/void Display_Actual(void) /實時Table_Dis5 = s%10;Table_Dis4 = s/10;Table_Dis3 = m%10;Table_Dis2 = m/10;Table_Dis1 = h%10;Table_Dis0 = h/10
26、;void Display_Stopwatch(void) /秒表Table_Dis5 = s_1%10;Table_Dis4 = s_1/10;表_Dis3 = m_1%10;Table_Dis2 = m_1/10;Table_Dis1 = h_1%10;Table_Dis0 = h_1/10;void Display_Alarm(void) /鬧鐘Table_Dis5 = s_2%10;Table_Dis4 = s_2/10;表_Dis3 = m_2%10;Table_Dis2 = m_2/10;Table_Dis1 = h_2%10;Table_Dis0 = h_2/10;/*數(shù)碼管顯示
27、更新器入口參數(shù):無;返回值:無*/無效顯示更新數(shù)據(jù)(無效)如果(EN_Dis)switch(EN_Play) /顯示模式選擇案例 0 x00:Display_Actual();休息; /即時的案例 0 x01:Display_Stopwatch( );休息; /跑表案例 0 x02:Display_Alarm();休息; /鬧鐘默認(rèn)值: ;休息;對于(j = 0;j 6;j+)P2 = Table_Weij; /獲取位碼 鎖存器2=1; /位鎖存器 鎖存器2=0;如果(j = 1)|(j = 3)P2 = Table_DuanTable_Disj|0 x80; /獲取段碼別的 P2 = Tab
28、le_DuanTable_Disj; /獲取段碼 鎖存器1=1; /段鎖存器 鎖存器1=0;延遲Ms(2);別的P2 = 0 xff;鎖存器1 = 1; 鎖存器2 = 1;/*文件名:keyboard.h作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘文件,在keyboard.c中聲明全局函數(shù)和全局變量歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始#ifndef _KEYBOARD_H_ /功能:防止keyboard.h被重復(fù)引用#define _KEYBOARD_H_/*密鑰初始化例程*/外部
29、無效鍵盤初始化(無效); /全局函數(shù)聲明萬一/ 不再/*文件名:keyboard.c作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘鍵處理功能歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始/* 包含頭文件 */#include #include #include #include #include /*按鍵初始化程序入口參數(shù):無;返回值:無*/無效鍵盤初始化(無效)EA = 1;IE0 = 0; /清除外部中斷0IT0 = 1; /下降沿觸發(fā)EX0 = 1; / 外部中斷 0 使能IE1 = 0
30、; /清除外部中斷1IT1 = 1; /下降沿觸發(fā)EX1 = 1; / 外部中斷 1 使能無效 Open_Stopwatch(無效) /秒表開始或暫停工作 ET1 = ET1; /開啟定時器1中斷TR1 = TR1; /允許定時器1工作TF1 = 0; /清除定時器1溢出標(biāo)志無效 Res_Stopwatch(無效) /秒表重置ET1 = 0; /關(guān)閉定時器1中斷TR1 = 0; / 禁止定時器 1 工作TF1 = 0; /清除定時器1溢出標(biāo)志s_1 = 0;m_1 = 0;h_1 = 0;/* 外部中斷 0 中斷服務(wù)程序 */void Int_0(void) 中斷 0延遲(15); /延遲去抖
31、動如果(EN_Play = 0 x00) /即時的開關(guān)(P1&0 xf0)案例 0 xe0:if(h 0) h-;中斷; /減1案例 0 xb0:if(m 0) m-;中斷; /減負(fù)1默認(rèn)值: ;休息;如果(EN_Play = 0 x01) /跑表開關(guān)(P1&0 xf0)案例 0 xe0:Open_Stopwatch( );中斷; /秒表開始或暫停工作案例 0 xd0:Res_Stopwatch( );中斷; /秒表重置默認(rèn)值: ;休息;if(EN_Play = 0 x02) /鬧鐘設(shè)置開關(guān)(P1&0 xf0)案例 0 xe0:if(h_2 0) h_2-;中斷; /減1案例 0 xb0:if
32、(m_2 0) m_2-;中斷; /減負(fù)1默認(rèn)值: ;休息;IE0 = 0; /清除中斷void EN_Stopwatch(void) /秒表/實時切換如果(EN_Play = 0 x01)EN_Play = 0 x00;別的EN_Play = 0 x01;無效 EN_Alarm(無效) /鬧鐘/實時切換如果(EN_Play = 0 x02)EN_Play = 0 x00;別的EN_Play = 0 x02;無效 Sel_Alarm(無效) /鬧鐘/實時切換Open_Alarm = Open_Alarm;如果(打開_警報)s_2 = 0 x01;別的s_2 = 0 x00;EN_Bell =
33、1; /關(guān)閉蜂鳴器void Int_1(void) 中斷 2延遲(15); /延遲去抖動開關(guān)(P1&0 x0f)案例 0 x0e:EN_Dis = EN_Dis;中斷; /開啟或關(guān)閉省電模式案例 0 x0d:EN_Stopwatch( );中斷; /秒表/實時切換案例 0 x0b:EN_Alarm();中斷; /鬧鐘/實時切換案例 0 x07:Sel_Alarm();中斷; /開啟或關(guān)閉鬧鐘默認(rèn)值: ;休息;IE1 = 0; /清除中斷/*文件名:timer.h作者:郭建新日期:2014 年 5 月 6 日說明:數(shù)字時鐘文件,在timer.c中聲明全局函數(shù)和全局變量歷史: 1. 作者:郭建新日
34、期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6 日描述:*/ 開始#ifndef _TIMER_H_ /功能:防止timer.h被重復(fù)引用#define _TIMER_H_sbit EN_Bell = P35; /蜂鳴器控制端口/*定時器初始化例程*/extern void Timer_Init(void); /全局函數(shù)聲明extern unsigned char s,m,h,Count_Bell; /全局變量聲明外部無符號字符 s_1,m_1,h_1;外部無符號字符 s_2,m_2,h_2;萬一/ 不再/*文件名:timer.c作者:郭建新日期:2014 年 5 月 6 日描述:數(shù)字時鐘定時器程序,歷史: 1. 作者:郭建新日期:2014 年 5 月 6 日描述:2. 作者:郭建新日期:2014 年 5 月 6
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 起點合作協(xié)議合同協(xié)議
- 解除無固定合同協(xié)議
- 設(shè)備共用協(xié)議書范本
- 購買商鋪電子合同協(xié)議
- 財產(chǎn)分割協(xié)議書范本
- 解除房產(chǎn)協(xié)議書范本
- 訂貨訂金協(xié)議書范本
- 購買五險險合同協(xié)議
- 《第04節(jié) 機械能守恒定律》導(dǎo)學(xué)案1
- 2025年金融專業(yè)知識考試試題及答案
- MOOC 現(xiàn)代郵政英語(English for Modern Postal Service)-南京郵電大學(xué) 中國大學(xué)慕課答案
- Unit 5 Feeling excited Topic 2 Section D 示范公開課教學(xué)課件【八年級英語下冊仁愛版】
- 生命科學(xué)導(dǎo)論(中國農(nóng)業(yè)大學(xué))智慧樹知到期末考試答案2024年
- 2024年遼寧省大連理工附中中考物理模擬試卷
- (2024年)常見的呼吸道傳染病及預(yù)防
- 橋梁減隔震裝置技術(shù)條件
- 環(huán)衛(wèi)保潔日常巡檢方案
- 施工環(huán)境保護培訓(xùn)課件
- 電力預(yù)防性試驗課件
- 鋼筋拉伸試驗課件
- 三廢環(huán)保管理培訓(xùn)
評論
0/150
提交評論