欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4955|回復: 2
打印 上一主題 下一主題
收起左側

基于51單片機倒計時鬧鐘設計(定時器、外部中斷和外部電路)

[復制鏈接]
跳轉到指定樓層
樓主
倒計時鬧鐘。(主要定時器、外部中斷和外部電路)

有源蜂鳴器鳴響,4位數碼管倒計時顯示剩余時間。
可以直接使用shumaguan_c電路圖
        要求:
1.     每2分鐘蜂鳴8秒。(包含長時間定時和蜂鳴器鳴響控制)
                                 2.開機后數碼管顯示0200 (分鐘 秒數),并開始倒計時每秒遞減,
                                時間到達00 08時,鳴響8秒,直到顯示0000時,鳴響停止。
由外部中斷0實現按鍵,控制倒計時過程的暫停或繼續。
                              由外部中斷1實現按鍵,可以在鳴響期間停止鳴響,不影響計時。
3.     上述過程反復執行

一、描述和設計要求
1.1  描述
1、每2分鐘蜂鳴8秒。(包含長時間定時和蜂鳴器鳴響控制)
2、開機后數碼管顯示02 00 (分鐘 秒數),并開始倒計時每秒遞減,
時間到達00 08時,鳴響8秒,直到顯示00 00時,鳴響停止。
3、由外部中斷0實現按鍵,控制倒計時過程的暫停或繼續。
由外部中斷1實現按鍵,可以在鳴響期間停止鳴響,不影響計時。
4、上述過程反復執行。
1.2  技術指標
(1)   所使用的CPU引腳,中斷類型等參數;
  
數碼管的段碼引腳
  
數碼管的位碼引腳
定時器0
P0^0
P2^4
P3^4
P0^1
P2^5
定時器1
P0^2
P2^6
P3^5
P0^3
P2^7
蜂鳴器控制引腳
P0^4
外部中斷0
P3^7
P0^5
P3^2


P0^6
外部中斷1


P0^7
P3^3



(2)   定時器時鐘周期是50毫秒,定時的周期是2分鐘;
(3)其他涉及的參數
采用的是四位共陽數碼管;蜂鳴器是由三極管作為開關控制。
二、實現方案和可行性分析
2.1  實現思路和可行性分析
(1) 實現思路:
第一步:顯示數碼管函數
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);                             
  }
}
第二步:采用定時器0倒計時
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、數碼管顯示模塊:
采用的是四位共陽數碼管,其數碼管的段碼引腳接到單片機的P0^0~P0^7;數碼管的位碼則是由單片機P2^4~P2^7引腳輸出控制四個三極管的基極,當三極管的基極為低電平時,三極管導通從而控制數碼管位碼。
2、外部中斷按鍵控制模塊
采用按鍵按下使外部中斷0/1的引腳P3^3/P3^4接地,從而使單片機執行外部中斷里面的程序,即由外部中斷0實現按鍵,控制倒計時過程的暫停或繼續,
由外部中斷1實現按鍵,可以在鳴響期間停止鳴響,不影響計時。
3、蜂鳴器模塊
蜂鳴器模塊是采用單片機的P3^7引腳控制三極管的基極,當三極管的基極為低電平時,三極管導通從而控制蜂鳴器的鳴叫。
2.2  流程圖
file:///C:/Users/LSC/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
三、電路描述和程序實現
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);
                }
      }
    }
}
四、運行結果
(1) 涉及的數值結果, 以圖表的形式給出
  
初始狀態
  
中間狀態
關鍵狀態
最終狀態
time=0
time=0
time=0
time=0
miao=0
miao=0
miao=8
miao=0
fen=2
fen=1
fen=0
fen=0

(2) 實驗板運行狀態的照片, 主要涉及LED和數碼管等顯示環節的顯示內容的變化。
開機數碼管的初始狀態               時間到達00 08時,鳴響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
時間到達00 00時,鳴響停止    到計時結束后,自動回到初始狀態

22.png (41.92 KB, 下載次數: 120)

基于51單片機倒計時鬧鐘

基于51單片機倒計時鬧鐘

22.png (41.92 KB, 下載次數: 133)

倒計時鬧鐘,可暫停,啟動

倒計時鬧鐘,可暫停,啟動

代碼.7z

9.7 KB, 下載次數: 57, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:945550 發表于 2021-6-28 15:38 | 只看該作者
?不是倒計時么?
為什么代碼是萬年歷的?
回復

使用道具 舉報

板凳
ID:236933 發表于 2023-5-30 18:16 | 只看該作者
只有代碼,沒有仿真,驗證性不足
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表