版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、i電子鬧鐘畢業(yè)設(shè)計(jì)電子鬧鐘畢業(yè)設(shè)計(jì)摘要:摘要:本設(shè)計(jì)是以 89c51 單片機(jī)作為控制核心的鬧鈴系統(tǒng)。 本文大致可以分為三個(gè)章節(jié),第一章節(jié)講了用單片機(jī)來制作電子鬧鐘所帶來的優(yōu)勢(shì),還有電子鬧鐘在電子產(chǎn)品中未來的趨勢(shì)以及本次設(shè)計(jì)所要實(shí)現(xiàn)的課題目標(biāo)。第二章節(jié)講了設(shè)計(jì)的一些思路和該產(chǎn)品包含的一些硬件電路組成。第三章節(jié)講了各個(gè)軟件模塊之間的設(shè)計(jì)以及該產(chǎn)品的程序代碼。最后是一些結(jié)論體會(huì)部分和附錄圖。關(guān)鍵詞:關(guān)鍵詞:pc 機(jī);單片機(jī) 89c51;串行通信;數(shù)碼顯示ii目目 錄錄第一章 緒論.11.1 引言 .11.2 鬧鐘的發(fā)展趨勢(shì) .11.3 本次設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo) .1第二章 系統(tǒng)總體設(shè)計(jì).22.1 系統(tǒng)
2、總體設(shè)計(jì)思路 .22.2 總體硬件組成框圖 .22.3 at89c51 的簡介.32.4 系統(tǒng)功能的確定 .42.5 時(shí)鐘電路 .52.6 復(fù)位電路 .52.7 鍵盤電路 .62.8 數(shù)碼顯示電路 .7第三章 系統(tǒng)軟件設(shè)計(jì).83.1 數(shù)據(jù)單元分配 .83.2 時(shí)鐘程序設(shè)計(jì)步驟 .83.3 計(jì)時(shí)子程序模塊的實(shí)現(xiàn) .93.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn) .103.5 程序說明 .113.6 實(shí)現(xiàn)方式 .123.7 源程序設(shè)計(jì) .12結(jié)論與體會(huì).20主要參考材料:.21附錄 1:系統(tǒng)原理圖 .22附錄 2:pcb 圖.231第一章第一章 緒論緒論1.11.1 引言引言電子鬧鐘是一種應(yīng)用非常廣泛的日常計(jì)
3、時(shí)工具,數(shù)字顯示的日歷鐘已經(jīng)越來越流行,特別是適合在家庭居室、辦公室、大廳、會(huì)議室、車站和廣場等使用,壁掛式 led 數(shù)碼管顯示的日歷鐘逐漸受到人們的歡迎。 單片機(jī)電子鬧鐘是集電子技術(shù)、數(shù)字顯示技術(shù)為一體的高產(chǎn)品,具有按時(shí)鬧鈴,顯示清晰直觀、走時(shí)準(zhǔn)確等優(yōu)點(diǎn)。 首先介紹設(shè)計(jì)電子鬧鐘所涉及的主要硬件和特性,然后說明軟件設(shè)計(jì)的思路,程序結(jié)構(gòu)及流程,并在測(cè)試軟件上進(jìn)行調(diào)試和修改,以完成電子鬧鐘的基本要求,即可以隨意設(shè)定起始時(shí)間,有秒顯示功能,有 12/24 世制選擇,可以設(shè)定鬧鐘,停電時(shí)由電池供電等功能。 現(xiàn)代社會(huì)電子鬧鐘發(fā)揮著很大的作用,也是它存在和發(fā)展的一個(gè)重要方面,尤其是在代表集成電路技術(shù)的發(fā)展
4、方面,通過不斷提高電子鬧鐘的計(jì)時(shí)的精確度可以極大促進(jìn)定時(shí)技術(shù)芯片的發(fā)展。同時(shí)電子鬧鐘與其他嵌入式電子產(chǎn)品一樣是微處理器的應(yīng)用,通過電子鬧鐘的設(shè)計(jì)可以很好的掌握電子設(shè)計(jì)技術(shù)。1.21.2 鬧鐘的發(fā)展趨勢(shì)鬧鐘的發(fā)展趨勢(shì) 隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能?;趩纹瑱C(jī)的電子鬧鐘就是新一代的產(chǎn)品,能夠?qū)崿F(xiàn)遠(yuǎn)程控制等功能。它功能強(qiáng)大、體積小、質(zhì)量輕、靈活好用。1.31.3 本次設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)本次設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo) 設(shè)計(jì)一個(gè)電子鬧鐘1)能隨意
5、設(shè)定走時(shí)起始時(shí)間2)螚指示秒節(jié)奏,即秒指示3)能通過 pc 機(jī)實(shí)現(xiàn)遠(yuǎn)程控制4)時(shí)間預(yù)設(shè),定時(shí)關(guān)機(jī)的功能2第二章第二章 系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)2.12.1 系統(tǒng)總體設(shè)計(jì)思路系統(tǒng)總體設(shè)計(jì)思路先進(jìn)行系統(tǒng)的整體規(guī)劃確定整個(gè)系統(tǒng)的功能,然后按照每個(gè)功能的具體要求,進(jìn)行各個(gè)模塊的實(shí)物設(shè)計(jì)并逐個(gè)調(diào)試,待全部通過后,進(jìn)行整個(gè)系統(tǒng)的聯(lián)調(diào),最終實(shí)現(xiàn)一個(gè)完整的系統(tǒng),并制成印刷線路板。 整個(gè)系統(tǒng)的設(shè)計(jì)步驟如下: 在單片機(jī)最小系統(tǒng)的基礎(chǔ)上,完成按鍵電路和復(fù)位電路的設(shè)計(jì)。 完成顯示電路、數(shù)字按鍵、復(fù)位電路。 具有 3 個(gè)功能按鍵: 1)在復(fù)位后的待機(jī)狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧) ;2)在設(shè)定時(shí)間參數(shù)狀態(tài)而
6、且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng)前位的設(shè)定,當(dāng)前設(shè)定位下移; 3)在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。 2)鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加 1 操作,根據(jù)正在編輯的當(dāng)前位的含義(時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,對(duì) 12 小時(shí)制,小時(shí)的十位只能是 0、1,如果當(dāng)前值為 0,則按1 鍵后為 1,再按1 鍵則又回復(fù)到 0。 把以上各個(gè)模塊聯(lián)結(jié)起來,整體調(diào)試功能。2.22.2 總體硬件組成框圖總體硬件組成框圖整個(gè)系統(tǒng)的原理框圖如圖 2.1 所示圖 2.1 系統(tǒng)原理框圖32.32.3 at89c51at89c51 的簡介的簡介2
7、.3.12.3.1 at89c51at89c51 簡介簡介 at89c51 是一個(gè)低功耗,高性能 cmos 8 位單片機(jī),片內(nèi)含 4k bytes isp(in-system programmable)的可反復(fù)擦寫 1000 次的 flash 只讀程序存儲(chǔ)器,器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng)及 80c51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 isp flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 at89c51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。2.3.22.3.2 引腳介紹引腳介紹at89c51 具有如下特點(diǎn)
8、:40 個(gè)引腳,4k bytes flash 片內(nèi)程序存儲(chǔ)器,128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram) ,32 個(gè)外部雙向輸入/輸出口,5 個(gè)中斷優(yōu)先級(jí) 2 層中斷嵌套中斷,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。圖 2.2 為 at89c51 引腳圖圖 2.2 at89c51 引腳圖此外,at89c51 設(shè)計(jì)和配置了振蕩頻率可為 0hz 并可通過軟件設(shè)置省電模式??臻e模式下,cpu 暫停工作,而 ram 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 ram 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位
9、。同時(shí)該芯片還具有 pdip、tqfp 和 plcc 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 4主要功能特性: 兼容 mcs-51 指令系統(tǒng) 32 個(gè)雙向 i/o 口 2 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器 全雙工 uart 串行中斷口線 2 個(gè)外部中斷源 中斷喚醒省電模式 看門狗(wdt)電路 靈活的 isp 字節(jié)和分頁編程 4k 可反復(fù)擦寫(1000 次)isp flash rom 4.5-5.5v 工作電壓 時(shí)鐘頻率 0-33mhz128x8bit 內(nèi)部 ram 低功耗空閑和省電模式 3 級(jí)加密位 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針2.42.4 系統(tǒng)功能的確定系統(tǒng)功能的確定2.4.12
10、.4.1 基本功能基本功能系統(tǒng)具有時(shí)間、日期、三路定時(shí)功能,并可以對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定,有定時(shí)提示音。要求計(jì)時(shí)精度盡量提高。顯示格式為:時(shí)間:“時(shí)” (第 1、2 位) 、 “分” (第 3、4 位) 、 “秒” (第 5、6 位) ;日期:“年” (第 1、2 位,如 2007 年顯示為 07) 、 “月” (第 3、4 位) 、“日” (第 5、6 位) ;定時(shí):“時(shí)” (第 1、2 位) 、 “分” (第 3、4 位) 、 “狀態(tài)標(biāo)志” (第 5、6 位) 。鍵盤及數(shù)碼管排列如圖 2.3 所示。2.4.22.4.2 擴(kuò)展功能擴(kuò)展功能該系統(tǒng)可以增加溫度傳感器,實(shí)現(xiàn)溫度測(cè)量,以實(shí)時(shí)顯示
11、溫度,用 1、2 位5數(shù)碼管顯示;還可以增加濕度傳感器,實(shí)現(xiàn)濕度測(cè)量,以實(shí)時(shí)顯示濕度,用5、6 位數(shù)碼管顯示。多路定時(shí)器功能也可擴(kuò)展為對(duì)多種家電等電氣產(chǎn)品的自動(dòng)控制,比如電飯煲等;也可利用溫度對(duì)某些電氣產(chǎn)品進(jìn)行自動(dòng)控制,比如空調(diào)等;還可利用濕度傳感器對(duì)濕度進(jìn)行調(diào)節(jié)。如圖 2.3 所示。圖 2.3 系統(tǒng)功能圖2.52.5 時(shí)鐘電路時(shí)鐘電路實(shí)驗(yàn)板的時(shí)鐘振蕩源電路如圖 2.4 所示。其中 jt 為 11.0592mhz 的晶振,改變兩電容 cb 的值即可對(duì)此晶振頻率進(jìn)行調(diào)節(jié)。該電路提供單片機(jī)工作所需的振蕩頻率,計(jì)算定時(shí)器初值即需此晶振頻率,在通信時(shí)也需知道晶振頻率,以對(duì)波特率進(jìn)行計(jì)算。圖 2.4 時(shí)
12、鐘電路2.62.6 復(fù)位電路復(fù)位電路如圖 2.5 所示為實(shí)驗(yàn)板的復(fù)位電路,當(dāng) reset 信號(hào)為低電平時(shí),實(shí)驗(yàn)板為6工作狀態(tài),當(dāng) reset 信號(hào)為高電平時(shí),實(shí)驗(yàn)板為復(fù)位或下載程序狀態(tài)。由于at89s52 具有 isp 的功能,即可以通過并口線直接將程序下載到單片機(jī)內(nèi),因此, at89s52 具有兩種狀態(tài),下載程序狀態(tài)和運(yùn)行狀態(tài)。該復(fù)位電路能實(shí)現(xiàn)上電自動(dòng)復(fù)位,也能手動(dòng)復(fù)位,一般復(fù)位時(shí) reset 應(yīng)保持 20 毫秒以上高電平,此復(fù)位時(shí)間由接地電容控制。圖 2.5 復(fù)位電路2.72.7 鍵盤電路鍵盤電路如圖 2.6 所示為陣列按鍵電路,各設(shè)置及轉(zhuǎn)換信號(hào)由此電路輸入,實(shí)驗(yàn)板提供了 16 個(gè)按鍵,由
13、 p1 口經(jīng) sn74f244(驅(qū)動(dòng)芯片)輸出擴(kuò)展成 44 的陣列按鍵,p1.0p1.3 為行線,p1.4p1.7 為列線。sn74f244 有一片選信號(hào)線,g當(dāng)此口線為低電平時(shí),a1a4 與 y1y4 接通,反之,a1a4 與 y1y4 斷開。此鍵盤用掃描工作方式,若有鍵按下,則相應(yīng)位端口被拉低為低電平,由于本系統(tǒng)只用了 4 個(gè)按鍵,所以只需對(duì) 4 個(gè)按鍵進(jìn)行掃描。掃描時(shí),先置 p3.3口為高電平,向 p1 口送 0efh(mov p1,#0efh) ,再置 p3.3 口為低電平,讀p1 口(mov a,p1) ,最后判斷 p1 口低 4 位哪位是低電平,若某位為低電平,則相應(yīng)按鍵被按下,如
14、 p1.0 為低電平(acc.0=0) ,則 k1 鍵被按下。7圖 2.6 陣列按鍵2.82.8 數(shù)碼顯示電路數(shù)碼顯示電路如圖 2.7 所示為數(shù)碼顯示電路,實(shí)驗(yàn)板使用了 6 個(gè)共陽數(shù)碼管,p0 口為段碼信號(hào)線,b1b6 為位控線,是 p1 口經(jīng) sn74f573(反向驅(qū)動(dòng)芯片,即輸入為高電平,則輸出為低電平,反之則輸出為高電平,該芯片也有一片選信號(hào) c,當(dāng)此信號(hào)為高電平時(shí)有效)反向得到,再由 b1b6 控制晶體管 q1q6,以達(dá)到控制每位數(shù)碼管的目的。系統(tǒng)采用動(dòng)態(tài)顯示,先向 p0 口送第一位數(shù)碼管需要顯示的段碼值,再給p1 口送 0feh,延時(shí) 1 毫秒使第一位數(shù)碼管顯示,又向 p0 口送第二
15、位數(shù)碼管需要顯示的段碼值,p1 口送 0fdh,延時(shí) 1 毫秒,使第二位數(shù)碼管顯示。依次遞推,直到最后一位數(shù)碼管,然后再循環(huán)。改變延時(shí)時(shí)長可以調(diào)節(jié)數(shù)碼管顯示的亮度,由于單片機(jī)執(zhí)行速度很快(微秒級(jí)) ,所以看上去數(shù)碼管一直亮著。圖 2.7 數(shù)碼顯示電路8第三章第三章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)3.13.1 數(shù)據(jù)單元分配數(shù)據(jù)單元分配數(shù)據(jù)存儲(chǔ)單元分配如表 3.1 所示:表 3.1 數(shù)據(jù)存儲(chǔ)單元分配項(xiàng)目秒分時(shí)日月年存儲(chǔ)單元30h31h32h33h34h35h項(xiàng)目定時(shí) 1:開關(guān)定時(shí) 1:分定時(shí) 1:時(shí)定時(shí) 2:開關(guān)定時(shí) 2:分定時(shí) 2:時(shí)存儲(chǔ)單元36h37h38h39h3ah3bh項(xiàng)目定時(shí) 3:開關(guān)定時(shí)
16、3:分定時(shí) 3:時(shí)存顯示首地址堆棧起始單元存儲(chǔ)單元3ch3dh3eh3fh50h標(biāo)志位單元(20h)分配如表 3.2 所示:表 3.2 標(biāo)志位單元(20h)分配位單元項(xiàng)目位單元項(xiàng)目01h08h定時(shí) 1 顯示標(biāo)志位02h1、2 位數(shù)碼管閃爍標(biāo)志位09h定時(shí) 2 顯示標(biāo)志位03h0ah定時(shí) 3 顯示標(biāo)志位04h3、4 位數(shù)碼管閃爍標(biāo)志位0bh定時(shí) 1 響鈴標(biāo)志位05h0ch定時(shí) 2 響鈴標(biāo)志位06h5、6 位數(shù)碼管顯示標(biāo)志位0dh定時(shí) 3 響鈴標(biāo)志位07h日期顯示標(biāo)志位0eh總響鈴標(biāo)志位3.23.2 時(shí)鐘程序設(shè)計(jì)步驟時(shí)鐘程序設(shè)計(jì)步驟系統(tǒng)采用模塊化結(jié)構(gòu),主程序只需調(diào)用各個(gè)子程序模塊即可實(shí)現(xiàn)相應(yīng)功能。
17、其模塊結(jié)構(gòu)圖如圖 3.1 所示。9圖 3.1 模塊結(jié)構(gòu)圖3.33.3 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)計(jì)時(shí)子程序模塊的實(shí)現(xiàn)當(dāng) t0 中斷時(shí),執(zhí)行本程序,因 t0 設(shè)為 50 毫秒中斷,故中斷 20 次為 1 秒。中斷程序分別有 20 次計(jì)數(shù)(1 秒) ,60 次計(jì)數(shù)(1 分) ,60 次計(jì)數(shù)(1 小時(shí)) ,24 次計(jì)數(shù)(1 天) ,28、29、30、31 次計(jì)數(shù)(1 個(gè)月) ,12 次計(jì)數(shù)(1 年) 。當(dāng)前位到設(shè)定數(shù)值時(shí)寫 0 或 1,下一位加 1。由于本世紀(jì)是 21 世紀(jì),年位前兩位是4 的倍數(shù),故判斷閏年時(shí)只需對(duì)年的后兩位進(jìn)行計(jì)算,能被 4 整除為閏年,否則為平年,年位只進(jìn)行加 1,大于 99 時(shí)又重
18、新開始。計(jì)時(shí)中斷流程圖如圖 3.2所示。10 圖 3.2 計(jì)時(shí)子程序流程圖 圖 3.3 顯示子程序流程圖3.43.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn) 當(dāng)設(shè)定時(shí)間時(shí),斷開 t0 中斷,秒單元清 0,進(jìn)入時(shí)、分單元設(shè)定。設(shè)定好后重裝 t0 初值,開 t0 中斷。流程圖如圖 3.4 所示。11圖 3.4 時(shí)鐘設(shè)定子程序流程圖3.53.5 程序說明程序說明3.5.13.5.1 定時(shí)器初值計(jì)算定時(shí)器初值計(jì)算因定時(shí)器工作于方式 1,需要 50ms 的中斷,所以計(jì)數(shù)初值:=216 - tfosc12=65536 - 5010-311.059210612=19456表示成十六進(jìn)制為 =4c0
19、0h,故(th0)=4ch, (tl0)=00h。3.5.23.5.2 程序初始化程序初始化程序初始化時(shí),清相應(yīng)內(nèi)存單元(20h4fh 共 48 個(gè)單元) ,送時(shí)間(00時(shí) 00 分 00 秒) 、日期(07 年 10 月 01 日)初值,送定時(shí)器 t0、t1 初值,th0= th1=4ch,tl0= tl1=00h,特殊寄存器(sp=50h、tmod=11h)值等。3.5.33.5.3 誤差分析及校正誤差分析及校正當(dāng) t0 中斷時(shí),需重裝定時(shí)初值,且要加上從斷開 t0 中斷到允許 t0 中斷共有 13 個(gè)周期,以減小誤差,故理論重裝定時(shí)初值為(th0)=4ch, (tl0)=13h。但該外接
20、晶振電路的晶振頻率可調(diào),可能出現(xiàn)誤差,所以實(shí)際不是這個(gè)值。經(jīng)調(diào)試,當(dāng)定時(shí)初值為(th0)=4ch, (tl0)=06h 時(shí),24 小時(shí)約慢 2 秒,所以每當(dāng)計(jì)時(shí) 24 小時(shí)之后,給秒單元(30h)送 02h,使秒累加時(shí)從 2 加起,24 小時(shí)就少加 2 秒,即可使時(shí)間得到校正。3.5.43.5.4 實(shí)現(xiàn)閃動(dòng)設(shè)定實(shí)現(xiàn)閃動(dòng)設(shè)定閃動(dòng)可選用段碼送 00h 實(shí)現(xiàn),也可禁止當(dāng)前位顯示,選通位送 0 實(shí)現(xiàn)。本設(shè)計(jì)選用后者實(shí)現(xiàn)閃動(dòng),用定時(shí)器 t1 進(jìn)行控制。123.5.53.5.5 實(shí)現(xiàn)連續(xù)加實(shí)現(xiàn)連續(xù)加 1 1先判斷鍵是否松開,若松開,則只執(zhí)行一次加 1 程序段,進(jìn)行單次加 1;若未松開則連續(xù)執(zhí)行加 1 程序
21、段,實(shí)現(xiàn)連續(xù)加 1。每執(zhí)行一次加 1 程序段就調(diào)用顯示子程序進(jìn)行延時(shí),以對(duì)調(diào)節(jié)速度進(jìn)行控制。本系統(tǒng)以 5hz 的速度連續(xù)加1,這樣能快速對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定。3.63.6 實(shí)現(xiàn)方式實(shí)現(xiàn)方式該時(shí)鐘程序的功能模塊先后實(shí)現(xiàn)的順序?yàn)椋褐鞒绦驎r(shí)間模塊顯示模塊鍵盤模塊時(shí)間設(shè)定及其顯示模塊日期及其顯示模塊日期設(shè)定及其顯示模塊定時(shí)及其顯示模塊定時(shí)設(shè)定及其顯示模塊定時(shí)提示音及與顯示相沖突的協(xié)調(diào)模塊。每完成一個(gè)模塊就與前一個(gè)已完成的模塊結(jié)合起來調(diào)試,直至實(shí)現(xiàn)相應(yīng)功能,再編寫下一模塊程序。在與主程序銜接時(shí),主程序和各子程序也需作相應(yīng)的改動(dòng),以便與子程序更好的銜接,特別是顯示子程序需作較大改動(dòng),以便對(duì)不同內(nèi)容進(jìn)
22、行顯示。3.73.7 源程序設(shè)計(jì)源程序設(shè)計(jì)#include#include#define uchar unsigned char#define uint unsigned intsbit dula=p10;sbit wela=p11;sbit key1=p20;sbit key2=p21;sbit key3=p23;sbit key4=p23;sbit key5=p24;uchar temp,tt,sec,min,hour;13uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0
23、 x7c,0 x39,0 x5e,0 x79,0 x71;void init();void keyscan();void counter();void delay(uint z);void main()init();wela=1;p0=0 xfe;temp=p0;wela=0;dula=1;p0=0 x3f;dula=0;while(1)wela=1;p0=temp;wela=0;if(temp=0 xfe)/1111 1110dula=1;p0=tablesec%10;dula=0;14if(temp=0 xfd)/1111 1101dula=1;p0=tablesec/10;dula=0;
24、 if(temp=0 xfb)/1111 1011dula=1;p0=0 x40;dula=0;if(temp=0 xf7)/1111 0111 dula=1;p0=tablemin%10;dula=0;if(temp=0 xef)/1110 1111dula=1;p0=tablemin/10;dula=0;15 if(temp=0 xdf)/1101 1111dula=1;p0=0 x40;dula=0;if(temp=0 xbf)/1011 1111dula=1;p0=tablehour%10;dula=0;if(temp=0 x7f)/0111 1111dula=1;p0=tableho
25、ur/10;dula=0;delay(2);temp=_crol_(temp,1);if(temp=0 xff)temp=0 xfe;keyscan(); counter();16 void delay(uint z) /延時(shí)子函數(shù)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void init()/系統(tǒng)初始化tt=0; wela=0;dula=0; ea=1;et0=1;tr0=1;tmod=0 x01;th0=(65536-50000)/256; tl0=(65536-50000)%256;void timer0() interrupt 1 /定時(shí)器 0
26、中斷th0=(65536-50000)/256;tl0=(65536-50000)%256;tt+;void counter() /計(jì)時(shí)子函數(shù)17if(tt=20) tt=0; sec+; if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;void keyscan()/鍵盤掃描 if(key1=1)delay(5);if(key1=1)18 tr0=0; while(key1);delay(5);while(key1); if(key2=1)delay(5);if(key2=1) sec+; while(key2);delay(5);while(key2); if(key3=1)delay(5);if(key3=1) min+; while(key3);delay(5);while(key3); if(key4=1)19delay(5);if(key4=1) hour+; while(key4);delay(5);while(key4); if(key5=1)delay(5);if(key5=1) tr0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度美容院化妝品定制與銷售合同4篇
- 2025年跨境電商物流配送服務(wù)合作協(xié)議3篇
- 2025年度特種車輛贈(zèng)與及售后服務(wù)合同4篇
- 2025年度新能源儲(chǔ)能系統(tǒng)代理商合作協(xié)議4篇
- 二零二五版酒店客房租賃合同標(biāo)準(zhǔn)范本3篇
- 2025年校園食堂廚房改造工程合同范本4篇
- 2025年度租賃房屋租賃價(jià)格調(diào)整協(xié)議8篇
- 二零二五年度旅游產(chǎn)品研發(fā)與推廣勞務(wù)派遣合同4篇
- 二零二五版綠城物業(yè)住宅小區(qū)物業(yè)費(fèi)收繳管理合同4篇
- 2025版美容院品牌重塑與市場拓展合作協(xié)議4篇
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 2024爆炸物運(yùn)輸安全保障協(xié)議版B版
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級(jí)子企業(yè)總經(jīng)理崗位公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識(shí)與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測(cè)組”參考試題庫(含答案)
- 讀書分享會(huì)《白夜行》
- 2023上海高考英語詞匯手冊(cè)單詞背誦默寫表格(復(fù)習(xí)必背)
評(píng)論
0/150
提交評(píng)論