arm課程設(shè)計(jì)--基于s3c2410的實(shí)時(shí)時(shí)鐘及鬧鐘設(shè)計(jì)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(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>  課程設(shè)計(jì)報(bào)告書</b></p><p> 題 目:基于S3C2410的實(shí)時(shí)時(shí)鐘及鬧鐘設(shè)計(jì)</p><p> 作 者:</p><p> 學(xué) 號(hào):</p><p> 所屬學(xué)院:信息科學(xué)與工程學(xué)院</p><p> 專業(yè)年級(jí):2012級(jí)通信工程</p

2、><p> 指導(dǎo)教師:職 稱:</p><p> 完成時(shí)間:2015年6月12 日</p><p><b>  目 錄</b></p><p><b>  摘 要3</b></p><p>  Abstract3</p><p>  第1章

3、 項(xiàng)目分析4</p><p>  1.1 項(xiàng)目的背景和意義4</p><p>  1.2 項(xiàng)目的介紹與設(shè)計(jì)的目的4</p><p>  1.3 項(xiàng)目的程序流程圖及硬件實(shí)驗(yàn)平臺(tái)4</p><p>  1.4 項(xiàng)目的開發(fā)及運(yùn)行環(huán)境7</p><p>  第2章 項(xiàng)目?jī)?nèi)容7</p><

4、;p>  2.1 實(shí)時(shí)時(shí)鐘(RTC)7</p><p>  2.2 IIC總線8</p><p>  2.3 ZLG72909</p><p>  第3章 項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.1 程序設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.2 程序功能代碼9</p>&l

5、t;p>  第4章 個(gè)人總結(jié)與改進(jìn)方案15</p><p>  基于S3C2410的實(shí)時(shí)時(shí)鐘及鬧鐘設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  隨著科技的發(fā)展,嵌入式系統(tǒng)廣泛應(yīng)用于工業(yè)控制和商業(yè)管理領(lǐng)域,在智能手機(jī)、平板電腦、筆記本電腦、車載導(dǎo)航器等方面的應(yīng)用,更是極大地促進(jìn)了嵌入式技術(shù)深入到生活和工作各個(gè)方

6、面。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件及嵌入式軟件系統(tǒng)組成;本課題主要介紹基于S3C2410的實(shí)時(shí)時(shí)鐘及鬧鐘設(shè)計(jì)與實(shí)現(xiàn),利用RTC模塊、IIC,通過八位七段數(shù)碼管動(dòng)態(tài)顯示時(shí)間,并在鬧鐘設(shè)定后能通過蜂鳴器報(bào)警。實(shí)時(shí)時(shí)鐘單元在系統(tǒng)電源關(guān)閉的情況下可以在備用電池下繼續(xù)工作。</p><p>  關(guān)鍵詞:S3C2410;RTC;IIC</p><p><b>  Abstract

7、</b></p><p>  With the development of science and technology,the embedded system is widely used in industrial control and in the field of business management,and also greatly promote the embedded techn

8、ology into the life and work in the smartphone, tablet PC, computer, the application of vehicle navigation,An embedded system is mainly composed of embedded processor and related support of hardware and embedded software

9、 system;This topic mainly introduced that real time clock and alarm clock design based on S3C</p><p>  Keyword: S3C2410;RTC;IIC</p><p><b>  第1章 項(xiàng)目分析</b></p><p>  1.1 項(xiàng)

10、目的背景和意義</p><p>  一般電子系統(tǒng)都會(huì)提供實(shí)時(shí)時(shí)鐘(RTC)給不同功能使用,例如系統(tǒng)的時(shí)間、日期和定時(shí)工作的啟動(dòng),定期喚醒系統(tǒng)執(zhí)行任務(wù)。已有許多系統(tǒng)解決方案將實(shí)時(shí)時(shí)鐘(RTC)和完整的“獨(dú)立”功能整合至微控制器,將微控制器整合的許多好處付諸實(shí)現(xiàn)。實(shí)時(shí)時(shí)鐘(RTC)由于有了嵌入式的技術(shù)支持,已經(jīng)大量生產(chǎn),并且廣泛地應(yīng)用于電子信息行業(yè)。實(shí)時(shí)時(shí)鐘最基本的是可以實(shí)現(xiàn)時(shí)間和日期等同步,此外,實(shí)時(shí)時(shí)鐘還提供了很

11、多比如看門狗等功能。所以,選擇RTC芯片除了需要考慮其時(shí)間和日期跟蹤功能外,還要針對(duì)相應(yīng)的應(yīng)用來對(duì)RTC的功能、成本、功耗、尺寸等進(jìn)行綜合的考慮。本課程設(shè)計(jì)簡(jiǎn)單的介紹了時(shí)鐘的時(shí)間同步和鬧鐘功能的設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  1.2 項(xiàng)目的介紹與設(shè)計(jì)的目的</p><p>  能夠通過鍵盤輸入進(jìn)入時(shí)鐘設(shè)定模式設(shè)定實(shí)時(shí)時(shí)鐘的初始參數(shù);</p><p>  能夠通過

12、鍵盤輸入進(jìn)入鬧鐘設(shè)定模式設(shè)定鬧鐘的基本參數(shù),通過調(diào)用蜂鳴器實(shí)現(xiàn)鬧鐘報(bào)警;</p><p>  通過IIC總線傳送鍵盤的輸入信號(hào)到CPU;</p><p>  ZLG7290控制8位的七段LED數(shù)碼管顯示:00 00 00,分別為時(shí)、分、秒;</p><p>  1.3 項(xiàng)目的程序流程圖及硬件實(shí)驗(yàn)平臺(tái)</p><p><b>  程

13、序流程圖:</b></p><p>  硬件實(shí)驗(yàn)平臺(tái):本次設(shè)計(jì)主要使用S3C2410芯片內(nèi)部RTC單元,SPI,IIC總線及Uart0等。ZLG7290是IIC接口鍵盤及LED 數(shù)碼管驅(qū)動(dòng)器。提供鍵盤中斷信號(hào),方便與處理器接口,可驅(qū)動(dòng)8位共陰數(shù)碼管或64只獨(dú)立LED和64個(gè)按鍵。</p><p>  圖2 S3C2410開發(fā)板結(jié)構(gòu)圖</p><p> 

14、 圖3 RTC模塊結(jié)構(gòu)圖</p><p>  圖4 IIC LED控制器連接電路</p><p>  圖5 IIC的EEPROM連接電路</p><p>  圖6 ZLG7290引腳圖</p><p>  1.4 項(xiàng)目的開發(fā)及運(yùn)行環(huán)境</p><p>  CodeWarrior for A

15、RM Developer Suite </p><p>  AXD Debuger </p><p>  H-JTAG 仿真器</p><p><b>  超級(jí)終端</b></p><p><b>  第2章 項(xiàng)目?jī)?nèi)容</b></p><p>

16、  2.1 實(shí)時(shí)時(shí)鐘(RTC)</p><p>  實(shí)時(shí)時(shí)鐘(Real Time Clock):S3C2410提供了一個(gè)實(shí)時(shí)時(shí)鐘,該時(shí)鐘使用獨(dú)立的一路1.8V供電,電池與專用于RTC電源的引腳RTCVDD連接,保證主電源切斷時(shí)能正常維持RTC工作。S3C2410的RTC支持兩個(gè)中斷:Time Tick(固定在一個(gè)頻率內(nèi)發(fā)出的時(shí)鐘中斷) 和Alarm中斷(在某個(gè)時(shí)刻產(chǎn)生鬧鈴中斷)。利用這兩個(gè)中斷可以設(shè)置每一秒中斷

17、一次顯示變化時(shí)間,用Alarm中斷實(shí)現(xiàn)鬧鐘功能。S3C2410內(nèi)部RTC模塊結(jié)構(gòu)圖,如圖3。</p><p>  S3C2410的RTC主要由五部分構(gòu)成:</p><p><b>  時(shí)鐘發(fā)生器</b></p><p><b>  節(jié)拍發(fā)生器</b></p><p><b>  時(shí)間與日期

18、計(jì)數(shù)器</b></p><p><b>  報(bào)警發(fā)生器</b></p><p><b>  控制邏輯</b></p><p><b>  寄存器有以下組成:</b></p><p>  控制寄存器:RTCCON</p><p>  報(bào)警控制寄

19、存器:RTCALM</p><p>  實(shí)時(shí)時(shí)鐘計(jì)數(shù)器:TICNT</p><p>  報(bào)警時(shí)間寄存器:ALMSEC,ALMMIN,ALMHOUR,ALMDATE,ALMMON,ALMYEAR</p><p>  RTC最重要的功能就是顯示時(shí)間。RTC時(shí)間顯示功能是通過讀/寫寄存器實(shí)現(xiàn)的。要顯示秒、分、時(shí)、日、月、年,CPU必須讀取存于BCDSEC,BCDMIN,B

20、CDHOUR,BCDDAY,BCDDATE,BCDMON與BCDYEAR寄存器中的值。時(shí)間的設(shè)置也是通過以上的寄存器實(shí)現(xiàn)的,即以上寄存器是可讀可寫的。本課程設(shè)計(jì)只顯示秒、分、時(shí)。</p><p>  2.2 IIC總線</p><p>  IIC(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。IIC總線

21、產(chǎn)生于80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢、管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇。可隨時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便管理。</p><p>  IIC總線在傳送數(shù)據(jù)過程中共有三種類型信號(hào):</p><p>  開始信號(hào):SCL為高電平時(shí),SDA由高電平

22、向低電平跳變,開始傳送數(shù)據(jù)。 </p><p>  結(jié)束信號(hào):SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 </p><p>  應(yīng)答信號(hào):接收數(shù)據(jù)的IIC在接收到8 bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IIC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況做出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)

23、答信號(hào),則判斷為受控單元出現(xiàn)故障。</p><p>  圖7 超始和停止信號(hào)圖</p><p>  IIC總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號(hào)為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時(shí)鐘線上的信號(hào)為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。</p><p>  圖8 數(shù)據(jù)傳送時(shí)序圖</p><p>  IIC接口:CPU內(nèi)置IIC

24、總線控制器,為了方便用戶測(cè)試IIC總線讀寫,搭載兩個(gè)IIC設(shè)備,一個(gè)是IIC接口的LED數(shù)碼管顯示控制器ZLG7290,通過控制器,控制8位七段數(shù)碼管的動(dòng)態(tài)掃描(見圖4);另一個(gè)是 IIC 接口的EEPROM24C16,為16K-bit的串行EEPROM(見圖5),方便用戶存儲(chǔ)一些小容量的數(shù)據(jù),掉電不丟失。IIC總線(IICSDA、IICSCL)經(jīng)過VDD33的上拉后,進(jìn)入ZLG7290。</p><p>  2

25、.3 ZLG7290</p><p>  ZLG7290(見圖6)能夠直接驅(qū)動(dòng)8位共陰式數(shù)碼管(或64只獨(dú)立的LED),同時(shí)還可以掃描管理多達(dá)64 只按鍵。其中有8 只按鍵還可以作為功能鍵使用,就像電腦鍵盤上的Ctrl、Shift、Alt 鍵一樣。采用IIC總線方式,與微控制器的接口僅需兩根信號(hào)線??煽刂茠呙栉粩?shù),可控制任一數(shù)碼管閃爍。</p><p>  第3章 項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)<

26、;/p><p>  3.1 程序設(shè)計(jì)與實(shí)現(xiàn)</p><p>  本課程設(shè)計(jì)采用軟件延時(shí)的方法來實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘和鬧鐘功能。時(shí)鐘模式和鬧鐘模式分別采用disp_buf[8]和Clock_buf[8]兩個(gè)顯示緩沖區(qū)來存儲(chǔ)數(shù)值,在時(shí)鐘模式下,可以對(duì)disp_buf[8]重新賦值,即設(shè)定同步時(shí)間,通過一個(gè)延時(shí)函數(shù)達(dá)到計(jì)數(shù)時(shí)間的功能;在鬧鐘模式下,可以對(duì)Clock_buf[8]重新賦值,即設(shè)定鬧鐘的時(shí)間,

27、當(dāng)同步時(shí)間計(jì)時(shí)到和設(shè)定的鬧鐘時(shí)間相等的時(shí)候,調(diào)用蜂鳴器函數(shù)發(fā)出警報(bào),達(dá)到鬧鐘的功能。</p><p>  由于是8位的LED數(shù)碼管,而本實(shí)驗(yàn)只要求顯示:00 00 00 即:時(shí) 分 秒,所以在第三個(gè)和第六個(gè)LED數(shù)碼管最開始賦初值的時(shí)候利用0x1F讓其不顯示,以達(dá)到時(shí)鐘顯示的基本效果。然后通過4*4鍵盤進(jìn)入時(shí)鐘設(shè)置模式和鬧鐘設(shè)置模式,函數(shù)ZLG7290_SendCmd()和ZLG7290_SendBuf()使設(shè)置

28、時(shí)對(duì)應(yīng)位閃爍并讀取鍵值,鍵值通過按鍵獲得,每按一次就存在顯示緩沖區(qū),直到時(shí)間設(shè)置完成。通過if語句的嵌套,再加上延時(shí)顯示來達(dá)到時(shí)間同步的效果,并且在23 59 59 時(shí)自動(dòng)清零。</p><p>  3.2 程序功能代碼</p><p>  #include "config.h"</p><p>  #define BEEP(1&

29、lt;<10) /* GPH10,低電平時(shí)蜂鳴 */</p><p>  #define BEEP_MASK(~BEEP)</p><p>  // 定義顯示緩沖區(qū)</p><p>  char disp_buf[8]={0x01,0x00,0x1f,0x00,0x00,0x1f,0x00,0x00};</p><p&g

30、t;  char Clock_buf[8]={0x00,0x00,0x1f,0x00,0x00,0x1f,0x00,0x00};</p><p>  // ZLG7290控制LED數(shù)碼管閃爍命令</p><p>  #define Glitter_COM 0x70 </p><p>  int Control =0;</p><p

31、>  int Stop =0;</p><p>  int Flag_look =0;</p><p><b>  //延時(shí)函數(shù)</b></p><p>  void DelayNS(uint32 dly)</p><p><b>  { </b></p><p>

32、;  uint32 i;</p><p>  for(; dly>0; dly--) </p><p>  for(i=0; i<50000; i++);</p><p><b>  }</b></p><p><b>  //蜂鳴器函數(shù)</b></p><p>

33、;  void RunBeep(void)</p><p><b>  { </b></p><p>  rGPHDAT = rGPHDAT & BEEP_MASK; // BEEP = 0</p><p>  DelayNS(8);</p><p>  rGPHDAT = rGPHDAT | BEE

34、P; // BEEP = 1 </p><p>  DelayNS(8);</p><p><b>  }</b></p><p>  //控制時(shí)間計(jì)數(shù)延時(shí)函數(shù)</p><p>  void delay (int dly)</p><p><b>  {</b>&l

35、t;/p><p>  uint32 i;</p><p>  for(; dly>0; dly--) </p><p>  for(i=0; i<5000; i++);//50000</p><p><b>  }</b></p><p><b>  //主函數(shù)</b&g

36、t;</p><p>  int main(void)</p><p><b>  {</b></p><p><b>  //賦初值</b></p><p>  int cont=0x80;</p><p>  int Model = 0;</p><

37、;p>  int num =-1;</p><p><b>  int j;</b></p><p>  char data;</p><p>  uint16 key;</p><p>  uint16 key_tmp;</p><p>  // GPIO設(shè)置 &l

38、t;/p><p>  rGPACON = rGPACON & (~(1<<21)); // A口,RUN燈控制口 (GPA21) </p><p>  rGPHCON = (rGPHCON & (~(0x03<<20)))

39、| (0x01<<20); // rGPHCON[21:20] = 01b,設(shè)置GPH10為I/O輸出模式 </p><p>  // 初始化I2C接口</p><p>  InitI2C(); </p><p>  RunBeep();</p><p>  ZLG7290_SendBuf((uint8 *)disp_

40、buf, 8); // 讀取按鍵,設(shè)置鍵值對(duì)應(yīng)的顯示位閃爍</p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  DelayNS(1); </p><p>  /* >0 表示鍵值 (低8位為鍵碼,高8位為

41、按鍵次數(shù))</p><p>  =0 表示無鍵按下*/</p><p>  key = ZLG7290_GetKey(); //獲取鍵值</p><p>  key_tmp = key&0x00FF;</p><p>  DelayNS(30); //軟件去抖</p><p>  k

42、ey = ZLG7290_GetKey();</p><p>  key = key&0x00FF; </p><p>  //判定鍵值,讀取鍵值為11時(shí)進(jìn)入時(shí)間設(shè)置模式,讀取鍵值為12時(shí)進(jìn)入鬧鐘設(shè)置模式</p><p>  if(key_tmp == key)</p><p><b>  {</b></p

43、><p>  if(key == 12 && Model == 0)</p><p><b>  {</b></p><p>  ZLG7290_SendBuf((uint8 *)Clock_buf, 8);</p><p>  ZLG7290_SendCmd(Glitter_COM, 0x80);</

44、p><p>  Model = 2;</p><p><b>  num =7;</b></p><p>  cont = 0x80;</p><p><b>  Stop = 1;</b></p><p><b>  }</b></p>&l

45、t;p>  if(key == 11 && Model == 0)</p><p><b>  {</b></p><p>  ZLG7290_SendBuf((uint8 *)disp_buf, 8);</p><p>  ZLG7290_SendCmd(Glitter_COM, 0x80);</p>&l

46、t;p>  Model = 1;</p><p><b>  num =7;</b></p><p>  cont = 0x80;</p><p><b>  Stop = 1;</b></p><p><b>  }</b></p><p>  

47、//進(jìn)入設(shè)置模式后進(jìn)行初始值設(shè)定,可以任意設(shè)定時(shí)鐘和鬧鐘的時(shí)間</p><p>  if((Model == 1||Model ==2) && num >=0 && key >=1&&key <=10 &&Stop == 1)</p><p><b>  {</b></p>

48、<p>  if(Model ==2)</p><p><b>  {</b></p><p>  data = (uint8 )key;</p><p>  Clock_buf[num] = data-1;</p><p>  if(num == 3||num == 6) //第三個(gè)和第六個(gè)LED數(shù)碼管不

49、顯示,所以不進(jìn)行賦值</p><p><b>  {</b></p><p><b>  num--;</b></p><p>  cont = cont >> 1;</p><p><b>  }</b></p><p><b>

50、  num--;</b></p><p>  cont = cont >> 1;</p><p>  ZLG7290_SendBuf((uint8 *)Clock_buf, 8);</p><p>  ZLG7290_SendCmd(Glitter_COM, cont);</p><p>  if(num == -1)

51、 //賦值完成后的判定</p><p><b>  {</b></p><p>  Model = 0;</p><p><b>  Stop = 0;</b></p><p>  ZLG7290_SendCmd(Glitter_COM, 0x00); </p><p&g

52、t;<b>  }</b></p><p><b>  }</b></p><p>  else if(Model == 1)</p><p><b>  {</b></p><p>  data = (uint8 )key;</p><p>  di

53、sp_buf[num] = data-1;</p><p>  if(num == 3||num == 6) //第三個(gè)和第六個(gè)LED數(shù)碼管不顯示,所以不進(jìn)行賦值</p><p><b>  {</b></p><p><b>  num--;</b></p><p>  cont = cont &

54、gt;> 1;</p><p><b>  }</b></p><p><b>  num--;</b></p><p>  cont = cont >> 1;</p><p>  ZLG7290_SendBuf((uint8 *)disp_buf, 8);</p>

55、<p>  ZLG7290_SendCmd(Glitter_COM, cont);</p><p>  if(num == -1)</p><p><b>  {</b></p><p>  Model = 0;</p><p><b>  Stop = 0;</b></p>

56、<p>  ZLG7290_SendCmd(Glitter_COM, 0x00);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

57、</p><p>  //賦值是否完成通過Stop來判定,Stop==0則賦值完成,進(jìn)入if嵌套語句通過Control來控制延時(shí),以達(dá)到最佳的計(jì)時(shí)效果</p><p>  if(Stop == 0)</p><p><b>  {</b></p><p>  if(Control == 9)//10</p>

58、<p><b>  {</b></p><p>  disp_buf[0] ++;</p><p>  if(disp_buf[0] >= 10)</p><p><b>  {</b></p><p>  disp_buf[0] = 0;</p><p>

59、;  disp_buf[1] ++; //秒的顯示</p><p><b>  }</b></p><p>  if(disp_buf[1] >= 6)</p><p><b>  {</b></p><p>  disp_buf[1] = 0;</p><p> 

60、 disp_buf[3] ++;</p><p><b>  }</b></p><p>  if(disp_buf[3] >= 10)</p><p><b>  {</b></p><p>  disp_buf[3] = 0;</p><p>  disp_buf

61、[4] ++;</p><p><b>  }</b></p><p>  if(disp_buf[4] >= 6) //分的顯示</p><p><b>  {</b></p><p>  disp_buf[4] = 0;</p><p>  disp_buf[6

62、] ++;</p><p><b>  }</b></p><p>  if(disp_buf[6] >= 10)</p><p><b>  {</b></p><p>  disp_buf[6] = 0;</p><p>  disp_buf[7] ++;<

63、;/p><p><b>  }</b></p><p>  if(disp_buf[7] >= 2&&disp_buf[6] >= 4) //時(shí)的顯示,計(jì)時(shí)到23 59 59時(shí)自動(dòng)清零</p><p><b>  {</b></p><p>  for(j=0; j<

64、8; j++) </p><p><b>  {</b></p><p>  disp_buf[j]=0;</p><p><b>  }</b></p><p>  disp_buf[2]=0x1f;</p><p>  disp_buf[5]=0x1f;</p>

65、;<p><b>  }</b></p><p>  Control =0;</p><p>  ZLG7290_SendBuf((uint8 *)disp_buf, 8);</p><p>  ZLG7290_SendCmd(Glitter_COM, 0x00);</p><p><b>  }

66、</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Control++;</p><p><b>  delay(1);</b></p><p><b>  }<

67、/b></p><p><b>  } </b></p><p>  //當(dāng)兩個(gè)緩沖區(qū)的數(shù)值相等時(shí)調(diào)用RunBeep(),即實(shí)現(xiàn)鬧鐘報(bào)警的功能。</p><p>  if((Flag_look >0)||((disp_buf[7] == Clock_buf[7])&&(disp_buf[7] == Clock_b

68、uf[7])&&(disp_buf[6] == Clock_buf[6])&&(disp_buf[4] == Clock_buf[4])&&(disp_buf[3] == Clock_buf[3])&&(disp_buf[1] == Clock_buf[1])&&(disp_buf[0] == Clock_buf[0])))</p><p

69、><b>  {</b></p><p>  RunBeep();</p><p>  if(Flag_look == 0)</p><p><b>  {</b></p><p>  Flag_look = 100; //控制蜂鳴器報(bào)警的時(shí)間</p><p>&

70、lt;b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  Flag_look --;</p><p><b>  }</b></p><p><b>

71、  }</b></p><p><b>  } </b></p><p>  return(0);</p><p><b>  }</b></p><p>  第4章 個(gè)人總結(jié)與改進(jìn)方案</p><p>  通過這次課程設(shè)計(jì),加深了對(duì)嵌入式的認(rèn)識(shí)和了解,對(duì)本學(xué)科

72、有了一個(gè)基本的理解,最開始打算做這個(gè)課程設(shè)計(jì)的時(shí)候不知道從何下手,通過相關(guān)老師的指導(dǎo)和細(xì)心講解,逐漸有了一個(gè)實(shí)現(xiàn)設(shè)計(jì)的框架。</p><p>  做課程設(shè)計(jì)之前,最先遭遇的問題就是教學(xué)所使用的試驗(yàn)箱無法用32.768kHz的晶振來完成時(shí)鐘功能,通過多方面查閱相關(guān)資料,并且在和同學(xué)、老師的討論中,發(fā)現(xiàn)可以用其它的方法也同樣能實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘的功能,比如利用中斷、軟件延時(shí)等,經(jīng)過多次修訂和動(dòng)手實(shí)驗(yàn),最終決定采用軟件延時(shí)的

73、方法來完成課程設(shè)計(jì),軟件延時(shí)相對(duì)來說比較簡(jiǎn)單,實(shí)現(xiàn)起來比較容易,且顯示效果比較穩(wěn)定、逼真,所以通過利用多方資料最終完成此段能夠?qū)崿F(xiàn)實(shí)時(shí)時(shí)鐘和鬧鐘功能的源代碼,但此段代碼還可以進(jìn)行優(yōu)化,使其達(dá)到的效果更好,利用手機(jī)的時(shí)鐘進(jìn)行測(cè)試,發(fā)現(xiàn)一分鐘的時(shí)間,此代碼實(shí)現(xiàn)的時(shí)鐘大概延遲了0.5s左右,經(jīng)過長(zhǎng)時(shí)間的測(cè)試,誤差則更加明顯,所以在延時(shí)控制方面,還可以繼續(xù)調(diào)試一達(dá)到更加精確的狀態(tài),同時(shí),在第三位和第六位的LED數(shù)碼管可以調(diào)用相關(guān)函數(shù)顯示“—”,

溫馨提示

  • 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)論