




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、課程設計報告課程名稱:單片機原理及應用報告題目:秒表學生姓名:所在學院:信息科學與工程學院專業(yè)班級:學生學號:指導教師:2013 年 12 月 25 日課程設計任務書報告題目秒表完成時間學生姓名專業(yè)班級指導教師職稱講師總體設計要求和技術(shù)要點設計一個秒表的要求與任務,要求如下: (1)顯示時間為“秒秒-100ms10ms”。(2)設計一個“開始”鍵,按此鍵開始計時。(3)設計一個“復位”鍵。按此鍵時間歸零。(4)設計一個“保存”鍵。按此鍵保存當前時間,繼續(xù)計時,能保存最后50組時間。(5)設計一個“讀出”鍵。按此鍵讀出保存的時間,停止狀態(tài)下才有效。(6)設計一個“停止”鍵。按此鍵停止計時,顯示當
2、前時間。任務如下:用at89c51設計一個2位的led數(shù)碼顯示作為“秒表”。工作內(nèi)容及時間進度安排第15周:周1-周3 :立題、論證方案設計周4-周5 :預答辯第16周:周1-周3 :仿真實驗7周4-周5 :驗收答辯課程設計成果1與設計內(nèi)容對應的軟件程序2課程設計總結(jié)報告摘要 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷的走向深入,秒表計時器是電器制造,工業(yè)自動化控制、國防、實驗室以及科研單位理想的計時儀器,它廣泛應用于各種繼電器、電磁開關(guān),控制器、延時器、定時器等時間測試。本文闡述了基于單片機的數(shù)字電子秒表設計。本設計主要特點是計時從00到99秒秒表系統(tǒng),方便了在計時精度要求不高的情況下計
3、時。因為計時精度為1,所以系統(tǒng)電路比較簡單。另外硬件部分設置了開始、暫停、清零、復位按鍵,可以對秒表系統(tǒng)進行計時控制。 本設計的數(shù)字電子秒表系統(tǒng)采用at89c51單片機位中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、led數(shù)碼管以及外部中斷電路來設計計時器。將軟、硬件有機的相結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)兩位led顯示,顯示時間為0099秒,計時精度為1秒,能正確地進行計時,同時能記錄一次時間,其中軟件系統(tǒng)采用c語言編寫程序,包括顯示程序,定時中斷服務,延時程序等,并用keil中調(diào)試運行,硬件系統(tǒng)利用proteus強大的功能來實現(xiàn),簡單且易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)
4、。 關(guān)鍵詞:單片機;數(shù)字電子秒表;仿真目錄一、概述11.1設計目的11.2設計要求11.3設計意義1二、系統(tǒng)總體方案及硬件設計121系統(tǒng)總體方案222硬件設計22.21晶體振蕩電路22.22復位電路32.23按鍵電路32.24 顯示電路42.25系統(tǒng)電路4三、軟件設計51.設計特點52.秒表設計源程序93.程序流程圖10四、結(jié)論與心得11五、參考文獻11一、 概述1.1設計目的設計一個單片機控制的秒表系統(tǒng)。利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、led數(shù)碼以及按鍵來設計秒表。將軟、硬件有機的結(jié)合起來,使得系統(tǒng)能夠正確的進行計時,同時具有開始/暫停,復位,讀數(shù),清零等功能。1.
5、2設計要求(1)共四位led顯示,顯示時間為:(2)共五個按鍵,分別是開始、復位、保存、讀出、(3)能同時記錄多個相對獨立的時間并分別顯示出來;(4)顯示時間從00一直到99(5)具有自動清零功能1.3 設計意義(1)通過本次課程設計可以使我們進一步熟悉和掌握單片內(nèi)部和工作原理,了解單片機應用系統(tǒng)設計的基本步驟和方法。(2)通過利用at89c52單片機,理解單片機在自動化儀表的作用以及掌握單片機的編程方法。(3)通過設計一個簡單的實際應用輸入以及顯示模擬系統(tǒng),掌握單片機仿真軟件的使用方法。(4)該實驗通過單片機的定時器/計數(shù)器定時和計數(shù)原理,設計簡單的記時器系統(tǒng),擁有正確的計時、暫停、清零、保
6、存、讀出的功能,該秒表在現(xiàn)實生活中應用廣泛,具有現(xiàn)實意義。二、 系統(tǒng)總體方案及硬件設計2.1 系統(tǒng)總體方案本系統(tǒng)采用at89c52單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合硬件電路如電源電路,晶振電路,復位電路,顯示電路,以及以一些按鍵電路等來設計計時器,將軟、硬件有機地結(jié)合起來。其中軟件系統(tǒng)采用c語言編寫程序,包括顯示、計數(shù)、中斷、延時、按鍵消抖程序等,并且在變程軟件中調(diào)試運行,硬件系統(tǒng)利用proteus強大的功能來實現(xiàn),簡單且易于觀察,在仿真中可以觀察到實際的工作狀態(tài)。 單 片 機 外圍 電路 電路 電源 電路 電路 顯示電路 鍵盤電路 2.2 硬件設計mcs-52系列單
7、片機是8位單片機產(chǎn)品,89c52是其中的典型代表,基本模塊包括以下幾個部分:(1) cpu:89c52的cpu是8位的,另外89c51內(nèi)部有一個處理器(2) rom:4kb的片內(nèi)程序存儲器,存放開發(fā)調(diào)試完成的應用程序(3) ram:256b的片內(nèi)數(shù)據(jù)存儲器,容量小,但作用大(4) i/o口:p0-p3,共4個口32條雙向且可位尋址的i/o口線(5) 中斷系統(tǒng):共5個中斷源,3個內(nèi)部中斷,2個外部中斷(6) 定時器/計數(shù)器:2個16位的可編程定時器/計數(shù)器(7) 通用串行口:全雙工通用異步接收器/發(fā)送器(8) 振蕩器:89c52的外接晶振與內(nèi)部時鐘振蕩器位cpu提供時鐘信號(9) 總線控制:89
8、c52對外提供若干控制總線,便于系統(tǒng)擴展2.2.1晶體振蕩點路 圖1 晶體振蕩電路89c52芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。引線xtal1和 xtal2分別為反向放大器的輸入和輸出,兩端跨接石英晶體及兩個電容就可構(gòu)成穩(wěn)定的自激振蕩器。這里,我們選用52單片機12mhz的內(nèi)部振蕩方式,電容器c1,c2起穩(wěn)定振蕩頻率,并對振蕩頻率有微調(diào)作用c1和c2可在20-100pf之間取值,這里取33p。2.2.2復位電路 圖2 復位電路采用上電加按鍵復位電路,上電后,由于電容充電,使rst持續(xù)一段高電平時間。當單片機已在運行之中時,按下復位鍵也能使rst持續(xù)一段時間的高電平,從而實現(xiàn)上電加按
9、鍵復位的操作。2.2.3按鍵電路 圖3 按鍵電路在按鍵電路中,我們可以在i/o口上直接接按鍵,或者通過i/o口設計一個鍵盤,然后通過鍵盤掃描程序判斷是否有鍵按下等。鍵盤掃描電路節(jié)省i/o口,但編程有些復雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個小系統(tǒng),有足夠的i/o口可以使用,為了使程序簡化,我們采用按鍵電路,用部分p1口做開關(guān),p1.0開始/暫停,p1.1保存,p1.2讀數(shù),p1.3復位,p1.4清零。對于按鍵的設計,采用了防抖動的程序設計,使系統(tǒng)的性能得到進一步的提升。當按鍵被按 下時,相應的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。
10、2.2.4顯示電路 圖4 顯示電路 顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我們采用的是數(shù)碼管顯示電路。用兩個共陰極led顯示,led是七段式顯示器,內(nèi)部有7個條形發(fā)光二極管和1個小圓點發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。在用數(shù)碼管顯示時,我們有靜態(tài)和動態(tài)兩種選擇,靜態(tài)顯示程序簡單,顯示穩(wěn)定,但是占用端口比較多;動態(tài)顯示所使用的端口比較少,可以節(jié)省單片機的i/o口。在設計中,我們采用led動態(tài)顯示,用p0口驅(qū)動顯示。由于p0口的輸出級是開漏電路,用它驅(qū)動時需要外接上拉電阻才能輸出高電平。2.2.5 系統(tǒng)電路圖: 圖五 系統(tǒng)電路三、軟件設計3.1設計特點在軟件設計中,一般采用模
11、塊化的程序設計方法,它具有明顯的優(yōu)點。把一個多功能的復雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設計和調(diào)試,優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。應用系統(tǒng)的程序由包含多個模塊的主程序和各種子程序組成。各程序模塊都要完成一個明確的任務,實現(xiàn)某個具體的功能,如:計數(shù)、延時、和顯示等,在具體需要時調(diào)用相應的模塊即可。3.2秒表設計源程序源程序如下:#include <reg52.h>#define uchar unsigned char#define uint unsigned intvoid diyi(); /函數(shù)聲明void xiansh
12、i();/函數(shù)聲明void panduan();/函數(shù)聲明void delay(uchar z);/函數(shù)聲明uchar t=0,i,j,temp,b; /定義相關(guān)變量uchar code at=0xe0,0xd0,0xb0,0x70;uchar code as10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code bs=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;uchar a50;/數(shù)組定義void main()/主函數(shù) diyi(); ea=0; /調(diào)用定義函數(shù) while(1) p
13、anduan(); /調(diào)用判斷函數(shù) xianshi();/調(diào)用顯示函數(shù) void diyi()/定義定義子函數(shù) p2=0xbf;p0=0xbf; tmod=0x01; th0=(65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1;void exer1() interrupt 1 /定義定時器/計數(shù)器子函數(shù) uchar t1; th0=(65536-50000)/256; tl0=(65536-50000)%256; t1+; if(t1=20) t1=0; t+; if(t=99) t=0; void xianshi()/定義
14、顯示子函數(shù) p2 = 0xdf;p0 =bs0; p2=0x1f; p0=0xff; p2 = 0xff; p0 =ast%10; p2=0x1f;p0=0x00;delay(3);p2 = 0xdf;p0 =bs1; p2=0x1f; p0=0xff; p2 = 0xff; p0 =as(t/10)%10; p2=0x1f;p0=0x00;delay(3);void delay(uchar z)/延時子函數(shù) uchar i,j; for(i=0;i<z;i+) for(j=0;j<110;j+);void panduan()/判斷子函數(shù) p3=0xfe; delay(5); te
15、mp=p3; temp=temp&0xf0; if(temp!=0xf0) delay(5); if(temp!=0xf0) p2 = 0xc0;p0 =bs4; p2=0x00;p0=0xff;p2 = 0xe0;p0 =0xff;p2=0x00;p0=0x00;delay(3); while(p3!=0xfe); /判斷是否有鍵按下及格鍵功能if(temp=at0) ea=1;t=0;i=0;j=0; if(temp=at1) if(i<52) ai=t; i+;if(temp=at2) if(b=1) if(j<52) t=aj; j+; if(temp=at3) e
16、a=0;t=0; i=0;j=0; p2 = 0xc0;p0 =bs4; p2=0x00;p0=0xff;p2 = 0xe0;p0 =0xff;p2=0x00;p0=0x00;delay(3); p3=0xfd; delay(5); temp=p3; temp=temp&0xf0; if(temp!=0xf0) delay(5); if(temp!=0xf0) p2 = 0xc0;p0 =bs4; p2=0x00;p0=0xff;p2 = 0xe0;p0 =0xff;p2=0x00;p0=0x00;delay(3); while(p3!=0xfd); /判斷是否有鍵按下及格鍵功能if(
17、temp=at0) ea=0; b=1; p2 = 0xc0;p0 =bs4; p2=0x00;p0=0xff;p2 = 0xe0;p0 =0xff;p2=0x00;p0=0x00;delay(3); 3.3程序流程圖 四、結(jié)論與心得經(jīng)過幾個星期的課程設計,我學會了很多知識和技能。我從一開始對單片機一竅不通到現(xiàn)在的理解,我花費了很多的時間和精力,比如上網(wǎng)查閱資料,去圖書館借相關(guān)書籍,向身邊的同學討教等等。我重新對c語言又有了一些新的理解,也對單片機產(chǎn)生了濃厚的興趣。單片機對于我們電子專業(yè)的學生來說是一門很重要的學科,所以我們好好學號這一門技術(shù),這對于我們未來的發(fā)展有很大的幫助。下面我來談談本人通過這次課程設計的一些體會: (1)、這段日子里,通過學習的理論知識和實踐相結(jié)合,我收獲了很多,這些收獲將是我人生的寶貴財富。 (2)、通過這次課程設計,讓我養(yǎng)成了發(fā)現(xiàn)問題、提出問題、解決問題的好習慣,也使我善于思考和動手,更增強了我與同學們的交流合作。 (3)、這次課程設計不僅讓我對c語言有了很大的認識,使我的編程能力有了很大的提高,也讓我對單片機產(chǎn)生了濃厚的興趣。 (4)、通過這次課程設計,切實的提高了我的動手能力和解
溫馨提示
- 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é)議書
- 整棟房屋買賣合同
- 給排水外網(wǎng)施工方案
- 汕尾露臺花園施工方案
- TCSHB 0018-2024 全釩液流電池碳塑復合雙極板技術(shù)規(guī)范
- 硬化襯砌固定邊坡施工方案
- 隧道一級邊坡平臺施工方案
- 雞西市屋面鋼結(jié)構(gòu)施工方案
- 高品質(zhì)住宅建設標準報批稿
- 工作創(chuàng)新意識不強的整改措施【5篇】
- 冬小麥種植技術(shù)及病蟲害防治課件
- 污水處理廠設備的維修與保養(yǎng)方案
- 小城鎮(zhèn)建設形考作業(yè)1-4
- GB/T 36118-2018氣體除菌用聚四氟乙烯微濾膜折疊式過濾芯
- GB/T 34618-2017蒸汽疏水系統(tǒng)在線閥門內(nèi)漏溫度檢測方法
- GB/T 12807-2021實驗室玻璃儀器分度吸量管
- 水的組成發(fā)現(xiàn)史
- 葫蘆絲基礎教程-課件
- 優(yōu)秀-敦煌壁畫課件
- 普法講座-治安管理處罰法課件
評論
0/150
提交評論