單片機(jī)課程設(shè)計(jì)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目:簡(jiǎn)易數(shù)字時(shí)鐘學(xué)生姓名:*學(xué)號(hào):*學(xué)院:*專業(yè)班級(jí):*指導(dǎo)老師:*2014年5月13日摘要:本設(shè)計(jì)采用了STC公司生產(chǎn)的STC89C52RC型單片機(jī)(80C51內(nèi)核)設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng),加上maxim232和usb轉(zhuǎn)RS232線組成的下載電路,以及共陰極4位一體數(shù)碼管和按鍵等外圍電路構(gòu)成了一個(gè)簡(jiǎn)易的數(shù)字鐘,具有顯示年、月、日、時(shí)、分、秒的功能,且年、月、日、時(shí)、分、秒每一個(gè)參數(shù)都可以自行設(shè)置,以實(shí)現(xiàn)時(shí)間的校正,總體來(lái)說(shuō)實(shí)現(xiàn)了一個(gè)數(shù)字時(shí)鐘的應(yīng)有功能。關(guān)鍵詞:80C51系列單片機(jī)、單片機(jī)最小系統(tǒng)、時(shí)鐘定時(shí)、下載電路、4位一體數(shù)碼管顯示1、 設(shè)計(jì)任務(wù)簡(jiǎn)易數(shù)字時(shí)鐘:

2、自制一個(gè)單片機(jī)最小系統(tǒng),包括串口下載、復(fù)位電路,采用內(nèi)部定時(shí)器計(jì)時(shí),或者采用外部時(shí)鐘芯片DS1302,設(shè)計(jì)一個(gè)具有秒、分、日、月、年的數(shù)字時(shí)鐘,采用四位一體數(shù)碼管顯示相關(guān)信息,秒、分顯示一頁(yè),日、月顯示一頁(yè),年顯示一頁(yè)。2、 方案選擇2.1、采用uln2003驅(qū)動(dòng)數(shù)碼管由于單片機(jī)的I/O口的拉電流只有大約1mA左右,不足以提供4-5mA的電流以驅(qū)動(dòng)數(shù)碼管上的led,故需要為數(shù)碼管提供一個(gè)驅(qū)動(dòng)電路,如果采用三極管的話由于數(shù)碼管有7段(實(shí)際是8段,但本設(shè)計(jì)只需要使用7段),需要7個(gè)三極管來(lái)驅(qū)動(dòng),給焊接部分增加了工作量,故可考慮采用ULN2003以給數(shù)碼管提供驅(qū)動(dòng)電流。Uln2003的內(nèi)部原理圖UL

3、N2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅NPN 復(fù)合晶體管組成。該電路的特點(diǎn)如下:3ULN2003 的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。ULN2003 采用DIP16 或SOP16 塑料封裝。ULN2003內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來(lái)驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA

4、,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)動(dòng)電路。 ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,它的輸出端允許通過(guò)電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。ULN2003是一個(gè)非門電路,包含7個(gè)單元,單獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA,9腳可以懸空。比如1腳輸入,16腳輸出,你的負(fù)載接在VCC與16腳之間,不

5、用9腳。ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中。可直接驅(qū)動(dòng)繼電器等負(fù)載。輸入5VTTL電平,輸出可達(dá)500mA/5V。ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。 該電路的特點(diǎn)如下: ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。2.2、直接用單片機(jī)加上拉電

6、阻的P0口驅(qū)動(dòng)數(shù)碼管對(duì)于51單片機(jī)的4個(gè)IO口來(lái)說(shuō)有一個(gè)IO口與其他三個(gè)有點(diǎn)不同,那就是P0口,由于P0口(在作為輸出IO口時(shí))是OC門在最小系統(tǒng)中需要加一個(gè)上拉電阻,由此,可以用P0口作為數(shù)碼管的驅(qū)動(dòng)(可以通過(guò)合理配置上拉電阻的大小以提供足夠的驅(qū)動(dòng)電流)51單片機(jī)的P0口內(nèi)部電路圖由于相對(duì)來(lái)說(shuō)接一個(gè)排阻便宜可靠,且方便,且也足以提供驅(qū)動(dòng)數(shù)碼管的電流,故采用方案2:直接用單片機(jī)加上拉電阻的I/O口驅(qū)動(dòng)數(shù)碼管3、 電路原理圖簡(jiǎn)易數(shù)字鐘原理圖3.1最小系統(tǒng)本設(shè)計(jì)最小系統(tǒng)與一般的51最小系統(tǒng)設(shè)計(jì)保持一致性,晶振電路為12M的晶體振蕩器搭配兩個(gè)30pF的電容組成,復(fù)位電路由5v接一個(gè)開關(guān)與電容并聯(lián)再與

7、電阻串聯(lián)后接地構(gòu)成,下載電路采用的是串口下載,為電腦上連一根usb轉(zhuǎn)串口線,然后串口練到電路上,再通過(guò)max232芯片進(jìn)行電平轉(zhuǎn)換將RS232串口的電平轉(zhuǎn)換為單片機(jī)的5v以進(jìn)行電平匹配。3.2共陰極4位一體數(shù)碼管四位一體數(shù)碼管數(shù)碼管的顯示由段選和位選控制,段選為圖片中的每一位“8”型上的a、b、c、d、e、f、g、h共8段構(gòu)成。位選有4個(gè)引腳,分別對(duì)應(yīng)于數(shù)碼管的4個(gè)位。4、 程序代碼如下:#include<reg52.h>sbit anjian1 = P10;sbit anjian2 = P11;sbit anjian3 = P12;sbit anjian4 = P13;int a

8、njian11;int anjian22;int anjian33;int anjian44;int sec=55;/秒,分,時(shí),日,月,年定義全局變量并裝載初始值int min=37;int hour=8;int day=30;int mon=12;int year=2014;int j=0;/j為秒計(jì)時(shí)變量,T0每計(jì)時(shí)50ms時(shí)j自增1,當(dāng)j=20時(shí)立刻置0,且sec自增1int play=1;/play為顯示變量,當(dāng)為“1”時(shí)顯示“時(shí),分”,為“2”時(shí)顯示“月,日”,為“3”時(shí)顯示“年”,為“0”時(shí)顯示“秒”int led4=0,0,0,0;unsigned char code tabl

9、e =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x76;void delay(void) /延時(shí)10ms unsigned char a,b,c; for(c=1;c>0;c-) for(b=38;b>0;b-) for(a=130;a>0;a-);void main() /定時(shí)器T0用于20分之一秒的定時(shí),定時(shí)器T1用于數(shù)碼管的動(dòng)態(tài)顯示,外部中斷0為調(diào)整時(shí)間,外部中斷1為設(shè)置顯示頁(yè)IE=0x8F;/開總中斷,開定時(shí)T0,開定時(shí)T1,開外部中斷0,開外部中斷

10、1IP=0x00;/設(shè)置中斷優(yōu)先級(jí)均為低優(yōu)先級(jí),默認(rèn)優(yōu)先級(jí)為:調(diào)整時(shí)間定時(shí)設(shè)置顯示頁(yè)IT0=1;IT1=1;TMOD=0x11;/定時(shí)器0工作于工作方式1,定時(shí)工作方式,由運(yùn)行控制位TR1啟動(dòng)定時(shí)器;定時(shí)器1工作于工作方式1,定時(shí)工作方式,由運(yùn)行控制位TR1啟動(dòng)定時(shí)器P2=0Xfd; TH0 = 0x3C; TL0 = 0xB0;TH1=0xD8;TL1=0xF0;TR0=1;TR1=1;for(;)switch(play)case 1 :if(anjian1=0) delay();if(anjian1=0)anjian11=anjian1;if(anjian1 & !anjian11

11、)hour+; else if(anjian2=0) delay();if(anjian2=0)anjian22=anjian2;if(anjian2 & !anjian22)hour-; else if(anjian3=0)delay();if(anjian3=0)anjian33=anjian3;if(anjian3 & !anjian33)min+;else if(anjian4=0)delay();if(anjian4=0)anjian44=anjian4;if(anjian4 & !anjian44)min-; break;case 2 :if(anjian1

12、=0) delay();if(anjian1=0)anjian11=anjian1;if(anjian1 & !anjian11)mon+; else if(anjian2=0) delay();if(anjian2=0)anjian22=anjian2;if(anjian2 & !anjian22)mon-; else if(anjian3=0)delay();if(anjian3=0)anjian33=anjian3;if(anjian3 & !anjian33)day+;else if(anjian4=0)delay();if(anjian4=0)anjian44

13、=anjian4;if(anjian4 & !anjian44)day-; break;case 3 :if(anjian1=0) delay();if(anjian1=0)anjian11=anjian1;if(anjian1 & !anjian11)year+; else if(anjian2=0) delay();if(anjian2=0)anjian22=anjian2;if(anjian2 & !anjian22)year-; else if(anjian3=0)delay();if(anjian3=0)anjian33=anjian3;if(anjian3

14、& !anjian33)year+;else if(anjian4=0)delay();if(anjian4=0)anjian44=anjian4;if(anjian4 & !anjian44)year-; break;case 0 :if(anjian1=0) delay();if(anjian1=0)anjian11=anjian1;if(anjian1 & !anjian11)sec+; else if(anjian2=0) delay();if(anjian2=0)anjian22=anjian2;if(anjian2 & !anjian22)sec-;

15、 else if(anjian3=0)delay();if(anjian3=0)anjian33=anjian3;if(anjian3 & !anjian33)sec+;else if(anjian4=0)delay();if(anjian4=0)anjian44=anjian4;if(anjian4 & !anjian44)sec-; break; switch(play)case 1 : led0=hour/10;led1=hour%10;led2=min/10;led3=min%10;break;case 2 : led0=mon/10;led1=mon%10;led2=

16、day/10;led3=day%10;break;case 3 : led0=year/1000;led1=(year%1000)/100);led2=(year%100)/10);led3=(year%10);break;case 0 : led0=16;led1=16;led2=sec/10;led3=sec%10;break; void service_int1()interrupt 2 using 1if(play=3)play=0;else play+;void service_t0()interrupt 1 using 1 /實(shí)現(xiàn)1s的延時(shí)以及sec到min,min到hour,hour到day,day到month,month到y(tǒng)ear,year到next_year的轉(zhuǎn)換TH0 = 0x3C; TL0 = 0xB0;if(j=20)j=0;sec+;if(sec>=60)sec=0;min+;if(min>=60)min=0;hour+;if(hour>=24)hour=0;day+;if(day>=31)day=1;mon+;if(mon>=13)mon=1;year+;elsej+;void service_t1()interrupt 3 using 1 /定時(shí)器1實(shí)現(xiàn)了數(shù)碼

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論