水溫控制系統(tǒng)畢業(yè)設計_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  學科基礎課硬件課程設計</p><p><b>  設計說明書</b></p><p><b>  計算機科學與技術系</b></p><p>  2010年9月10日</p><p>  學科基礎課硬件課程設計評閱書</p><p><b>

2、  課程設計任務書</b></p><p>  2010 —2011 學年第 一 學期</p><p>  專業(yè): 計算機科學與技術 學號 0718014092 姓名: 操瑞峰 </p><p>  課程設計名稱: 學科基礎課硬件課程設計

3、 </p><p>  設計題目: 水溫控制系統(tǒng)設計 </p><p>  完成期限:自 2010 年 8 月 30 日 至 2010 年 10 月 10 日 共 2 周</p><p>  設計依

4、據(jù)、要求及主要內容(可另加附頁):</p><p><b>  一、目的任務:</b></p><p>  掌握使用單片機設計水溫控制系統(tǒng)的原理。</p><p>  設置相應的按鍵,按相應的按鍵時應能對預定溫度進行設置,并將其顯示出來,要求誤差不大于1度,并且要求弱電與強電分離,以保安全。</p><p><b&

5、gt;  二、設計內容:</b></p><p>  1. 復習相關課程內容:單片機原理及應用、計算機控制等課程相關內容;匯編語言程序設計的相關內容;熟悉模擬電路、數(shù)字電路的相關知識;</p><p>  2. 熟悉實驗相關器材的主要功能。</p><p>  3. 在上述基礎上,根據(jù)課程設計的基本要求,完成以下各項任務(反映在設計說明書中):</

6、p><p>  (1)題目要求涉及的硬件電路圖及摘要說明。</p><p> ?。?)題目的工作原理及相應描述。</p><p>  (3)程序流程框圖。</p><p> ?。?)程序文本輸入及實驗完成。</p><p><b>  三、時間安排:</b></p><p> 

7、 1周一~1周三完成相關知識點的復習與軟硬件設計;</p><p>  1周四~2周三完成實驗調試和編寫設計說明書;</p><p>  2周四~2周五進行課程設計驗收、答辯。</p><p><b>  四、設計要求:</b></p><p>  1.軟件程序文檔 ;2.硬件電路圖(用專用軟件);3.完成實驗;4.完成

8、設計說明書。</p><p>  指導教師(簽字): 教研室主任(簽字): </p><p>  批準日期: 年 月 日</p><p><b>  摘 要</b></p><p>  溫度控制是無論是在工業(yè)生產(chǎn)過程中,還是

9、在日常生活中都起著非常重要的作用,過低的溫度或過高的溫度都會使水資源失去應有的作用,從而造成水資源的巨大浪費。特別是在當前全球水資源極度缺乏的情況下,我們更應該掌握好對水溫的控制,把身邊的水資源好好地利用起來。水溫控制在工業(yè)及日常生活中應用廣泛,分類較多,不同水溫控制系統(tǒng)的控制方法也不盡相同,其中以PID控制法最為常見。單片機控制部分采用AT89C51單片機為核心,采用軟件編程,實現(xiàn)用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱來

10、實現(xiàn)溫度控制。然而,單純的PID算法無法適應不同的溫度環(huán)境,在某個特定場合運行性能非常良好的溫度控制器,到了新環(huán)境往往無法很好勝任,甚至使系統(tǒng)變得不穩(wěn)定,需要重新改變 PID 調節(jié)參數(shù)值以取得佳性能。</p><p>  關鍵詞:單片機、水溫控制、AT89C51 、BS18B20</p><p><b>  目 錄</b></p><p>

11、<b>  1 課題描述1</b></p><p>  2 問題分析和任務定義2</p><p>  2.1 問題分析2</p><p>  2.2 水溫控制系統(tǒng)總體框圖2</p><p>  3 硬件電路設計3</p><p><b>  4 程序設計4</b&g

12、t;</p><p>  4.1 程序流程圖4</p><p>  4.2 程序代碼6</p><p><b>  5 電路仿真14</b></p><p>  5.1 仿真軟件14</p><p>  5.2仿真過程14</p><p>  6 調試、測試與結果

13、分析16</p><p><b>  6.1 仿真16</b></p><p><b>  6.2 測試16</b></p><p>  6.3 結果分析16</p><p><b>  7 總結17</b></p><p><b>

14、  8 心得體會18</b></p><p><b>  參考文獻19</b></p><p><b>  1 課題描述</b></p><p>  水溫控制在工業(yè)及日常生活中應用廣泛,分類較多,不同水溫控制系統(tǒng)的控制方法也不盡相同,其中以PID控制法最為常見。單片機控制部分采用AT89C51單片機為核心,

15、采用軟件編程,實現(xiàn)用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱來實現(xiàn)溫度控制。然而,單純的PID算法無法適應不同的溫度環(huán)境,在某個特定場合運行性能非常良好的溫度控制器,到了新環(huán)境往往無法很好勝任,甚至使系統(tǒng)變得不穩(wěn)定,需要重新改變 PID 調節(jié)參數(shù)值以取得佳性能。</p><p>  本文首先用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱來實現(xiàn)溫度控制。然后在模型參考自適應算法 MRAC基礎上,用單

16、片機實現(xiàn)了自適應控制,彌補了傳統(tǒng) PID控制結構在特定場合下性能下降的不足,設計了一套實用的溫度測控系統(tǒng),使它在不同時間常數(shù)下均可以達到技術指標。此外還有效減少了輸出繼電器的開關次數(shù),適用于環(huán)境參數(shù)經(jīng)常變化的小型水溫控制系統(tǒng)。</p><p>  開發(fā)環(huán)境:微機windowsXP操作系統(tǒng)、DICE反匯編環(huán)境、Protues仿真系統(tǒng)、Keil環(huán)境</p><p>  2 問題分析和任務定義&

17、lt;/p><p><b>  2.1 問題分析</b></p><p>  實際上題目的任務就是要設計一個溫控系統(tǒng),系統(tǒng)的功能是溫度測量和控溫</p><p>  在測量部分,要求測量40~90ºC的溫度范圍,還規(guī)定了測量的精度需高于1ºC,測溫的結果要求顯示。</p><p>  在控制部分,要求系

18、統(tǒng)能夠將水溫調節(jié)到給定的溫度,并進行保溫。題目并未規(guī)定溫度調節(jié)的時間長短,但顯然調節(jié)時間越短越好。</p><p>  題目沒有具體給出具體加熱的器具和方式,因此選手必須自行選擇和制作加熱裝置,然后才能真正進行電路制作。</p><p>  在發(fā)揮部分,還要求提高溫度系統(tǒng)的控制性能,縮短調節(jié)時間,提高控制精度,增加打印功能。</p><p>  2.2 水溫控制系

19、統(tǒng)總體框圖</p><p><b>  圖2.1 總體設計</b></p><p><b>  3 硬件電路設計</b></p><p>  水溫控制硬件電路圖,如圖3.1所示:</p><p>  圖3.1 水溫控制硬件電路圖</p><p><b>  4 程序

20、設計</b></p><p><b>  4.1 程序流程圖</b></p><p><b>  (1)主程序流程圖</b></p><p>  圖4.1 水溫控制主程序流程圖</p><p>  (2)軟件結構程序流程圖</p><p>  圖4.2 軟件結構程

21、序流程圖</p><p><b>  4.2 程序代碼</b></p><p>  ;用于獲取設置的溫度值</p><p>  TEMP_GETSH EQU 10H</p><p>  TEMP_GETSL EQU 11H</p><p>  ;用于在數(shù)碼管上顯示</p>

22、<p>  TEMP_SETHH EQU 12H</p><p>  TEMP_SETLL EQU 13H</p><p>  ;用于存放實時溫度值</p><p>  A_BIT EQU 14H ;個位</p><p>  B_BIT EQU 15H ;十位</p>&l

23、t;p><b>  ;按鍵輸入引腳定義</b></p><p>  K1 EQU P2.0</p><p>  K2EQU P2.1</p><p><b>  ;控制狀態(tài)引腳定義</b></p><p>  DS1820 EQU P3.7</p>&

24、lt;p>  FLAG EQU 20H.1;DS18B20是否存在標記</p><p>  DQ EQU P3.7</p><p>  ;===========主程序===========</p><p>  ORG 0000H</p><p>  JMP START</p><p&

25、gt;<b>  ORG 03H</b></p><p>  JMP EXT0</p><p>  ORG 0013H</p><p>  JMP EXT1</p><p><b>  START:</b></p><p>  MOV A,#02

26、H ;設置溫度值為:25</p><p>  MOV DPTR,#TABLE3</p><p>  MOVC A,@A+DPTR</p><p>  MOV TEMP_SETHH,A</p><p>  MOV A,#05H</p><p>  MOV DPTR,#TABLE3</p>

27、;<p>  MOVC A,@A+DPTR</p><p>  MOV TEMP_SETLL,A</p><p>  MOV IE,#10000101B</p><p>  MOV IP,#00000001B</p><p>  MOV TCON,#00000101B</p><p> 

28、 MOV SP,#70H;設置堆棧指針</p><p>  MOV R7,#00H ;R7為按鍵K1次數(shù)記錄</p><p>  MOV R6,#00H ;R6為按鍵K2次數(shù)記錄</p><p>  ;============數(shù)碼管顯示子程序============</p><p><b>  DISPLAY:&l

29、t;/b></p><p>  MOV P0,#0FFH</p><p>  MOV A,TEMP_SETHH</p><p>  MOV P0,A</p><p>  MOV A,#00000001B</p><p>  MOV P1,A</p><p>  ACAL

30、L DELAY</p><p>  ACALL TEMP_GETSHH1 ;調用該子程序,以便保存設置溫度值的十位數(shù)的值</p><p>  MOV P0,#0FFH</p><p>  MOV A,TEMP_SETLL</p><p>  MOV P0,A</p><p>  MOV A,#000

31、00010B</p><p>  MOV P1,A</p><p>  ACALL DELAY</p><p>  ACALL TEMP_GETSLL1 ;調用該子程序,以便保存設置溫度值的個位數(shù)的值</p><p>  MOV P0,#0FFH</p><p>  MOV A,#0BFH</p

32、><p>  MOV P0,A</p><p>  MOV A,#00000100B</p><p>  MOV P1,A</p><p>  ACALL DELAY</p><p>  MOV P0,#0FFH</p><p>  MOV A,#0BFH</p>

33、<p>  MOV P0,A</p><p>  MOV A,#00001000B</p><p>  MOV P1,A</p><p>  ACALL DELAY</p><p>  ACALL TEMP_DISPLAY;調用實時溫度顯示子程序</p><p>  JMP DISPLAY&

34、lt;/p><p>  ;============按鍵掃描子程序============</p><p><b>  EXT0:</b></p><p><b>  PUSH ACC</b></p><p><b>  PUSH PSW</b></p><p

35、><b>  INC R6</b></p><p>  MOV A,R6</p><p>  CJNE A,#10,DD1</p><p>  MOV R6,#00H</p><p>  MOV A,R6</p><p><b>  DD1:</b>&

36、lt;/p><p>  MOV DPTR,#TABLE1</p><p>  MOVC A,@A+DPTR</p><p>  MOV TEMP_SETHH,A</p><p>  ;ACALL DELAY</p><p><b>  POP PSW</b></p><

37、;p><b>  POP ACC</b></p><p><b>  RETI</b></p><p><b>  EXT1:</b></p><p><b>  PUSH ACC</b></p><p><b>  PUSH PS

38、W</b></p><p><b>  INC R7</b></p><p>  MOV A,R7</p><p>  CJNE A,#10,DD2</p><p>  MOV R7,#00H</p><p>  MOV A,R7</p><p&g

39、t;<b>  DD2:</b></p><p>  MOV DPTR,#TABLE2</p><p>  MOVC A,@A+DPTR</p><p>  MOV TEMP_SETLL,A</p><p>  ;ACALL DELAY</p><p><b>  POP

40、PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p>  ;=========================</p><p>  ;=========獲取設置溫度值的子程序=========</p&g

41、t;<p>  TEMP_GETSHH1:</p><p>  ;PUSH ACC</p><p>  MOV A,TEMP_SETHH ;獲取設置溫度值的十位數(shù)</p><p>  ;MOV P0,#0FFH</p><p>  MOV TEMP_GETSH,A</p><p>  MOV

42、 R0,#0FFH</p><p><b>  TEMP1:</b></p><p><b>  INC R0</b></p><p>  MOV A,R0</p><p>  MOV DPTR,#TABLE3</p><p>  MOVC A,@A+DP

43、TR</p><p>  MOV R1,TEMP_GETSH</p><p><b>  CLR C</b></p><p>  SUBB A,R1</p><p>  JNZ TEMP1</p><p>  MOV TEMP_GETSH,R0</p><p&g

44、t;  ;POP ACC</p><p><b>  RET</b></p><p>  TEMP_GETSLL1:</p><p>  ;PUSH ACC</p><p>  MOV A,TEMP_SETLL ;獲取設置溫度值的個位數(shù)</p><p>  MOV TEMP_GET

45、SL,A</p><p>  MOV R0,#0FFH</p><p><b>  TEMP2:</b></p><p><b>  INC R0</b></p><p>  MOV A,R0</p><p>  MOV DPTR,#TABLE3</p&

46、gt;<p>  MOVC A,@A+DPTR</p><p>  MOV R1,TEMP_GETSL</p><p><b>  CLR C</b></p><p>  SUBB A,R1</p><p>  JNZ TEMP2</p><p>  MOV TE

47、MP_GETSL,R0</p><p>  ;POP ACC</p><p><b>  RET</b></p><p>  ;========================================</p><p>  ;==========初始化及讀取溫度值子程序======</p><

48、;p><b>  RE_TEMP:</b></p><p><b>  SETB DQ</b></p><p>  ACALL RESET_1820</p><p>  JB FLAG,ST</p><p><b>  RET</b></p><

49、;p><b>  ST:</b></p><p>  MOV A,#0CCH</p><p>  ACALL WRITE_1820</p><p>  MOV A,#44H</p><p>  ACALL WRITE_1820</p><p>  ACALL RESET_1820&l

50、t;/p><p>  MOV A,#0CCH</p><p>  ACALL WRITE_1820</p><p>  MOV A,#0BEH</p><p>  ACALL WRITE_1820</p><p>  ACALL READ_1820</p><p><b>  RE

51、T</b></p><p>  ;========================================</p><p>  ;==========DS18B20復位初始化子程序=======</p><p>  RESET_1820:</p><p><b>  SETB DQ</b></

52、p><p><b>  NOP</b></p><p><b>  CLR DQ</b></p><p>  ;主機發(fā)出延時537us的復位低脈沖</p><p>  MOV R1,#3</p><p><b>  DLY:</b></p>

53、;<p>  MOV R0,#107</p><p>  DJNZ R0,$</p><p>  DJNZ R1,DLY</p><p><b>  ;然后拉高數(shù)據(jù)線</b></p><p><b>  SETB DQ</b></p><p><

54、b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  ;等待DS18B20回應</p><p>  MOV R0,#25H</p><p>  T2: JNB DQ,T3&

55、lt;/p><p>  DJNZ R0,T2</p><p><b>  JMP T4</b></p><p>  ;置標志位FLAG=1,表示DS18B20存在</p><p>  T3:SETB FLAG</p><p><b>  JMP T5</b><

56、/p><p>  ;清標志位FLAG=0,表示DS18B20不存在</p><p>  T4:CLR FLAG</p><p><b>  JMP T7</b></p><p>  ;時序要求延時一段時間</p><p>  T5:MOV R0,#117</p><

57、p>  T6:DJNZ R0,T6</p><p>  T7:SETB DQ</p><p><b>  RET</b></p><p>  ;========================================</p><p>  ;===========寫入DS1820子程序========

58、=====</p><p><b>  ;寫入DS1820</b></p><p>  WRITE_1820:</p><p>  MOV R2,#8 ;一共8位數(shù)據(jù)</p><p>  CLR C ;C=0</p><p><b>  WR1:</b>

59、</p><p>  CLR DQ ;總線低位,開始寫入</p><p>  MOV R3,#7</p><p>  DJNZ R3,$ ;保持16us以上</p><p>  RRC A ;把字節(jié)DATA分成8位,環(huán)移給C</p><p>  MOV DQ,C ;寫入一個位&

60、lt;/p><p>  MOV R3,#23</p><p>  DJNZ R3,$ ;等待</p><p>  SETB DQ ;重新釋放總線</p><p><b>  NOP</b></p><p>  DJNZ R2,WR1 ;寫入下一個位</p>&l

61、t;p>  SETB DQ ;釋放總線</p><p><b>  RET</b></p><p>  ;========================================</p><p>  ;===========讀出DS1820子程序=============</p><p>  ;將溫

62、度值從DS18B20中讀出</p><p>  READ_1820:</p><p>  MOV R4,#2 ;讀取兩個字節(jié)的數(shù)據(jù)</p><p>  MOV R1,#29H ;低位存入TEMP_GETCL,高位存入TEMP_GETCH</p><p><b>  RE0:</b></p>

63、<p>  MOV R2,#8 ;數(shù)據(jù)一共8位</p><p><b>  RE1:</b></p><p><b>  CLR C</b></p><p><b>  SETB DQ</b></p><p><b>  NOP</b&

64、gt;</p><p><b>  NOP</b></p><p>  CLR DQ ;讀前總線保持為低</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP<

65、;/b></p><p>  SETB DQ ;開始讀總線釋放</p><p>  MOV R3,#9 ;延時18us</p><p>  DJNZ R3,$</p><p>  MOV C,DQ ;從總線讀到一個位</p><p>  MOV R3,#23</p>

66、<p>  DJNZ R3,$ ;等待50us</p><p>  RRC A ;把讀到的位值環(huán)移給A</p><p>  DJNZ R2,RE1 ;讀下一個位</p><p>  MOV @R1,A</p><p><b>  DEC R1</b></p>&

67、lt;p>  DJNZ R4,RE0</p><p><b>  RET</b></p><p>  ;========================================</p><p>  ;=============溫度顯示子程序=============</p><p>  TEMP_DISP

68、LAY:</p><p>  ACALL RE_TEMP ;調用讀取溫度子程序</p><p>  ACALL TURN</p><p>  ACALL DATAES1</p><p>  MOV A,29H</p><p>  MOV B,#10</p><p><b> 

69、 DIV AB</b></p><p>  MOV B_BIT,A</p><p>  MOV A_BIT,B</p><p>  MOV P0,#0FFH</p><p>  MOV DPTR,#TABLE3</p><p>  MOV A,B_BIT</p><

70、;p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p><p>  MOV P1,#00010000B</p><p>  ACALL DELAY</p><p>  MOV A,A_BIT</p><p>  MOV P0,#0FFH</p><

71、;p>  MOVC A,@A+DPTR</p><p>  MOV P0,A</p><p>  MOV P1,#00100000B </p><p>  ACALL DELAY</p><p><b>  RET</b></p><p>  ;==================

72、======================</p><p>  ;=============數(shù)據(jù)轉化子程序=============</p><p><b>  TURN:</b></p><p>  MOV A,29H</p><p>  MOV C,40H;28的位地址</p><p&

73、gt;<b>  RRC A</b></p><p>  MOV C,41H</p><p><b>  RRC A</b></p><p>  MOV C,42H</p><p><b>  RRC A</b></p><p>  

74、MOV C,43H</p><p><b>  RRC A</b></p><p>  MOV 29H,A</p><p><b>  RET</b></p><p>  ;========================================</p><p

75、>  ;=============處理溫度數(shù)據(jù)子程序=========</p><p><b>  DATAES1:</b></p><p>  MOV A,TEMP_GETSH</p><p>  MOV B,#00001010B</p><p><b>  MUL AB</b>

76、</p><p>  MOV R0,A</p><p>  MOV A,TEMP_GETSL</p><p>  ADD A,R0</p><p>  MOV R0,A</p><p>  MOV A,B_BIT</p><p>  MOV B,#00001010B&l

77、t;/p><p><b>  MUL AB</b></p><p>  MOV R1,A</p><p>  MOV A,A_BIT</p><p>  ADD A,R1</p><p>  MOV R1,A</p><p>  MOV A,R0<

78、;/p><p><b>  CLR C</b></p><p>  SUBB A,R1</p><p>  JZ DDAS3</p><p><b>  RLC A</b></p><p>  JC DDAS4</p><p>  MOV

79、 P2,#11011111B</p><p>  JMP DDAS5</p><p><b>  DDAS3:</b></p><p>  MOV P2,#10111111B</p><p>  JMP DDAS5</p><p><b>  DDAS4:</b&g

80、t;</p><p>  MOV P2,#01111111B</p><p><b>  DDAS5:</b></p><p>  ACALL DELAY</p><p><b>  RET</b></p><p>  ;=========================

81、===============</p><p>  ;===============延時子程序===============</p><p>  DELAY: ;延時3ms</p><p>  MOV R0,#25</p><p><b>  DD3:</b></p><p>  MO

82、V R1,#100</p><p>  DJNZ R1,$</p><p>  DJNZ R0,DD3</p><p><b>  RET</b></p><p>  TABLE1:;設置溫度值十位數(shù)代碼表</p><p>  DB 0B0H ;3</p>&l

83、t;p>  DB 99H ;4</p><p>  DB 92H ;5</p><p>  DB 82H ;6</p><p>  DB 0F8H;7</p><p>  DB 80H;8</p><p>  DB 90H;9</p><

84、;p>  DB 0C0H;0</p><p>  DB 0F9H ;1</p><p>  DB 0A4H;2</p><p>  TABLE2:;設置溫度值個位數(shù)代碼表</p><p>  DB 92H ;5</p><p>  DB 82H ;6<

85、/p><p>  DB 0F8H;7</p><p>  DB 80H;8</p><p>  DB 90H;9</p><p>  DB 0C0H;0</p><p>  DB 0F9H ;1</p><p>  DB 0A4H;2</p>

86、;<p>  DB 0B0H ;3</p><p>  DB 99H ;4</p><p>  TABLE3:;數(shù)碼管顯示代碼表</p><p>  DB 0C0H;0</p><p>  DB 0F9H ;1</p><p>  DB 0A4H;2</

87、p><p>  DB 0B0H ;3</p><p>  DB 99H ;4</p><p>  DB 92H ;5</p><p>  DB 82H ;6</p><p>  DB 0F8H;7</p><p>  DB 80H;8<

88、/p><p>  DB 90H;9</p><p><b>  END</b></p><p><b>  5 電路仿真</b></p><p><b>  5.1 仿真軟件</b></p><p>  電路仿真中采用Proteus仿真軟件。該軟件簡

89、單易用,容易上手,元器件較為齊全,仿真穩(wěn)定,功能強大,故采用了此仿真軟件。</p><p><b>  5.2仿真過程</b></p><p>  建立仿真電路圖,如下圖所示:</p><p>  圖5.1 水溫控制設計仿真電路圖</p><p>  6 調試、測試與結果分析</p><p>&l

90、t;b>  6.1 仿真</b></p><p>  根據(jù)水溫控制設計原理,可以按照以下步驟來完成仿真:</p><p>  (1)根據(jù)要求在Proteus中選取元器件,設計電路圖。</p><p>  (2)編寫代碼,實現(xiàn)軟件設計。</p><p>  (3)使用Kiel編譯程序,產(chǎn)生相應的Hex文件。</p>

91、<p>  (4)將Hex文件裝入Proteus仿真軟件中,實現(xiàn)仿真。</p><p><b>  6.2 測試</b></p><p>  (1)根據(jù)要求選取元器件。</p><p>  (2)根據(jù)所設計電路圖連接電路:</p><p>  (3)編寫代碼,實現(xiàn)軟件設計。</p><p

92、>  (4)使用Kiel編譯程序,產(chǎn)生相應的Hex文件。</p><p>  (5)將Hex文件裝入DICE中,下載到AT89C51中,運行系統(tǒng)。</p><p><b>  6.3 結果分析</b></p><p>  通過按照設計的電路圖連接電路,裝載、編譯并運行程序,可以實現(xiàn)通過溫度的變化,系統(tǒng)給出相應的警示。</p>

93、<p><b>  7 總結</b></p><p>  微型計算機的出現(xiàn)和大量使用將人類社會帶入一個新的時代,單片微型計算機(簡稱單片機)在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會在辦公桌或控制臺上占據(jù)一個顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計算、控制、測量等智能活動的各個角落。單片機以其體積小、可靠性高、控制功能強、使

94、用方便、性能價格比高、容易產(chǎn)品化等特點,在智能儀表、機電一體化、實時控制、分布式多機系統(tǒng)、家用電器等各個領域得到了廣泛應用,對各個行業(yè)的技術改造和產(chǎn)品的更新?lián)Q代起著重要的推動作用,對人們生活質量的提高產(chǎn)生了深刻的影響。</p><p>  本次《基于單片機的水溫控制系統(tǒng)設計》是以AT89C51為核心,采用軟件編程,實現(xiàn)用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱來實現(xiàn)溫度控制。在系統(tǒng)的軟硬件調試過程中,不

95、斷地有問題出現(xiàn),如OP-07、ADC0804會發(fā)燙,串行通信…,但是在老師和同學的指導和幫助下,通過電路檢查、原理分析、程序修改等工作,這些問題都一一得到了解決,所以在這次調試過程中,我們學到了很多知識,同時也大大地提高了我們的實際動手能力,這對我們以后的系統(tǒng)設計會有很大的幫助。同時,該系統(tǒng)還存在著一些問題,如溫度顯示精度不高,沒有采用小數(shù)部分;PID算法的參數(shù)不夠精確,這影響水溫達到穩(wěn)定的時間。</p><p>

96、;<b>  8 心得體會</b></p><p> ?。薄⒂布b焊方面要有足夠的耐心和細心,就算電路設計的再好,在焊接時出一點小差錯,也是不允許的,往往電路的錯誤都是由于一些小問題引起的,如短路等,將造成不可預測的后果</p><p> ?。病④浖矫孀⒁獾募毠?jié)也很多,下面簡單介紹一下這陣子寫程序得到的一些經(jīng)驗:</p><p>  (1)寫

97、較大的程序時一定要事先做好資源分配。</p><p> ?。ǎ玻┒褩V羔楽P應設初值。</p><p> ?。ǎ常㏑1、R0也應規(guī)定好用哪一區(qū)的,即設PSW.3和PSW.4。</p><p> ?。ǎ矗┻M入中斷時一定要記得保護ACC和PSW(視情況而定)。</p><p> ?。ǎ担┎恢惯M中斷時要保護,有時候在正常程序下也要對某些值進得保護。

98、可用堆棧式的保護也可先賦值給其他地址,過后再賦回來</p><p> ?。ǎ叮┩咨剖褂梦坏刂?,位地址可做為一些標志位,可以給編程帶來很大的方便。在本程序中,我就用了三個位地址,使程序大大的簡化了</p><p><b>  參考文獻</b></p><p>  [1] 李群芳.單片微型計算機與接口技術.電子工業(yè)出版社,2005.1</p&

99、gt;<p>  [2] 何立民.MCS-51單片機應用系統(tǒng)設計. 北京航空航天大學出版社,2000.3[3] 戴梅鄂.微型計算機技術及應用.清華大學出版社,2008.2 </p><p>  [4] 李建忠.單片機原理及應用.西安電子科技出版社,2008.2 </p><p> 

溫馨提示

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

評論

0/150

提交評論