![單片機(jī)原理與系統(tǒng)課程設(shè)計報告書_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/800f8b52-087e-4b48-a59d-96e4c4c78334/800f8b52-087e-4b48-a59d-96e4c4c783341.gif)
![單片機(jī)原理與系統(tǒng)課程設(shè)計報告書_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/800f8b52-087e-4b48-a59d-96e4c4c78334/800f8b52-087e-4b48-a59d-96e4c4c783342.gif)
![單片機(jī)原理與系統(tǒng)課程設(shè)計報告書_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/800f8b52-087e-4b48-a59d-96e4c4c78334/800f8b52-087e-4b48-a59d-96e4c4c783343.gif)
![單片機(jī)原理與系統(tǒng)課程設(shè)計報告書_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/800f8b52-087e-4b48-a59d-96e4c4c78334/800f8b52-087e-4b48-a59d-96e4c4c783344.gif)
![單片機(jī)原理與系統(tǒng)課程設(shè)計報告書_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/800f8b52-087e-4b48-a59d-96e4c4c78334/800f8b52-087e-4b48-a59d-96e4c4c783345.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄1 課程設(shè)計的要求、目的和意義 21.1設(shè)計要求 .21.2 設(shè)計目的 21.3 設(shè)計意義 22 系統(tǒng)方案設(shè)計及確定 33 系統(tǒng)硬件設(shè)計 43.1AT89S51 最小系統(tǒng)設(shè)計 43.1.1 時鐘電路硬件設(shè)計 53. 1 .2復(fù)位電路硬件設(shè)計 53.2鍵盤電路硬件設(shè)計 63.3 顯示電路硬件設(shè)計 73.4 蜂鳴器電路硬件設(shè)計 84 系統(tǒng)軟件設(shè)計 84.1 系統(tǒng)主程序設(shè)計 84.2定時器設(shè)計 104.3 秒表設(shè)計 114.4 鬧鐘設(shè)計 114.5其他主要子程序設(shè)計 125 系統(tǒng)調(diào)試 126 總結(jié) 13參考文獻(xiàn) 14附錄 15附錄一程序清單 1537附錄二 系統(tǒng)硬件原理圖1 課程設(shè)計的目的和意義
2、1.1 設(shè)計要求用六位數(shù)碼實(shí)現(xiàn)數(shù)字時鐘,顯示時分秒。1.2 設(shè)計目的靈活運(yùn)用單片機(jī)的基礎(chǔ)知識,依據(jù)課程設(shè)計容,能夠完成從硬件電路圖設(shè)計,到 PCB 制版, 再到軟件編程及系統(tǒng)調(diào)試實(shí)現(xiàn)系統(tǒng)功能, 完成課程設(shè)計, 加深對單片機(jī)基礎(chǔ)知識的理 解,并靈活運(yùn)用,將各門知識綜合應(yīng)用。能夠上網(wǎng)查詢器件資料,培養(yǎng)對新知識新技術(shù)的獨(dú)立的學(xué)習(xí)能力和應(yīng)用能力。 獨(dú)立完成一個小的系統(tǒng)設(shè)計,從硬件設(shè)計到軟件設(shè)計,增強(qiáng)分析問題、 解決問題的能力,為 日后的畢業(yè)設(shè)計及科研工作奠定良好的基礎(chǔ)。1.3 設(shè)計意義單片機(jī)課程設(shè)計過程中,我們通過查閱資料、硬件設(shè)計、程序設(shè)計、安裝調(diào)試等環(huán)節(jié), 完成了一個涉及 89S51 單片機(jī)多種資
3、源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計與編程 應(yīng)用。使我們不但能夠?qū)⒄n堂上學(xué)到的理論知識與實(shí)際應(yīng)用結(jié)合起來, 而且能夠?qū)﹄娮与娐贰?電子元器件、原理圖繪制等方面的知識進(jìn)一步加深認(rèn)識, 同時在軟件編程、 排錯調(diào)試、 焊接 技術(shù)、相關(guān)軟件及儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。 使我們增進(jìn)對單片 機(jī)的感性認(rèn)識, 加深對單片機(jī)理論方面的理解。 使我們了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件 設(shè)計過程、 方法及實(shí)現(xiàn), 強(qiáng)化單片機(jī)應(yīng)用電路的設(shè)計與分析能力。 提高我們在單片機(jī)應(yīng)用方 面的實(shí)踐技能和科學(xué)作風(fēng) ;培育學(xué)生綜合運(yùn)用理論知識解決問題的能力,實(shí)現(xiàn)理論結(jié)合實(shí)際,學(xué)以致用的原則。2 系統(tǒng)方案設(shè)計及確
4、定本次課程設(shè)計,要求用單片機(jī)及 6位 LED 數(shù)碼管顯示時、分、秒,以 24小時計時方 式運(yùn)行,能整點(diǎn)提醒(短蜂鳴,次數(shù)代表整點(diǎn)時間) ,使用按鍵開關(guān)可實(shí)現(xiàn)時、分調(diào)整,秒 表(或鬧鐘) / 時鐘功能轉(zhuǎn)換,以及實(shí)現(xiàn)省電(關(guān)閉顯示)功能。1時鐘功能利用單片機(jī)片定時器 (如TO)產(chǎn)生1s計時,自行設(shè)定時鐘計數(shù)單元地址, 包括秒單元、 分單元、時單元,最大計數(shù)值為 23 時 59 分 59 秒。用 6 位 LED 數(shù)碼管顯示時、分、秒,以 24小時計時方式運(yùn)行;使用按鍵開關(guān)可實(shí)現(xiàn)時、分調(diào)整,可增加“熄滅符”用于時間調(diào)整時的閃爍功能;能整點(diǎn)提醒(短蜂鳴,次數(shù)代表整點(diǎn)時間) ;可通過按鍵使系統(tǒng)進(jìn)入省電狀態(tài)
5、(數(shù)碼管不亮,時鐘不停) 。2秒表功能能通過按鍵實(shí)現(xiàn)秒表 /時鐘功能之間的轉(zhuǎn)換;利用單片機(jī)部定時器(如T1)實(shí)現(xiàn)秒表的計時,自行設(shè)定秒表計數(shù)單元地址,包括10ms單元、秒單元、分單元, 通過 6 位 LED 數(shù)碼管顯示,最大計數(shù)值為 99 分 59.99 秒。可通過按鍵實(shí)現(xiàn)秒表的暫停、清零、啟動。3鬧鐘功能能通過按鍵實(shí)現(xiàn)鬧鐘 /時鐘功能之間的轉(zhuǎn)換;可通過按鍵設(shè)定鬧鐘時間,在定時鬧鈴時精確到分,可通過6 位 LED 數(shù)碼管顯示鬧鐘設(shè)定時間??赏ㄟ^按鍵實(shí)現(xiàn)鬧鈴有效、無效,以及在設(shè)定鬧鐘后取消鬧時功能。在鬧鈴時,可通過按鍵開關(guān)使蜂鳴停止。4 系統(tǒng)設(shè)計方案框圖如下:電源數(shù)碼管顯示電路AT89S51單片
6、機(jī)復(fù)位電路ih-蜂鳴器電路圖2-1系統(tǒng)設(shè)計方案框圖3系統(tǒng)硬件設(shè)計3.1AT89S51 最小系統(tǒng)設(shè)計單片機(jī)最小系統(tǒng)單片機(jī),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的 系統(tǒng)對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路 下面給出一個51單片機(jī)的最小系統(tǒng)電路圖:nnTTh-XTAEZP9VAKPQ.IfADI 卩UZf腳舊POM珂舊 paja.WRST卩EH信俯Z.T朋且口場1DTCETP23A11ALEPZ.AE貢F2.*QPZJgAUK.SAISF1UT2P3IWRXDpi.irr-::P3.1/TVPl 3panrn-的升F3.*nnFISTwrnF1
7、JSPi.7P3_7rcU1圖3-1 51單片機(jī)最小系統(tǒng)原理圖3.1.1時鐘電路硬件設(shè)計時鐘電路是計算機(jī)最核心的部分,它控制著計算機(jī)的工作。AT 89 S51單片機(jī)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為XTAL1 ,輸出端為XTAL2,分別是單片機(jī)的19腳和18腳。在XTAL1和XTAL2兩端跨接石英晶體及兩個電容就可以構(gòu)成 穩(wěn)定的自激振蕩器。石英晶振起振后要能在XTAL2線上輸出一個 3V左右的正弦波,使片的OCS電路按石英晶振相同頻率自激震蕩。通常,OCS的輸出時鐘頻率fosc為0.5MHZ16MHZ ,典型值為12MHZ電容器C1和C2通常取30pF左右,對震蕩頻
8、率有微調(diào) 作用。調(diào)節(jié)它們可以達(dá)到微調(diào)震蕩周期fosc的目的。時鐘電路如下:圖3-2時鐘電路電路圖3.1.2復(fù)位電路硬件設(shè)計單片機(jī)的RST管腳為主機(jī)提供一個外部復(fù)位信號輸入端口。 復(fù)位信號 是咼電平有效,咼電平有效的持續(xù)時間應(yīng)為2個機(jī)器周期以上。單片 機(jī)的復(fù)位方式有上電自動復(fù)位和手工復(fù)位兩種。圖 4-2所示是51系 列單片機(jī)常用的上電復(fù)位電路,只要 Vcc上升時間不超過1ms它們 都能很好地工作。復(fù)位以后,單片機(jī)各部件恢復(fù)到初始狀態(tài)。電阻電容器件的參考值:R1=200Q,R2=1KQ ,C3=22 F。RET按鍵可以 選擇專門的復(fù)位按鍵,也可以選擇輕觸開關(guān)。復(fù)位電路如下S1圖3-3復(fù)位電路電路圖
9、3.2鍵盤電路硬件設(shè)計單片機(jī)中常見的鍵盤有獨(dú)立式鍵盤和矩陣式鍵盤,獨(dú)立式鍵盤適 用于實(shí)現(xiàn)功能較少的場合、矩陣式鍵盤適用于功能復(fù)雜的場合。 本次 課程設(shè)計,采用獨(dú)立式鍵盤即可。鍵盤電路如下:圖3-4鍵盤電路電路圖上拉電阻保證按鍵釋放時,輸入檢測線上有穩(wěn)定的高電平。當(dāng)某 一按鍵按下時,對應(yīng)的檢測線就變成了低電平,與其他按鍵相連的檢 測線仍為高電平,只需讀入I/O輸入線的狀態(tài),判別哪一條I/O輸入 線為低電平,很容易識別哪個鍵被按下。鍵的閉合與否,輸出電壓上就是呈現(xiàn)高電平或低電平。高電平, 表示鍵斷開,低電平則表示鍵閉合,通過對電平的高低狀態(tài)的檢測, 可確認(rèn)按鍵按下以及按鍵釋放與否。為了確保對一次按
10、鍵動作只確認(rèn) 一次按鍵有效,必須消除抖動的影響,去抖有硬件去抖和軟件去抖, 本次設(shè)計采用軟件去抖。3.3顯示電路硬件設(shè)計本次課程設(shè)計,采用LED數(shù)碼管作為顯示裝置。LED數(shù)碼管有共陰極、共陽極兩種結(jié)構(gòu),本次采用共陽極數(shù)碼管。 共陽極LED數(shù)碼管的發(fā)光二極管的陽極連接在一起,公共陽極接正 電壓,當(dāng)某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點(diǎn)亮,相 應(yīng)的段被顯示。8段共陽極LED段碼如下:表3-1 8段共陽極LED段碼表顯示 字符012345678段碼COHF9HA4HB0H99H92H82HF8H80H顯示 字符9ABCDEF全滅全亮段碼90H88H83HC6HA1H86H8EHFFH00HL
11、ED數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種顯示方式。靜態(tài)顯示方式, 數(shù)碼管亮度高、軟件編程簡單,但是需要占用大量的I/O 口,一般在多位顯示時不采用此種方法。動態(tài)顯示方式,數(shù)碼管亮度稍低、軟件 編程復(fù)雜,但是占用的I/O 口少,在顯示多位數(shù)字的時候適合采用此 種方法??紤]到本次課程設(shè)計需要顯示六位數(shù)字, 故采用動態(tài)顯示方 式。LED數(shù)碼管段選、位選驅(qū)動電路均采用 DM74LS244作為驅(qū)動芯3.4蜂鳴器電路硬件設(shè)計蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣 泛應(yīng)用于計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè) 備、機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器的工作原理是,接通電源后,
12、振蕩器產(chǎn)生的音頻信號電流 通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的 相互作用下,周期性地振動發(fā)聲。本次課程設(shè)計中,由于單片機(jī)的I/O 口驅(qū)動能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過三極管放大驅(qū)動電 流,從而可以讓蜂鳴器發(fā)出聲音。蜂鳴器電路如下:圖3-5蜂鳴器電路電路圖4系統(tǒng)軟件設(shè)計4.1系統(tǒng)主程序設(shè)計程序中,采用按鍵1作為主功能切換鍵,按鍵 2、按鍵3、按鍵4作為子功能控制鍵。在主程序中,開始即進(jìn)入定時器子程序,顯示當(dāng)前時間,并同時對按鍵1進(jìn)行掃描。如果按鍵1第一次被按下,則進(jìn)入調(diào)整時間子程序, 并同時對按鍵2、按鍵3、按鍵4進(jìn)行掃 描,此時按鍵2、按鍵3、按鍵4分別作為調(diào)整
13、時、分、秒按鈕使用;如果按鍵1第二次被按下,則進(jìn)入秒表子程序,并同時對按鍵2、按鍵3、按鍵4進(jìn)行掃描,按鍵2、按鍵3、按鍵4分作為秒表啟動、 暫停、停止并清理按鈕使用;如果按鍵 1第三次被按下,則進(jìn)入鬧 鐘子程序,并同時對按鍵 2、按鍵3、按鍵4進(jìn)行掃描,按鍵2、按鍵3、按鍵4分作為鬧 鐘的啟動/關(guān)閉、調(diào)整時、調(diào)整分按鈕使用;如果按鍵1第四次被按下,則進(jìn)入節(jié)能子程序,此時將不對按鍵2、按鍵3、按鍵4分進(jìn)行掃描;如果按鍵 1第五次被按下,則重新回到定 時器子程序,如此循環(huán)。主程序流程圖4.2定時器設(shè)計在定時器子程序當(dāng)中, 采用定時器TO產(chǎn)生定時中斷。定時器TO工作于方式2,初值為TH0=0x9C
14、,TL0=0x9C,時鐘電路采用12MHZ晶振,所以每0.1ms產(chǎn)生一次中斷,再在中 斷中對時間進(jìn)位進(jìn)行判斷處理,使之產(chǎn)生較為精準(zhǔn)的定時。4.3秒表設(shè)計在秒表子程序當(dāng)中,采用定時器T1產(chǎn)生定時中斷。定時器T1同意工作于方式2,初值為TH0=0x9C,TL0=0x9C,時鐘電路采用12MHZ晶振,所以每0.1ms產(chǎn)生一次中斷,再在 中斷中對時間進(jìn)位進(jìn)行判斷處理,使之產(chǎn)生較為精準(zhǔn)的定時。秒表子程序4.4鬧鐘設(shè)計在鬧鐘子程序里,按鍵 2被按下奇數(shù)次時,鬧鐘打開并在第一位數(shù)碼管上顯示標(biāo)志位; 按鍵2被按下偶數(shù)次時,鬧鐘關(guān)閉并熄滅第一位數(shù)碼管上的標(biāo)志位。按下按鍵3,則定時時間的小時位加一;按下按鍵 4,
15、則定時時間的分鐘位加一。4.5其他主要子程序設(shè)計在時鐘設(shè)置子程序中,按鍵 2被按下,則當(dāng)前時間的小時位加一;按鍵3被按下,則當(dāng)前時間的分鐘位加一;按鍵 4被按下,則當(dāng)前時間的秒位被清零。時鐘設(shè)置子程序當(dāng)進(jìn)入節(jié)能子程序時,數(shù)碼管將全部被熄滅,此時按鍵2、按鍵3、按鍵4即使被按下也不采取任何操作。節(jié)能子程序其他說明:當(dāng)時間的小時位進(jìn)一時,蜂鳴器將響起,響的“嘀”次數(shù)等于當(dāng)前時間小時位的值。當(dāng)當(dāng)前時間等于鬧鐘定時時間時,蜂鳴器將不斷響起“嘀”聲,按下按鍵1后,“嘀”聲停止。5系統(tǒng)調(diào)試本次課程設(shè)計采用偉福仿真器進(jìn)行程序的調(diào)試,下面介紹偉福仿 真器的調(diào)試及使用。進(jìn)入WAV軟件后,第一步要進(jìn)行仿真器設(shè)置,
16、在仿真器選項(xiàng)卡中, 仿真器為選擇“ E6000/S”,仿真頭選擇“ POD-H8X5” ,CPU選擇“ 89C51RX;在目標(biāo)文件選項(xiàng)卡中,將所有選項(xiàng)前均打鉤,;在通訊 設(shè)置選項(xiàng)卡中,將“使用偉福軟件模擬器”的“勾掉,然后選擇“COM1 口,點(diǎn)擊“測試串行口”,測試成功后,就完成了所有的仿 真器設(shè)置。第二步,開始創(chuàng)建項(xiàng)目工程,在 C盤根目錄下創(chuàng)建“ Project ”文件 夾,雙擊打開,再創(chuàng)建“ program . c”文件。注意,這里“ Project ” 文件夾為工程項(xiàng)目所存放的文件夾, 文件夾名必須是英文, 漢字不能 用。“ program . c”文件為程序源文件,若是用匯編語言,則相
17、應(yīng) 的改為“ program . asm ”文件。這里文件夾名和原文件名可以是任 意英文字符。點(diǎn)擊菜單欄“文件 (F)” “新建項(xiàng)目”找到剛才創(chuàng)建 的源文件(以C語言源文件為例),點(diǎn)擊“打開”,然后鍵入工程項(xiàng)目 文件名字(以 project 為例,項(xiàng)目文件名可以任意) ,并點(diǎn)擊“保存” 保存。雙擊左側(cè)源文件“program . c”,此時即可開始編寫程序了。(WAVE600集成開發(fā)軟件是基于C語言核的,僅支持“ /* */ ”注 釋方式,不支持“ / ”注釋方式)。最后介紹程序的編譯及執(zhí)行,點(diǎn)擊菜單欄“項(xiàng)目”“編譯”,無語法錯誤,編譯通過。點(diǎn)擊菜單欄上“執(zhí)行”“全速執(zhí)行”,進(jìn)行硬件仿真調(diào)試。按
18、停止按鈕則退出調(diào)試狀態(tài)。本次課程設(shè)計,我主要是參考了郭天祥老師的一些例子程序,從 而逐步掌握了有關(guān)單片機(jī)數(shù)碼管動態(tài)顯示、 按鍵的掃描及去抖、 時鐘 定時賦值等一些容。然后根據(jù)老師的原理圖,參照例子程序,利用 C 語言進(jìn)行編程。 程序調(diào)試過程中難免出現(xiàn)各種各樣的問題, 通過請教 老師、網(wǎng)絡(luò)查詢、同學(xué)之間相互幫助,都逐一得到了解決。6 總結(jié)經(jīng)過一段時間的課程設(shè)計, 我們不僅對單片機(jī)的學(xué)習(xí)有了更多的 認(rèn)識和理解,而且又填補(bǔ)了很多以前的知識漏洞。本次課程設(shè)計,收 獲最多的當(dāng)然是單片機(jī)方面,但是同時我們又一次學(xué)習(xí)了 C 語言、 Protel制圖等,熟悉掌握了 WAVE6000的使用。課程設(shè)計是培養(yǎng)我們綜
19、合運(yùn)用所學(xué)知識 , 發(fā)現(xiàn)、提出、分析和解決 實(shí)際問題 , 鍛煉實(shí)踐能力的重要環(huán)節(jié) ,是對我們實(shí)際工作能力的具體 訓(xùn)練和考察過程 . 回顧起此次課程設(shè)計, 至今我仍感慨頗多。 通過這 次課程設(shè)計使我懂得了理論與實(shí)際相結(jié)合是很重要的, 只有理論知識 是遠(yuǎn)遠(yuǎn)不夠的, 唯有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來, 從理論中 得出結(jié)論,才能真正提高我們自己的實(shí)際動手能力和獨(dú)立思考的能 力。在設(shè)計的過程中,難免會遇到過各種各樣的問題,同時在設(shè)計的 過程中發(fā)現(xiàn)了自己的很多的不足, 對以前所學(xué)過的知識理解得不夠深 刻,掌握得不夠牢固,看到了自己基礎(chǔ)知識還是不夠扎實(shí),實(shí)踐經(jīng)驗(yàn) 還是比較缺乏, 理論聯(lián)系實(shí)際的能力還待急
20、需提高。 通過這次課程設(shè) 計之后,一定把以前所學(xué)過的知識重新溫故。在這個過程中,我真切 的感到了, 我又知道了很多, 同時也掌握了很多以后在工作和生活中 能真正用到的很多東西。 但是我不會因此而驕傲, 相反以后我將會更 加虛心,因?yàn)槲抑肋@只是個簡單的開始,以后還有很多的路要走。參考文獻(xiàn)【1】單片機(jī)原理與接口技術(shù) M 胡漢才 .清華大學(xué)【 2】 MCS-51 系列單片機(jī)原理及應(yīng)用 M. 王瑾、杜波等 .中國電 力【3】新概念51單片機(jī)C語言教程M.郭天祥.電子工業(yè)【4】 跟我學(xué)用單片機(jī) M. 肖洪兵. 航空航天大學(xué) 【5】單片機(jī)實(shí)驗(yàn)與實(shí)踐教程 M. 夏繼強(qiáng) . 航空航天大學(xué) ,【 6】 Pro
21、tel DXP 電路設(shè)計技術(shù) M. 玉軍. 冶金工業(yè)【 7】單片機(jī)應(yīng)用設(shè)計 200 例. 下(第一版) M. 洪潤. 航空航天 大學(xué)【8】C語言程序設(shè)計M.忠寶、董曉明.大學(xué)附錄附錄一 程序清單/* 頭文件 */#include#define uint unsigned int#define uchar unsigned char/* 定義按鍵 */sbit key1=P1A0;sbit key2=P1Al;sbit key3=P1A2;sbit key4=P1A3;/* 定義蜂鳴器 */sbit bell=P1A7;/* 定義數(shù)碼管位控 */sbit LED1=P2A5;sbit LED2=
22、P2A4;sbit LED3=P2A3;sbit LED4=P2A2; sbit LED5=P2A1;sbit LED6=P2A0;/* 定義變量 */uchar miao,fen,shi,shm,sec,min,nshi,nfen;uchar d1,d2,d3,d4,d5,d6,m1,m2,m3,m4,m5,m6,n1,n2,n3,n4;uint num,num1,num2,num3,ge,ss;/* 共陰極段選碼( 0-9)*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/* 延時函數(shù) */void
23、delay(uint x)uint i,j;for(i=80;i0;i-)for(j=x;j0;j-);/* 時鐘顯示函數(shù) */void display()d1=shi/10;/* 高低位分離 */d2=shi%10;d4=fen%10;d3=fen/10;d5=miao/10;d6=miao%10;LED1=1;/* 時高位 */P0=tabled1;delay(1);LED1=0;LED2=1;/* 時低位 */P0=tabled2;delay(1);LED2=0;LED2=1;/* 時低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED2=0;LED3=1;/* 分高位 */P0
24、=tabled3;delay(1);LED3=0;LED4=1;/* 分低位 */P0=tabled4;delay(1);LED4=0;LED4=1;/* 分低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED4=0;LED5=1;/* 秒高位 */P0=tabled5;delay(1);LED5=0;LED6=1;/* 秒低位 */P0=tabled6;delay(1);LED6=0;/* 時鐘調(diào)整函數(shù) */void tiaozheng()if(key2=0)/* 時 +*/delay(10);if(key2=0)while(!key2);shi+;delay(20);if(shi=
25、24)shi=0;if(key3=0)/* 分 +*/delay(10);if(key3=0)while(!key3);fen+;delay(20);if(fen=60)fen=0;if(key4=0)/* 秒清零 */delay(10);if(key4=0)miao=0;/* 時鐘調(diào)整數(shù)碼管閃爍顯示函數(shù) */void display1()d1=shi/10;d2=shi%10;d3=fen/10;d4=fen%10;d5=miao/10;d6=miao%10;if(ss=1)LED1=1;/* 時高位 */P0=tabled1;delay(1);LED1=0;LED2=1;/* 時低位 */
26、P0=tabled2;delay(1);LED2=0;LED2=1;/* 時低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED2=0;LED3=1;/* 分高位 */P0=tabled3;delay(1);LED3=0;LED4=1;/* 分低位 */P0=tabled4;delay(1);LED4=0;LED4=1;/* 分低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED4=0;LED5=1;/* 秒高位 */P0=tabled5;delay(1);LED5=0;LED6=1;/* 秒低位 */P0=tabled6;delay(1);LED6=0;/* 整點(diǎn)報時功能函數(shù)
27、 */void baoshi()if(fen=59)&(miao=59)/* 整點(diǎn)報時功能 */uchar bs;bs=shi;bs+;while(bs0)/* 報時次數(shù)等于小時數(shù) */bs-;bell=0;delay(100);bell=1;delay(100);/* 秒表功能控制函數(shù) */void miaobiao()if(key2=0)/* 秒表開始計時 */delay(10);if(key2=0)while(!key2);TR1=1;if(key3=0)/* 秒表暫停 */delay(10);if(key3=0)while(!key3);TR1=0;if(key4=0)/* 秒表清零
28、*/delay(10);if(key4=0)while(!key4);TR1=0;shm=0;sec=0;min=0;/* 秒表顯示函數(shù) */void display2()m1=min/10;m2=min%10;m3=sec/10;m4=sec%10;m5=shm/10;m6=shm%10;LED1=1;/* 分高位 */P0=tablem1;delay(1);LED1=0;LED2=1;/* 分低位 */P0=tablem2;delay(1);LED2=0;LED2=1;/* 分低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED2=0;LED3=1;/* 秒高位 */P0=tabl
29、em3;delay(1);LED3=0;LED4=1;/* 秒低位 */P0=tablem4;LED4=1;/* 秒低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED4=0;LED5=1;/*10ms 高位 */P0=tablem5;delay(1);LED5=0;LED6=1;/*10ms 低位 */P0=tablem6;delay(1);LED6=0;/* 鬧鐘設(shè)置功能函數(shù) */void naozhong()if(key2=0)/* 設(shè)置鬧鐘的開關(guān) */delay(10);if(key2=0)while(!key2);num2+;if(num2=3)num2=1;/* 鬧鐘打開
30、*/if(key3=0)/* 定點(diǎn)小時 +*/delay(10);if(key3=0)while(!key3); nshi+; if(nshi=24) nshi=0;if(key4=0)/* 定點(diǎn)分鐘 +*/delay(10);if(key4=0)while(!key4);nfen+;if(nfen=60)nfen=0;/* 鬧鐘顯示函數(shù) */void display3()n1=nshi/10;n2=nshi%10;n3=nfen/10;n4=nfen%10;if(num2=1)/* 第一位全顯示表示鬧鐘打開 */LED1=1;P0=0xff;delay(1);LED1=0;if(num2=2
31、)/* 第一位全滅表示鬧鐘關(guān)閉 */ LED1=1;P0=0x00;delay(1);LED1=0;LED3=1;/* 小時高位 */P0=tablen1;delay(1);LED3=0;LED4=1;/* 小時低位 */P0=tablen2;delay(1);LED4=0;LED4=1;/* 小時低位小數(shù)點(diǎn)顯示 */P0=0x80;delay(1);LED4=0;LED5=1;/* 分鐘高位 */P0=tablen3;delay(1);LED5=0;LED6=1;/* 分鐘低位 */P0=tablen4;delay(1);LED6=0;/* 到點(diǎn)提醒功能函數(shù) */void tixing()if(num2=1)&(nshi=shi)&(nfen=fen)/* 鬧鐘 */while(num2=1)/* 按鍵 key1 控制蜂鳴器停止,并關(guān)閉鬧鐘 */bell=0;delay(100);bell=1;delay(100);if(key1=0)delay(10);if(key1=0)while(!key1); num2=2;/* 鍵盤掃描實(shí)現(xiàn)功能切換函數(shù) */void key()if(key1=0)/* 對 key1 進(jìn)行計數(shù),從而判
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 太陽能光伏發(fā)電屋頂租賃合同范本
- 建筑公司股權(quán)轉(zhuǎn)讓協(xié)議書范本
- 樁基工程施工勞務(wù)分包合同范本
- 出租普通房屋合同范本
- 銀行玻璃貼膜施工方案
- 辦公樓控?zé)煿芾硪?guī)定6篇
- 2025年度城市道路照明設(shè)施維護(hù)管理協(xié)議
- 部編八下歷史第五單元第17課外交事業(yè)的發(fā)展聽課評課記錄
- 2025年度跨境電商股權(quán)質(zhì)押借款合同
- 聽評課的研討記錄表
- 醫(yī)美整形銷售培訓(xùn)課件
- 安保服務(wù)技術(shù)標(biāo)準(zhǔn)及要求
- 芯片研發(fā)項(xiàng)目計劃表模板
- 教學(xué)課件:《課程與教學(xué)論(課程論)》
- 排水管網(wǎng)檢測投標(biāo)方案(技術(shù)標(biāo))
- 污水處理藥劑采購?fù)稑?biāo)方案(技術(shù)方案)
- 建筑材料案例分析
- 小班《夏天的服裝》
- 中華人民共和國政府信息公開條例解讀PPT
- 《陳列展覽項(xiàng)目支出預(yù)算方案編制規(guī)范和預(yù)算編制標(biāo)準(zhǔn)試行辦法》的通知(財辦預(yù)〔2017〕56號)
- 《質(zhì)量手冊》培訓(xùn)教材課件
評論
0/150
提交評論