作息時間控制課程設計報告_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設 計</p><p>  課程名稱 單片機課程設計 </p><p>  課題名稱 作息時間控制 </p><p>  專 業(yè) 電氣工程及其自動化 </p><p>  班 級 <

2、/p><p>  學 號 </p><p>  姓 名 </p><p>  指導教師 </p><p>  2011年 01 月 03 日</p><p>  課 程 設 計 任 務 書<

3、/p><p>  課程名稱 單片機原理及應用 </p><p>  課 題 作息時間控制器 </p><p>  班 級 </p><p>  學生姓名 </p><p>  學 號

4、 </p><p>  指導老師 </p><p>  審 批 </p><p>  任務書下達日期 2011年12月18日</p><p>  任務完成日期2012年 1月 3日 </p><p><b> 

5、 目錄</b></p><p><b>  第1章 概論6</b></p><p>  1.1 課題的提出及其意義6</p><p>  1.2 課題設計內(nèi)容與要求7</p><p>  第2章 整體設計方案7</p><p>  2.1 總體思路7</p>

6、<p>  2.2 方案確定8</p><p>  第3章 硬件電路設計8</p><p>  3.2 LED數(shù)碼管驅(qū)動電路9</p><p>  3.3 按鍵電路9</p><p>  3.4 蜂鳴器驅(qū)動電路10</p><p>  3.5 繼電器電路11</p><p>

7、;  第4章 軟件設計12</p><p>  4.1 系統(tǒng)軟件方案的設計12</p><p>  4.2 I/O口的分配13</p><p>  4.3 主程序設計13</p><p>  4.4 子程序設計14</p><p>  4.4.1 鍵盤掃描子程序的流程圖14</p><

8、p>  4.4.2 時間比較子程序流程圖15</p><p>  第5章 調(diào)試運行16</p><p>  5.1 硬件調(diào)試16</p><p>  5.2 軟件調(diào)試17</p><p>  5.3 操作說明17</p><p>  5.4proteus仿真18</p><p>

9、;<b>  第6章 總結(jié)18</b></p><p><b>  參考文獻19</b></p><p>  附錄A 系統(tǒng)原理框圖21</p><p>  附錄B 程序22</p><p><b>  第1章 概論</b></p><p>

10、  1.1課題的提出及其意義</p><p>  作息時間控制器由單片機、LED數(shù)碼顯示器,鍵盤、蜂鳴器等基本元器件組成。具有時鐘調(diào)整功能,每到設定時間完成鈴聲與音樂的播放。作息時間控制器一般用于學校教學樓的時間控制。</p><p>  1.2 課題設計內(nèi)容與要求</p><p>  本課題是以單片機為核心,設計一個具有定時和計數(shù)功能的智能化作息時間控制器。該控制

11、器要求有以下內(nèi)容:</p><p>  (1)按作息時間接通/斷開電鈴;</p><p>  (2)課間接通/斷開播放音樂設備;</p><p><b>  (3)時鐘顯示。 </b></p><p>  作息時間控制系統(tǒng)廣泛應用于學校等各種環(huán)境,在設計此系統(tǒng)時,必須滿足如下五個要求</p><p&g

12、t;  (1)確定系統(tǒng)設計方案;</p><p>  (2)進行系統(tǒng)的硬件設計;</p><p>  (3)完成必要的參數(shù)計算與元器件選擇;</p><p>  (4)完成應用程序設計;</p><p>  (5)進行部分單元電路幾應用程序的調(diào)試;</p><p>  第2章 整體設計方案</p><

13、;p>  2.1 總體思路 </p><p>  根據(jù)課題的內(nèi)容與要求自己的思路如下: </p><p>  (1)首先定時部分通過單片機內(nèi)部定時器/計數(shù)器T0控制時間。</p><p> ?。?)時間的顯示利用4個數(shù)碼管動態(tài)掃描來實現(xiàn),每次顯示的延時時間調(diào)用延時1MS子程序?qū)崿F(xiàn),不斷地調(diào)整延時時間使數(shù)碼管得顯示達到最佳。</p><

14、p> ?。?)數(shù)碼管的位碼由P2口控制,段碼由P0口控制。</p><p> ?。?)時間調(diào)整由K1和中斷子程序完成。</p><p>  K1:當前時間調(diào)整鍵</p><p>  K2:響鈴時間調(diào)整鍵</p><p>  K3:加1,即對當前選擇數(shù)碼管數(shù)字加1</p><p><b>  K4:確定鍵

15、</b></p><p> ?。?)利用端口P3.7驅(qū)動蜂鳴器,P3.6驅(qū)動繼電器。</p><p><b>  2.2 方案確定</b></p><p>  首先由單片機為核心,4個獨立按鍵,時鐘電路,復位電路,蜂鳴器,繼電器以及LED組成,下圖1-1是該課題設計方案的硬件圖。</p><p>  圖 1-

16、1 系統(tǒng)的電路設計框圖</p><p>  第3章 硬件電路設計</p><p><b>  3.1單片機選擇</b></p><p>  選擇STC89C52單片機,它有四個8位并行I/O端口,分別記作P0、P1、P2和P3。每個端口都是8位準雙向I/O口,共占32根管腳。每個端口包含一個鎖存器、一個輸出驅(qū)動器和一個輸入緩沖器。如圖1-2&

17、lt;/p><p>  圖1-2 單片機STC89C52</p><p>  3.2 LED數(shù)碼管驅(qū)動電路</p><p>  利用4位LED數(shù)碼管進行時鐘顯示,第1,2位是分顯示,第3,4位是小時顯示,利用單片機的P0口段碼選擇,P2.0,P2.1,P2.2,P2.3對數(shù)碼管進行位選。</p><p>  圖1-3 數(shù)碼管顯示電路</p&

18、gt;<p><b>  3.3 按鍵電路</b></p><p>  利用4個獨立鍵盤作為該系統(tǒng)的按鍵控制。4個鍵盤分別接至P3口的P3.0,P3.1,P3.2,P3.3。</p><p>  K1:當前時間調(diào)整鍵</p><p>  K2:響鈴時間調(diào)整鍵</p><p>  K3:加1,即對當前選擇數(shù)碼

19、管數(shù)字加1</p><p><b>  K4:確定鍵</b></p><p><b>  圖1-4 按鍵電路</b></p><p>  3.4 蜂鳴器驅(qū)動電路</p><p>  利用蜂鳴器模擬鈴聲,利用端口P3.7驅(qū)動蜂鳴器,每到下課或上課的時候,給P3.7一個高電平,蜂鳴器發(fā)出聲音,實現(xiàn)了打鈴

20、功能。圖1-5為蜂鳴器電路:</p><p>  圖1-5 蜂鳴器電路</p><p>  3.5 繼電器電路</p><p>  利用繼電器的接通與關斷來模擬音樂播放,利用P1.5驅(qū)動繼電器工作,當?shù)酱笳n間時或放學時,給P3.6一個高電平則繼電器工作,即音樂播放開關閉合。圖1-6為繼電器電路。</p><p>  圖1-6 繼電器電路&

21、lt;/p><p><b>  第4章 軟件設計</b></p><p>  4.1 系統(tǒng)軟件方案的設計</p><p>  進行應用軟件設計時采用模塊化設計,有以下幾點優(yōu)點:</p><p>  (1) 每個模塊的程序結(jié)構簡單,任務明確,易于編寫、調(diào)試和修改。</p><p> ?。?) 程序可讀性

22、好,對程序修改可局部進行,其他部分可以保持不變。</p><p>  (3) 對于使用頻率高的子程序可以建立程序庫,便于多個模塊調(diào)用。</p><p> ?。?) 便于分開合作,多個程序可同時進行程序編寫和調(diào)試工作,加快件的開發(fā)進度。</p><p>  根據(jù)設計要求,首先要確定軟件設計方案,即確定該軟件應該完成哪些功能;其次是規(guī)劃這些功能需要分成多少個功能模塊,以

23、及每一個程序模塊的具體任務是什么。</p><p>  其系統(tǒng)的軟件設計的模塊應該遵循下述原則:</p><p>  (1) 每個模塊應具備獨立的功能,能產(chǎn)生一個明確的結(jié)果。</p><p>  (2) 模塊之間的控制參數(shù)應盡量簡單,數(shù)據(jù)參數(shù)應盡量少??刂茀?shù)是指模塊進入和退出的條件及方式,數(shù)據(jù)參數(shù)是指模塊間信息的交換方式、交換量的多少及交換的頻繁程度。</p

24、><p>  (3) 模塊的長度適中。模塊語句的長度通常是在20-100句之間比較合適,模塊太長,調(diào)試和分析會有難度,修改時也會增加難度;模塊太短,信息交換太過頻繁,不利于模塊功能的體現(xiàn)。根據(jù)自己的總體思路,確定了各個模塊的功能,該系統(tǒng)總共分為6個模塊,系統(tǒng)的結(jié)構框圖如下圖1-7所示</p><p>  4.2 I/O口的分配</p><p>  P3.0-3.3 控制

25、鍵盤端口</p><p>  P0.0-0.7 LED數(shù)碼管的段選</p><p>  P2.0-2.3 LED數(shù)碼管的位選</p><p>  P3.6 繼電器驅(qū)動</p><p>  P3.7 蜂鳴器驅(qū)動</p><p><b>  4.3 主程序設計</b></p>

26、;<p>  圖1-8 主程序流程圖</p><p><b>  4.4 子程序設計</b></p><p>  該系統(tǒng)的子程序主要有3個分別是時間比較子程序,鍵盤掃描子程序(其中包括對時間的調(diào)整),時鐘顯示子程序。</p><p>  4.4.1 鍵盤掃描子程序的流程圖:</p><p>  主程序不斷在

27、掃描鍵盤狀態(tài),當有鍵盤被按下時,對時間進行調(diào)整</p><p>  圖1-9 鍵盤掃描流程圖</p><p>  4.4.2 時間比較子程序流程圖: </p><p>  程序運行時,提取實時的時鐘值跟設定值比較如果相等則蜂鳴器或繼電器打開,不等則繼續(xù)提取查詢。</p><p>  圖2-1 時間比較流程圖</p><p&

28、gt;<b>  第5章 調(diào)試運行</b></p><p>  單片機應用系統(tǒng)的調(diào)試,包括硬件調(diào)試和軟件調(diào)試,是一個很重要的步驟。硬件調(diào)試和軟件調(diào)試并不能完全分開,許多硬件錯誤事在軟件調(diào)試過程中被發(fā)現(xiàn)和糾正的,一般方法是先排除明顯的硬件故障,在進行軟硬件綜合調(diào)試。</p><p><b>  5.1 硬件調(diào)試</b></p><

29、;p>  當設計者完成了繪圖制板工作,并且拿到印制電路板,準備焊接元器件及插座,進行聯(lián)機仿真調(diào)試之前,應做好下述工作:</p><p> ?。?)未焊接元器件管座或元件之前,首先用眼睛和萬用表直接檢查線路板各處是否有明顯的斷路、短路的地方,尤其是要注意電源是否短路。這一步雖然簡單,而且枯燥,但非常重要。否則未檢查就焊上元件或管座,以至發(fā)現(xiàn)短路、開路、故障時,卻常因管座、元件遮蓋住線路難以進行故障定位,甚至還

30、要將已焊好的管座再拔下來,造成的麻煩可想而知的。</p><p> ?。?)元件在焊接過程中要逐一檢查,例如二極管、三極管、電容的極性,電阻的阻值和擺放的位置是否正確。</p><p> ?。?)元器件焊接完畢后,還有仔細檢查元件面各元件之間裸露部分有無相互接觸現(xiàn)象,焊接面的各焊點間有無連接或著是否出現(xiàn)虛焊。</p><p> ?。?)完成上述檢查后,先空載上電(未

31、插芯片),檢查電路電路板各引腳及插件上的電位是否正常,特別是單片機引腳上的各點電位是否正常。若一切正常,將芯片插入各管座,再通</p><p>  電檢查各點電壓是否達到要求,邏輯電平是否符合電路或器件的邏輯關系。若有問題,掉電后再認真檢查故障原因。</p><p>  在完成上述聯(lián)機調(diào)試準備工作后,在斷電情況下用,用串行口線將試驗板與PC機相連,下載綜合程序,然后操作實驗板上的按鍵,仔細

32、觀察實驗現(xiàn)象,反復調(diào)試,直到?jīng)]有錯誤為止。</p><p><b>  5.2 軟件調(diào)試</b></p><p>  單片機系統(tǒng)的開發(fā)除了需要硬件支持以外,同樣離不開軟件。CPU真正可執(zhí)行的是機器碼,用匯編語言或C語言等高級語言編寫的程序必須轉(zhuǎn)換為機器碼才能被執(zhí)行,轉(zhuǎn)換的方法有手工匯編和機器匯編兩種,前者比較麻煩,已不太實用了。機器匯編是指通過匯編軟件將程序變?yōu)闄C器碼

33、的編譯方法。這種匯編軟件稱為編譯器。本次系統(tǒng)開發(fā)用到了目前流行的Keil編譯器。</p><p><b>  5.3 操作說明</b></p><p>  接通電源后,開發(fā)板上的4個LED燈顯示分別為時鐘的十位,個位,分鐘的十位和個位,按鍵K1為當前時間調(diào)整鍵,K2為響鈴時間調(diào)整鍵,K3加一鍵,K4為確定鍵</p><p>  5.4prote

34、us仿真</p><p><b>  第6章 總結(jié)</b></p><p>  經(jīng)過兩周的課程設計,我深刻的體會到做一個實際產(chǎn)品的不易,盡管自身能力比較差,但是從中卻學到了很多書本上學不到的東西,比如如何寫課程設計報告,如何到網(wǎng)上查找芯片,對比芯片的好壞等等。</p><p>  在這兩個星期的學習時間中,我遇到了相當多的困難,通過查找資料,問

35、同學,老師解決了一大部分。通過這次的課程設計,自己的實踐能力也有了很大的提高,以前學的都是理論知識感覺學不了多久自己很快就忘了,覺得沒多大用,只有像課程設計這樣的學習才能把很好的把實踐與理論很好的結(jié)合在一起,把我們所學的知識不斷的牢固,這才是我們每個人所看到的。</p><p>  兩個星期的單片機課程設計對我們學習單片機起了很大的作用,但是還遠遠不夠,自己以后會在課余時間去努力學習該門課程,希望能學到更多的知識

36、,不斷地豐富自己。</p><p><b>  參考文獻</b></p><p>  [1]王迎旭.《單片機原理及及應用》.機械工業(yè)出版社.2004年。</p><p>  [2]劉樂善等.《微型計算機接口技術及應用》.華中科技大學出版社.2008年。</p><p>  [3]周慈航.《單片機應用成學設計技術》.北京航

37、空航天大學出版社.2002年</p><p>  附錄A 系統(tǒng)原理框圖</p><p><b>  附錄B 程序</b></p><p>  ;-------------------------------------------主程序</p><p><b>  ORG 0000H</b>&l

38、t;/p><p><b>  SJMP MAIN</b></p><p><b>  ORG 0003H</b></p><p>  SJMP T0_INT</p><p><b>  ORG 0030H</b></p><p>  MAIN:SW1 EQU

39、 P3.1</p><p>  SW2 EQU P3.2</p><p>  SW3 EQU P3.3</p><p>  SW4 EQU P3.4</p><p>  MIAO EQU 30H</p><p>  FEN EQU 31H</p><p>  SHI EQU 32H</p&

40、gt;<p>  ;-----------------------------------------------鍵盤掃描子程序</p><p>  KEY_WAIT:JNB SW1,SET_T</p><p>  JNB SW2,SET_N</p><p>  SW3_OK:JNB SW3,ADD_1</p><p>  SW

41、4_OK:JNB SW4,SURE</p><p>  SET_T:LCALL DELAYMS</p><p>  MOV R0,#7AH</p><p><b>  MOV A,@R0</b></p><p>  JMP SW3_OK</p><p>  SET_N:LCALL DELAYMS&

42、lt;/p><p>  MOV R0,#60H</p><p><b>  MOV A,@R0</b></p><p>  JMP SW3_OK</p><p>  ADD_1:LCALL DELAYMS</p><p><b>  MOV R1,#4</b></p>

43、<p>  CJNE R1,#0,NEXT</p><p>  CJNE A,#2,QINQ_0</p><p><b>  INC A</b></p><p><b>  MOV @R0,A</b></p><p>  JMP SW4_OK</p><p> 

44、 NEXT:CJNE R1,#1,NEXT1</p><p>  CJNE A,#9,QINQ_0</p><p><b>  INC A</b></p><p><b>  MOV @R0,A</b></p><p>  JMP SW4_OK</p><p>  NEXT1

45、:CJNE R1,#2,NEXT2</p><p>  CJNE A,#5,QINQ_0</p><p><b>  INC A</b></p><p><b>  MOV @R0,A</b></p><p>  JMP SW4_OK</p><p>  NEXT2:CJNE

46、 R1,#3,NEXT</p><p>  CJNE A,#9,QINQ_0</p><p><b>  INC A</b></p><p><b>  MOV @R0,A</b></p><p>  JMP SW4_OK</p><p>  QINQ_0:MOV A,#0&

47、lt;/p><p><b>  MOV @R0,A</b></p><p>  JMP SW4_OK</p><p>  SURE:LCALL DELAYMS</p><p>  RETURE:RET</p><p>  ;---------------------------------------

48、-----------當前時間計時</p><p>  T0_INT:PUSH ACC</p><p><b>  PUSH PSW</b></p><p><b>  CLR EA</b></p><p>  MOV TMOD,#01H</p><p>  MOV TH0,

49、#240</p><p>  MOV TL0,#96</p><p><b>  INC LEDHC</b></p><p>  MOV A,LEDHC</p><p>  CJNE A,#250,SONGLED</p><p>  MOV LEDHC,#00H</p><p&

50、gt;<b>  INC MIAO</b></p><p>  MOV A,MIAO</p><p>  CJNE A,#60,SONGLED</p><p>  MOV MIAO,#00H</p><p><b>  INC FEN</b></p><p>  CJNE A

51、,#60,SONGLED</p><p>  MOV FEN,#00H</p><p><b>  INC SHI</b></p><p>  CJNE A,#24,SONGLED</p><p>  MOV SHI,#00H</p><p>  EXIT:POP PSW</p>&

52、lt;p><b>  POP ACC</b></p><p><b>  SETB EA</b></p><p><b>  RETI</b></p><p>  ;---------------------------------------------------------------LE

53、D顯示程序</p><p>  XIANSHI:MOV R0,#7AH ;送字符首地址</p><p>  MOV R2,#04H ;燈個數(shù)</p><p>  SEL_LED:MOV A,@R0</p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR ;

54、查表</p><p><b>  MOV P0,A</b></p><p>  MOV R1,#0FEH ;燈位初值</p><p><b>  MOV A,@R1</b></p><p><b>  MOV P2,A</b></p><

55、;p>  LCALL DELAYMS ;延時1ms</p><p>  INC R0 ;修改字符指針</p><p><b>  MOV A,@R1</b></p><p>  RL A ;移動燈位</p><p>  D

56、JNZ R2,SEL_LED ;4位是否顯示完</p><p><b>  RET</b></p><p>  ;-------------------------------------------------------------延時1ms子程序</p><p>  DELAYMS:MOV R7,#02H</p&g

57、t;<p>  MOV R6,#0F8H</p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R7,DELAYMS</p><p><b>  RET</b></p><p>  ;-----------------------------------

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論