倒計(jì)時(shí)鬧鐘。(主要定時(shí)器、外部中斷和外部電路)
有源蜂鳴器鳴響,4位數(shù)碼管倒計(jì)時(shí)顯示剩余時(shí)間。 可以直接使用shumaguan_c電路圖 要求: 1. 每2分鐘蜂鳴8秒。(包含長(zhǎng)時(shí)間定時(shí)和蜂鳴器鳴響控制) 2.開機(jī)后數(shù)碼管顯示0200 (分鐘 秒數(shù)),并開始倒計(jì)時(shí)每秒遞減, 時(shí)間到達(dá)00 08時(shí),鳴響8秒,直到顯示0000時(shí),鳴響停止。 由外部中斷0實(shí)現(xiàn)按鍵,控制倒計(jì)時(shí)過程的暫;蚶^續(xù)。 由外部中斷1實(shí)現(xiàn)按鍵,可以在鳴響期間停止鳴響,不影響計(jì)時(shí)。 3. 上述過程反復(fù)執(zhí)行
一、描述和設(shè)計(jì)要求
1.1 描述1、每2分鐘蜂鳴8秒。(包含長(zhǎng)時(shí)間定時(shí)和蜂鳴器鳴響控制) 2、開機(jī)后數(shù)碼管顯示02 00 (分鐘 秒數(shù)),并開始倒計(jì)時(shí)每秒遞減, 時(shí)間到達(dá)00 08時(shí),鳴響8秒,直到顯示00 00時(shí),鳴響停止。 3、由外部中斷0實(shí)現(xiàn)按鍵,控制倒計(jì)時(shí)過程的暫停或繼續(xù)。 由外部中斷1實(shí)現(xiàn)按鍵,可以在鳴響期間停止鳴響,不影響計(jì)時(shí)。 4、上述過程反復(fù)執(zhí)行。 1.2 技術(shù)指標(biāo)(1) 所使用的CPU引腳,中斷類型等參數(shù);
(2) 定時(shí)器時(shí)鐘周期是50毫秒,定時(shí)的周期是2分鐘; (3)其他涉及的參數(shù) 采用的是四位共陽(yáng)數(shù)碼管;蜂鳴器是由三極管作為開關(guān)控制。 二、實(shí)現(xiàn)方案和可行性分析
2.1 實(shí)現(xiàn)思路和可行性分析(1) 實(shí)現(xiàn)思路: 第一步:顯示數(shù)碼管函數(shù)
voiddisplay_time(unsigned char fen,unsigned char miao)
{ unsigned char i;
unsigned char f[4];
f[0]=fen/10;
f[1]=fen%10;
f[2]=miao/10;
f[3]=miao%10;
for(i=0;i<4;i++)
{
P2=wei;
P0=~duanma[f];
delay_ms(1);
}
}
第二步:采用定時(shí)器0倒計(jì)時(shí)
void Timer0()interrupt1
{
TL0 = 0xB0;
TH0 = 0x3C;
time++;
if(time>20)
{
time=0;
miao--;
}
if(miao<0)
{
miao=59;
fen--;
}
if(fen==0&&miao==0&&time==19)
{
time=0;
miao=0;
fen=2;
}
}
第三步:采用外部中斷0和1 void key() interrupt 0 { if(key0==0) {delay_ms(1); if(key0==0) { TR0 =!TR0; } } } void key_() interrupt 2 { if(key1==0) {delay_ms(1); if(key1==0) { TR0 =1; n=1; } } } (2) 可行性分析: 1、數(shù)碼管顯示模塊: 采用的是四位共陽(yáng)數(shù)碼管,其數(shù)碼管的段碼引腳接到單片機(jī)的P0^0~P0^7;數(shù)碼管的位碼則是由單片機(jī)P2^4~P2^7引腳輸出控制四個(gè)三極管的基極,當(dāng)三極管的基極為低電平時(shí),三極管導(dǎo)通從而控制數(shù)碼管位碼。 2、外部中斷按鍵控制模塊 采用按鍵按下使外部中斷0/1的引腳P3^3/P3^4接地,從而使單片機(jī)執(zhí)行外部中斷里面的程序,即由外部中斷0實(shí)現(xiàn)按鍵,控制倒計(jì)時(shí)過程的暫停或繼續(xù), 由外部中斷1實(shí)現(xiàn)按鍵,可以在鳴響期間停止鳴響,不影響計(jì)時(shí)。 3、蜂鳴器模塊 蜂鳴器模塊是采用單片機(jī)的P3^7引腳控制三極管的基極,當(dāng)三極管的基極為低電平時(shí),三極管導(dǎo)通從而控制蜂鳴器的鳴叫。 2.2 流程圖file:///C:/Users/LSC/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 三、電路描述和程序?qū)崿F(xiàn)
3.1 電路連接圖file:///C:/Users/LSC/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 3.2 程序代碼void main() { Timer0Init(); EX0_Init(); n=1; while(1) { display_time(fen,miao); if(key1==1) { if(fen==0&&miao<9) { n=!n; delay_ms(1); } } } } 四、運(yùn)行結(jié)果(1) 涉及的數(shù)值結(jié)果, 以圖表的形式給出
(2) 實(shí)驗(yàn)板運(yùn)行狀態(tài)的照片, 主要涉及LED和數(shù)碼管等顯示環(huán)節(jié)的顯示內(nèi)容的變化。 開機(jī)數(shù)碼管的初始狀態(tài) 時(shí)間到達(dá)00 08時(shí),鳴響8秒 file:///C:/Users/LSC/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg file:///C:/Users/LSC/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 時(shí)間到達(dá)00 00時(shí),鳴響停止 到計(jì)時(shí)結(jié)束后,自動(dòng)回到初始狀態(tài) |