07電科電子檔2稿_第1頁(yè)
07電科電子檔2稿_第2頁(yè)
07電科電子檔2稿_第3頁(yè)
07電科電子檔2稿_第4頁(yè)
07電科電子檔2稿_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄摘要IIAbstractIII第一章緒論 .11.1 單片機(jī)的概述 .1.1.1 單片機(jī)的發(fā)展和定義 .1.1.2單片機(jī)的特點(diǎn) .1112第二章材料選擇與設(shè)計(jì)思路 .2.1材料選擇 .222332.1.22.1.22.1.3單片機(jī)的選擇 .LED 顯示 .鍵盤 .2.2設(shè)計(jì)思路 .第三章主要技術(shù)的設(shè)計(jì) .53.1主要技術(shù) .53.2主要的設(shè)計(jì)方案 .558993.2.13.2.23.2.33.2.4定時(shí)器 .顯示 .鍵盤 .利用定時(shí)中斷進(jìn)行顯示和查鍵 .第四章電路 .124.1復(fù)位電路 .124.2元件及其作用 .124.3I/0 接口 .13第五章程序 .145.1程序流程圖 .5.1.

2、1秒表的計(jì)時(shí)功能 .141415165.1.2秒表的倒計(jì)時(shí)功能流程圖 .5.2程序 .第六章總結(jié) .17參考文獻(xiàn) .18附錄 .19基于單片機(jī)的多功能電子跑表摘要采用單片機(jī)技術(shù)制作一個(gè)具有到計(jì)時(shí)功能和多次數(shù)據(jù)計(jì)時(shí)并回顯的多功能跑表。采用 51 單片機(jī)做為!單片機(jī)具體型號(hào)為 SST89E516RD2 是 SST 公司 8 位微處理器FlashFlex51 系列的成員,是采用先進(jìn)的閃存 CMOS 半導(dǎo)體技術(shù)設(shè)計(jì)和制造,這些器件是采用 8051 的指令集,并和標(biāo)準(zhǔn)的 8051 控制器管腳兼容。帶有 16/24/40/72Kbyte 的片內(nèi) FLASHEEPROM器,使用了 SST 公司專利的 CMO

3、S 閃存技術(shù),器被分成兩塊獨(dú)立的程序器,第一塊(BLOCK0)占用 8/16/32/64Kbyte 的程序器空間,第二塊(BLOCK0)占用 8Kbyte 的程序器空間。8Kbyte 的第二塊 FLASH 可以到8/16/32/64Kbyte 空間的低地址,還可以被隱藏和當(dāng)成類似 EEPROM 的獨(dú)立的數(shù)據(jù)器。本次設(shè)計(jì)采用 SST89E516RD2 為加上必要的電路,再用共陰 7 段數(shù)碼管 4 個(gè)進(jìn)行顯示輸出,用按鍵控制功能選擇,因?yàn)?SST89E516RD2 電源是 4.50V - 5.50V 操作,工作頻率 040MHz 所以采用 5V 電源進(jìn)行供電。設(shè)計(jì)分為(1)功能描述(2)系統(tǒng)構(gòu)建和

4、材料選擇(3)制作方案和制作流程圖(4)程序設(shè)計(jì)(5)電路。如何應(yīng)用單片機(jī)技術(shù)是畢業(yè)設(shè)計(jì)的!隨著科學(xué)技術(shù)的不段發(fā)展,單片機(jī)技術(shù)已經(jīng)成為現(xiàn)在智能化的高科技技術(shù)產(chǎn)品的和基礎(chǔ)。單片機(jī)知識(shí)對(duì)于即將畢業(yè)的有著很重要的意義。:?jiǎn)纹瑱C(jī),多功能電子跑表,共陰 7 段數(shù)碼管Microcontroller-based Multi-Function Electronic StopwatchAbstractSCM technology can be used to make a memory of multiple sets of data and time whenthe record is complete da

5、ta set can display memory! We use 51 microcontroller as the core! SCM specific mfor the SST89E516RD2 SST company is 8-bit microcontrollerFlashFlex51 family members,Flash memory is the use of advanced design and manufacturing CMOS semiconductor technology, these deviare using the 8051 instruction set

6、, and the standard 8051 patible controller. With 16/24/40/72Kbyte chip FLASH EEPROM memory chip,using the SSTs proprietary CMOS flash memory technology, memory is dividedo twoindependent program memory, theone (BLOCK0) occupation 8/16/32 / 64Kbyteernalprogram memory space, the second block (BLOCK0)

7、occupied 8Kbyteernal programmemory space. 8Kbyte of the second block can be mapped to a FLASH 8/16/32/64Kbyaddress space cso be hidden and as similar to the independent data EEPROM memory.owThe design uses SST89E516RD2 the core with the nesary circuitry, and then commoncathode 7-segment 4 to display

8、 the output, with the key control option becauseSST89E516RD2supply with 5Ver is 4.50V - 5.50V operation, so the frequency of 0 40MHz Weer supply.Design is dividedo (1) Features (2) systems engineering and material selection (3)production programs and production flow chart (4) programming (5) circuit

9、 (6) production inkind。How to use microcontroller technology is the core of my graduation! not of scienceand technology with the development ofelligent single chip technology hase a hightechnology products are now the core and foundation. SCM knowledge is about to graduatewe have very important sign

10、ificance.Keywords:SCM ;multifunctional;electronic stopwatch第一章緒論1.1 單片機(jī)的概述1.1.1 單片機(jī)的發(fā)展和定義在一片集成電路上集成微處理器、器、I/O 接口電路,從而了單微型計(jì)算機(jī),即單片機(jī)。又稱:微控制器。單片機(jī)技術(shù)發(fā)展過程可分為三個(gè)主要階段:?jiǎn)纹瑱C(jī)的初級(jí)階段 1974 年1978 年,el 公司推出了 MCS-48 系列單片機(jī) 。8 位 CPU、1K 字節(jié) ROM、64 字節(jié) RAM、27 根 I/O 線和 1 個(gè) 8 位定時(shí)/計(jì)數(shù)器。特點(diǎn)是:器容量較小,尋址范圍?。ú淮笥?4K),無串行接口,指令系統(tǒng)功能不強(qiáng)。高性能階段

11、 1980 年,el 公司推出了 MCS-51 系列單片機(jī):8 位 CPU、4K 字節(jié) ROM、128 字節(jié) RAM、4 個(gè) 8 位并口、1 個(gè)全雙工串行口、2 個(gè) 16 位定時(shí)/計(jì)數(shù)器。尋址范圍 64K,并有控制功能較強(qiáng)的處理器。結(jié)構(gòu)體系完善,性能已大大提高,面向控制的特點(diǎn)進(jìn)一步突出。現(xiàn)在,MCS-51 已成為公認(rèn)的單片機(jī)經(jīng)典機(jī)種。微控制器化階段 1982 年,el 推出 MCS-96 系列單片機(jī)。內(nèi)集成:16 位CPU、8K 字節(jié) ROM、232 字節(jié) RAM、5 個(gè) 8 位并口、1 個(gè)全雙工串行口、2個(gè) 16 位定時(shí)/計(jì)數(shù)器。尋址范圍 64K。片上還有 8 路 10 位 ADC、1 路輸

12、出及高速 I/O等。特點(diǎn)是:片內(nèi)面向測(cè)控系統(tǒng)電路增強(qiáng),使單片機(jī)可以方便靈活地用于復(fù)雜的自動(dòng)測(cè)控系統(tǒng)及設(shè)備?!拔⒖刂破鳌钡姆Q謂更能反應(yīng)單片機(jī)的本質(zhì)。1.1.2單片機(jī)的特點(diǎn)控制性能和可靠性,高實(shí)時(shí)控制功能特別強(qiáng),其 CPU 可以對(duì) I/O 端口直接進(jìn)行操作,位操作能力更是其它計(jì)算機(jī)無法比擬的。另外,由于 CPU、器及 I/O 接口集成在同一內(nèi),各間的連接緊湊,數(shù)據(jù)在傳送時(shí)受干擾的影響較小,且不易受環(huán)境條件的影響,所以單片機(jī)的可靠性非常高。第二章材料選擇與設(shè)計(jì)思路2.1材料選擇電子跑表其實(shí)就是一個(gè)單片機(jī)的最小系統(tǒng),單片機(jī)、晶振、復(fù)位電路、鍵盤輸入電路、顯示電路了這個(gè)最小系統(tǒng)。以下是對(duì)該最小系統(tǒng)的基本

13、的分析選擇。2.1.2單片機(jī)的選擇本次設(shè)計(jì)對(duì)單片機(jī)的數(shù)據(jù)和數(shù)據(jù)的處理要求都不高,所以選擇的單片機(jī)要求也不太高 STT 公司的 SST89E516RD 與 805 的完全兼容, 開發(fā)工具兼容, 封RAM 共有 1Kbyte( 256Byte + 768Byte)256Bytes 寄裝與引腳兼容。其存器/數(shù)據(jù) RAM, 內(nèi)含兩塊高性能 SuperFlash器( EEPROM)塊(每個(gè)塊的扇區(qū)大小8K/16K/32K/64Kbyte 的主塊 + 8Kbyte 的次都是 128Byte)用 SoftLock 可以獨(dú)立地對(duì)每個(gè)塊進(jìn)行安全加鎖。實(shí)現(xiàn)應(yīng)用中再編程( IAP: In-Application-P

14、rogramming) 兩塊可同時(shí)操作。在 IAP 過程中器的覆蓋,支持中斷響應(yīng)。支持最大 64KByte 外部程序和數(shù)據(jù)存可實(shí)現(xiàn)儲(chǔ)空間 P1 的 5、6、7 等三個(gè)引腳可驅(qū)動(dòng)大電流( 每個(gè)可達(dá) 16mA)3 個(gè) 16位定時(shí)/計(jì)數(shù)器( T0, T1, T2) 全雙工增強(qiáng)型串行通訊口( UART) 幀錯(cuò)誤識(shí)別自動(dòng)地址識(shí)別,10 個(gè)中斷源, 4 個(gè)優(yōu)先級(jí),提供 4 個(gè)外部中斷輸入,帶內(nèi)部可編程看門狗( WDT),可編程計(jì)數(shù)器陣列( PCA),4 個(gè) 8 位 I/O個(gè) I/O 引腳)和 1 個(gè) 4 位口,共 36 個(gè) I/O。這款 51 單片機(jī)具備設(shè)計(jì)所需要的所有功能,同時(shí)他也是市面上常見的一款單片

15、機(jī),所以口( 32本次選擇它作為本次設(shè)計(jì)的單片機(jī)。2.1.2LED 顯示通常把數(shù)碼管、符號(hào)管、米字稱為筆畫顯示器; 而把筆畫顯示器和矩這里采用的 7 段數(shù)碼管所以陣管統(tǒng)稱為字符顯示器。因?yàn)樵敿?xì)介紹 下數(shù)碼管的分類: 數(shù)碼管可以按字高、顏色、結(jié)構(gòu)、各發(fā)光段的連接方式等進(jìn)行分類。按照各發(fā)光段的連接方式分,數(shù)碼管可分為共陽(yáng)極和共陰極兩種。所謂的共陽(yáng)方式就是筆畫顯示器各段發(fā)光管的陽(yáng)極是公共的,而陰極是互相的。所謂的共陰方式就是筆畫顯示器各段發(fā)光管的陰極是公共的,而陽(yáng)極是互相的LED 顯示的原理。如圖 2.1 所示為七段 LED 數(shù)碼管的原理圖,通過該圖可以很容易地看出共陽(yáng)極和共陰極的七段 LED 管的

16、工作原理的不同點(diǎn)。對(duì)于共陰極的數(shù)碼管,所有發(fā)光二極管的陰極共連后接地,而陽(yáng)極引出腳用于控制 LED 是否點(diǎn)亮。若陽(yáng)極引出腳接地,則 LED 被熄滅;若陽(yáng)極引出腳接, 則 LED 被點(diǎn)亮。圖 2.17 段數(shù)碼管的原理圖共陽(yáng)極的 LED 正好相反,所有發(fā)光二極管的陽(yáng)極共連后接,而陽(yáng)極引出腳用于控制 LED 是否點(diǎn)亮。若陰極引出腳接,則 LED 被熄滅;若陰極引出腳接地,則 LED 被點(diǎn)亮。因此共陽(yáng)極和共陰極所需要的字型碼正好相反。這里陰數(shù)碼管進(jìn)行本次設(shè)計(jì)。選用的是共2.1.3鍵盤外部指令對(duì)單片機(jī)的輸入一般都是通過鍵盤等輸入器件來實(shí)現(xiàn)的,而鍵盤的設(shè)計(jì)以及編程。方法在本例中將會(huì)重點(diǎn)介紹。在本例中,是利

17、用鍵盤來實(shí)現(xiàn)秒表的啟??刂萍肮δ艿倪x擇。2.2設(shè)計(jì)思路為了實(shí)現(xiàn)秒表的計(jì)時(shí),需要利用單片機(jī)實(shí)現(xiàn)百分之一秒(10ms)的中斷,在中斷程序中實(shí)現(xiàn)數(shù)字的變化,并動(dòng)態(tài)顯示出來。顯示采用的是動(dòng)態(tài)掃描的方法。動(dòng)態(tài)掃描的方法其實(shí)很簡(jiǎn)單,就是輪流點(diǎn)亮各數(shù)碼管,同時(shí)把各數(shù)碼管所需要的字符送到對(duì)應(yīng)的 I/O 口;而中間需要有一定的延時(shí),原因是單片機(jī)每一條指令執(zhí)行的時(shí)間很短,如果切換得太快的話,發(fā)光二極管都來不及反應(yīng),在編程上可以加上一個(gè)延時(shí)子程序來解決。設(shè)置按鍵 1.2.來控制計(jì)時(shí)的啟/停和倒計(jì)時(shí)模式下初值的設(shè)定,按鍵 3 來控制連續(xù) 8次計(jì)時(shí)和倒計(jì)時(shí)模式的轉(zhuǎn)換,采用消抖方式進(jìn)行處理。采用復(fù)位電路對(duì)單片機(jī)進(jìn)行重置。

18、第三章主要技術(shù)的設(shè)計(jì)3.1主要技術(shù)單片機(jī)電子跑表需要解決的三個(gè)最主要的技術(shù)是:如何使用單片機(jī)的的定時(shí)器。如何實(shí)現(xiàn)動(dòng)態(tài)掃描顯示。如何寫鍵盤的輸入控制程序。3.2主要的設(shè)計(jì)方案3.2.1定時(shí)器單片機(jī)中定時(shí)器的使用是一項(xiàng)重要的內(nèi)容,也是一項(xiàng)基本的內(nèi)容。由于內(nèi)容太多就不詳細(xì)介紹了,在后面的設(shè)計(jì)中將會(huì)穿插說明。這里利用單片機(jī)百分之一秒(10ms)的中斷,在中斷程序中實(shí)現(xiàn)數(shù)字的變化并動(dòng)態(tài)顯示出來,從而實(shí)現(xiàn)秒表的計(jì)時(shí)。以下是具體的程序?qū)崿F(xiàn):程序:定義 /定義共陽(yáng)極字符編碼表uchar code TABLE10=0 xa0,0 xf9,0 xc4,0 xd0,0 x99,0 x92,0 x82,0 xf8,0

19、 x80,0 x98;uum;/計(jì)數(shù)值LED0,LED1,LED2,LED3; / 各位的數(shù)值uchar ms;/用于表示數(shù)碼管顯示位及計(jì)算是否 10ms 到設(shè)定定時(shí)器 T0 的工作方式TMOD= 0 x 01 ; /T0 方式 1 計(jì)時(shí) 1ms TL0=0 x18;TH0=0 xfc;EA= 1 ; /開中斷, 啟動(dòng)定時(shí)器ET0=1; TR 0 = 1 ;動(dòng)態(tài)顯示字符的子程序void display(void)switch (ms%4) case 0:P3=0 xfe;/點(diǎn)亮百分一秒位的 LED 數(shù)碼管P1=tableLED3; / 輸出百分一秒位數(shù)值P1_7=1;break; case 1

20、: P3=0 xfd;P1=tableLED2;/點(diǎn)亮十分一秒位的 P1_7=1;/輸出十分一秒位數(shù)值 break;case 2:P3=0 xfb;/點(diǎn)亮秒位的 LED 數(shù)碼管 P1=tableLED1; / 輸出秒位數(shù)值 P1_7=0;/點(diǎn)亮小數(shù)點(diǎn)位break; case 3:P3=0 xf7;/點(diǎn)亮十秒位的 LED 數(shù)碼管 P1=tableLED0; / 輸出十秒位數(shù)值 P1_7=1;break;default: return;LED數(shù)碼管計(jì)算各位顯示字符的子程序void add1(time)uutime;n,a;a=time/1000; LED 0 =a;/計(jì)算十秒位數(shù)值n=time%1

21、000; LED1=(n/100);/計(jì)算秒位數(shù)值n=n% 100 ;LED2=(n/10);/計(jì)算十分一秒位數(shù)值LED3=n% 10 ; /計(jì)算百分一秒位數(shù)值流程圖如圖 3.1 所示。圖 3.1定時(shí)器方案流程圖3.2.2顯示顯示采用的是動(dòng)態(tài)顯示驅(qū)動(dòng)。動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一, 動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決

22、于單片機(jī)對(duì)位選通 COM 端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為 12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。下面是一種常見的動(dòng)態(tài)顯示程序:uchar delay; for(;)display();/調(diào)用顯示子程序for

23、( delay=0 ; delay=200 ; delay+);/延時(shí)程序ms+;/點(diǎn)亮下一個(gè)數(shù)碼管這是一個(gè)很簡(jiǎn)單的動(dòng)態(tài)顯示程序, 完全按照動(dòng)態(tài)顯示的規(guī)則來編寫的, 在很多單片機(jī)的入門中對(duì)單片機(jī)的顯示都是采用類似的編程法。 但是這個(gè)程序有一個(gè)很大, 就是延時(shí)程序的出現(xiàn)。 延時(shí)程序?qū)嶋H上就是使單片機(jī)不斷地進(jìn)行遞減或遞加計(jì)數(shù), 而在這一段時(shí)間內(nèi)單片機(jī)是不能做其他任何事情的。 這顯然不符合實(shí)際應(yīng)用的要求, 因?yàn)樵趯?shí)際的應(yīng)用中單片機(jī)除了顯示外還有很多其他的事情是要處理的。 實(shí)際應(yīng)用時(shí)這個(gè)顯示程序要進(jìn)行改寫。3.2.3鍵盤鍵盤的最根本的功能就是當(dāng)該按鍵按下后,單片機(jī)應(yīng)用系統(tǒng)能夠完成該按鍵所設(shè)定的功能。對(duì)

24、于一組鍵盤,必定會(huì)通過一個(gè)接口電路與單片機(jī)相連。CPU 要檢測(cè)是否有鍵盤信息輸入而且要判斷是哪一個(gè)鍵被按下,然后根據(jù)鍵值來進(jìn)行相應(yīng)的工作。鍵盤最主要的技術(shù)就是消抖,現(xiàn)在無論什么鍵盤都是以機(jī)械接觸點(diǎn)和合/斷作用,而機(jī)械觸點(diǎn)存在彈性在開關(guān)合/閉時(shí)候會(huì)有抖動(dòng)從而引起輸入點(diǎn)信號(hào)的抖動(dòng)導(dǎo)致輸入信號(hào)的確。所以首先要解決的就是鍵盤的消抖問題。消抖問題有兩種處理方案。消抖和硬件消抖。硬件消抖:硬件消抖主要可以通過雙穩(wěn)態(tài)電路和濾波電路等消抖電路對(duì)按鍵進(jìn)行消抖處理。常用的消抖電路如圖 3.2 所示。消抖:消抖其實(shí)就是進(jìn)行有 10ms 延時(shí)的兩次查詢,當(dāng)?shù)谝淮尾樵兊桨存I按下后進(jìn)行一個(gè) 10ms 的延時(shí)再進(jìn)行一次查詢

25、,如過這次查詢結(jié)果也為按下則確認(rèn)按鍵被按下,讀出按值,等待按鍵。如果第二次查詢按鍵狀態(tài)為斷開則視為干擾,斷開檢測(cè)同理。圖 3.2硬件消抖動(dòng)電路圖因?yàn)橄都茨転楣?jié)省材料又能為節(jié)省電路空間。所以本次設(shè)計(jì)應(yīng)用消抖的方式來處理鍵盤的消抖問題。具體的程序?qū)⒃谧詈蟮某绦蛘鹿?jié)中給出。3.2.4利用定時(shí)中斷進(jìn)行顯示和查鍵利用中斷進(jìn)行查鍵和顯示可以節(jié)省單片機(jī)資源并且使程序更具可讀性。定時(shí)查鍵(每10ms 進(jìn)行一次查鍵)。圖 3.3查鍵流程圖圖 3.2 為其中一個(gè)查鍵的流程圖,cheak 為該鍵消抖標(biāo)志位。當(dāng)沒有鍵被按下,則 cheak置 0,并返回。當(dāng)有按鍵被按下時(shí),則檢查消抖標(biāo)志位 cheak,如果標(biāo)志位為

26、0,則說明了還沒有進(jìn)行消抖處理,將 cheak 置為 1 同時(shí)返回。因?yàn)檫^ 10ms 才再進(jìn)入一次查鍵, 所以相當(dāng)于進(jìn)行了 10ms 的延時(shí)效果,程序不需要進(jìn)行延時(shí)。若再次查鍵的時(shí)候發(fā)現(xiàn)該鍵的消抖標(biāo)志位 cheak 為 1,則說明此鍵已經(jīng)過消抖處理,這時(shí)等待鍵的 從而實(shí)現(xiàn)該鍵的功能。定時(shí)掃描鍵盤的子程序?yàn)椋篵it cheak;/cheak 為 P2_1 bit keydown;bit start; bit stop;void scan(void) P2=0 x0f;if(P2_1=0).的消抖標(biāo)志位/keydown 為 P2_1 按下的標(biāo)志位/秒表啟動(dòng)標(biāo)志位/秒表停止標(biāo)志位/讀入前先將電位拉高

27、 if(cheak=0)cheak=1;返回/若 cheak 為 0,則將 cheak置 1 并elsekeydown=1;置 1 cheak=0; if(P2_1=1) while(keydown=1)鍵/若 cheak 為 1, 則已消抖, 按下標(biāo)志/同時(shí)將 cheak 置 0/若 P2_1 和 keydown 均為 1,則該 keydown=0; if(start=0)start=1;stop=0; else start=0;stop=1;從上面的子程序可以看出每一次按鍵工作都是以按鍵的為最終結(jié)束,程序檢測(cè)到按鍵才開始實(shí)現(xiàn)該按鍵的功。利用定時(shí)中斷進(jìn)行顯示。利用中斷進(jìn)行顯示簡(jiǎn)化了顯示程序而

28、且減輕了 CUP 的工作負(fù)擔(dān)。具體的實(shí)現(xiàn)方法為;Void time0(void)TLO=0 x18;TH0=0 xfc; ms+if (ms=10);ms=0;errupt 1 using 1/重裝數(shù)據(jù)/到 10 秒執(zhí)行一次查鍵Scey=1;Display();/調(diào)用一次顯示子程序第四章電路4.1復(fù)位電路復(fù)位電路是單片機(jī)中不可缺少的主要電路之一。所謂復(fù)位電路顧名思義就是使單片機(jī)重新啟動(dòng)的電路,當(dāng)復(fù)位電路啟動(dòng)時(shí)單片機(jī)路如圖 4.1 所示。的所有寄存器回到初始狀態(tài)。復(fù)位電圖 4.1復(fù)位電路對(duì)于 51 單片機(jī)來說他是高頻復(fù)位,所謂高頻復(fù)位就是 RST 保持兩個(gè)機(jī)器周期以上時(shí)自動(dòng)復(fù)位。從圖 4.1 中

29、可以看出該電路可以實(shí)現(xiàn)兩個(gè)功能:的上電復(fù)位:上電瞬間,電容充電電流最大,電容相當(dāng)于短路,RST 端為,自動(dòng)復(fù)位;電容兩端的電壓達(dá)到電源電壓時(shí),電容充電電流為零,電容相當(dāng)于開路,RST 端為低電平,程序正常運(yùn)行。手動(dòng)復(fù)位:首先經(jīng)過上電復(fù)位,當(dāng)按下按鍵時(shí),RST 直接與 VCC 相連,為高電平形成復(fù)位,同時(shí)電解電容被短路放電;按鍵松開時(shí),VCC 對(duì)電容充電,充電電流在電阻上,RST 依然為路,RST 為低電平,正常工作。,仍然是復(fù)位,充電完成后,電容相當(dāng)于開4.2元件及其作用單片機(jī): SST89E516RD,主控制器。七段共陰數(shù)碼管: LED1-LED4, 用于顯示。NPN 三極管: SS9012

30、, 制作放大電路。按鍵 K1:在正常情況下,用于控制單一計(jì)時(shí)模式下秒表的啟動(dòng)/停止。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的增加按鍵, 按一下 K1,倒計(jì)時(shí)初值增加 1;按住 K1 不放,倒計(jì)時(shí)初值連續(xù)增加;快速連按兩下 K1 然后不放,則倒計(jì)時(shí)初值快速增加,增加的速度是連續(xù)增加的 10 倍。按鍵 K2:在正常情況下,用于控制連續(xù)計(jì)時(shí) 8 個(gè)的計(jì)時(shí)模式下秒表的啟動(dòng)/停止。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的減少按鍵,按一下 K2, 倒計(jì)時(shí)初值減少 1; 按住 K2 不放, 倒計(jì)時(shí)初值連續(xù)減少;快速連按兩下 K2 然后不放,則倒計(jì)時(shí)初值快速減少,減少的速度是連續(xù)減少的 10 倍。按鍵 K3: 用

31、于秒表的功能的選擇, 在默認(rèn)情況下, 為秒表的計(jì)時(shí)準(zhǔn)備模式。按下 K3 后秒表進(jìn)入倒計(jì)時(shí)的狀態(tài),這時(shí)通過按鍵 K1 和 K2可以進(jìn)行倒計(jì)時(shí)初值的調(diào)整, 再按下 K3 則進(jìn)入倒計(jì)時(shí)。按鍵 RESET: 在復(fù)位電路中, 對(duì)單片機(jī)起復(fù)位作用。LED5:用于顯示單片機(jī)的工作狀態(tài),在準(zhǔn)備計(jì)時(shí)的時(shí)候,LED5 點(diǎn)亮; 在計(jì)時(shí)的時(shí)候, LED5 閃爍; 在倒計(jì)時(shí)初值設(shè)定和倒計(jì)時(shí)工作的時(shí)候, LED5 熄滅。LED6: 用于顯示單片機(jī)的工作狀態(tài), 在準(zhǔn)備計(jì)時(shí)和計(jì)時(shí)工作的時(shí)候, LED6 熄滅;在倒計(jì)時(shí)初值設(shè)定的時(shí)候,LED6 點(diǎn)亮;在倒計(jì)時(shí)工作的時(shí)候, LED6 閃爍4.3I/0 接口P1.0 P1.7: 與

32、數(shù)碼管的各個(gè)位相連, 用于傳送數(shù)碼管的段位碼。 P3.0 P3.3:與數(shù)碼管 LED1 LED4 相連,通過單片機(jī)的 P3.0 P3.3可以控制 LED 的顯示。P2.1: 和按鈕 K1 相連, 用于決定單一計(jì)時(shí)模式下的秒表啟動(dòng)/停止和倒計(jì)時(shí)初值的增加。P2.0: 和按鈕 K2 相連, 用于決定連續(xù)計(jì) 8 個(gè)的計(jì)時(shí)模式下秒表啟動(dòng)/停止和倒計(jì)時(shí)初值的減少。P2.2: 和按鈕 K3 相連, 用于單片機(jī)工作模式的選擇。 P2.6:和 LED6 相連, 用于顯示單片機(jī)的工作狀態(tài)。 P2.7:和 LED5 相連, 用于顯示單片機(jī)的工作狀態(tài)第五章程序5.1 程序流程圖5.1.1秒表的計(jì)時(shí)功能秒表的計(jì)時(shí)功能

33、流程圖如圖 5.1 所示。圖 5.1秒表計(jì)時(shí)功能流程圖5.1.2秒表的倒計(jì)時(shí)功能流程圖秒表的倒計(jì)時(shí)功能分為:倒計(jì)時(shí)的初值增加如圖 5.2 所示。倒計(jì)時(shí)的初值減少如圖 5.3 所示。倒計(jì)時(shí)功能流程圖如圖 5.3 所示。5.2倒計(jì)時(shí)的初值增加流程圖5.3倒計(jì)時(shí)的初值減少流程圖5.4倒計(jì)時(shí)的功能流程圖5.2程序具體程序見附錄第六章總結(jié)現(xiàn)代電子科技發(fā)展越來越快,微型化、集成化、高密度化以及設(shè)備的高精度化已經(jīng)成為一種長(zhǎng)期的趨勢(shì),這就要求使用更精確的設(shè)備。本設(shè)計(jì)中使用的只是當(dāng)前電子科技發(fā)展的一般產(chǎn)物,隨著科技的不斷發(fā)展,更高密度、更高精度的將會(huì)取代現(xiàn)有的產(chǎn)品,所以還是要不斷的學(xué)習(xí),不斷的豐富和更新的產(chǎn)品,

34、提出更高的要求。就在當(dāng)前經(jīng)濟(jì)形勢(shì)的情況下,電子產(chǎn)品要找到新的增長(zhǎng)點(diǎn),唯一的出路是智能化??梢哉f,一切電子產(chǎn)品,包括通信、廣播、電視控制、家用電器、電視音響等消費(fèi)類電子產(chǎn)品,智能化的時(shí)代已經(jīng)到來,“智能華”的無窮,模擬處處數(shù)字化的景象已經(jīng)展現(xiàn),今后將會(huì)迎來新的。由于時(shí)間和條件的限制,本方案在設(shè)計(jì)過程中仍然存在很多不盡完善的地方,敬請(qǐng)老師指導(dǎo)。參考文獻(xiàn)1, 張為民,社,2004.189192., 等.MCS-51 系列單片機(jī)系統(tǒng)及應(yīng)用M. 西安: 高等教育. RabbitMiniCore 系列模塊讓產(chǎn)品開發(fā)輕而易舉J.電子技術(shù)應(yīng)用,2009,35(02):42 45.Keil Software C

35、x51 編譯器用戶手冊(cè)J45.單電源供電運(yùn)算放大器設(shè)計(jì)方法J.電子工程師,2005,31(05):3135.低功耗單雙電源供電的軌對(duì)軌儀表放大器 AD627J.國(guó)外電子元器件,2002.7(11):3334.6候建華.基于 TLC2543LL 的 A/D 轉(zhuǎn)換模板的設(shè)計(jì)J.機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2007,20(01): 164 165.7.電子技術(shù)基礎(chǔ)M.:,2006. 3136.8渠豐沛140.,.PADS2005 電路原理圖與 PCB 設(shè)計(jì)M:機(jī)械工業(yè),2009.1339高吉祥.數(shù)字系統(tǒng)與自動(dòng)控制系統(tǒng)設(shè)計(jì)M,:電子工業(yè),2007.1559.10.采用 MAX232 實(shí)現(xiàn) MCS-51 單片機(jī)

36、與 PC 機(jī)的通信J.理工學(xué)院學(xué)報(bào),1999,15(02):5861.11. SST 單片機(jī)應(yīng)用J科技.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試M.12.華技大學(xué),1998.6568.附錄總程序頭文件和變量定義包含 reg52.h 頭文件。變量定義: 在程序中用到的變量如表 1 所示。/頭文件及變量聲名#include #define uchar unsigned char#define uunsigned/定義各管腳 sbit P2_0=P20; sbit P2_1=P21; sbit P2_2=P22; sbit P1_7=P17; sbit P2_6=P26; sbit P2_7=P27;/各變量的聲名uc

37、har code TABLE10=0 xa0,0 xf9,0 xc4,0 xd0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x98;/段位碼uchar ms,mm;u um,tab8; LED0,LED1,LED2,LED3;/各位的數(shù)字bit bit bit bit bit bit bit bit bit bit bit bit bit bit bitadd; bit_add1; bit_sub;scey;cheak; keydown; fast_add; double_key; K2_keydown; fast_sub; double_sub; sub; K3_key

38、up; K3_keydown; count_down;bit start; bit stop;bit eight_start; bit eight_stop;主程序在主程序中需要完成以下的功能: 首先調(diào)用初始化函數(shù)對(duì)各個(gè)變量進(jìn)行初始化, 再對(duì)定時(shí)器的定時(shí)初值進(jìn)行設(shè)定, 接著根據(jù)各個(gè)標(biāo)志位的值來判斷單片機(jī)的工作模式及工作狀態(tài)。鍵盤掃描由scan( )來完成,各個(gè)位的數(shù)值的計(jì)算由 add1( )來完成。void man (void)begin1(); TMOD= 0 x 01 ; TL0=0 x18;TH0=0 xfc; EA= 1 ; ET0=1; TR 0 = 1 ;for(;)if(scey

39、=1)/調(diào)用初始化函數(shù)/進(jìn)行鍵盤掃描scey=0;scan(); if(double_key=1) P2_6=0; P2_7=1; m=m+ 10 ;add1(m);/倒計(jì)時(shí)初值快速增加ist_add=1)/倒計(jì)時(shí)初值連續(xù)增加P2_6=0; P2_7=1; m + + ;add1(m); bit_add1=0;if(add=1) P2_6=0; P2_7=1;add= 0; m + + ;add1(m);/倒計(jì)時(shí)初值增加 1if(double_sub=1) P2_6=0; P2_7=1; m=m- 10; add1(m);/倒計(jì)時(shí)初值快速減少ist_sub=1)/倒計(jì)時(shí)初值連續(xù)減少P2_6=0

40、; P2_7=1; m-;add1(m); bit_sub=0;if(sub=1) P2_6=0; P2_7=1;sub=0; m-;add1(m);if(start=1)/計(jì)時(shí)開始/倒計(jì)時(shí)初值減少1if(mm=0)P2_7=!P2_7; P2_6=1;m + + ; if(m=6000)m=0;add1(m);if(stop=1) start=0;/計(jì)時(shí)停止if(count_down=1)/倒計(jì)時(shí)開始 if(m0)m-; P2_7=1;if(mm=0)P2_6=!P2_6;初始化子程序初始化子程序通常是在一開始就被調(diào)用, 用來初始化各個(gè)變量, 同時(shí)也顯示了單片機(jī)上電后的工作狀態(tài)。雖然有些變量

41、在定義的時(shí)候已被默認(rèn)初始化了,但是為了自己檢查方便, 還是應(yīng)該加上初始化的子程序。void begin1(void)fast_add=0; bit_add1=0; m m = 0 ; m = 0 ;ms= 0 ; LED 0 = 0 ; LED 1 = 0 ; LED 2 = 0 ; LED 3 = 0 ;add= 0; double_key=0;scey=0;keydown=0; K3_keydown=0; count_down=0; P2_6=1; P2_7=0;定時(shí)器中斷子程序這里的秒表的計(jì)時(shí)、鍵盤的掃描及數(shù)值顯示等都是利用定時(shí)中斷來完成的。定時(shí)的時(shí)間 設(shè)為 1ms, 用于數(shù)值顯示; 同

42、時(shí)利用累加的方法實(shí)現(xiàn) 10ms 和 200ms 的定時(shí), 用于鍵盤的掃描及控制顯示燈的閃爍。void time0(void) TL0=0 x18;TH0=0 xfc; ms+; if(ms=10) ms=0; m m + +;if(mm=20)mm=0;scey=1;display();顯示子程序顯示子程序其實(shí)包括了 display()和 add1(time)兩個(gè)子程序。add1(time)是用來計(jì)算數(shù)碼管各個(gè)位要顯示的數(shù)值的子程序, display()是查段位碼表及進(jìn)行動(dòng)態(tài)掃描的子程序。void add1(time)uutime;n,a;a=time/1000; LED 0 =a;/計(jì)算十秒位數(shù)值n=time%1000; LED1=(n/100);/計(jì)算秒位數(shù)值n=n% 100 ; LED2=(n/10);/計(jì)算十分一秒位數(shù)值LED3=n% 10 ;/計(jì)算百分一秒位數(shù)值void display(void)switch (ms%4) case 0: P3=0 xfe;P1=tableLED3; P1_7=1;break; case 1: P3=0 xfd;P1=tableLED2; P1_7=1;break; case 2: P3=0 xfb;P1=tableLED1;P1_7=1break; case 3: P3=0 xf7;P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論