版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設計說明書 課程:單片機應用技術(shù)課程設計 題目:基于at89c51單片機的電子表設計 姓名: 學號:1 專業(yè):機械設計制造及其自動化 班級:2011級機 院系:工學院機械系 指導老師:朱煜鈺 課程設計時間:2014.10.27至2014.11.10黃河科技學院課程設計任務書 工 學院 機械 系 機械設計制造及其自動化 專業(yè) 11 級 3 班學號 姓名 指導教師 朱煜鈺 題目: 基于at89c51單片機的電子表設計 課程: 單片機應用技術(shù)課程設計 課程設計時間 2014年 10月27 日 至2014年11 月 10 日 共 2 周課程設計工作內(nèi)容與基本要求(設計要求、設計任務、工作計劃、所需
2、相關(guān)資料)(紙張不夠可加頁)1設計要求利用at89c51單片機作為微控制器,在數(shù)碼管通過一個控制鍵轉(zhuǎn)換來顯示的時間和日期;能通過多個控制鍵用來實現(xiàn)時間和日期的調(diào)節(jié)。2. 設計任務與要求2.1系統(tǒng)硬件電路設計根據(jù)該系統(tǒng)設計的功能要求選擇所用元器件,設計硬件電路。要求用proteus繪制整個系統(tǒng)電路原理圖。2.2軟件設計根據(jù)該系統(tǒng)要求的功能進行軟件設計,繪制整個系統(tǒng)的軟件流程圖;根據(jù)流程圖編寫程序并匯編調(diào)試通過;列出軟件清單,軟件清單要求逐條加以注釋。2.3 proteus仿真用proteus對系統(tǒng)軟硬件進行仿真調(diào)試并通過。2.4 編寫設計說明書內(nèi)容包括任務書、設計方案分析、硬件部分設計、軟件部分
3、設計、調(diào)試結(jié)果整理分析、設計調(diào)試的心得體會等,字數(shù)不少于5000字;硬件部分設計要繪制整個系統(tǒng)電路原理圖,對各部分電路設計原理做出說明;軟件設計部分要(用visio2003畫圖軟件)繪制整個系統(tǒng)框圖及各部分的軟件流程圖,列出程序清單,逐條加以注釋,并注明各程序功能塊的功能。3工作計劃 序號設計內(nèi)容所用時間1布置任務及調(diào)研天3制作與調(diào)試天4撰寫設計報告書2天合 計14天4主要參考資料單片機課程設計指導書 皮大能 北京理工大學出版社2012.78051單片機實踐與應用 吳金戎 清華大學出版社2003.8單片機技術(shù)基礎教程與實踐 夏路易 電子工業(yè)出版社2008.1單片機原理及應用張毅剛 高等教育出版
4、社 2012.11基于proteus的單片機系統(tǒng)設計與仿真實例 蔣輝平 機械工業(yè)出版社 2007.7 指導老師簽字: 日 期: 目錄第1章 概述4 1.1 內(nèi)容摘要4 1.2 實驗基本原理4第2章 設計思路及框圖5 2.1 設計思路5 2.2 設計框圖5第3章 硬件的設計6 3.1 主控制部件63.2 顯示模塊 73.3 晶振模塊73.4 按鍵模塊83.5 驅(qū)動模塊8第4章 電路設計原理圖9第5章 程序的設計10 5.1 程序流程圖105.2 源程序12第6章 系統(tǒng)驗證及調(diào)試23第7章 總結(jié)24第8章 參考文獻25第1章 概述1.1內(nèi)容摘要 本次課程設計基于單片機原理技術(shù)介紹了一款于at89c
5、51芯片作為核心控制器的單片機電子表的設計與制作,主要有兩個功能:時鐘和秒表。其制作流程主要包括硬件電路原理的實現(xiàn)方案設計、軟件程序編輯的實現(xiàn)、電子表正常工作的流程、原理圖仿真實現(xiàn)、硬件實物的調(diào)試過程。該單片機數(shù)字電子表采用led 數(shù)碼管能夠準確顯示時間(顯示格式為:時時,分分,秒秒),可隨時進行時間調(diào)整,時間可采用24 小時制顯示,還可實現(xiàn)時鐘與秒表的切換,暫停與調(diào)時調(diào)分調(diào)秒,可按自己的要求設置擴展其它的功能。1.2 實驗基本原理利用at89c51單片機定時器完成計時功能,定時器0計時中斷程序每隔0.01s中斷一次并當作一個計數(shù),設定定時1秒的中斷計數(shù)初值為0,每中斷一次中斷計數(shù)初值加1,當
6、加到100時,則表示1s到了,秒變量加1,同理再判斷是否1min鐘到了,再判斷是否1h到了。為了將時間在6位led數(shù)碼管上顯示,可采用靜態(tài)顯示法和動態(tài)顯示法,由于靜態(tài)顯示法需要譯碼器,數(shù)據(jù)鎖存器等較多硬件,可采用動態(tài)顯示法實現(xiàn)led顯示,通過對每位數(shù)碼管的依次掃描,使對應數(shù)碼管亮,同時向該數(shù)碼管送對應的字碼,使其顯示數(shù)字。由于數(shù)碼管掃描周期很短,由于人眼的視覺暫留效應,使數(shù)碼管看起來總是亮的,從而實現(xiàn)了各種顯示。第2章 設計思路及框圖2.1 設計思路 針對要實現(xiàn)的功能,采用at89s51單片機進行設計,at89s51 單片機是一款低功耗,高性能cmos8位單片機,第一,熟悉at89s51單片機
7、,在編程之前必須了解硬件結(jié)構(gòu)尤其是各引腳的用法,以及內(nèi)部寄存器、存儲單元的用法,否則,編程無從下手,電路也無法設計。這是前期準備工作。第二,設計硬件部分:依據(jù)想要的功能分塊設計設計,比如輸入需要開關(guān)電路,輸出需要顯示驅(qū)動電路和數(shù)碼管電路等。第三,畫圖部分:設計好電路后進行畫圖。第四,軟件部分:先學習理解匯編語言的編程方法再根據(jù)設計的硬件電路進行分塊的編程調(diào)試,最終完成程序設計。第五部分是軟件仿真部分:軟硬件設計好后將軟件載入芯片中進行仿真,仿真無法完成時檢查軟件程序和硬件電路并進行修改直到仿真成功。第六部分是硬件實現(xiàn)部分:連接電路并導入程序檢查電路,實現(xiàn)想要的功能。2.2設計框圖 此次設計主要
8、是應用單片機來設計電子時鐘,硬件部分主要分以下電路模塊:顯示電路用8個共陰極數(shù)碼顯示管、按鍵模塊、晶振模塊。顯示管分別顯示:小時、分鐘和秒,通過動態(tài)掃描進行顯示。電路的總體設計框架如下:led顯示模塊 單片機模塊時鐘模塊按鍵模塊晶振模塊驅(qū)動模塊圖1第3章 硬件的設計3.1主控制部件89c51是一個8位單片機,片內(nèi)rom全部采用flash rom技術(shù),晶振時鐘為12mhz。89c51是標準的40引腳雙列直插式集成電路芯片,有4個八位的并行雙向i/o端口,分別記作p0、p1、p2、p3。第31引腳需要接高電位使單片機選用內(nèi)部程序存儲器;第40腳為電源端vcc,接+5v電源,第20引腳為接地端vss
9、,通常在vcc和vss引腳之間接0.1f高頻濾波電容。硬件原理圖如圖2所示圖23.2顯示模塊方案一:靜態(tài)顯示。靜態(tài)顯示,即當顯示器顯示某一字符時,相應的發(fā)光二極管恒定導通或截止。該方式每一位都需要一個8 位輸出口控制。靜態(tài)顯示時較小電流能獲得較高的亮度,且字符不閃爍。但因當所需顯示的位數(shù)較多時,靜態(tài)顯示所需的i/o口數(shù)較大,造成資源的浪費。方案二:動態(tài)顯示。動態(tài)顯示,即各位數(shù)碼管輪流點亮,對于顯示器各位數(shù)碼管,每隔一段延時時間循環(huán)點亮一次。利用人的視覺暫留功能可以看到整個顯示,但須保證掃描速度足夠快,人的視覺暫留功能才可察覺不到字符閃爍。顯示器的亮度與導通電流、點亮時間及間隔時間的比例有關(guān)。調(diào)
10、整參數(shù)可實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了i/o口,降低了能耗。從節(jié)省單片機芯片i/o口和降低能耗角度出發(fā),本數(shù)字電子鐘數(shù)碼管顯示選擇設計采用方案二。3.3晶振模塊單片機芯片可使用內(nèi)部時鐘電路和外部時鐘電路兩種方式產(chǎn)生電路所需的時鐘脈沖,內(nèi)部時鐘電路實現(xiàn)可用石英晶體和微調(diào)電容外接即可達到,外部時鐘電路實現(xiàn)需要一個外部脈沖源引入脈沖信號以保證個單片機之間時鐘信號的同步。從硬件實現(xiàn)難易角度考慮,內(nèi)部時鐘電路的實現(xiàn)比外部時鐘電路的實現(xiàn)更簡易。既本數(shù)字電子鐘設計所需的時鐘源采用內(nèi)部時鐘電路實現(xiàn)。所用定時方式為工作方式1,石英晶振為12m,即最小定時時間為1us,最大定時時間約為65.5ms,其電路圖
11、如下圖2所示。圖33.4 按鍵模塊本數(shù)字電子鐘設計所需按鍵用于進行顯示時間的調(diào)整與設置擴展的小鍵盤。單片機芯片4個i/o口可與按鍵直接相連,通過編程,單片機芯片即可控制按鍵接口電平的高低,即按鍵的開與關(guān),以達到用按鍵進行顯示時間的調(diào)整與設置擴展的小鍵盤的設計要求,本電路采用p1口與按鍵相連。其電路圖如圖4所示: 圖43.5驅(qū)動模塊從實物制作簡易程度與驅(qū)動數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘設計采用數(shù)碼管段碼與at89c51p0口相連,單片機at89c51的p2口控制數(shù)碼管的片選信號,通過編程,單片機芯片即可控制段碼電平的高低的方式實現(xiàn)數(shù)碼管段碼控制。第4章 電路設計原理圖圖5第5章 程序設計5
12、.1 程序流程圖在主程序的開始定義了一組固定單元用來存儲計數(shù)的分、秒、時的存儲單元。在主程序中,對不同的按鍵進行掃描,實現(xiàn)秒表,時間調(diào)整。系統(tǒng)總體流程圖如圖6所示。圖6t0中斷入口通過查表方式顯示數(shù)據(jù)位選數(shù)值=0秒計數(shù)加1秒計數(shù)=1000秒計數(shù)=0seconds加1中斷返回開始系統(tǒng)子程序流程圖如圖7所示:是否滿24h?顯示緩沖單元清0返回ny是否滿60m?小時加1分值加1n計數(shù)器重新加載循環(huán)次數(shù)加1是否滿1s?是否滿60s?秒值加1n開始5.2 源程序程序清單如下:#include#define uchar unsigned char#define uint unsigned int/七段共陰
13、數(shù)碼顯示管段碼表/uchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/定義初始化變量/秒表部分/uchar decisec=0;/分秒/uchar sec=0;/秒/uchar mint=0;/分/時鐘部分/uchar seconds=0;uchar minutes=0;uchar hours=0;uchar count=0;uchar numb=0;/按鍵部分/sbit change=p10; /切換:可實現(xiàn)跑表與時鐘互切 /sbit start=p11; /開始/sbit stop=p12; /暫停/
14、sbit rst=p13;sbit rst=p14;sbit jia1=p15;sbit jia2=p16;sbit jia3=p17; /復位/函數(shù)聲明/void delay(uchar ms); /延遲函數(shù)/void time_pro1();/秒表處理函數(shù)/void time_pro2();/時鐘處理函數(shù)/void keyscan(); /鍵盤掃描/void display1(); /數(shù)碼管顯示秒表/void display2(); /數(shù)碼管顯示時鐘/*/ 主函數(shù) /*/void main()p1=0xff;tmod=0x11;th0=(65536-10000)/256;tl0=(6553
15、6-10000)%256;th1=(65536-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) mi
16、nutes=0; if(jia3=0) delay(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ù) /*/void time_pro2()if(seconds=60)seconds=0;minutes+;if(minutes
17、=60)minutes=0;hours+;if(hours=24)hours=0;/*/ 鍵盤掃描函數(shù)/*/void keyscan()/ 秒表/時鐘切換 /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(); / 開始計時 /if(start=0)&(numb=1) delay(5);if(start=0)tr1=1;while(!start)displ
18、ay1();/ 暫停計時 /if(stop=0)&(numb=1) delay(5);if(stop=0)tr1=0;while(!stop)display1(); / 重新計時 /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=
19、dispcode(sec%100)%10|0x80;/顯示秒個位/delay(1);p2=0xdf;p0=dispcode(sec%100)/10;/顯示秒十位/delay(1);p2=0xef;p0=dispcodesec/100;delay(1);/*/ 數(shù)碼管顯示時鐘 /*/void display2() p2=0x7f;p0=dispcodeseconds%10;/顯示秒個位/delay(1);p2=0xbf;p0=dispcodeseconds/10;/顯示秒十位/delay(1);p2=0xdf;p0=dispcodeminutes%10|0x80;/顯示分個位/delay(1);
20、p2=0xef;p0=dispcodeminutes/10;/顯示分十位/delay(1);p2=0xf7;p0=dispcodehours%10|0x80;/顯示時個位/delay(1);p2=0xfb;p0=dispcodehours/10;/顯示時十位/delay(1);/*/定時器t1中斷服務程序/*/void time_t1()interrupt 3th1=(65536-10000)/256;tl1=(65536-10000)%256;decisec+;time_pro1();/秒表時間處理函數(shù)/*/定時器t0中斷服務程序/*/void time_t0()interrupt 1th0
21、=(65536-10000)/256;tl0=(65536-10000)%256;count+;if(count=100)seconds+;time_pro2();/時鐘時間處理函數(shù)/count=0;第6章 系統(tǒng)的驗證及調(diào)試時鐘調(diào)試:秒表調(diào)試:第7章 總結(jié)這兩周的課程設計學到了不少的東西,剛開始的時候我感覺毫無頭緒,又要忙著安裝軟件,又要學習proteus,以前沒有用過,擔心忙不過來,做完之后才明白原來用單片機做一個實物也不是想象中的那樣困難重重,在這整個的設計過程中,不但復習了書本上的理論知識,提高了自己的動手能力,而且還強化了自己的編程水平,總的來感覺效果還是挺不錯的。為期兩星期的課程設計使我對單片機的理論知識有了具體的認識。通過這次設計,我的理論知識掌握得更扎實,動手能力明顯提高。通過實踐讓我知道了單片機大致開發(fā)的步驟同時,通過網(wǎng)上搜索等多方面的查詢資料。通過本次課程設計我學到許多在書本上沒有的知識,也認識到理論聯(lián)系實踐的重要。理論學得好,但如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 扶恤金分配協(xié)議書
- 工程維保協(xié)議書
- 家教簽合同還協(xié)議
- 小吃培訓合同范本
- 英歐協(xié)議書范本
- 銷售獨家協(xié)議合同
- 裝修拆舊協(xié)議書
- 資料印制協(xié)議書
- 藥材銷售協(xié)議書
- 裝潢合同協(xié)議書
- 安全生產(chǎn)新年第一課
- 【MOOC】化學實驗室安全基礎-大連理工大學 中國大學慕課MOOC答案
- 國開《企業(yè)信息管理》形考任務1-4試題及答案
- TD-T 1048-2016耕作層土壤剝離利用技術(shù)規(guī)范
- JBT 13675-2019 筒式磨機 鑄造襯板 技術(shù)條件
- 勞動合同范本模板打印
- 紀檢監(jiān)察信訪知識講座
- 2024年合同知識產(chǎn)權(quán)審查表-(含附件)
- 智能教育:科技驅(qū)動下的學校革新
- 漢字筆畫練習字帖
- 酒店住宿和餐飲行業(yè)企業(yè)安全風險分級管控清單
評論
0/150
提交評論