單片機(jī)電子時(shí)鐘畢業(yè)論文_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  一.緒 論</b></p><p>  二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。單片機(jī)(亦稱微控制器)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。它的出現(xiàn)是近代計(jì)算機(jī)技術(shù)發(fā)展史上的一個(gè)重要里程碑,因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在這個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了。<

2、/p><p>  單片機(jī)具有體積小、功能強(qiáng)、應(yīng)用面廣等優(yōu)點(diǎn),目前正以前所未見的速度取代著傳統(tǒng)電子線路構(gòu)成的經(jīng)典系統(tǒng),蠶食著傳統(tǒng)數(shù)字電路與模擬電路固有的領(lǐng)地。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p>  現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛。彩電、冰箱、空調(diào)、錄像機(jī)、VCD、遙控器、游戲機(jī)、電飯煲等無處不

3、見單片機(jī)的影子,單片機(jī)早已深深地融入我們每個(gè)人的生活之中。</p><p>  單片機(jī)能大大地提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標(biāo),給我們的生活帶來舒適和方便的同時(shí),在工農(nóng)業(yè)生產(chǎn)上也極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。單片機(jī)按用途大體上可分為兩類,一種是通用型單片機(jī),另一種是專用型單片機(jī)。</p><p>  1.1 單片機(jī)基礎(chǔ)知識(shí)</p><p> 

4、 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講,一塊芯片就成了一臺(tái)計(jì)算機(jī)。</p><p>  MCS-51單片機(jī)是美國(guó)INTEL公司于1980年推出的產(chǎn)品,與MCS- 48單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng),在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達(dá)111條,MCS-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機(jī)

5、仍是應(yīng)用的主流產(chǎn)品,各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MSC-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。</p><p>  MCS-51系列單片機(jī)主要包括8031、8051和8751等通用產(chǎn)品。</p><p>  DP-51S單片機(jī)仿真實(shí)驗(yàn)儀是由廣州致遠(yuǎn)電子有限公司設(shè)計(jì)的DP系列單片機(jī)仿真實(shí)驗(yàn)儀之一,是一種功能強(qiáng)大的單片機(jī)應(yīng)用技術(shù)學(xué)習(xí)、調(diào)試。</p><p>  1.2

6、 單片機(jī)的應(yīng)用領(lǐng)域</p><p>  單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分為如下幾個(gè)范疇:</p><p>  一、在智能儀器儀表的應(yīng)用</p><p>  單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中。計(jì),示波器,各種分析儀)。</p>

7、<p>  二、在家用電器中的應(yīng)用</p><p>  可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。</p><p>  三、在工業(yè)控制中的應(yīng)用</p><p>  用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智

8、能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。</p><p>  四、在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用</p><p>  現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng)電話,集群移動(dòng)通信,無線電對(duì)講機(jī)等。</p><p>  五、單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用&l

9、t;/p><p>  單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 </p><p>  此外,單片機(jī)在工商、金融、科研、教育、國(guó)防航空等領(lǐng)域都有著十分廣泛的用途。</p><p>  1.3單片機(jī)的發(fā)展趨勢(shì)</p><p>  單片機(jī)現(xiàn)在可以說是百花齊放,百家爭(zhēng)鳴的時(shí)期,世界上各大芯片

10、制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供了廣闊的天地。</p><p>  縱觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:</p><p><b>  一、微型單片化</b></p><p>  現(xiàn)在常規(guī)的單片機(jī)普遍都

11、是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。</p><

12、p>  二、低功耗CMOS化</p><p>  MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。 三、主流與多品種共存</p><p>  現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)

13、的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國(guó)臺(tái)灣的Winbond系列單片機(jī)。所以80C51占據(jù)了半壁江山。</p><p>  九十年代以后,單片機(jī)在結(jié)構(gòu)上采用雙CPU或內(nèi)部流水線,CPU位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20MHZ,片內(nèi)帶有PWM輸出、監(jiān)視定時(shí)器WDT、可編程計(jì)數(shù)器陣列PCA、DMA傳輸、調(diào)制解調(diào)器等。芯片向高度集成化、低功耗方向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信

14、系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過程控制、高級(jí)機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類單片機(jī)有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。</p><p><b>  二、本實(shí)驗(yàn)概述</b></p><p>  本實(shí)驗(yàn)采用偉福實(shí)驗(yàn)系統(tǒng)進(jìn)行板上仿真,它提供了強(qiáng)大的軟硬件調(diào)試手段。此次學(xué)習(xí)流程是先讀程序,由程序和已知

15、部分電路圖推出硬件電路圖的連接,在讀懂程序的基礎(chǔ)上,對(duì)程序進(jìn)行修改以實(shí)現(xiàn)另外一種功能。程序流程圖如附錄圖二。</p><p><b>  程序</b></p><p>  #include <reg51.h></p><p>  #define LEDLen 6</p><p>  #define PB1

16、 2 // 164 時(shí)鐘位</p><p>  #define PB0 1 // 164 數(shù)據(jù)位</p><p>  xdata unsigned char OUTBIT _at_ 0x8002; // 位控制口</p><p>  xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口</p>

17、<p>  unsigned char LEDBuf[LEDLen]; // 顯示緩沖</p><p>  code unsigned char LEDMAP[] = { // 八段管顯示碼</p><p>  0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,</p><p>  0x7f, 0x6f,

18、 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71</p><p><b>  };</b></p><p>  void Delay(unsigned char CNT)</p><p><b>  {</b></p><p>  unsigned char i;</p&

19、gt;<p>  while (CNT-- !=0)</p><p>  for (i=100; i !=0; i--);</p><p><b>  }</b></p><p>  void DisplayLED()</p><p><b>  {</b></p>&l

20、t;p>  unsigned char i, j;</p><p>  unsigned char Pos;</p><p>  unsigned char LED;</p><p>  Pos = 0x20; // 從左邊開始顯示</p><p>  for (i = 0; i < LEDLen; i++) {</p&g

21、t;<p>  OUTBIT = 0; // 關(guān)所有八段管</p><p>  LED = LEDBuf[i];</p><p>  OUTSEG = LED;</p><p>  OUTBIT = Pos; // 顯示一位八段管</p><p><b>  Delay(1);</b></p

22、><p>  Pos >>= 1; // 顯示下一位</p><p><b>  }</b></p><p><b>  }</b></p><p>  // ==============================================================

23、=================</p><p>  #define Tick 10000 // 10000 x 100us = 1s</p><p>  #define T100us (256-50) // 100us時(shí)間常數(shù)(6M)</p><p>  unsigned char Hour, Minute, Second;</p>

24、<p>  unsigned int C100us; // 100us記數(shù)單元</p><p>  void T0Int() interrupt 1</p><p><b>  {</b></p><p><b>  C100us--;</b></p><p>  if (C100

25、us == 0) {</p><p>  C100us = Tick; // 100us 記數(shù)器為0, 重置記數(shù)器</p><p><b>  Second++;</b></p><p>  if (Second == 60) {</p><p>  Second = 0;</p><p>

26、;<b>  Minute++;</b></p><p>  if (Minute == 60) {</p><p>  Minute = 0;</p><p><b>  Hour++;</b></p><p>  if (Hour == 24) Hour = 0;</p><

27、p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>

28、  {</b></p><p>  TMOD = 0x02; // 方式2, 定時(shí)器</p><p>  TH0 = T100us;</p><p>  TL0 = T100us;</p><p>  IE = 0x82; // EA=1, IT0 = 1</p><p>  Hour

29、= 0;</p><p>  Minute = 0;</p><p>  Second = 0;</p><p>  C100us = Tick;</p><p>  TR0 = 1; // 啟動(dòng)定時(shí)器0</p><p>  while (1) {</p><p>  LEDBuf[

30、0] = LEDMAP[Hour/10];</p><p>  LEDBuf[1] = LEDMAP[Hour%10] | 0x80;</p><p>  LEDBuf[2] = LEDMAP[Minute/10];</p><p>  LEDBuf[3] = LEDMAP[Minute%10] | 0x80;</p><p>  LEDBu

31、f[4] = LEDMAP[Second/10];</p><p>  LEDBuf[5] = LEDMAP[Second%10];</p><p>  DisplayLED();</p><p><b>  }</b></p><p>  } 由此得到硬件連接。如附錄圖1.</p><p>&

32、lt;b>  三、改寫的程序</b></p><p>  本來想設(shè)計(jì)程序在某個(gè)時(shí)間到的時(shí)候會(huì)報(bào)警,但是時(shí)間有限,沒有找到蜂鳴器,所以就連接了P1與Led,為了方便驗(yàn)箱,時(shí)間設(shè)在一分鐘,一分鐘時(shí)led報(bào)警,即以一分鐘的頻率閃亮。一分鐘后停止報(bào)警。所編寫程序如下:</p><p>  #include <reg51.h></p><p> 

33、 #define LEDLen 6</p><p>  #define PB1 2 // 164 時(shí)鐘位</p><p>  #define PB0 1 // 164 數(shù)據(jù)位</p><p>  bit LEDBuf;</p><p>  sbit LED = P1^0;</p><p>  xdata

34、 unsigned char OUTBIT _at_ 0x8002; // 位控制口</p><p>  xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口</p><p>  unsigned char LEDBuf[LEDLen]; // 顯示緩沖</p><p>  code unsigned char L

35、EDMAP[] = { // 八段管顯示碼</p><p>  0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,</p><p>  0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71</p><p><b>  };</b></p><

36、;p>  void Delay(unsigned char CNT)</p><p><b>  {</b></p><p>  unsigned char i;</p><p>  while (CNT-- !=0)</p><p>  for (i=100; i !=0; i--);</p>&l

37、t;p><b>  }</b></p><p>  void DisplayLED()</p><p><b>  {</b></p><p>  unsigned char i, j;</p><p>  unsigned char Pos;</p><p>  un

38、signed char LED;</p><p>  Pos = 0x20; // 從左邊開始顯示</p><p>  for (i = 0; i < LEDLen; i++) {</p><p>  OUTBIT = 0; // 關(guān)所有八段管</p><p>  LED = LEDBuf[i];</p><

39、;p>  OUTSEG = LED;</p><p>  OUTBIT = Pos; // 顯示一位八段管</p><p><b>  Delay(1);</b></p><p>  Pos >>= 1; // 顯示下一位</p><p><b>  }</b></

40、p><p><b>  }</b></p><p>  // ===============================================================================</p><p>  #define Tick 10000 // 10000 x 100us = 1s</p&g

41、t;<p>  #define T100us (256-50) // 100us時(shí)間常數(shù)(6M)</p><p>  unsigned char Hour, Minute, Second;</p><p>  unsigned int C100us; // 100us記數(shù)單元</p><p>  void T0Int() interrupt

42、1</p><p><b>  {</b></p><p><b>  C100us--;</b></p><p>  if (C100us == 0) {</p><p>  C100us = Tick; // 100us 記數(shù)器為0, 重置記數(shù)器</p><p>

43、<b>  Second++;</b></p><p>  if (Second == 60) {</p><p>  Second = 0;</p><p><b>  Minute++;</b></p><p>  if (Minute == 60) {</p><p>

44、  Minute = 0;</p><p><b>  Hour++;</b></p><p>  if (Hour == 24) Hour = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p><

45、;b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  TMOD = 0x02; // 方式2, 定時(shí)器</p><p>  TH0 = T1

46、00us;</p><p>  TL0 = T100us;</p><p>  IE = 0x82; // EA=1, IT0 = 1</p><p>  Hour = 0;</p><p>  Minute = 0;</p><p>  Second = 0;</p><p> 

47、 C100us = Tick;</p><p>  TR0 = 1; // 啟動(dòng)定時(shí)器0</p><p>  if ( Minute== 1) {</p><p>  LED = !LED; // 取反LED</p><p><b>  }</b></p><p>  while (

48、1) {</p><p>  LEDBuf[0] = LEDMAP[Hour/10];</p><p>  LEDBuf[1] = LEDMAP[Hour%10] | 0x80;</p><p>  LEDBuf[2] = LEDMAP[Minute/10];</p><p>  LEDBuf[3] = LEDMAP[Minute%10] |

49、 0x80;</p><p>  LEDBuf[4] = LEDMAP[Second/10];</p><p>  LEDBuf[5] = LEDMAP[Second%10];</p><p>  if (Minute == 0) {</p><p>  LEDBuf = !LEDBuf; // 取反LED</p><p

50、><b>  delay(10)</b></p><p><b>  }</b></p><p>  while (1) {</p><p>  LED = LEDBuf;</p><p><b>  } </b></p><p>  Displ

51、ayLED();</p><p><b>  }</b></p><p><b>  }</b></p><p>  在實(shí)驗(yàn)箱上已經(jīng)驗(yàn)證成功!</p><p><b>  四、課程設(shè)計(jì)總結(jié)</b></p><p>  通過這緊張的一周課設(shè),在沒有做課程設(shè)

52、計(jì)以前覺得課程設(shè)計(jì)只是對(duì)這一年年來所學(xué)知識(shí)的單純總結(jié),但是通過這次做課程設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。課程設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。這一周不僅要對(duì)那么長(zhǎng)的程序進(jìn)行分析,還有畫硬件圖,畫硬件圖的軟件也是初次接觸,所以時(shí)間真的很緊張!也發(fā)現(xiàn)學(xué)習(xí)是種能力,誰學(xué)的快,誰學(xué)的慢,在這緊張的氛圍里很凸顯。</p><p>  通過這次課程設(shè)計(jì)使我明白了自己原來知識(shí)還比較欠缺。自己要學(xué)習(xí)

53、的東西還太多,以前老是覺得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過這次課程設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。</p><p>  在這次課程設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對(duì)我們更好的理解知識(shí),所以在這里非常感謝幫助我的同學(xué)。</p><p> 

54、 我的心得也就這么多了,總之,不管學(xué)會(huì)的還是學(xué)不會(huì)的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。</p><p>  在此要感謝我的指導(dǎo)老師xx對(duì)我悉心的指導(dǎo),感謝老師給我的幫助。在設(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同

55、學(xué)交流經(jīng)驗(yàn)和自學(xué)并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立學(xué)習(xí)的能力。</p><p><b>  五、參考資料</b></p><p>  1、張淑清編著《單片機(jī)原理》。第一版。</p><p>  1. 張志良編著.《單片機(jī)原理與控制技術(shù)》.第2版. 機(jī)械工業(yè)出版

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論