欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機實驗二電子鐘設(shè)計

      時間:2019-05-13 12:48:35下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《單片機實驗二電子鐘設(shè)計》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《單片機實驗二電子鐘設(shè)計》。

      第一篇:單片機實驗二電子鐘設(shè)計

      單片機實驗二:電子鐘設(shè)計

      1、基礎(chǔ)部分:電子鐘能夠直觀、人性化顯示:時間、日期、星期,能夠按鍵校時,用獨立的LED燈做流水燈裝飾。

      2、提升部分:①帶有鬧鐘功能,能夠根據(jù)需要定時,②能夠測量并顯示當(dāng)前環(huán)境的溫度,

      第二篇:單片機課程設(shè)計電子鐘設(shè)計

      單片機課程設(shè)計電子鐘設(shè)計

      目錄

      一、摘要

      二、設(shè)計任務(wù)

      三、基本原理

      數(shù)碼管顯示可以用靜態(tài)顯示或動態(tài)顯示方法。靜態(tài)顯示需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時鐘顯示用四個數(shù)碼管。動態(tài)顯示相對簡單,但需動態(tài)掃描,掃描頻率要大于人視覺暫留頻率,信息看起來才穩(wěn)定。譯碼方式可分為軟件譯碼和硬件譯碼,軟件譯碼通過譯碼程序查的顯示信息的字段碼;硬件譯碼通過硬件譯碼器得到顯示信息的字段碼,實際中通常采用軟件譯碼。

      在具體處理時,定時器計數(shù)器采用中斷方式工作,對時鐘的形成在中斷服務(wù)程序中實現(xiàn)。在主程序中只需對定時器計數(shù)器初始化、調(diào)用顯示子程序和控制子程序。另外,為了使用便,設(shè)計了簡單的按鍵,可以通過按鍵實現(xiàn)時、分的調(diào)整,這樣在主程序中就加入了按鍵設(shè)置子程序。

      四、編程算法思路

      五、程序流程圖

      六、硬件單元設(shè)計

      七、軟件單元設(shè)計

      八、調(diào)試結(jié)果分析

      九、設(shè)計總結(jié)及心得體會

      十、參考文獻

      一設(shè)計任務(wù)

      1、基本任務(wù):利用定時器/計數(shù)器中斷和靜態(tài)顯示或動態(tài)顯示,實現(xiàn)電子時鐘的時分秒精確走時和校準(zhǔn)

      。時間顯示用四個數(shù)碼管分別顯示時、分、秒用點表示,在時和分的中間閃動,時間顯示格式(18:49)

      時間校準(zhǔn)用2個鍵實現(xiàn):一個鍵K1作移位選擇(選中要修改的位,選中的位用閃爍指示),一個鍵K2做加1(對選中的位進行加1修改)。

      2、功能增強型任務(wù):在基本任務(wù)的基礎(chǔ)上加上日歷功能、準(zhǔn)時報時功能和跑表功能

      (1)日歷功能:能實現(xiàn)時、分、秒和年、月、日計時,增加1個按鍵控制分3屏例如顯開始的第1屏默認顯示“時、分、秒”四位+秒點,按下K3鍵顯示“月和日”四位,再按下課K3鍵顯示“年份”四位,再按下K3鍵顯示“時、分、秒”,依次類推。程序要能處理閏年、閏月功能。

      (2)準(zhǔn)點報時功能:可以在增加一個按鍵K4設(shè)計具有鬧鐘功能,實現(xiàn)定點報時。具體操作是:按下

      K4鍵,進入鬧鐘設(shè)置功能,再通過K1、K2鍵來完成定點報警時間的設(shè)置。

      (3)跑表功能:再增加一個按鍵K5設(shè)計跑表功能,實現(xiàn)啟動毫秒計數(shù),相當(dāng)與田徑運動比賽的跑

      表工作。

      三基本原理

      軟件時鐘時利用單片機內(nèi)部的定時器/計數(shù)器來實現(xiàn)的,它的過程如下:首先定單片機內(nèi)部的一個定時器/計數(shù)器工作于定時方式,對機器周期形成基準(zhǔn)時間,然后用另一個定時器/計數(shù)器或軟件計數(shù)的方法對基準(zhǔn)時間計數(shù)形成秒,秒計60次形成分,分計60次形成小時,小時計24次則計滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。

      四編程算法思路

      1、主程序的設(shè)計:串行口工作方式0,定時器/計數(shù)器1工作在方式1進行初始化,然后通過循環(huán)(調(diào)用顯示子程序)等待定時中斷的到來。

      2、按鍵的控制:KEY1控制時的調(diào)節(jié),kEY2控制分的調(diào)節(jié),KEY3控制時、分定型

      3、中斷服務(wù)程序的設(shè)計:中斷服務(wù)程序主要功能是實現(xiàn)時、分、秒的計時處理。

      4、時、分、秒計時的實現(xiàn):秒計時時采用中斷方式進行溢出次數(shù)的累計得到的。從秒到分,從分到時可通過軟件的累加和比較到位方法來實現(xiàn)。要求每滿1秒,則“秒”單元中的內(nèi)容加1;“秒”單元每滿60,則“秒”單元清0,同時“分”單元中的內(nèi)容加1;“分”單元每滿60,則“分”單元清0,同時“時”單元加1?!皶r”單元每滿24,則將“時”單元清0。

      5、顯示子程序:采用數(shù)碼管靜態(tài)顯示來顯示時鐘的走動

      6,延時子程序:用來實現(xiàn)按鍵操控延時和實現(xiàn)整點12時報時

      五程序流程圖

      六硬件單元設(shè)計

      1、電路總設(shè)計圖

      2、AT89C51芯片

      七軟件單元設(shè)計

      1、資源分配:定時器T1,P1.6為調(diào)整時鐘,P1.5為調(diào)整分鐘,P1.4為控制調(diào)整

      30H秒顯示單元,31H分顯示單元,32H時顯示單元,08H放分調(diào)整標(biāo)

      志,09H放時調(diào)整標(biāo)志,0AH放閃爍標(biāo)志

      2、程序清單(加注釋)

      八調(diào)試結(jié)果分析

      在實驗操作過程中,將所寫好的程序打入計算機內(nèi),通過編譯檢查其是否有錯誤,如有錯誤將其改正,直至無誤后下載仿真器,實現(xiàn)運行。觀察實驗箱上的數(shù)碼管顯示,判斷其是否為所需結(jié)果,如果與所要求的有差別,需繼續(xù)調(diào)試,重新修改程序,檢查硬件設(shè)施不斷地調(diào)試,不斷地檢查直至得到所要的結(jié)果。在調(diào)試過程中,開始運行時能夠?qū)崿F(xiàn)時鐘的顯示,但是無法實現(xiàn)其閃爍功能,后經(jīng)不斷調(diào)試修改及同學(xué)的幫助最終實現(xiàn)該功能,能夠達到時鐘顯示調(diào)節(jié)的基本要求,還可以實現(xiàn)整點報時。但在增加其功能顯示年月時又出現(xiàn)一定的問題,未能實現(xiàn)該功能,程序存在一定的不足性,需繼續(xù)完善,實現(xiàn)更多的功能

      九設(shè)計總結(jié)及心得體會

      經(jīng)過兩天的單片機課程設(shè)計,終于完成了我的電子時鐘的設(shè)計,雖然沒有完全達到設(shè)計要求,但從心底里說,還是高興的,畢竟這次設(shè)計把一些基本功能都做了出來,只是一些增強型功能未能實現(xiàn)。

      在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過一些實驗但這次設(shè)計真的讓我長進了很多單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,要有通篇的全局思想考慮問題。在操作的過程中,出現(xiàn)許多錯誤,都是在連接處不能夠上下連貫正確運行,還需繼續(xù)努力。有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。

      從這次的課程設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在課程設(shè)計中的最大收獲,同時,要把所學(xué)只是靈活應(yīng)用才能真正領(lǐng)悟其中的意義,加深對它的理解與掌握。還有,通過此次的操作也使我的實踐操作能力得到了進一步的提高。

      十參考文獻

      【1】張毅剛,彭喜元,董繼成。單片機原理及應(yīng)用。北京:高等教育出版社,2003

      【2】周航慈。單片機應(yīng)用程序設(shè)計技術(shù)(修訂版)。北京:北京航空航天大學(xué)出版社,2002

      【3】萬光毅等。單片機實驗與實踐教程。北京:北京航空航天大學(xué)出版社,2003

      【4】何立民,I2C總線應(yīng)用系統(tǒng)設(shè)計。北京:北京航空航天大學(xué)出版社,2002

      【5】周航慈,朱兆優(yōu),李躍忠。智能儀器原理與設(shè)計。北京:北航大學(xué)出版社,2005

      第三篇:單片機課程設(shè)計電子鐘

      課程設(shè)計任務(wù)書

      (指導(dǎo)教師填寫)

      課程設(shè)計名稱電子技術(shù)課程設(shè)計學(xué)生姓名專業(yè)班級設(shè)計題目數(shù)字鐘

      一、課程設(shè)計的任務(wù)和目的任務(wù):設(shè)計一臺能顯示“時”、“分”、“秒”的數(shù)字鐘,周期為24小時;具有校時、正點報時功能。

      目的:培養(yǎng)學(xué)生綜合運用所學(xué)知識的能力,綜合設(shè)計能力,培養(yǎng)動手能力及分析問題、解決問題的能力。

      二、設(shè)計內(nèi)容、技術(shù)條件和要求

      1.數(shù)字鐘可顯示“時”、“分”、“秒”,且“時”、“分”、“秒”分別用兩個數(shù)碼管顯示,計滿23小時60分鐘60秒,則全部清零。

      2.具有校時功能,時、分校時用1HZ的信號進行,而秒較時用2HZ時鐘信號進行。

      3.整點能自動報時。要求報時聲響為四低一高,最后一響為整點,前四聲用500HZ信號讓喇叭發(fā)聲,最后一聲用1000HZ信號。

      4.根據(jù)上述要求,畫出電路總框圖,簡述各部分工作原理。

      5.進行各部分電路的設(shè)計,要求有分析過程、原理圖表示。

      6.對原理圖進行仿真。

      7.在實驗箱上組裝、調(diào)試。

      8.撰寫設(shè)計總結(jié)報告。

      三、時間進度安排

      第一周:理論設(shè)計。

      周一上午布置設(shè)計任務(wù),講解設(shè)計要求,安排答疑、實驗時間;

      周三、周四下午課程設(shè)計答疑,其他時間學(xué)生查資料,做初步理論設(shè)計;

      周五交設(shè)計初稿,由指導(dǎo)教師審查;

      第二周:仿真和安裝調(diào)試、撰寫設(shè)計總結(jié)報告

      周一、二學(xué)生進實驗室做仿真實驗,并根據(jù)實驗情況修正設(shè)計圖;

      周三至周五做插接線實驗,最后根據(jù)實驗情況總結(jié)、撰寫設(shè)計說明書。

      四、主要參考文獻

      1.各種版本的數(shù)字電子技術(shù)基礎(chǔ)教材

      2.各種版本的電子技術(shù)課程設(shè)計指導(dǎo)書

      3.集成電路手冊

      指導(dǎo)教師簽字:年月日

      第四篇:單片機課程設(shè)計-電子鐘-完整

      單片機課程設(shè)計

      題目

      專業(yè) 通信工程 班級 11級1班 學(xué)號 姓名

      電 子 鐘 設(shè) 計

      單片機原理與應(yīng)用課程設(shè)計

      電子鐘設(shè)計

      功能要求:

      1、設(shè)計一個電子時鐘,要求可以顯示時、分、秒,用戶可以設(shè)置時間。

      2、實現(xiàn)秒表功能。

      功能描述

      (1)

      時鐘。初始界面是時鐘顯示,按鍵S1是調(diào)時選位,按鍵S2是加數(shù)。根據(jù)不同的閃爍位置進行調(diào)節(jié)。

      (2)

      年與日,星期。在初始狀態(tài)下,按下S2,則跳轉(zhuǎn),顯示年月日,5S后跳回初始界面。若在年月日界面再次按下S2,則再次跳轉(zhuǎn),顯示星期,幾秒后跳轉(zhuǎn)回初始界面。

      (3)

      秒表。在初始界面下,按下S3,則跳轉(zhuǎn),進入秒表。秒表功能鍵如下:S1 退出秒表;S2 停止開始計時;S3 秒表清零。

      (4)

      鬧鐘。在設(shè)置中設(shè)置好時間,最高位設(shè)為“1”則打開鬧鐘。最高位設(shè)為“0”則關(guān)閉鬧鐘。在鬧鐘響是,按S3進行關(guān)鬧鐘。

      工作原理 ? 硬件

      采用80C51系列單片機作為CPU,P0口作為數(shù)據(jù)線,通過鎖存器進行段選和位選,是數(shù)碼管不斷地顯示數(shù)字。數(shù)碼管的顯示是掃描式。(1)

      本電子鐘用的單片機型號是STC89C516RD+。P0口作為段選和位選的數(shù)據(jù)線。P10口為段選寄存器的使能端。P11口為位選寄存器的使能端。晶振采用的12MHz晶振。要求頻率穩(wěn)定。

      (2)

      本電子鐘用的是共陰極數(shù)碼管。從左到右,第1,2位是秒位;第4,5位是分位;第7,8位是時位。第3,6位是“--”。

      (3)

      通過單片機的P0口,先對數(shù)碼管進行位選,即在位鎖存器使能是將P0口數(shù)據(jù)進行鎖存。再通過段鎖存器將P0口送來的段數(shù)據(jù)進行鎖存。此時數(shù)碼管的第一位顯示數(shù)字。同樣的步驟進行第二位顯示。以非??斓乃俣冗M行,由于人眼的余輝效應(yīng),會看到8位數(shù)碼管一起亮。即可以顯示時間。通過單片機的內(nèi)部TO,T1的計數(shù)。即可以實現(xiàn)時鐘,秒表等功能。(4)電路圖如下:

      ? 軟件

      程序代碼包括三部分:1.bujian(部件庫)2.main(主函數(shù))3.H(頭文件庫)。一 .bujian(部件庫)(1)xianshi.c #include #include #define m 2 Unsigned char code t[]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void led_s(unsigned int s){ p10=1;p10=0;p11=1;P0=0x7f;

      //數(shù)碼管秒個位

      P0=t[s%10];p11=0;P0=0xff;delay(m);p10=1;p10=0;p11=1;P0=0xbf;p11=0;

      //消隱

      P0=t[s/10];

      //消隱 //數(shù)碼管秒十位

      P0=0xff;delay(m);} void led_f(unsigned int s){ p10=1;// P0=t[s%10];p10=0;p11=1;P0=0xef;

      p11=0;

      P0=0xff;delay(m);p10=1;

      P0=t[s/10];p10=0;p11=1;P0=0xf7;p11=0;

      P0=0xff;delay(m);} void led_h(unsigned int s){

      // p10=1;P0=t[s%10];p10=0;p11=1;P0=0xfd;

      p11=0;// P0=0xff;delay(m);p10=1;

      P0=t[s/10];p10=0;p11=1;P0=0xfe;p11=0;

      數(shù)碼管分個位 //消隱

      //數(shù)碼管分十位

      //消隱

      數(shù)碼管時個位

      消隱

      //數(shù)碼管時十位

      //消隱

      P0=0xff;delay(m);}

      void line(void){ p10=1;P0=0x40;p10=0;p11=1;P0=0xfb;delay(m);p11=0;

      p10=1;P0=0x40;p10=0;p11=1;P0=0xdf;p11=0;delay(m);}

      //消隱

      P0=0xff;

      //數(shù)碼管“---”

      //消隱

      P0=0xff;

      //數(shù)碼管“---”

      (2)miaobiao.c #include #include

      #include extern mms,ms,mf,ss;void miaobiao(void){ TR1=1;while(1){ led_s(mms);led_f(ms);line();led_h(mf);if(s2==0){ while(!s2){led_s(mms);led_f(ms);line();led_h(mf);} if(ss==1){TR1=0;ss=!ss;}else {TR1=1;ss=!ss;} } if(s1==0){ while(!s1){led_s(mms);led_f(ms);line();led_h(mf);} TR1=0;break;} if(s3==0)

      { while(!s3){led_s(mms);led_f(ms);line();led_h(mf);} TR1=0;mms=0;ms=0;mf=0;} } }

      (3)Delay.c #include

      void delay(unsigned int a)

      { unsigned char l;

      while(a--)

      {for(l=0;l<100;l++);} }

      (4)gongneng.c #include

      #include #include extern h,f,s,n,y,r,nian,xing;extern ns,nf,nh;void gongneng(){ unsigned int aa=0,shanshuo=0,x=1,bb;

      if(s2==0){ delay(3);if(s2==0)while(!s2){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);}

      // while(1){ led_s(r);delay(2);led_f(y);delay(2);line();led_h(nian);delay(2);aa++;if(s2==0)

      { while(!s2)

      {

      led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);}

      //星期顯示

      while(1)

      {led_f(xing);delay(2);

      bb++;

      if(bb==100){bb=0;break;}

      日期顯示 }

      }

      if(aa==100)

      line();led_f(y);delay(1);led_h(nian);delay(1);

      } } if(s1==0){ delay(3);if(s1==0){

      switch(x){ case 1 : if(shanshuo==1){led_s(s);} line();led_f(f);delay(2);led_h(h);delay(2);break;case 2 :led_s(s);if(shanshuo==1){led_f(f);} delay(2);line();led_h(h);delay(2);break;case 3 : led_s(s);led_f(f);delay(2);line();if(shanshuo==1){led_h(h);} delay(2);break;case 4 : if(shanshuo==1){led_s(r);} led_f(y);delay(2);line();led_h(nian);delay(2);break;case 5 : led_s(r);if(shanshuo==1){led_f(y);} delay(2);line();led_h(nian);delay(2);break;case 6 :led_s(r);led_f(y);delay(2);line();if(shanshuo==1){led_h(nian);} delay(2);break;case 7 :if(shanshuo==1){led_f(xing);delay(5);} break;case 8 :if(shanshuo==1){led_s(nf);} line();led_f(nh);delay(2);led_h(ns);delay(2);break;case 9 :led_s(nf);if(shanshuo==1){led_f(nh);} delay(2);line();led_h(ns);delay(2);break;case 10:led_s(nf);led_f(nh);delay(2);line();if(shanshuo==1){led_h(ns);} delay(2);break;default : break;}

      aa++;if(s2==0){ while(!s2){if(x==1||x==2||x==3){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);} if(x==4||x==5||x==6){ led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);} if(x==7){ led_f(xing);} if(x==8||x==9||x==10){led_s(nf);led_f(nh);delay(2);line();led_h(ns);delay(2);} }

      switch(x)

      { case 1 : s++;if(s>59)s=0;break;

      while(!s1);while(1)

      { if(x==1||x==2||x==3)TR0=0;else TR0=1;if(aa==20){shanshuo=!shanshuo;aa=0;}

      { break;} { led_s(r);delay(1);

      } if(s1==0)

      case 2 :

      }

      f++;if(f>59)f=0;break;

      case 3 : h++;if(h>23)h=0;break;case 4 : r++;if(r>31)r=1;break;case 5 : y++;if(y>12)y=1;break;case 6 : case 7 :

      nian++;if(nian>20)nian=10;break;xing++;if(xing>7)xing=1;break;

      case 8 : nf++;if(nf>59)nf=0;break;case 9 : nh++;if(nh>23)nh=0;break;case 10: ns=!ns;break;

      default: break;{while(!s1){if(x==1||x==2||x==3){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);} if(x==4||x==5||x==6){ led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);} if(x==7){ led_f(xing);} if(x==8||x==9||x==10){led_s(nf);led_f(nh);delay(2);line();led_h(ns);delay(2);} }

      x++;if(x>10){ x=0;TR0=1;break;} } } } } } } 二.H(頭文件庫)(1)Delay.h #ifndef _DELAY_H__

      void led_s(unsigned int s);void led_h(unsigned int s);#define _DELAY_H__ void delay(unsigned int a);#endif(2)xianshi.h #ifndef _XIANSHI_H__ #define _XIANSHI_H__

      void led_f(unsigned int s);void line(void);#endif(3)gongneng.h

      #ifndef _DONGNENG_H__ #define _GONGNENG_H__ void gongneng(void);#endif(4)miaobiao.h

      #ifndef _MIAOBIAO_H__ #define _MIAOBIAO_H__ void miaobiao(void);#endif(5)dingyi.h #ifndef _DINGYI_H__ #define _DINGYI_H__ sbit s1=P2^4;

      sbit s2=P2^5;

      sbit s3=P2^6;sbit p10=P1^0;sbit p11=P1^1;sbit p12=P1^2;#endif

      //流水燈使能端 //按鍵1 //按鍵2 //按鍵3 sbit p37=P3^7;//蜂鳴器時能

      三.Main(主函數(shù))(1)main.c #include #include #include #include #include unsigned int h,m,f,s,n,y=10,r=12,nian=13,xing=2,mms,ms,mf;unsigned int ns=0,nf,nh,ll=0;unsigned int ss=1;void main(){ P0=0xff;p12=0;TMOD=0x12;EA=1;

      ET0=1;TH0=6;TR0=1;

      //關(guān)閉流水燈

      ET1=1;TH1=(65535-5000)/256;TL1=(65535-5000)%256;TR1=0;while(1){ if((s3==0)&&(ns==0)){while(!s3);miaobiao();} if(s1==0||s2==0)gongneng();else { led_s(s);line();led_f(f);line();led_h(h);} if((f==nf)&&(h==nh)&&(ns==1))ll=1;else ll=0;} } void zhongduan(void)interrupt 1 {

      if((ll==1)&&(ns==1))

      { p37=!p37;if((s3==0)&&(ns==1)){ while(!s3)ns=0;p37=1;} } n++;if(n==5000){n=0;s++;if(s==60){ s=0;f++;} if(f==60){ f=0;h++;}

      if(h==24){ h=0;r++;xing++;} switch(r){ case 29 : if(nian/4==0){if(y==2)r=0;} y++;case 31 : if(y==4||y==6||y==9||y==11){ } if(xing>7)xing=1;if(y==13){ y=1;nian++;} } } default : break;

      break;case 30 : if((nian/4)!=0){if(y==2){ r=0;y++;}} break;

      r=0;y++;} break;case 32 : if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){r=0;y++;} break;void zhongduan1(void)interrupt 3

      {

      TH1=(65535-5000)/256;

      m++;TL1=(65535-5000)%256;if(m==2){mms++;m=0;if(mms>=100){ mms=0;ms++;} if(ms==60){ ms=0;mf++;} if(mf==60){ mf=0;} } }

      參考文獻:

      單片機中級教程(第2版)、單片機語言C51程序設(shè)計(趙文博)感想: 這次課程設(shè)計整體來說是成功的,但我也發(fā)現(xiàn)了自己許多錯漏和不足之處。譬如,最簡單的程序沒寫好就想著寫更復(fù)雜的程序,做事還是缺乏耐性和細心,當(dāng)有時遇到問題時,總覺得無從下手,對于課本上的知識不能很好的組織起來。在編寫各功能程序時,特別是后來增添的比較復(fù)雜的程序

      第五篇:單片機電子鐘設(shè)計任務(wù)書.

      目 錄

      一、課程設(shè)計的主要內(nèi)容和要求 ……………………………………………… 1

      二、實現(xiàn)原理等知識的介紹 …………………………………………………… 2 2.1電子時鐘的設(shè)計

      2.2單片機識的相關(guān)知識

      三、系統(tǒng)的總體方案設(shè)計說明;3.1總體設(shè)計方案 3.2總設(shè)計原理框圖

      四、具體實現(xiàn)步驟的設(shè)計說明;

      五、單片機系統(tǒng)程序的編制;

      六、測量過程的操作說明,原始測量數(shù)據(jù)的記錄;

      七、結(jié)論及存在問題;

      八、心得體會總結(jié);

      九、參考文獻。

      一、主要內(nèi)容和要求 主要內(nèi)容:設(shè)計一個數(shù)字式電子鐘,它具有時,分,秒的計時功能,可以 通過鍵盤進行時間設(shè)定, 并且將時間顯示在 LED 數(shù)碼管上。用按鍵設(shè)定時鐘的時、分、秒,用掃描方式動態(tài)顯示。時鐘用定時中斷方式工作,單片機晶體震蕩器頻 率 11.0592Mhz.??蛇x做雙機通信實驗, 實現(xiàn)子母鐘功能, 即由其中一臺做時鐘, 另一臺采集時鐘值并顯示。對于基本題目要求是: 用按鍵設(shè)定時鐘的時、分、秒。要求用 4鍵方式,即選擇、加、減、確認鍵, 選擇鍵用于選擇修改起始時、分、秒值,每按一次,被修改數(shù)碼管順序移動并閃 爍。用 +,鍵修改數(shù)值,確認鍵確定后秒位清零,修改結(jié)束。

      2.2單片機的相關(guān)知識 1單片機簡介

      單片機全稱為單片機微型計算機(Single Chip Microsoftcomputer。從應(yīng)用領(lǐng) 域來看,單片機主要用來控制,所以又稱為微控制器(Microcontroller Unit或 嵌入式控制器。單片機是將計算機的基本部件微型化并集成在一塊芯片上的微型 計算機。單片機的發(fā)展史 3 4位單片機

      1975年,美國德克薩斯儀器公司首次推出 4位單片機 TMS-1000;此后,各 個計算機公司競相推出四位單片機。日本松下公司的 MN1400系列,美國洛 克威爾公司的 PPS/1系列等。四位單片機的主要應(yīng)用領(lǐng)域有:PC 機的輸入裝 置,電池充電器,運動器材,帶液晶顯示的音 /視頻產(chǎn)品控制器,一般家用 電器的控制 8位單片機

      1972年,美國 Intel 公司首先推出 8位微處理器 8008,并于 1976年 9月率 先推出 MCS-48系列單片機。在這以后, 8位單片機紛紛面市。例如,莫斯特克 和仙童公司合作生產(chǎn)的 3870系列, 摩托羅拉公司生產(chǎn)的 6801系列等。隨著集成 電路工藝水平的提高,一些高性能的 8位單片機相繼問世。例如, 1978年摩托 羅拉公司的 MC6801系列及齊洛格公司的 Z8系列, 1979年 NEC 公司的 UPD78XX 系列。這類單片機的尋址能力達 64KB ,片內(nèi) ROM 容量達 4--8KB ,片內(nèi)除帶有并 行 IO口外,還有串行

      IO口,甚至還有 AD轉(zhuǎn)化器功能。8位單片機由于功能 強,被廣泛用于自動化裝置、智能儀器儀表、智能接口、過程控制、通信、家用 電器等各個領(lǐng)域。16位單片機

      1983年以后,集成電路的集成度可達幾十萬只管 /片,各系列 16位單片機 紛紛面市。這一階段的代表產(chǎn)品有 1983年 Intel 公司推出的 MCS-96系列, 1987年 Intel 推出了 80C96,美國國家半導(dǎo)體公司推出的 HPC16040, NEC 公司推出的 783XX 系列等。16位單片機主要用于工業(yè)控制, 智能儀器儀表, 便攜式設(shè)備等場 合。32位單片機

      隨著高新技術(shù)只智能機器人, 光盤驅(qū)動器,激光打印機,圖像與數(shù)據(jù)實時處 理,復(fù)雜實時控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展, 20世紀(jì) 80年代末推出了 32位單片機,如 Motorlora 公司的 MC683XX 系列, Intel 的 80960系列,以及近年來流行的 ARM 系列單片機。32位單片機是單片機的發(fā)展趨勢,隨著技術(shù)的發(fā) 展及開發(fā)成本和產(chǎn)品價格的下降,將會與 8位單片機并駕齊驅(qū)。64位單片機

      近年來, 64位單片機在引擎控制,智能機器人,磁盤控制,語音圖像通信, 算法密集的實時控制場合已有應(yīng)用, 如英國 Inmos 公司的 Transputer T800是高性

      能的 64位單片機。2.2.3單片機的特點

      1單片機的存儲器 ROM 和 RAM 時嚴(yán)格區(qū)分的。ROM 稱為程序存儲器,只存 放程序,固定常數(shù),及數(shù)據(jù)表格。RAM 則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用 戶數(shù)據(jù)。采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機有更強的邏輯控制能 力,特別是單片機具有很強的位處理能力。

      3單片機的 I/O口通常時多功能的。由于單片機芯片上引腳數(shù)目有限,為了 解決實際引腳數(shù)和需要的信號線的矛盾, 采用了引腳功能復(fù)用的方法, 引腳處于 何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。單片機的外部擴展能力很強。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需 求時,均可在外部進行擴展, 與許多通用的微機接口芯片兼容, 給應(yīng)用系統(tǒng)設(shè)計 帶來了很大的方便。

      2.2.4數(shù)碼管顯示工作原理

      LED 數(shù)碼管分共陽極與共陰極兩種,其工作特點是,當(dāng)筆段電極接低電平,公共陽極 接高電平時,相應(yīng)筆段可以發(fā)光。共陰極 LED 數(shù)碼管則與之相反,它是將發(fā)光二極管的陰 極(負極 短接后作為反映出半導(dǎo)體材料的特性。常見管芯材料有磷化鎵(GaP、砷化鎵(GaAs、磷砷化鎵(GaAsP、氮化鎵(GaN等,其中氮化鎵可發(fā)藍光。發(fā)光顏色不僅與管芯材料有關(guān), 還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼 管。其他顏色 LED 數(shù)碼管的光譜曲線形狀與之相似,僅入,值不同。LED 數(shù)碼管的產(chǎn)品中, 以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。

      LED 數(shù)碼管等效于多只具有發(fā)光性能的 PN 結(jié)。當(dāng) PN 結(jié)導(dǎo)通時,依靠少數(shù)載流子的注 人及隨后的復(fù)合而輻射發(fā)光, 其伏安特性與普通二極管相似。在正向?qū)ㄖ? 正向電流近似于零,筆段不發(fā)光。當(dāng)電壓超過開啟電壓時,電流就急劇上升,筆段發(fā)光。因此, LED 數(shù)碼管屬于電流控制型器件,其發(fā)光亮度 L(單位是 cd /m2 與正向電流 IF 有關(guān),用公式表 示:L=KIF即亮度與正向電流成正比。LED 的正向電壓 U ,則與正向電流以及管芯材料有 關(guān)。使用 LED 數(shù)碼管時,工作電流一般選 10mA 左右/段,既保證亮度適中,又不會損壞 器件。

      三、系統(tǒng)的總體方案設(shè)計說明 3.1總體設(shè)計方案

      本次設(shè)計時鐘電路,使用了 ATC89C52單片機芯片控制電路,單片機控制電 路簡單且省去了很多復(fù)雜的線路, 使得電路簡明易懂, 使用鍵盤鍵上的按鍵來調(diào) 整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用匯編程序來控制整 個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:按鍵、芯片、揚聲器、LED 數(shù)碼管即可滿足設(shè)計要求。

      3.2總設(shè)計原理框圖如下圖所示:

      四、具體實現(xiàn)步驟的設(shè)計說明 4.1 電路設(shè)計原理說明

      本設(shè)計電路,硬件部分共由五個模塊組成:按鍵模塊、復(fù)位電路模塊、晶振 電路模塊、發(fā)聲模塊、時間顯示模塊。晶振電路模塊負責(zé)給單片機提供時鐘周期。復(fù)位單路模塊負責(zé)上電后自動復(fù)位,或按鍵后強制復(fù)位。上電后, 由單片機內(nèi)部 定時器計時,同時通過動態(tài)顯示函數(shù)自動將時分秒顯示到數(shù)碼管上。與此同時, 按鍵掃描函數(shù),一直掃描按鍵引腳狀態(tài), 一旦掃描到按鍵被按下, 即進入相應(yīng)的

      功能函數(shù)。4.2各部分電路說明 1按鍵模塊

      按鍵模塊如圖所示。

      在該模塊中, 采用四個按鍵作為電子時鐘的控制輸入, 通過按鍵來實現(xiàn)時鐘 的時間設(shè)置功能。電路中將四個按鍵的一端接公共地,而單片機的 P2口默認為 高電平, 一旦按鍵被按下, 則該按鍵對應(yīng)的額管腳被拉低, 通過軟件掃描按鍵即 可知道用戶所要實現(xiàn)的功能,調(diào)用相應(yīng)的按鍵子程序來完成該操作。

      2單片機的復(fù)位電路

      單片機的復(fù)位電路 , 如圖所示。

      圖單片機的復(fù)位電路

      當(dāng) MCS-5l 系列單片機的復(fù)位引腳 RST(全稱 RESET 出現(xiàn) 2個機器周期以上的 高電平時,單片機就執(zhí)行復(fù)位操作。如果 RST 持續(xù)為高電平,單片機就處于循環(huán) 復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求, 復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或 開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。上電后,保持 RST 一 段高電平時間。

      3單片機的晶振電路

      單片機的晶振電路,如圖所示。

      圖 單片機的晶振電路

      石英晶體也連接在晶振引腳的輸入和輸出之間,等效為一個并聯(lián)諧振回路, 振蕩頻率應(yīng)該是石英晶體的并聯(lián)諧振頻率。晶體旁邊的兩個電容接地, 實際上就 是電容三點式電路的分壓電容 , 接地點就是分壓點。以接地點即分壓點為參考點, 振蕩引腳的輸入和輸出是反相的,但從并聯(lián)諧振回路即石英晶體兩端來看 , 形成 一個正反饋以保證電路持續(xù)振蕩。

      4發(fā)聲模塊

      發(fā)聲模塊,如圖所示。

      圖 發(fā)聲指示模塊

      發(fā)聲模塊由蜂鳴器、電源、8550三極管、限流電阻組成。蜂鳴器由 PNP 三 極管驅(qū)動,當(dāng) BZ 管腳為高時,三極管 be 級沒電壓差,三極管截止;反之,三極 管導(dǎo)通,有電流流經(jīng)蜂鳴器,蜂鳴器發(fā)聲。

      5時間顯示模塊

      時間顯示模塊如圖所示。

      圖 時間顯示模塊

      時間顯示部分的電路也很簡單, 由五個一位的共陰 8段數(shù)碼管、五盞發(fā)光二

      極管組成。在顯示過程中, 單片機將要顯示的數(shù)字傳遞給 89C52芯片, 同時通過 位選選通要顯示的數(shù)碼管。

      五、單片機系統(tǒng)程序的編制 5.1程序設(shè)計 ORG 0000H LJMP START;轉(zhuǎn)初始化 ORG 000BH LJMP PGT0;T0中斷入口 ORG 0033H START: DIS1 EQU 30H DIS2 EQU 31H DIS3 EQU 32H DIS4 EQU 33H DIS5 EQU 34H DIS6 EQU 35H DISXS EQU 36H DISFZ EQU 37H DISMZ EQU 38H

      MS500 EQU 39H K1 BIT P3.2 K2 BIT P3.3 K3 BIT P3.4 K4 BIT P3.5 BDP BIT 01H bd BIT 02H MOV SP,#50H;初始化程序 MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV TMOD,#01H;定時器 T0工作于方式 1 MOV TH0,#4CH;定時器初值 MOV TL0,#05H MOV IE,#82H MOV R3,#10 SETB TR0 MOV DIS1,#00H;清顯示緩沖區(qū)

      MOV DIS2,#00H MOV DIS3,#00H MOV DIS4,#00H MOV DIS5,#00H MOV DISXS,#12;初始化時間為 12:30:00 MOV DISFZ,#30 MOV DISMZ,#0 MOV MS500,#0 MAIN:;主程序 jnb k2,d1 jnb k3,d2 jnb k4,d3 jnb k1,d4 d1: ljmp send d2: ljmp send d3: ljmp send d4: jnb k1,qu1 qu1:lcall sound ajmp god1 k1dd: jb k2,k2dd lcall ys10ms 11

      5.2 程序流程圖

      六、測量過程的操作說明,原始測量數(shù)據(jù)的記錄。6.1 操作說明操作功能說明 功能說明表 按鍵 K1 K2 K3 K4 發(fā)光二極管 功能 當(dāng)按一下 K1,進入調(diào)整小時狀態(tài),再按一下,進入到調(diào)整分 鐘狀態(tài),如此循環(huán) 用來對 小時 和 分鐘 進行加時間(每次加 1)用來對 小時 和 分鐘 進行減時間(每次減 1)確認鍵,退出選中小時或分鐘 對秒數(shù)的十位數(shù)進行記錄,亮一盞燈代表十秒,亮兩盞燈代表 二十秒,如此累推 6.2 原始測量數(shù)據(jù)的記錄 數(shù)據(jù)記錄表 初始值 按一次 K1 按一次 K2 按一次 K3 第二次按 K1 按一次 K2 按一次 K3 按 K4 12.30.0 12.##.# 13.##.# 12.##.# ##.30.# ##.31.# ##.30.# 12.30.0 16

      七、結(jié)論及存在問題 通過用匯編對 K1、K2、K3、K4 的編譯,可以初步實現(xiàn)調(diào)整時鐘時間的功能。但在編譯過程中也遇到不少問題,第一,編譯時有跳出轉(zhuǎn)移范圍的問題,這是由 于判斷語句 JB、JNB 的轉(zhuǎn)移范圍是-128~+127 字節(jié),出現(xiàn)這樣的問題是由于超出 轉(zhuǎn)移范圍。第二,要實現(xiàn)選中小時或者分鐘位上的閃爍,要用到延時和對數(shù)碼管 的顯示效果,但達不到指定目的,數(shù)碼管閃爍的效果不明顯,這是由于延時的時 間不夠長,使得人眼難以看得清。

      八、心得體會總結(jié) 本文介紹的是利用 AT89C51 單片機設(shè)計的有調(diào)時功能的電子時鐘。并詳細說 明了軟件和硬件設(shè)計方法。在設(shè)計過程中可以看出,匯編語言有著其獨特的魅力,它簡單易學(xué),語法錯誤容易糾正;用單片機實現(xiàn)電子時鐘的設(shè)計是比較方便和易 于實現(xiàn)。通過電子時鐘的設(shè)計和制作,加深了對單片機的理解,能夠更熟練地應(yīng)用單 片機實現(xiàn)預(yù)期的功能,對今后的學(xué)習(xí)有很大的幫助。電子時鐘各項功能的實現(xiàn),為自動控制的實現(xiàn)打下了理論基礎(chǔ),獲得了實現(xiàn)方法。當(dāng)然,該電子鐘還有很多不足之處,比如不能定時,不能報時。斷電后不能 只能調(diào)時。在今后的學(xué)習(xí)中還要對此加以研究,九、參考文獻及網(wǎng)站 《單片機原理及其接口技術(shù)》胡漢才 編著 北京 清華大學(xué)出版社 《51 系列單片機及 C51 程序設(shè)計》王建校等 科學(xué)出版社 其它有關(guān)資料 幾個有關(guān)單片機和芯片資料的網(wǎng)站: http://004km.cn http://004km.cn http://004km.cn http://004km.cn http://004km.cn 等及其相關(guān)鏈接 17 http://004km.cn http://004km.cn http://004km.cn/ ………….

      下載單片機實驗二電子鐘設(shè)計word格式文檔
      下載單片機實驗二電子鐘設(shè)計.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        基于單片機的電子鐘設(shè)計[5篇范文]

        基于單片機的電子鐘設(shè)計一、 設(shè)計題目基于單片機的電子鐘設(shè)計。二、 設(shè)計目的1.鞏固《單片機技術(shù)》課程所學(xué)的有關(guān)知識。 2.通過硬件設(shè)計、軟件設(shè)計,使學(xué)生掌握用單片機組成應(yīng)......

        單片機課程論文設(shè)計-電子鐘課程設(shè)計

        單片機課程論文設(shè)計 ——電子鐘 一 課程設(shè)計的主要內(nèi)容 1 設(shè)計思想 1.1硬件設(shè)計思想 1.1.1電路設(shè)計思想 電路原理圖見圖1,由動態(tài)數(shù)碼顯示組成時、分、秒的顯示。把“單片機......

        單片機課程設(shè)計電子鐘源程序[最終定稿]

        ORG0000H LJMPMAIN ORG001BH LJMPLOOP ORG0100H MAIN:MOV21H,#17H MOV22H,#3AH MOV23H,#00H;設(shè)定時間初值 MOV36H,#10 MOV39H,#10 MOVR7,#14H;循環(huán)20次50*20=1000msMOVDPTR,......

        單片機電子鐘實習(xí)報告

        學(xué)院:xxx 班級:自動化xx班 姓名:xxx 學(xué)號:xxx 日期:2013-3-15 單片機LCD1602電子鐘設(shè)計實習(xí)報告 一、引言 1.1設(shè)計的背景及目的 隨著計算機科學(xué)與技術(shù)的飛速發(fā)展,計算機的應(yīng)用已......

        單片機實驗二實驗報告

        實驗報告 課程名稱:微機原理與接口技術(shù)指導(dǎo)老師:李素敏學(xué)生姓名: 學(xué)號: 專業(yè): 自動化日期:2014-04-10 地點:理工樓603 實驗二1. 實驗?zāi)康暮鸵?① 掌握keil軟件和STC-ISP 軟件的......

        多功能電子鐘設(shè)計 單片機課程設(shè)計報告東華理工

        單片機原理及應(yīng)用設(shè)計課程設(shè)計報告 課題名稱:多功能電子鐘設(shè)計 姓 名: 學(xué) 號: 班 級: 指導(dǎo)老師:2017年6月13日 目錄 一、設(shè)計任務(wù)..................................................

        單片機實驗

        實驗一、MCS51單片機基本開發(fā)環(huán)境 1. 實驗?zāi)康模?1) 熟悉軟件的集成開發(fā)環(huán)境 2) 掌握單片機軟件設(shè)計流程 3) 掌握單片機存貯器結(jié)構(gòu)及各窗口之間的聯(lián)系 2. 實驗內(nèi)容: 1) 用三種方......

        單片機實驗

        實驗一清0、移數(shù) 將片內(nèi)20H~2FH及片外0010H~001FH單元清0; 然后將片內(nèi)30H~3FH的數(shù)據(jù)移到片外0000H~000FH中;判斷: 若(30H)≤10,則求其平方存到31H中,并將位00H置1(其它位清0) 若(30H)=1......