一、設(shè)計(jì)任務(wù)
綜合中斷、定時(shí)器、LED數(shù)碼管等完成一精度為0.01秒的秒表。
相關(guān)要求:
1.輸入:K1(啟動(dòng)/暫停)、K2(清零);(利用外部中斷)
2.輸出:4為數(shù)碼管(顯示格式:06.78)
二、系統(tǒng)框圖
三、程序設(shè)計(jì)分析
(一)流程圖
(二)程序分析:
1.定時(shí)器:系統(tǒng)中所采用的晶振頻率是12MHz,其機(jī)器周期=1us,秒表的精度是0.01s=1us*10000,給定時(shí)器設(shè)定一個(gè)初值(65536-10000=55536)采用十六進(jìn)制可得出D8F0即TH0=0xd8;TL0=0xf0。若計(jì)數(shù)小于6000則一直加1,若計(jì)數(shù)等于6000時(shí)則重新計(jì)數(shù)。
2.綜合中斷:根據(jù)題目要求,秒表應(yīng)具有兩個(gè)按鍵,那么兩個(gè)按鍵分別對應(yīng)兩個(gè)外部中斷,分別使當(dāng)按下按鍵后中斷請求源發(fā)出中斷請求,使程序執(zhí)行中斷處理程序,當(dāng)中斷服務(wù)請求處理完后再回到原來被中止的程序之處,繼續(xù)執(zhí)行。
3.按鍵控制:根據(jù)題目要求,秒表應(yīng)具有兩個(gè)按鍵,按鍵一控制秒表的啟動(dòng)或暫停,按鍵二控制秒表的清零。按鍵一利用外部中斷,當(dāng)按下按鍵一時(shí)中斷請求源發(fā)出中斷請求,程序中將定時(shí)器0關(guān)閉,計(jì)數(shù)器則停止工作;當(dāng)按下按鍵一之后按下按鍵二,將定時(shí)器取反,則計(jì)數(shù)器重新工作以此達(dá)到清零的功能。
4.數(shù)碼管顯示:將計(jì)數(shù)器的計(jì)數(shù)結(jié)果通過將4位數(shù)字分解,通過一個(gè)循環(huán)(因?yàn)橛兴奈粩?shù)所以循環(huán)4次)先選位碼以此決定數(shù)字顯示在哪一個(gè)數(shù)碼管中,再根據(jù)分解結(jié)果選取該數(shù)碼管所需要顯示的段碼;最后再加一個(gè)延時(shí)函數(shù)以此讓數(shù)字在數(shù)碼管上顯示的時(shí)候讓我們的眼睛所能觀察到。
四、電路原理圖
作者簡介:陳藝元(1998.07——)女,漢族,廣西桂林,廣西師范大學(xué)本科在讀