久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2026|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片計(jì)電子時(shí)鐘

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:204068 發(fā)表于 2017-5-23 21:41 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
第一章 系統(tǒng)設(shè)計(jì)要求1.1 基本功能
1)能夠顯示時(shí)分秒
2)能夠調(diào)整時(shí)分秒
1.2 擴(kuò)展功能
1)能夠任意設(shè)置定時(shí)時(shí)間
2)定時(shí)時(shí)間到鬧鈴能夠報(bào)警
3)實(shí)現(xiàn)了秒表功能
第二章 硬件總體設(shè)計(jì)方案
本次設(shè)計(jì)時(shí)鐘電路,使用了AT89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得電路簡(jiǎn)明易懂,使用鍵盤(pán)鍵上的按鍵來(lái)調(diào)整時(shí)鐘的時(shí)、分、秒,用一揚(yáng)聲器來(lái)進(jìn)行定時(shí)提醒,同時(shí)使用C語(yǔ)言程序來(lái)控制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過(guò)四個(gè)模塊:鍵盤(pán)、芯片、揚(yáng)聲器、顯示屏即可滿足設(shè)計(jì)要求。
2.1系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路
此設(shè)計(jì)原理框圖如圖2-1所示,此電路包括以下四個(gè)部分:?jiǎn)纹瑱C(jī),鍵盤(pán),鬧鈴電路及顯示電路。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps42C7.tmp.pngfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps42C8.tmp.png
              
2-1  設(shè)計(jì)原理框圖
   
詳細(xì)元器件列表下表所示:
詳細(xì)元器件列表:
AT89c51                          1片
74SED八位共陽(yáng)極數(shù)碼管           1片
NPN三極管                       1個(gè)
104p電容                          6個(gè)
30p電容                          2個(gè)
10K電阻                          6個(gè)
560歐姆電阻                      8個(gè)
200歐姆電阻                      1個(gè)
100歐姆電阻                     6個(gè)
2.2各部分功能實(shí)現(xiàn)
(1) 單片機(jī)發(fā)送的信號(hào)通過(guò)程序控制最終在數(shù)碼管上顯示出來(lái)。
(2) 單片機(jī)通過(guò)輸出各種電脈沖信號(hào)來(lái)驅(qū)動(dòng)控制各部分正常工作。
(3) 為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的,鍵盤(pán)用來(lái)校正數(shù)碼管上顯示的時(shí)間。
(4) 單片機(jī)通過(guò)控制鬧鈴電路來(lái)完成 定時(shí)鬧鐘的功能。
2.3系統(tǒng)工作原理
設(shè)計(jì)的電路主要由四模塊構(gòu)成:?jiǎn)纹瑱C(jī)控制電路,顯示電路、鬧鈴電路以及校正電路。
詳細(xì)電路功能圖下圖所示:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps42C9.tmp.png
                       詳細(xì)電路功能圖
本設(shè)計(jì)采用C語(yǔ)言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿60時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿60后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“23翻0”規(guī)律計(jì)數(shù)。時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過(guò)數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計(jì)時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。設(shè)計(jì)采用的是時(shí)、分、秒顯示,單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯示。
2.4電路功能使用說(shuō)明
1) 各個(gè)控制鍵的功能:可對(duì)時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加1);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時(shí)間;時(shí)加1、分加1鍵是在校準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí)間對(duì)小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時(shí)秒表也開(kāi)始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對(duì)秒計(jì)時(shí)則可以按秒表開(kāi)始、復(fù)位;清零鍵可以對(duì)鬧鐘清零。
(2)  AT89C51單片機(jī),通過(guò)編寫(xiě)程序?qū)?shù)碼顯示進(jìn)行控制。
(3)  八個(gè)7段數(shù)碼管顯示時(shí)鐘和秒表信號(hào)。
第三章軟件總體設(shè)計(jì)方案控制電路的C語(yǔ)言源程序
根據(jù)流程圖,經(jīng)過(guò)認(rèn)真分析得出控制電路的源程序如下:


#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define delay_time 3/*宏定義*/
uchar k,dat[]={0,0,0,0,0,0,0,0};
uint tcount,t,u;
uchar dat1[]={0,0,0,0,0,0,2,1};
uchar dat2[]={0,0,0,0,0,0,0,0};
uchar alarms[]={0,0,0,0,0,0,0,0};
uchar dis_bit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
unsigned char  code SEG7[11]={0xC0,/*0*/                          0xF9,/*1*/                                  0xA4,/*2*/                            0xB0,/*3*/                          0x99,/*4*/                          0x92,/*5*/                            0x82,/*6*/                            0xF8,/*7*/                       0x80,/*8*/                         0x90,/*9*/                                           0xBF,/*-*/
};/*數(shù)字顯示數(shù)組*/
sbit miaobiao1=P1^0;
sbit tminute=P1^1;
sbit thour=P1^2;
sbit miaobiao2=P1^3;
sbit alarm=P1^4;
sbit P0_0=P0^0;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;/*端口定義*/
uchar ms=0;
uchar flag=0;
uchar sec=0;
uchar minit=0;
struct time{uchar second;uchar minute;uchar hour;}time1;
  uchar n,i;
void delay(n)
  {while(n--)
        {
for(i=120;i>0;i--);
    }
  }
/*延時(shí)子程序*/
void modify(void)
{
   EA=0;
   if(thour==0)
   {  
    if(flag==0)
    {
   dat1[6]++;delay(280);
     if(dat1[6]>9)
        {
dat1[6]=0;
dat1[7]++;
}
                else if((dat1[7]>1)&&(dat1[6]>3))               
                  {dat1[7]=0; dat1[6]=0;         }
        }
         if(flag==1)
         {
        alarms[6]++;delay(300);
           if(alarms[6]>9)
           {
alarms[6]=0;alarms[7]++;
                  if(alarms[7]>2)
                  {
alarms[7]=0;
                  }
           }
       dat[6]=alarms[6];
           dat[7]=alarms[7];
         }
   }
   if(tminute==0)
   {
    if(flag==0)
    {
     dat1[3]++;delay(280);
         if(dat[3]>=9)
         {
            dat1[4]++;dat1[3]=0;
                if(dat1[4]>5)
                {
                   dat1[4]=0;
                }
         }
    }
         if(flag==1)
         {
           alarms[3]++;        delay(300);
           if(alarms[3]>9)
           {
alarms[4]++;alarms[3]=0;
                  if(alarms[4]>5)
                  {
alarms[4]=0;
                  }
           }
dat[3]=alarms[3];
dat[4]=alarms[4];
         }
   }
   if(miaobiao1==0)
{TR0=0;ET0=0;TR1=1;ET1=1;
   }
   if(miaobiao2==0)
         {
TR0=1;ET0=1;TR1=0;ET1=0;
           dat2[0]=0;
           dat2[1]=0;
           dat2[3]=0;
           dat2[4]=0;
           dat2[6]=0;
           dat2[7]=0;
           ms=0;
           sec=0;
           minit=0;
         }
         if(P1_5==0)
         {
        TR0=0;ET0=0;TR1=0;ET1=0;
         }
        if(alarm==0)
        {
        TR0=0;ET0=0;TR1=0;ET1=0;flag=1;
    dat[0]=0;
    dat[1]=0;
        dat[2]=10;
    dat[3]=0;
        dat[4]=0;
        dat[5]=10;
        dat[6]=0;
        dat[7]=0;
    }
   EA=1;
}/*按鍵掃描*/
void init(void)
{
TMOD = 0x11;
        TH0 = 0xDB;
        TL0 =0xFF;
        TH1=0xDB;
        TL1=0xFF;
    ET0 = 1;                           //10ms
        ET1=1;
//        TR1=1;
    TR0=1;
    tcount=0;
        ms=0;
        sec=0;
        minit=0;
        EA = 1;
}/*初始化*/
void test(void){
for(k=0;k<8;k++)
        {
P3=dis_bit[k];
P2=SEG7[dat[k]]; delay(1);
P3=0X00;
        }
   }/*數(shù)字顯示*/
void main()
   {init();
    delay(10);
    while(1)
      {
modify();
       test();
      }
}/*主函數(shù)*/
Void diplay() interrupt 1
{  
   ET0=0;
   TR0=0;
   TH0 = 0xDB;
   TL0 = 0xff;
   TR0=1;
   tcount++;
   if(tcount==100)
   {
    time1.second++;
    tcount=0;
        dat1[0]=(time1.second)%10;
        dat1[1]=(time1.second)/10;
   }
   if(time1.second==60)
   {         dat1[0]=0;        dat1[1]=0;
     time1.second=0;
     time1.minute++;
    dat1[3]=(time1.minute)%10;
        dat1[4]=(time1.minute)/10;
   }
   if(time1.minute==60)
   {
     time1.minute=0;
     time1.hour++;
   dat1[6]=time1.hour%10;
        dat1[7]=time1.hour/10;
   }
  if(time1.hour>23)
   {
     time1.hour=0;
   }
   dat[5]=10;
   dat[2]=10;
   dat[0]=dat1[0];
   dat[1]=dat1[1];
   dat[3]=dat1[3];
   dat[4]=dat1[4];
   dat[6]=dat1[6];
   dat[7]=dat1[7];
   flag=0;
   P0=0x01;
if((alarms[7]==dat1[7])&&(alarms[6]==dat1[6])&&(alarms[4]==dat1[4])&&(alarms[3]==dat1[3])&&(dat1[1]<1))
   {
      P0=0x00;
   }
        ET0=1;
}
void time_2(void)interrupt 3
{
   EA=0;
   TR0=0;
   TH1=0xDB;
   TL1=0xFF;
   TR1=1;
   ms++;
   dat2[0]=ms%10;
   dat2[1]=ms/10;
   if(ms>=100)
   {
     ms=0;
     sec++;
     dat2[3]=sec%10;
     dat2[4]=sec/10;
     if(sec>=60)
        {
                 sec=0;
         minit++;
       dat2[6]=minit%10;
       dat2[7]=minit/10;
         }
   }
   dat[5]=10;
   dat[2]=10;
   dat[0]=dat2[0];
   dat[1]=dat2[1];
   dat[3]=dat2[3];
   dat[4]=dat2[4];
   dat[6]=dat2[6];
   dat[7]=dat2[7];
   EA=1;

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线精品一区二区 | 午夜精品一区二区三区在线视频 | 国产精品一区二区不卡 | 亚洲精品久久久久久久久久吃药 | 国产精品日日摸夜夜添夜夜av | 国产精品免费一区二区 | 国产激情一区二区三区 | 五月天国产视频 | 91精品国产乱码久久久久久久久 | 九九热免费视频在线观看 | 中文字幕亚洲精品 | 天天干天天干 | 国产精品揄拍一区二区 | 97中文视频 | 国产精品嫩草影院精东 | 国产精品久久久久久婷婷天堂 | 久草在线中文888 | 成人精品国产一区二区4080 | 国产男女精品 | 亚洲成年在线 | 日韩在线电影 | 国产欧美日韩一区 | 国产精品99久久久久久动医院 | 亚洲国产精品久久 | 久久精品视频91 | 久久一区二区三区四区 | 日韩av成人 | 综合九九 | 国产在线一区观看 | 国产精品国产成人国产三级 | 日韩欧美在线不卡 | 99久久久国产精品 | 精品国产一区二区三区免费 | 亚洲日韩视频 | 久久久久一区二区三区四区 | 久久久久中文字幕 | 欧美成年黄网站色视频 | 高清av电影 | 欧美日韩综合视频 | 久久国产精品久久久久久久久久 | 在线免费观看黄色 |