久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機實驗二電子鐘設計

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

第一篇:單片機實驗二電子鐘設計

單片機實驗二:電子鐘設計

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

2、提升部分:①帶有鬧鐘功能,能夠根據需要定時,②能夠測量并顯示當前環境的溫度,

第二篇:單片機課程設計電子鐘設計

單片機課程設計電子鐘設計

目錄

一、摘要

二、設計任務

三、基本原理

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

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

四、編程算法思路

五、程序流程圖

六、硬件單元設計

七、軟件單元設計

八、調試結果分析

九、設計總結及心得體會

十、參考文獻

一設計任務

1、基本任務:利用定時器/計數器中斷和靜態顯示或動態顯示,實現電子時鐘的時分秒精確走時和校準

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

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

2、功能增強型任務:在基本任務的基礎上加上日歷功能、準時報時功能和跑表功能

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

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

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

(3)跑表功能:再增加一個按鍵K5設計跑表功能,實現啟動毫秒計數,相當與田徑運動比賽的跑

表工作。

三基本原理

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

四編程算法思路

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

2、按鍵的控制:KEY1控制時的調節,kEY2控制分的調節,KEY3控制時、分定型

3、中斷服務程序的設計:中斷服務程序主要功能是實現時、分、秒的計時處理。

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

5、顯示子程序:采用數碼管靜態顯示來顯示時鐘的走動

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

五程序流程圖

六硬件單元設計

1、電路總設計圖

2、AT89C51芯片

七軟件單元設計

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

30H秒顯示單元,31H分顯示單元,32H時顯示單元,08H放分調整標

志,09H放時調整標志,0AH放閃爍標志

2、程序清單(加注釋)

八調試結果分析

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

九設計總結及心得體會

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

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

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

十參考文獻

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

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

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

【4】何立民,I2C總線應用系統設計。北京:北京航空航天大學出版社,2002

【5】周航慈,朱兆優,李躍忠。智能儀器原理與設計。北京:北航大學出版社,2005

第三篇:單片機課程設計電子鐘

課程設計任務書

(指導教師填寫)

課程設計名稱電子技術課程設計學生姓名專業班級設計題目數字鐘

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

目的:培養學生綜合運用所學知識的能力,綜合設計能力,培養動手能力及分析問題、解決問題的能力。

二、設計內容、技術條件和要求

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

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

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

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

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

6.對原理圖進行仿真。

7.在實驗箱上組裝、調試。

8.撰寫設計總結報告。

三、時間進度安排

第一周:理論設計。

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

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

周五交設計初稿,由指導教師審查;

第二周:仿真和安裝調試、撰寫設計總結報告

周一、二學生進實驗室做仿真實驗,并根據實驗情況修正設計圖;

周三至周五做插接線實驗,最后根據實驗情況總結、撰寫設計說明書。

四、主要參考文獻

1.各種版本的數字電子技術基礎教材

2.各種版本的電子技術課程設計指導書

3.集成電路手冊

指導教師簽字:年月日

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

單片機課程設計

題目

專業 通信工程 班級 11級1班 學號 姓名

電 子 鐘 設 計

單片機原理與應用課程設計

電子鐘設計

功能要求:

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

2、實現秒表功能。

功能描述

(1)

時鐘。初始界面是時鐘顯示,按鍵S1是調時選位,按鍵S2是加數。根據不同的閃爍位置進行調節。

(2)

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

(3)

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

(4)

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

工作原理 ? 硬件

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

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

(2)

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

(3)

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

? 軟件

程序代碼包括三部分:1.bujian(部件庫)2.main(主函數)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;

//數碼管秒個位

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

//消隱

P0=t[s/10];

//消隱 //數碼管秒十位

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;

數碼管分個位 //消隱

//數碼管分十位

//消隱

數碼管時個位

消隱

//數碼管時十位

//消隱

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;

//數碼管“---”

//消隱

P0=0xff;

//數碼管“---”

(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(主函數)(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;

//關閉流水燈

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程序設計(趙文博)感想: 這次課程設計整體來說是成功的,但我也發現了自己許多錯漏和不足之處。譬如,最簡單的程序沒寫好就想著寫更復雜的程序,做事還是缺乏耐性和細心,當有時遇到問題時,總覺得無從下手,對于課本上的知識不能很好的組織起來。在編寫各功能程序時,特別是后來增添的比較復雜的程序

第五篇:單片機電子鐘設計任務書.

目 錄

一、課程設計的主要內容和要求 ……………………………………………… 1

二、實現原理等知識的介紹 …………………………………………………… 2 2.1電子時鐘的設計

2.2單片機識的相關知識

三、系統的總體方案設計說明;3.1總體設計方案 3.2總設計原理框圖

四、具體實現步驟的設計說明;

五、單片機系統程序的編制;

六、測量過程的操作說明,原始測量數據的記錄;

七、結論及存在問題;

八、心得體會總結;

九、參考文獻。

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

2.2單片機的相關知識 1單片機簡介

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

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

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

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

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

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

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

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

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

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

2.2.4數碼管顯示工作原理

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

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

三、系統的總體方案設計說明 3.1總體設計方案

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

3.2總設計原理框圖如下圖所示:

四、具體實現步驟的設計說明 4.1 電路設計原理說明

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

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

按鍵模塊如圖所示。

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

2單片機的復位電路

單片機的復位電路 , 如圖所示。

圖單片機的復位電路

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

3單片機的晶振電路

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

圖 單片機的晶振電路

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

4發聲模塊

發聲模塊,如圖所示。

圖 發聲指示模塊

發聲模塊由蜂鳴器、電源、8550三極管、限流電阻組成。蜂鳴器由 PNP 三 極管驅動,當 BZ 管腳為高時,三極管 be 級沒電壓差,三極管截止;反之,三極 管導通,有電流流經蜂鳴器,蜂鳴器發聲。

5時間顯示模塊

時間顯示模塊如圖所示。

圖 時間顯示模塊

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

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

五、單片機系統程序的編制 5.1程序設計 ORG 0000H LJMP START;轉初始化 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;清顯示緩沖區

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 程序流程圖

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

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

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

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

文檔為doc格式


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

相關范文推薦

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

    基于單片機的電子鐘設計一、 設計題目基于單片機的電子鐘設計。二、 設計目的1.鞏固《單片機技術》課程所學的有關知識。 2.通過硬件設計、軟件設計,使學生掌握用單片機組成應......

    單片機課程論文設計-電子鐘課程設計

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

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

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

    單片機電子鐘實習報告

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

    單片機實驗二實驗報告

    實驗報告 課程名稱:微機原理與接口技術指導老師:李素敏學生姓名: 學號: 專業: 自動化日期:2014-04-10 地點:理工樓603 實驗二1. 實驗目的和要求 ① 掌握keil軟件和STC-ISP 軟件的......

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

    單片機原理及應用設計課程設計報告 課題名稱:多功能電子鐘設計 姓 名: 學 號: 班 級: 指導老師:2017年6月13日 目錄 一、設計任務..................................................

    單片機實驗

    實驗一、MCS51單片機基本開發環境 1. 實驗目的: 1) 熟悉軟件的集成開發環境 2) 掌握單片機軟件設計流程 3) 掌握單片機存貯器結構及各窗口之間的聯系 2. 實驗內容: 1) 用三種方......

    單片機實驗

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

主站蜘蛛池模板: 国产成人精品综合久久久久| 波多野无码中文字幕av专区| 久99久热只有精品国产15| 色五月激情五月| 亚洲图片综合图区20p| 爽爽影院免费观看| 天天爱天天做天天添天天欢| 99r在线精品视频在线播放| 免费看国产曰批40分钟| 日韩亚洲欧美精品综合| 欧美人与动性xxxxx杂性| 久久亚洲国产精品123区| 国产成人精品永久免费视频| 97狠狠狠狼鲁亚洲综合网| 亚洲高请码在线精品av| 精品视频无码一区二区三区| 精品国精品国产自在久国产应用| 国产精品情侣呻吟对白视频| 国产成人精品午夜二三区波多野| 欧美做受三级级视频播放| 人妻 色综合网站| 国产在线无遮挡免费观看| 无码精品人妻一区二区三区中| 无码毛片一区二区本码视频| 亚洲综合另类小说色区色噜噜| 国产亚洲综合区成人国产系列| 99噜噜噜在线播放| 无码人妻久久一区二区三区不卡| 亚洲欧美国产成人综合欲网| 亚洲美女又黄又爽在线观看| 亚洲精品无码久久毛片波多野吉衣| 日本乱人伦aⅴ精品潮喷| 久久精品无码一区二区无码| 少妇粉嫩小泬喷水视频www| 亚洲 日本 欧美 中文幕| 综合欧美丁香五月激情| 天堂av无码av一区二区三区| 欧美日韩亚洲国内综合网38c38| 无套中出丰满人妻无码| 亚洲国产精品久久人人爱| 欧美人做人爱a全程免费|