多通道百分秒表設(shè)計_第1頁
多通道百分秒表設(shè)計_第2頁
多通道百分秒表設(shè)計_第3頁
多通道百分秒表設(shè)計_第4頁
多通道百分秒表設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用課程設(shè)計報告課題名稱多通道百分秒表設(shè)計學院專業(yè)班級學號姓名時間2016年月指導(dǎo)教師目錄一、內(nèi)容提要51.設(shè)計任務(wù)52設(shè)計要求:53設(shè)計提示:5二、步驟及方案5三、硬件設(shè)計61、單片機的選擇與外圍電路62.單片機與顯示模塊電路73.鍵盤電路84.顯示LED電路95.外圍小燈電路106.整體電路protuus仿真圖11四、軟件設(shè)計121.系統(tǒng)主函數(shù)程序122.初始化函數(shù)程序123、顯示函數(shù)程序134.開關(guān)函數(shù)程序145.中斷函數(shù)程序15五、調(diào)試16六、課程設(shè)計心得體會17參考文獻18附錄:源程序代碼18基于單片機的多通道百分秒表設(shè)計摘要:近年來隨著科技的飛速發(fā)展,單片機的運用正在不

2、斷的走向深入,同時帶動傳統(tǒng)控制檢測日新月異的更新。本秒表設(shè)計采用8051單片機為中心器件,利用其定時/計數(shù)器定時、計數(shù)的原理,結(jié)合顯示電路、按鍵控制電路等外圍電路來完成。將軟、硬件有機的結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)4位LED顯示,顯示時間為00.00到99.99秒,每秒自動加一,可以用開關(guān)控制開始、停止、復(fù)位,并且能擁有多通道(兩個或以上)分別計時功能。其軟件系統(tǒng)采用C語言編寫程序,包括:顯示程序、中斷初始化程序、中斷服務(wù)程序、顯示程序及開關(guān)控制程序。通過KEIL4與PROTEUS進行聯(lián)合調(diào)試,使得硬件與軟件有機的結(jié)合起來,達到了預(yù)期目的。關(guān)鍵詞:單片機,秒表,多通道 Abstract:In r

3、ecent years along with the rapid development of science and technology, the single-chip microcomputer application is constantly deepening, led the traditional control test at the same time change rapidly update. The stopwatch design using 8051 single chip as a core device, using the timer / counter

4、timing, counting principles, combined with display circuit, control circuit and other peripheral circuit to complete. The soft, hardware of organic combination, so that the system can achieve 4 LED display, display time is 0 to 99.99 seconds, plus a second automatic, can use the switch to control st

5、art, stop, reset, and can have multiple channels ( two or more ) are functions of time. The system software using C language programming, including: display program, interrupt initialization, interrupt service routines, display and switch control procedures. Through the KEIL4 and PROTEUS joint debug

6、ging, which makes hardware and software combined with organic, to achieve the expected goal. Key words: Single Chip Microcomputer; Stopwatch; Multi Channel 一、內(nèi)容提要1.設(shè)計任務(wù)基于AT89C51設(shè)計一個5位LED數(shù)碼作為“多通道百分秒表”。2設(shè)計要求:(1)、顯示時間為00.0099.99秒,每百分之秒自動加1。(2)、設(shè)計一個有三個按鍵的鍵盤。K1:“開始”“停止”“復(fù)位”“開始”。K2:顯示通道數(shù)“加一”。K3:顯示通道數(shù)“減一”。

7、(3)、 設(shè)計每到一秒鐘有聲音或LED指示提醒功能,可通過按鈕打開及關(guān)閉該提醒功能。(4)、其他功能。D2、D3小燈按照01、02通道分別計時時間到10秒時熄滅。(定時:到某一時間有LED提醒功能)。3設(shè)計提示:(1)、用6位個7段LED數(shù)碼管作為顯示設(shè)備,最高位顯示通道號,低4位顯示時間。(2)、可采用定時器,定時時間10ms。(3)、參考Protuse仿真效果圖:二、步驟及方案根據(jù)系統(tǒng)的設(shè)計要求,選擇AT89C51單片機作為系統(tǒng)的核心來完成定時、計數(shù)的功能,用74HC245來完成數(shù)據(jù)的鎖存和對LED的刷新控制,用外圍開關(guān)電路實現(xiàn)對單片機的外圍輸入,用小燈來實現(xiàn)對于計時等功能的提示。該系統(tǒng)的

8、設(shè)計總體思路如下:開關(guān)K1把開始信號傳輸給AT89C51單片機,單片機開始計數(shù),然后在P2口輸出信號,通過74HC245后傳輸給LED數(shù)碼管控制數(shù)碼管位數(shù)是否啟用,然后P0口傳輸相對應(yīng)的信號控制啟用的數(shù)碼管位輸出的具體信號。同理,其余開關(guān)的信號分別控制了AT89C51的停止、復(fù)位和通到的加減。外接的小燈接到P1.5、P1.6、P1.7口,分別作用于計時提示。綜上,可知7SEG-MPSX6-CC的最高2位用來顯示通道,低四位用來顯示時間(00.00到99.99秒),按照功能要求,確定由四個部分組成:主控制器,開關(guān)控制、小燈顯示、LED顯示??傮w設(shè)計電路結(jié)構(gòu)圖如圖所示:鍵盤輸入單片機AT89C51

9、LED顯示小燈顯示通道號 秒數(shù)圖02.01總體設(shè)計電路結(jié)構(gòu)圖三、硬件設(shè)計1、單片機的選擇與外圍電路AT89C51作為秒表計時系統(tǒng)的核心器件。該器件是INTEL公司生產(chǎn)的MCS51系列單片機的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù),具有高性能的8位單片機,屬于標準的MCS51的CMOS產(chǎn)品。不僅結(jié)合了HMOS的高速和高密度技術(shù)及HMOS的低功耗特征,而且繼承和擴展了MCS48單片機的體系結(jié)構(gòu)和指令系統(tǒng)。單片機小系統(tǒng)的電路圖如圖所示。圖03.01 單片機的選擇與外圍電路2.單片機與顯示模塊電路由74HC245芯片和電阻,導(dǎo)線構(gòu)成,控制鎖存單片機輸出信號。74HC245元件的封裝:(1)第1腳D

10、IR,為輸入輸出端口轉(zhuǎn)換用,DIR=“1”高電平時信號由“A”端輸入“B”端輸出,DIR=“0”低電平時信號由“B”端輸入“A”端輸出。 (2)第29腳“A”信號輸入輸出端,A1=B1、A8=B8,A1與B1是一組,如果DIR=“1”O(jiān)E=“0”則A1輸入B1輸出,其它類同。如果DIR=“0”O(jiān)E=“0”則B1輸入A1輸出,其它類同。(3)第1118腳“B”信號輸入輸出端,功能與“A”端一樣,不在描述。 (4)第19腳OE,使能端,若該腳為“1”A/B端的信號將不導(dǎo)通,只有為“0”時A/B端才被啟用,該腳也就是起到開關(guān)的作用。 (5)第10腳GND,電源地。 (6)第20腳VCC,電源正極。

11、圖03.02 74HC245結(jié)構(gòu)圖3.鍵盤電路由電源、導(dǎo)線、電阻、開關(guān)(K1、K2、K3、K4、K5五個開關(guān))構(gòu)成,K1連接P1.0口控制開始;K2連接P1.1口控制暫停;K3連接P1.2口控制復(fù)位清零;K4連接P1.3口控制通道減1;K5連接P1.4口控制通道加1。如圖:圖03.03鍵盤電路4.顯示LED電路由7SEG-MPSX6-CC共陰LED8段位顯示器構(gòu)成:結(jié)構(gòu)圖為:abcde fg12345. dp678910e f cc g ha b V c d 圖03.04 顯示器結(jié)構(gòu)圖表03.05顯示器真值表顯示字符共陰極接法八段狀態(tài)斷碼(共陰)spgfedcba0001111113FH100

12、00011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH.1000000080H綜上則可知:顯示0123456789.斷碼3FH06H5BH4FH66H6DH7DH07H7FH6FH80H5.外圍小燈電路采用了3個LED小D1、D2、D3,當按鈕按下后,3個LED小燈接入電路,接口為:D1端接到P1.5口、D2端接到P1.6口、D3端接到P1.7口,其中D1小燈按照當前通道隔一秒亮一次,D2、D3小燈按照01、02通道分別計時時間到10秒時熄

13、滅。如圖。圖03.06外圍小燈電路6.整體電路protuus仿真圖圖03.07整體電路protuus仿真圖四、軟件設(shè)計系統(tǒng)程序包括:主函數(shù)程序、顯示函數(shù)程序、中斷函數(shù)程序、開關(guān)函數(shù)程序、系統(tǒng)初始化函數(shù)程序,通道設(shè)置函數(shù)程序。主程序結(jié)構(gòu):1.系統(tǒng)主函數(shù)程序主程序程序中調(diào)用了兩個子函數(shù)程序,分別是中斷初始化函數(shù)程序及顯示函數(shù)程序。開始系統(tǒng)初始化函數(shù)顯示函數(shù)圖04.01系統(tǒng)主函數(shù)程序圖開始2.初始化函數(shù)程序設(shè)定定時器狀態(tài)開中斷對定時器賦初值結(jié)束圖04.02初始化函數(shù)程序圖初始化函數(shù)程序包括對定時器/計數(shù)器的工作方式設(shè)定、初值設(shè)定。3、顯示函數(shù)程序 開始 判斷通道標識a為1還是2通道2數(shù)據(jù)通道1數(shù)據(jù)數(shù)

14、碼顯示結(jié)束圖04.03顯示函數(shù)程序圖顯示函數(shù)程序通過識別兩個通道的刷新標志位flag_1和flag_2來實現(xiàn)雙通道顯示轉(zhuǎn)換。4.開關(guān)函數(shù)程序結(jié)束開始結(jié)束圖04.04 開關(guān)函數(shù)程序圖開關(guān)函數(shù)程序主要通過P1.0、P1.1、P1.2三個引腳來操作秒表的開始、停止、清零。5.中斷函數(shù)程序開始結(jié)束 圖04.05中斷函數(shù)程中斷函數(shù)程序通過P1.3和P1.4控制用戶選擇的通道數(shù),然后根據(jù)開關(guān)函數(shù)來分別對兩個通道的刷新標志位flag_1和flag_2賦值,進而實現(xiàn)通道的互相切換。五、調(diào)試把程序從KEIL中生成HEX文件,導(dǎo)入單片機中,測試是否實現(xiàn)題目要求的各個功能。1.由于開始計算中斷初始時間不準確,故重新

15、設(shè)置初始化時間;2.經(jīng)過調(diào)試,延時時間設(shè)為1000效果最佳;3.由于3通道數(shù)要求過于復(fù)雜,故采用雙通道設(shè)計;4.由于難以實現(xiàn)一個按鍵具備:開始、停止及清零功能,所以只能采用三個按鍵分別控制。經(jīng)過耐心的調(diào)試,最終實現(xiàn)設(shè)計要求。PROTEUS仿真圖如圖:圖05.01 一通道圖圖05.02 二通道圖六、課程設(shè)計心得體會回顧起此次課程設(shè)計,感覺受益匪淺,從拿到題目到完成整個編程,從理論實踐,學到很多很多的課堂理論中沒學到過的東西,不僅對鍵盤的識別技術(shù)這章節(jié)的知識點有了深刻的認識,而且對這學期開設(shè)的單片機這門課程有了更全面的了解,尤其是在學習使用proteus軟件片編程和仿真時收獲良多。通過這次單片機課

16、程設(shè)計,還使我懂得了實踐的重要性。同時在程序調(diào)試的過程中提高己的發(fā)現(xiàn)問題、解決問題、實際動手和獨立思考的能力。使用軟件和編寫程序時一定要注意每一個細節(jié),一個分號的遺漏也會造成錯誤。制作前一定要做好規(guī)劃設(shè)計,反復(fù)論證和計算,防止考慮不到的地方使得做好的東西需要翻工。如果制作或使用中發(fā)現(xiàn)問題,既極大地打擊積極性和自信心,還會極大地消耗時間,拖延項目的進度。制作硬件也一定要耐心細致,極小的失誤都會造成短路等問題而直接造成大錯。在設(shè)計中,如果沒有考慮到哪怕何一個細節(jié),都有可能讓沒考慮到的情況造成失誤,使各個子程序的時序和運行之間可能會互相干涉和沖突。此外遇到問題有時候憑借一個人或一組人的智慧是不好解決

17、的。我們周圍有許多很強的同學,還有許多經(jīng)驗豐富,實力雄厚的學長,通過請教和討論可以產(chǎn)生一種茅塞頓開的效果。事情總是越說越明白,而且好多非常有新意和實用價值的想法也是在大家的討論中得到和發(fā)展出來的。參考文獻1 劉娟,梁衛(wèi)文等編著.單片機C語言與PROTEUS仿真技能實訓(xùn)【M】.北京:中國電力出版社,2010.2 彭偉編著.單片機C語言程序設(shè)計試訓(xùn)100例基于8051+Proteus仿真【M】.北京:電子工業(yè)出版社,2009.3 吳亦鋒、陳德為.單片機原理與接口技術(shù).北京:電子工業(yè)出版社,2010.4 邊清遠、王志強.MCS-51單片機運用開發(fā)實用子程序.北京:人民郵電出版社,2005.5 姚國林

18、.單片機原理與應(yīng)用技術(shù).北京:清華大學出版社,2009.附錄:源程序代碼#include "reg51.h"#define THC0 0xd8#define TLC0 0xf0void StarandStop();unsigned char code Duan=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/0-9段數(shù)碼管,共陰極unsigned char DataBuffer4=0,0,0,0,DataBuffer_14=0,0,0,0,DataBuffer_24=0,0,0,0;/四個數(shù)碼管顯示數(shù)值,數(shù)組變量定義un

19、signed int a=1;unsigned int hdrSec_1=0,miao_1=0,hdrSec_2=0,miao_2=0;bit flag_1=0,flag_2=0;/三個通道數(shù)碼管刷新標志位sbit P10=P10; sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P17=P17;sbit P07=P07;/*程序初始化*/void timer1_init()TMOD=0x11;/初始化兩個定時器TR0=1; /啟動定時器0ET0=1; /允許定時器中斷EA=1

20、; /總中斷打開TH0=THC0;TL0=TLC0;/*顯示程序*/void display()unsigned char b; int x;while(1)if(miao_1=10)P16=0;if(miao_2=10)P17=0;if(a=1)if(miao_1%2=1)P15=0;else if(miao_1%2=0) P15=1;DataBuffer0=DataBuffer_10;DataBuffer1=DataBuffer_11;DataBuffer2=DataBuffer_12;DataBuffer3=DataBuffer_13;if(a=2)if(miao_2%2=1)P15=0

21、;else if(miao_2%2=0)P15=1;DataBuffer0=DataBuffer_20;DataBuffer1=DataBuffer_21;DataBuffer2=DataBuffer_22;DataBuffer3=DataBuffer_23;for(b=0;b<6;b+)P2=0xFF;switch(b)case 0:P2 = 0xFE;P0 = 0x3F;break;case 1:P2 = 0xFD;P0 = Duana;break;case 2:P2 = 0xFB;P0 = DuanDataBuffer0;break;case 3:P2 = 0xF7;P0 = Du

22、anDataBuffer1;P07=0x80;break;case 4:P2 = 0xEF;P0 = DuanDataBuffer2;break;case 5:P2 = 0xDF;P0 = DuanDataBuffer3;break;for(x=1000;x>1;x-); /*中斷程序*/void timer0() interrupt 1TMOD=0x11;/初始化兩個定時器TH0=THC0;TL0=TLC0;/*通道設(shè)置*/if(P13=0)a=1;if(P14=0)a=2;StarandStop(); if(flag_1=1&&flag_2=1)hdrSec_1+;h

23、drSec_2+;if(hdrSec_2>=99)hdrSec_2=0;miao_2+;if(miao_2>=99) miao_2=0; DataBuffer_20=miao_2%100/10; /前兩位顯示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后兩位顯示百分秒表DataBuffer_23=hdrSec_2%10;if(hdrSec_1>=99)hdrSec_1=0;miao_1+;if(miao_1>=99)miao_1=0; DataBuffer_10=miao_1%100/10; /前兩

24、位顯示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后兩位顯示百分秒表DataBuffer_13=hdrSec_1%10; if(flag_1=1&&flag_2=0)hdrSec_1+;if(hdrSec_1>=99)hdrSec_1=0;miao_1+;if(miao_1>=99) miao_1=0; DataBuffer_10=miao_1%100/10; /前兩位顯示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后兩位顯示百分秒表DataBuffe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論