基于ATC單片機(jī)的電子表設(shè)計(jì)_第1頁
基于ATC單片機(jī)的電子表設(shè)計(jì)_第2頁
基于ATC單片機(jī)的電子表設(shè)計(jì)_第3頁
基于ATC單片機(jī)的電子表設(shè)計(jì)_第4頁
基于ATC單片機(jī)的電子表設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)說明書 課程:單片機(jī)應(yīng)用技術(shù)課程設(shè)計(jì) 題目:基于AT89C51單片機(jī)的電子表設(shè)計(jì) 姓名: 學(xué)號:1 專業(yè):機(jī)械設(shè)計(jì)制造及其自動(dòng)化 班級:2011級機(jī) 院系:工學(xué)院機(jī)械系 指導(dǎo)老師:朱煜鈺 課程設(shè)計(jì)時(shí)間:黃河科技學(xué)院課程設(shè)計(jì)任務(wù)書 工 學(xué)院 機(jī)械 系 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 專業(yè) 11 級 3 班學(xué)號 姓名 指導(dǎo)教師 朱煜鈺 題目: 基于AT89C51單片機(jī)的電子表設(shè)計(jì) 課程: 單片機(jī)應(yīng)用技術(shù)課程設(shè)計(jì) 課程設(shè)計(jì)時(shí)間 2014年 10月27 日 至2014年11 月 10 日 共 2 周課程設(shè)計(jì)工作內(nèi)容與基本要求(設(shè)計(jì)要求、設(shè)計(jì)任務(wù)、工作計(jì)劃、所需相關(guān)資料)(紙張不夠可加頁)1設(shè)計(jì)要求利用

2、AT89C51單片機(jī)作為微控制器,在數(shù)碼管通過一個(gè)控制鍵轉(zhuǎn)換來顯示的時(shí)間和日期;能通過多個(gè)控制鍵用來實(shí)現(xiàn)時(shí)間和日期的調(diào)節(jié)。2. 設(shè)計(jì)任務(wù)與要求2.1系統(tǒng)硬件電路設(shè)計(jì)根據(jù)該系統(tǒng)設(shè)計(jì)的功能要求選擇所用元器件,設(shè)計(jì)硬件電路。要求用Proteus繪制整個(gè)系統(tǒng)電路原理圖。2.2軟件設(shè)計(jì)根據(jù)該系統(tǒng)要求的功能進(jìn)行軟件設(shè)計(jì),繪制整個(gè)系統(tǒng)的軟件流程圖;根據(jù)流程圖編寫程序并匯編調(diào)試通過;列出軟件清單,軟件清單要求逐條加以注釋。2.3 Proteus仿真用Proteus對系統(tǒng)軟硬件進(jìn)行仿真調(diào)試并通過。2.4 編寫設(shè)計(jì)說明書內(nèi)容包括任務(wù)書、設(shè)計(jì)方案分析、硬件部分設(shè)計(jì)、軟件部分設(shè)計(jì)、調(diào)試結(jié)果整理分析、設(shè)計(jì)調(diào)試的心得體會(huì)

3、等,字?jǐn)?shù)不少于5000字;硬件部分設(shè)計(jì)要繪制整個(gè)系統(tǒng)電路原理圖,對各部分電路設(shè)計(jì)原理做出說明;軟件設(shè)計(jì)部分要(用visio2003畫圖軟件)繪制整個(gè)系統(tǒng)框圖及各部分的軟件流程圖,列出程序清單,逐條加以注釋,并注明各程序功能塊的功能。3工作計(jì)劃 序號設(shè)計(jì)內(nèi)容所用時(shí)間1布置任務(wù)及調(diào)研天3制作與調(diào)試天4撰寫設(shè)計(jì)報(bào)告書2天合 計(jì)14天4主要參考資料單片機(jī)課程設(shè)計(jì)指導(dǎo)書 皮大能 北京理工大學(xué)出版社2012.78051單片機(jī)實(shí)踐與應(yīng)用 吳金戎 清華大學(xué)出版社2003.8單片機(jī)技術(shù)基礎(chǔ)教程與實(shí)踐 夏路易 電子工業(yè)出版社2008.1單片機(jī)原理及應(yīng)用張毅剛 高等教育出版社 2012.11基于Proteus的單片

4、機(jī)系統(tǒng)設(shè)計(jì)與仿真實(shí)例 蔣輝平 機(jī)械工業(yè)出版社 2007.7 指導(dǎo)老師簽字: 日 期: 目錄第1章 概述4 1.1 內(nèi)容摘要4 1.2 實(shí)驗(yàn)基本原理4第2章 設(shè)計(jì)思路及框圖5 2.1 設(shè)計(jì)思路5 2.2 設(shè)計(jì)框圖5第3章 硬件的設(shè)計(jì)6 3.1 主控制部件63.2 顯示模塊 73.3 晶振模塊73.4 按鍵模塊83.5 驅(qū)動(dòng)模塊8第4章 電路設(shè)計(jì)原理圖9第5章 程序的設(shè)計(jì)10 5.1 程序流程圖105.2 源程序12第6章 系統(tǒng)驗(yàn)證及調(diào)試23第7章 總結(jié)24第8章 參考文獻(xiàn)25第1章 概述1.1內(nèi)容摘要 本次課程設(shè)計(jì)基于單片機(jī)原理技術(shù)介紹了一款于AT89C51芯片作為核心控制器的單片機(jī)電子表的設(shè)計(jì)

5、與制作,主要有兩個(gè)功能:時(shí)鐘和秒表。其制作流程主要包括硬件電路原理的實(shí)現(xiàn)方案設(shè)計(jì)、軟件程序編輯的實(shí)現(xiàn)、電子表正常工作的流程、原理圖仿真實(shí)現(xiàn)、硬件實(shí)物的調(diào)試過程。該單片機(jī)數(shù)字電子表采用LED 數(shù)碼管能夠準(zhǔn)確顯示時(shí)間(顯示格式為:時(shí)時(shí),分分,秒秒),可隨時(shí)進(jìn)行時(shí)間調(diào)整,時(shí)間可采用24 小時(shí)制顯示,還可實(shí)現(xiàn)時(shí)鐘與秒表的切換,暫停與調(diào)時(shí)調(diào)分調(diào)秒,可按自己的要求設(shè)置擴(kuò)展其它的功能。1.2 實(shí)驗(yàn)基本原理利用AT89C51單片機(jī)定時(shí)器完成計(jì)時(shí)功能,定時(shí)器0計(jì)時(shí)中斷程序每隔0.01s中斷一次并當(dāng)作一個(gè)計(jì)數(shù),設(shè)定定時(shí)1秒的中斷計(jì)數(shù)初值為0,每中斷一次中斷計(jì)數(shù)初值加1,當(dāng)加到100時(shí),則表示1s到了,秒變量加1,

6、同理再判斷是否1min鐘到了,再判斷是否1h到了。為了將時(shí)間在6位LED數(shù)碼管上顯示,可采用靜態(tài)顯示法和動(dòng)態(tài)顯示法,由于靜態(tài)顯示法需要譯碼器,數(shù)據(jù)鎖存器等較多硬件,可采用動(dòng)態(tài)顯示法實(shí)現(xiàn)LED顯示,通過對每位數(shù)碼管的依次掃描,使對應(yīng)數(shù)碼管亮,同時(shí)向該數(shù)碼管送對應(yīng)的字碼,使其顯示數(shù)字。由于數(shù)碼管掃描周期很短,由于人眼的視覺暫留效應(yīng),使數(shù)碼管看起來總是亮的,從而實(shí)現(xiàn)了各種顯示。第2章 設(shè)計(jì)思路及框圖2.1 設(shè)計(jì)思路 針對要實(shí)現(xiàn)的功能,采用AT89S51單片機(jī)進(jìn)行設(shè)計(jì),AT89S51 單片機(jī)是一款低功耗,高性能CMOS8位單片機(jī),第一,熟悉AT89S51單片機(jī),在編程之前必須了解硬件結(jié)構(gòu)尤其是各引腳的

7、用法,以及內(nèi)部寄存器、存儲(chǔ)單元的用法,否則,編程無從下手,電路也無法設(shè)計(jì)。這是前期準(zhǔn)備工作。第二,設(shè)計(jì)硬件部分:依據(jù)想要的功能分塊設(shè)計(jì)設(shè)計(jì),比如輸入需要開關(guān)電路,輸出需要顯示驅(qū)動(dòng)電路和數(shù)碼管電路等。第三,畫圖部分:設(shè)計(jì)好電路后進(jìn)行畫圖。第四,軟件部分:先學(xué)習(xí)理解匯編語言的編程方法再根據(jù)設(shè)計(jì)的硬件電路進(jìn)行分塊的編程調(diào)試,最終完成程序設(shè)計(jì)。第五部分是軟件仿真部分:軟硬件設(shè)計(jì)好后將軟件載入芯片中進(jìn)行仿真,仿真無法完成時(shí)檢查軟件程序和硬件電路并進(jìn)行修改直到仿真成功。第六部分是硬件實(shí)現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,實(shí)現(xiàn)想要的功能。2.2設(shè)計(jì)框圖 此次設(shè)計(jì)主要是應(yīng)用單片機(jī)來設(shè)計(jì)電子時(shí)鐘,硬件部分主要分

8、以下電路模塊:顯示電路用8個(gè)共陰極數(shù)碼顯示管、按鍵模塊、晶振模塊。顯示管分別顯示:小時(shí)、分鐘和秒,通過動(dòng)態(tài)掃描進(jìn)行顯示。電路的總體設(shè)計(jì)框架如下:LED顯示模塊 單片機(jī)模塊時(shí)鐘模塊按鍵模塊晶振模塊驅(qū)動(dòng)模塊圖1第3章 硬件的設(shè)計(jì)3.1主控制部件89C51是一個(gè)8位單片機(jī),片內(nèi)ROM全部采用FLASH ROM技術(shù),晶振時(shí)鐘為12MHz。89C51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,有4個(gè)八位的并行雙向I/O端口,分別記作P0、P1、P2、P3。第31引腳需要接高電位使單片機(jī)選用內(nèi)部程序存儲(chǔ)器;第40腳為電源端VCC,接+5V電源,第20引腳為接地端VSS,通常在VCC和VSS引腳之間接0.1F高

9、頻濾波電容。硬件原理圖如圖2所示圖23.2顯示模塊方案一:靜態(tài)顯示。靜態(tài)顯示,即當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或截止。該方式每一位都需要一個(gè)8 位輸出口控制。靜態(tài)顯示時(shí)較小電流能獲得較高的亮度,且字符不閃爍。但因當(dāng)所需顯示的位數(shù)較多時(shí),靜態(tài)顯示所需的I/O口數(shù)較大,造成資源的浪費(fèi)。方案二:動(dòng)態(tài)顯示。動(dòng)態(tài)顯示,即各位數(shù)碼管輪流點(diǎn)亮,對于顯示器各位數(shù)碼管,每隔一段延時(shí)時(shí)間循環(huán)點(diǎn)亮一次。利用人的視覺暫留功能可以看到整個(gè)顯示,但須保證掃描速度足夠快,人的視覺暫留功能才可察覺不到字符閃爍。顯示器的亮度與導(dǎo)通電流、點(diǎn)亮?xí)r間及間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省

10、了I/O口,降低了能耗。從節(jié)省單片機(jī)芯片I/O口和降低能耗角度出發(fā),本數(shù)字電子鐘數(shù)碼管顯示選擇設(shè)計(jì)采用方案二。3.3晶振模塊單片機(jī)芯片可使用內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路兩種方式產(chǎn)生電路所需的時(shí)鐘脈沖,內(nèi)部時(shí)鐘電路實(shí)現(xiàn)可用石英晶體和微調(diào)電容外接即可達(dá)到,外部時(shí)鐘電路實(shí)現(xiàn)需要一個(gè)外部脈沖源引入脈沖信號以保證個(gè)單片機(jī)之間時(shí)鐘信號的同步。從硬件實(shí)現(xiàn)難易角度考慮,內(nèi)部時(shí)鐘電路的實(shí)現(xiàn)比外部時(shí)鐘電路的實(shí)現(xiàn)更簡易。既本數(shù)字電子鐘設(shè)計(jì)所需的時(shí)鐘源采用內(nèi)部時(shí)鐘電路實(shí)現(xiàn)。所用定時(shí)方式為工作方式1,石英晶振為12M,即最小定時(shí)時(shí)間為1us,最大定時(shí)時(shí)間約為65.5ms,其電路圖如下圖2所示。圖33.4 按鍵模塊本數(shù)字電

11、子鐘設(shè)計(jì)所需按鍵用于進(jìn)行顯示時(shí)間的調(diào)整與設(shè)置擴(kuò)展的小鍵盤。單片機(jī)芯片4個(gè)I/O口可與按鍵直接相連,通過編程,單片機(jī)芯片即可控制按鍵接口電平的高低,即按鍵的開與關(guān),以達(dá)到用按鍵進(jìn)行顯示時(shí)間的調(diào)整與設(shè)置擴(kuò)展的小鍵盤的設(shè)計(jì)要求,本電路采用P1口與按鍵相連。其電路圖如圖4所示: 圖43.5驅(qū)動(dòng)模塊從實(shí)物制作簡易程度與驅(qū)動(dòng)數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘設(shè)計(jì)采用數(shù)碼管段碼與AT89C51P0口相連,單片機(jī)AT89C51的P2口控制數(shù)碼管的片選信號,通過編程,單片機(jī)芯片即可控制段碼電平的高低的方式實(shí)現(xiàn)數(shù)碼管段碼控制。第4章 電路設(shè)計(jì)原理圖圖5第5章 程序設(shè)計(jì)5.1 程序流程圖在主程序的開始定義了一組固

12、定單元用來存儲(chǔ)計(jì)數(shù)的分、秒、時(shí)的存儲(chǔ)單元。在主程序中,對不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整。系統(tǒng)總體流程圖如圖6所示。圖6T0中斷入口通過查表方式顯示數(shù)據(jù)位選數(shù)值=0秒計(jì)數(shù)加1秒計(jì)數(shù)=1000秒計(jì)數(shù)=0Seconds加1中斷返回開始系統(tǒng)子程序流程圖如圖7所示:是否滿24h?顯示緩沖單元清0返回NY是否滿60m?小時(shí)加1分值加1N計(jì)數(shù)器重新加載循環(huán)次數(shù)加1是否滿1s?是否滿60s?秒值加1N開始5.2 源程序程序清單如下:#include#define uchar unsigned char#define uint unsigned int/七段共陰數(shù)碼顯示管段碼表/uchar code d

13、ispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/定義初始化變量/秒表部分/uchar Decisec=0;/分秒/uchar Sec=0;/秒/uchar Mint=0;/分/時(shí)鐘部分/uchar Seconds=0;uchar Minutes=0;uchar Hours=0;uchar Count=0;uchar Numb=0;/按鍵部分/sbit CHANGE=P10; /切換:可實(shí)現(xiàn)跑表與時(shí)鐘互切 /sbit START=P11; /開始/sbit STOP=P12; /暫停/sbit RST=P13;sbit rst

14、=P14;sbit jia1=P15;sbit jia2=P16;sbit jia3=P17; /復(fù)位/函數(shù)聲明/void delay(uchar ms); /延遲函數(shù)/void time_pro1();/秒表處理函數(shù)/void time_pro2();/時(shí)鐘處理函數(shù)/void keyscan(); /鍵盤掃描/void display1(); /數(shù)碼管顯示秒表/void display2(); /數(shù)碼管顯示時(shí)鐘/*/ 主函數(shù) /*/void main()P1=0xff;TMOD=0x11;TH0=(65536-10000)/256;TL0=(65536-10000)%256;TH1=(655

15、36-10000)/256;TL1=(65536-10000)%256;EA=1;ET0=1;ET1=1;TR0=1;while(1)keyscan();if(Numb=1)display1();if(Numb=0)display2();if(rst=0) Hours=0;Seconds=0;Minutes=0; if(jia1=0) delay(5); if(jia1=1) Hours+; if(Hours=24) Hours=0; if(jia2=0) delay(5); if(jia2=1) Minutes+; if(Minutes=60) Minutes=0; if(jia3=0) d

16、elay(5);if(jia3=1)Seconds+; if(Seconds=60) Seconds=0; /*/ 延遲函數(shù) /*/void delay(uchar ms)uchar i,j;for(i=ms;i0;i-)for(j=500;j0;j-);/*/ 秒表處理函數(shù) /*/void time_pro1()if(Decisec=100)Decisec=0;Sec+;if(Sec=1000)Sec=0;/*/ 時(shí)鐘處理函數(shù) /*/void time_pro2()if(Seconds=60)Seconds=0;Minutes+;if(Minutes=60)Minutes=0;Hours+;

17、if(Hours=24)Hours=0;/*/ 鍵盤掃描函數(shù)/*/void keyscan()/ 秒表/時(shí)鐘切換 /if(CHANGE=0) delay(5);if(CHANGE=0)&(Numb=0)display1();Numb=!Numb;while(!CHANGE)display1();if(CHANGE=0)&(Numb=1)Numb=!Numb;while(!CHANGE)display2(); / 開始計(jì)時(shí) /if(START=0)&(Numb=1) delay(5);if(START=0)TR1=1;while(!START)display1();/ 暫停計(jì)時(shí) /if(STOP

18、=0)&(Numb=1) delay(5);if(STOP=0)TR1=0;while(!STOP)display1(); / 重新計(jì)時(shí) /if(RST=0)&(Numb=1) delay(5);if(RST=0) Hours=0;Seconds=0;Minutes=0;Decisec=0;Sec=0;while(!RST)Decisec=0;Sec=0;display1(); /*/ 數(shù)碼管顯示秒表 /*/void display1()P2=0x7f;P0=dispcodeDecisec/10;/ 顯示分秒 /delay(1);P2=0xbf;P0=dispcode(Sec%100)%10|

19、0x80;/顯示秒個(gè)位/delay(1);P2=0xdf;P0=dispcode(Sec%100)/10;/顯示秒十位/delay(1);P2=0xef;P0=dispcodeSec/100;delay(1);/*/ 數(shù)碼管顯示時(shí)鐘 /*/void display2() P2=0x7f;P0=dispcodeSeconds%10;/顯示秒個(gè)位/delay(1);P2=0xbf;P0=dispcodeSeconds/10;/顯示秒十位/delay(1);P2=0xdf;P0=dispcodeMinutes%10|0x80;/顯示分個(gè)位/delay(1);P2=0xef;P0=dispcodeMi

20、nutes/10;/顯示分十位/delay(1);P2=0xf7;P0=dispcodeHours%10|0x80;/顯示時(shí)個(gè)位/delay(1);P2=0xfb;P0=dispcodeHours/10;/顯示時(shí)十位/delay(1);/*/定時(shí)器T1中斷服務(wù)程序/*/void time_T1()interrupt 3TH1=(65536-10000)/256;TL1=(65536-10000)%256;Decisec+;time_pro1();/秒表時(shí)間處理函數(shù)/*/定時(shí)器T0中斷服務(wù)程序/*/void time_T0()interrupt 1TH0=(65536-10000)/256;TL

21、0=(65536-10000)%256;Count+;if(Count=100)Seconds+;time_pro2();/時(shí)鐘時(shí)間處理函數(shù)/Count=0;第6章 系統(tǒng)的驗(yàn)證及調(diào)試時(shí)鐘調(diào)試:秒表調(diào)試:第7章 總結(jié)這兩周的課程設(shè)計(jì)學(xué)到了不少的東西,剛開始的時(shí)候我感覺毫無頭緒,又要忙著安裝軟件,又要學(xué)習(xí)Proteus,以前沒有用過,擔(dān)心忙不過來,做完之后才明白原來用單片機(jī)做一個(gè)實(shí)物也不是想象中的那樣困難重重,在這整個(gè)的設(shè)計(jì)過程中,不但復(fù)習(xí)了書本上的理論知識,提高了自己的動(dòng)手能力,而且還強(qiáng)化了自己的編程水平,總的來感覺效果還是挺不錯(cuò)的。為期兩星期的課程設(shè)計(jì)使我對單片機(jī)的理論知識有了具體的認(rèn)識。通過這次設(shè)計(jì),我的理論知識掌握得更扎實(shí),動(dòng)手能力明顯提高。通過實(shí)踐讓我知道了單片機(jī)大致開發(fā)的步驟同時(shí),通過網(wǎng)上搜索等多方面的查詢資料。通過本次課程設(shè)計(jì)我學(xué)到許多在書本上沒有的知識,也認(rèn)識到理論聯(lián)系實(shí)踐的重要。理論學(xué)得好,但如果只

溫馨提示

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

評論

0/150

提交評論