恒溫箱控制器的設計_第1頁
恒溫箱控制器的設計_第2頁
恒溫箱控制器的設計_第3頁
恒溫箱控制器的設計_第4頁
恒溫箱控制器的設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課程設計說明書唐 山 學 院測控系統原理課 程 設 計 題 目 恒溫箱控制器的設計 系 (部) 機電工程系 班 級 姓 名 學 號 指導教師 2014 年 03 月 02 日至 03 月 13 日 共 兩 周2014年 03 月 13 日測控系統原理課程設計任務書一、設計題目、內容及要求1、設計題目:恒溫箱控制器的設計2、設計內容:運用所學單片機、模擬和數字電路、以及測控系統原理與設計等方面的知識,設計出一臺以AT89C52為核心的恒溫箱控制器,對恒溫箱的溫度進行控制。完成恒溫箱溫度的檢測、控制信號的輸出、顯示及鍵盤接口電路等部分的軟、硬件設計,A/D和D/A轉換器件可自行確定,利用按鍵(自行

2、定義)進行溫度的設定,同時將當前溫度的測量值顯示在LED上。恒溫箱控制器要求如下: 1)目標穩定溫度范圍為100攝氏度50攝氏度; 2)以PID控制算法實現控制精度為±1度; 3)溫度傳感器輸入量程:30攝氏度120攝氏度,電流420mA;4)加熱器為交流220V,1000W電爐。3、設計要求:1)硬件部分包括微處理器(MCU)、D/A轉換、輸出通道單元、鍵盤、顯示等;2)軟件部分包括鍵盤掃描、D / A轉換、輸出控制、顯示等;3)用PROTEUS軟件仿真實現;4)用Protel畫出系統的硬件電路圖;5)撰寫設計說明書一份(不少于2000字),闡述系統的工作原理和軟、硬件設計方法,重

3、點闡述系統組成框圖、硬件原理設計和軟件程序流程圖。說明書應包括封面、任務書、目錄、摘要、正文、參考文獻(資料)等內容,以及硬件電路圖和軟件程序框圖等材料。二、設計原始資料Proteus 及KEIL51仿真軟件,及軟件使用說明。三、要求的設計成果(課程設計說明書、設計實物、圖紙等)設計說明書一份(不少于2000字)。四、進程安排1. 2015年3月2日 資料查閱2. 2015年3月3,4日 總體設計,硬件設計3. 2015年3月5,6日 繪制電路圖3. 2015年3月9,10日 繪制軟件程序流程圖,編寫軟件4. 2015年3月11日 軟、硬件仿真調試5. 2015年3月12,13日 撰寫設計說明

4、書五、主要參考資料1王福瑞等單片微機測控系統設計大全北京航空航天大學出版社,19992現代測控技術與系統 韓九強 清華大學出版社 2007.93智能儀器 程德福,林君主編 機械工業出版社 2005年2月4測控儀器設計浦昭邦,王寶光主編 機械工業出版社 20015基于AT89C51單片機的數字電壓表的設計,黃亮,電子制作,200610 ,25-276Keil C51幫助文檔指導教師(簽名):教研室主任(簽名):課程設計成績評定表出勤情況出勤天數 缺勤天數成績評定出勤情況及設計過程表現(20分)課設答辯(20分)設計成果(60分)總成績(100分)提問(答辯)問題情況綜合評定 指導教師簽名: 年

5、月 日目 錄摘 要1一.系統的硬件設計 2 1.恒溫箱控制系統框圖2 2.微處理器AT89C522 3.溫度傳感器 3 4.顯示部分4 5.鍵盤輸入電路5 6.輸出控制5 7.溫度越線報警電路6二.系統的軟件設計7 1.溫度傳感器模塊軟件設計7 2.鍵盤管理模塊7 3.顯示模塊8 4.控制模塊8 5.溫度報警模塊9三.PID控制算法10 1.PID的數學模型10 2.PID控制規律的離散化10四.設計總結11五.參考文獻12 附錄1元件清單13 附錄2硬件電路圖 14附錄3程序清單 15摘 要隨著社會發展的需求,人們對恒溫箱的應用和需求越來越廣泛,在工業生產和日常生活或科學實驗中,我們隨處都可

6、以看到恒溫箱的應用。如,可以根據動物生活習性的需要控制飼養棚合適的溫度來進行孵卵或動物培養;在農業上,可用于種子的發芽;在醫學上,可用于做細菌培養、放射免疫分析、血清溶化、石臘熔化、試管消毒等。常用的恒溫箱主要分為三類:高溫恒溫箱(高于60);中溫恒溫箱(-1060);低溫恒溫箱(低于-1O)。 恒溫箱的溫度控制系統可分為人工調節和自動調節兩種方式,人工調節是通過溫度計進行測量后手動調節變壓器,從而控制產生熱量的大小;而自動調節往往通過熱電偶傳感器進行測溫,輸出電壓值,經放大后加到電機上驅動電機來調節變壓器,其優點是可以連續、實時、準確的來控制溫度。基于單片機技術的溫控器和可編程溫度傳感器相結

7、合使用是目前恒溫箱溫度控制較為先進的一種方式。單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統等部分于一體的器件,只需要外加電源和晶振就可實現對數字信息的處理和控制。如果能利用單片機進行溫度的測量和控制,將會大大提高溫度測量和控制的可靠性和靈活性。單片機對溫度測量控制過程是借助于傳感器、A/D轉換器以及擴展接口和執行機構來進行的。在閉環型過程控制中,過程的實時參數由傳感器和A/D轉換器來實時采集,并由單片機自動記錄、處理并控制執行機構動作來進行調節和控制。關鍵詞: 恒溫箱,單片機,AT89C52,A/D轉換,溫度傳感器,DS18B20一.系統的硬件設計1.恒溫箱控制系統框圖根據上面對

8、工作流程的分析,系統可以分為以下幾個功能模塊:(1) 鍵盤管理:監測鍵盤輸入,接收溫度預置,啟動系統工作。(2) 顯示:顯示設置溫度及當前溫度。(3) 溫度檢測及溫度值變換(4) 溫度控制:根據檢測到的溫度控制電爐工作。(5) 報警:當預置溫度或當前爐溫越限時報警。根據恒溫箱控制器的功能要求,并結合對51系列單片機軟件編程自由度大,可用編程實現各種控制算法和邏輯控制。所以采用AT89C52作為電路系統的控制核心。按鍵將設置好的溫度值傳給單片機,通過溫度顯示模塊顯示出來。初始溫度設置好后,單片機開啟輸出控制模塊,使電熱器開始加熱,同時將從數字溫度傳感器DS18B20測量到的溫度值實時的顯示出來,

9、當加熱到設定溫度值時,單片機控制聲光報警模塊,發出聲光報警,同時關閉加熱器。當自然冷卻到設定溫度50攝氏度以下時,單片機再次啟動加熱器,如此循環反復,以達到恒溫控制的目的。2.微處理器AT89C52AT89C52單片機是一種低功耗、高性能內含8K字節閃電存儲器的8位CMOS微控制器,與工業標準MCS51指令系列和引腳完全兼容有超強的加密功能,其片內閃電存儲器的編程與擦除完全用電實現,數據不易揮發,編程/擦除速度快。如圖所示:AT89C52的引腳結構它的主要特點有:(1)內部程序存儲器為電擦除可編程只讀存儲器EEPROM,容量8KB,內部數據存儲器容量256B(不包括專用寄存器),外部數據存儲器

10、尋址空間64KB,外部程序存儲器尋址空間64KB;(2)有三個16位的定時器/計數器;(3)可利用兩根I/O口線作為全雙工的串行口,有四種工作方式,可通過編程選定; (4)內部ROM中開辟了四個通用工作寄存器區,共32個通用寄存器,以適應多種中斷或子程序嵌套的情況;(5)內部有6個中斷源,分為二個優先級,每個中斷源優先級是可編程的;(6)堆棧位置是可編程的,堆棧深度可達128字節;3.溫度傳感器 采用數字溫度傳感器DS18B20,DS18B20提供九位溫度讀數,測量范圍-55125,采用獨特1-WIRE 總線協議,只需一根口線即實現與MCU 的雙向通訊,具有連接簡單,高精度,高可靠性等特點。并

11、且,DS18B20支持一主多從,若想實現多點測溫,可方便擴展。DS18B20的特點:(1) 獨特的單線接口方式,與單片機通信只需一個引腳,DS18B20與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數據線供電,電壓范圍:+3.0+5.5 V。 (4)測溫范圍為-55 +125 。在-10+85范圍內誤差為0.5 。 (5)通過編程可實現912位的數字讀數方式。 (6)用戶可自設定非易失性的報警上下限值。 (7)支持多點組網功能,通過識別芯片各自唯一的產品序列號從而實現單線多掛接,多個DS18B20可以并聯在唯一的線上,

12、簡化了分布式溫度檢測的應用,實現多點測溫。 (8)負壓特性,電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作。(3)DS18B20在電路中的連接,見圖:DS18B20測溫電路4.顯示部分 顯示采用 3 位共陽LED 動態顯示方式,顯示內容有溫度值的十位、個位及小數點后一位。用P2 口作為段控碼輸出,并用74ls164 作驅動。P0.0P0.2作為位控碼輸出,用PNP型三極管做驅動。如下圖所示:顯示部分5.鍵盤輸入電路鍵盤設定:用于溫度設定。共三個按鍵。 KEY1(P1.1): 狀態切換;溫度設置確認;溫度重新設置。KEY2(P1.2): 設置溫度“+”。KEY3(P1.3): 設置溫度“

13、-”。 如圖所示:鍵盤輸入電路6.輸出控制采用光電藕合器,控制信號與輸出信號可以很好的隔離,增強了系統的安全性和抗干擾能力。輸出控制電路,MOC3021內部帶有過零控制電路,MOC3021輸出端額定電壓為400V。加熱電路中采用MOC3021的目的有兩個:其一是實現強電與弱電的隔離;其二是實現雙向可控硅的過零觸發,從而使流過雙向可控硅的電流波形為正弦波,減少諧波。電路連接如圖所示,其在電路中的工作原理是單片機根據傳感器和設定開關輸入的控制指令,控制電器的電源通斷。SW1為雙向開關,其最大通態電流為1A。當電源控制電路的輸出管腳P1.6送出的開關控制指令為高電平,MOC3021截止,Q2截止,電

14、器被關閉;當電源控制電路的輸出管腳P1.6送出的開關控制指令為低電平,MOC3041導通,Q2導通,電器被打開。通過MOC3021內部的過零觸發電路,保證Q2在電壓過零時導通和截止,對供電系統干擾極小。R6和C6是Q2的保護電路。如下圖: 光耦控制輸出電路7.溫度越線報警電路報警電路如圖所示,該電路采用一個小功率三極管Q2驅動蜂鳴器,當單片機接收到超額溫度信號或危險信號時,輸出腳P1.7輸出高點平,Q2導通,致使蜂鳴器得電工作,發出報警聲。同時,電路中的發光二極管指示出電路的工作狀態。報警電路二.系統的軟件設計1.溫度傳感器模塊軟件設計對DS18B20操作時,首先要將它復位。復位時,DQ線被拉

15、為低電平,時間為480960us;接著將數據線拉為高電平,時間為1560us;最后DS18B20發出60240us的低電平作為應答信號,這時主機才能進行讀寫操作。進行寫操作時,將數據線從高電平拉至低電平,產生寫起始信號。從DQ線的下降沿起計時,在15us到60us這段時間內對數據線進行檢測,如數據線為高電平則寫1;若為低電平,則寫0,完成了一個寫周期。在開始另一個寫周期前,必須有1us以上的高電平恢復期。每個寫周期必須要進行寫操作時,將數據線從高電平拉至低電平,產生寫起始信號。從DQ線的下降沿起計時,在15us到60us這段時間內對數據線進行檢測,如數據線為高電平則寫1;若為低電平,則寫0,完

16、成了一個寫周期。溫度轉換讀取溫度數值程序流程如下圖所示。溫度轉換讀取溫度數值程序流程2.鍵盤管理模塊鍵盤管理子程序流程如圖所示:當通電或復位以后,系統進入鍵盤管理狀態,單片機只接收設定溫度和啟動。當檢測到有鍵閉合時先去除抖動,這里采用軟件延時的方法,延時一段時間后,再確定是否有鍵閉合,然后將設定好的值送入預置溫度數據區,并調用溫度合法檢測報警程序,當設定溫度超過最大值如100時就會報警,最后當啟動鍵閉合時啟動加熱。鍵盤設定:用于溫度設定。共三個按鍵。 KEY1(P1.1): 狀態切換;溫度設置確認;溫度重新設置。KEY2(P1.2): 設置溫度“+”。KEY3(P1.3): 設置溫度“-”。

17、系統上電后,數碼管全部顯示為零,根據按 KEY1 次數,決定顯示的狀態,根據相應的狀態,利用KEY2、KEY3進行加減,當溫度設定好之后,再按KEY1確定,系統開始測溫,啟加熱器。3.顯示模塊顯示子程序的功能是將緩沖區的二進制數據先轉換成3個BCD碼,再將其分別存入百位、十位、個位3個顯示緩沖區,送往串行口,利用單片機的P0口進行掃描,讓數據動態的顯示出來,可顯示設置溫度和測量溫度。4.控制模塊溫度控制子程序流程如圖所示,將當前溫度與設定好的溫度比較,若當前溫度小于設定溫度時,開啟電熱器;若當前溫度大于設定溫度時,關閉電熱器;若二者相等時,電熱器保持這一狀態。5.溫度報警模塊報警子程序流程如圖

18、所示。根據設計要求,當檢測到當前溫度值高于設定溫度值1時報警,報警的同時關閉電熱器。為了防止誤報,設置了報警允許標志,只有在允許報警的情況下,溫度值高于設定溫度值時才報警。三.PID控制算法1.PID的數學模型PID控制是一種比較成熟的控制理論,它通過比例、積分、微分三部分的合理組合可以用比較簡單的方法獲得令人滿意的控制效果。PID的數學模型如圖表示:PID數學模型給定值R(t)與實際值Y(t)構成控制誤差: E(t)=R(t)-Y(t) 式2-1PID控制器根據E(t)將誤差的比例(P)、積分(I)、和微分(D)通過線性組合構成控制量,對受控對象進行控制,其控制規律如式2所示:U(t)=KP

19、e(t)+ 式2-2U(t)控制器輸出函數;E(t)控制器誤差函數;KP比例系數;Ti積分時間常數;Td微分時間常數。2.PID控制規律的離散化為了用計算機實現PID控制,采用增量式PID控制算法,增量式PID控制算法是指數字控制器的輸出只是控制量的增量U(n)。當執行機構需要的是控制量的增量時,可由式導出提供增量的PID控制算法。根據遞推規律得: 式2-6用式2-5減去式2-6可得: 式2-7改寫成: = 式2-8四.設計總結我們的溫度控制系統是基于AT89C52單片機的設計方案,它能實時顯示當前溫度,并能根據用戶的要求做出相應的控制。此系統為閉環系統,工作穩定性高,控制精度高,利用模糊控制

20、算法使超調量大大降低。軟件采用模塊化結構,提高了通用性。本設計的目的不僅僅是溫度控制本身,主要提供了單片機外圍電路及軟件包括控制算法設計的思想。設計所達到的性能指標如下:1)溫控系統的標度誤差我們將標準溫度計和溫控系統探頭放人同一容器中,選定若干不同的溫度點,記錄下標準溫度計顯示的溫度和溫控系統顯示的溫度進行比較。測量數據如下所示:標準溫度計:57.8 63.0 72.8 85.1 90.9()溫控系統: 58.3 62.9 73.0 85.5 90.5()差值比較: 0.5 0.1 0.2 0.4 -0.4()標度誤差:1.5%2)溫控系統的靜態誤差通過測量在不同的溫度點同標準溫度的溫度差來

21、確定溫控系統的靜態誤差。其測量數據如下所示:標準溫度: 60.0 70.0 83.0 90.2()系統顯示值:59.6 70.0 83.3 90.5()差值: -0.4 0 0.3 0.3() 靜態誤差0.183)溫控系統的控制精度通過設定不同的溫度值,使加熱器加熱,待溫度穩定時記錄各溫度點的溫度計數據和溫控系統的顯示值。其記錄數據如下:設定溫度值:55.0 65.0 75.0 87.0 91.0()系統顯示值:54.1 64.6 74.9 86.1 91.2()差值:0.1 -0.9 -0.1 -0.9 0.2()控制精度0.45超調量0.83%結果分析論述: 該設計具有較小的超調值,超調值

22、大約為0.83%左右。雖然超調為不利結果,但另一方面卻減小了系統的調節時間。從其數據表可以看出該系統為穩定系統,而且滿足系統的誤差要求。五.參考文獻1王福瑞等單片微機測控系統設計大全北京航空航天大學出版社,19992現代測控技術與系統 韓九強 清華大學出版社 2007.93智能儀器 程德福,林君主編 機械工業出版社 2005年2月4測控儀器設計浦昭邦,王寶光主編 機械工業出版社 20015基于AT89C51單片機的數字電壓表的設計,黃亮,電子制作,200610 ,25-276Keil C51幫助文檔附錄1:元件清單類型名型號阻值數量電阻MINRES100R1K3電阻MINRES10K10K3電

23、阻MINRES100R27R1電阻MINRES100R3R1電阻MINRES100R100R1電阻MINRES10K0.3K10電容HTC0060330PF3電容HTC0060310UF1電容HTC006031.0PF1按鈕4三極管2N37.72三極管PN42503傳感器DS18B201光的耦合器MOC30211加熱器1芯片74LS1641單片機AT89C521數碼管7seg-mpx1-cc3附錄2.硬件電路圖恒溫箱控制器硬件系統圖附錄3:程序清單TEMPER_L EQU 29H ;用于保存讀出溫度的低8位TEMPER_H EQU 28H ;用于保存讀出溫度的高8位FLAG EQU 38H ;

24、是否檢測到DS18B20標志位DAYU EQU 44H ;設溫>實溫XIYU EQU 45H ;設溫<實溫DEYU EQU 46H ;設溫=實溫GAOLE EQU 47H ;溫度高于最高溫度DILE EQU 48H ;溫度低于最低溫度Abit EQU 79H ;數碼管個位數存放內存位置Bbit EQU 7AH;數碼管十位數存放內存位置Cbit EQU 78H ;數碼管小數存放內存位置ORG 0000HAJMP STARTSTART: SETB P1.1SETB P1.2SETB P1.3SETB P1.4SETB P1.5CLR P1.7MOV R4, 00HMOV SP, #60

25、H ;確立堆棧區MOV PSW, #00H ;MOV R0, #20H ;RAM 區首地址MOV R7, #60H ;RAM 區單元個數ML: MOV R0, #00HINC R0DJNZ R7, MLMAIN:LCALL GET_TEMPER ;調用讀溫度子程序進行溫度顯示,這里我們考;慮用網站提供的兩位數碼管來顯示溫度;顯示范圍00到99 度,顯示精度為1 度;因為12 位轉化時每一位的精度為0.0625 度,;我們不要求顯示小數所以可以拋棄29H的低4;位將28H 中的低4 位移入29H中的高4位,這;樣獲得一個新字節,這個字節就是實際測量獲;得的溫度LCALL DISPLAY ;調用數

26、碼管顯示子程序JNB 00H, MAINCLR 00HMOV A, 38HCJNE A, #00H, SSAJMP MAINSS: LCALL GET_TEMPERLCALL DISPLAY;調用數碼管顯示子程序LCALL BIJIAOLCALL JIXIANJNB DEYU ,LOOPSETB P1.6 ;關加熱器CLR DEYULCALL GET_TEMPERLCALL DISPLAYAJMP TT2LOOP:JNB DAYU ,TTCLR DAYUSETB P1.6LCALL GET_TEMPERLCALL DISPLAYAJMP TT2TT:JNB XIYU, TT2CLR XIYUC

27、LR P1.6LCALL GET_TEMPERLCALL DISPLAYTT2:MOV A, 29HCLR CCJNE A, 50H, JXMOV A , 30HCLR CCJNE A, 51H, JIA1AJMP YS2JIA1:JC JXMOV A, 51HMOV 52H, AADD A, #2MOV 52H, ACLR CMOV A, 30HCJNE A, 52H, JIA2JIA2:JNC JXYS2:SETB P1.6MOV R5, #20HYS:LCALL GET_TEMPERLCALL DISPLAYDJNZ R5, YSCLR P1.6MOV R5, #20HYS1:LCALL

28、 GET_TEMPERLCALL DISPLAYDJNZ R5, YS1YS3:SETB P1.6MOV R5, #20HYS0:LCALL GET_TEMPERLCALL DISPLAYDJNZ R5, YS0CLR P1.6MOV R5, #20HYS01:LCALL GET_TEMPERLCALL DISPLAYDJNZ R5, YS01YS4:SETB P1.6MOV R5, #20HYS02:LCALL GET_TEMPERLCALL DISPLAYDJNZ R5, YS02CLR P1.6MOV R5, #20HYS03:LCALL GET_TEMPERLCALL DISPLAYD

29、JNZ R5, YS03JX: MOV A, 29HCJNE A, 31H, JX00JX01:SETB P1.6CLR CAJMP LASTJX00:JC JX01CLR P1.6CJNE A, 32H, JX03JX02:SETB P1.6CLR CAJMP LASTJX03:JNC JX02CLR P1.7LAST:LCALL GET_TEMPERLCALL DISPLAYAJMP SS;*常數表格區*TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH

30、;9,A,B,C,D,E,F,滅,p.TAB1:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;0.-9.TAB2:DB 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9;小數點;*1ms 延時程序*MAIN1: MOV R7 , #03H ;顯示位數為2位MOV R0, #7AHMOV 78H, #00HMOV 79H, #00HMOV 7AH, #00HKK: LCALL DIRLCALL KEY1LOOP1:CJNE A, #11, LOOP2AJMP LAST0LOOP2:CJNE A, #12, LO

31、OP3LJMP LAST3LOOP3: CJNE A, #10, L4MOV A, #00HL4: MOV R0, ALCALL DIRDEC R0DJNZ R7, KKSETB 01HLAST0:JNB 01H, KKLOOP4:LCALL KEY1CJNE A, #12, LOOP5AJMP LAST3LOOP5:CJNE A, #11, LOOP4LAST1:LCALL DIRLCALL MUNLCALL JDLCALL BIJIAOLAST3:POP PSWPOP ACCRETI;*精度控制子程序*JD: PUSH ACCPUSH PSWCLR CMOV A, 38HMOV 50H,

32、AMOV A, 39HMOV 51H, ACJNE A, 29H, L001L001:JC LAST02 ;設溫<實溫,則跳出MOV A, 29HMOV 41H, AMOV A, 38HCJNE A, #25, L002L003:CLR C ;0<T<25SUBB A, 41HCJNE A, #3, L004L005:MOV A, 30HADD A, #5 ;0<T<25, 差值小于3 度DA AJNB ACC.4, L0051ANL A, #0FHSETB CL0051:MOV 39H, AMOV A, 29HADDC A, #1MOV 38H, AAJMP L

33、AST2LAST02: AJMP LAST2L004:JC L005MOV A, 39HSUBB A, #0DA AMOV 39H, AJNC L0041DEC 38HL0041:MOV A, 38HSUBB A, #2 ;0<T<25, 差值大于3 度MOV 38H, AAJMP LAST2L002:JC L003CJNE A, #50, L006L007:CLR C ;25<T<50SUBB A, 41HCJNE A, #3, L008L009:MOV A, 30HADD A, #1DA AJNB ACC.4, L0091ANL A, #0FHSETB CL0091

34、:MOV 39H, AMOV A, 29HADDC A, #1MOV 38H, AAJMP LAST2L008:JC L009MOV A, 39HSUBB A, #0MOV 39H, AMOV A, 38HSUBB A, #2MOV 38H, AAJMP LAST2L006:JC L007CJNE A, #65, L010L011:CLR CSUBB A, 41HCJNE A, #3, L012L013:MOV A, 30HADD A, #2JNB ACC.4, L00131ANL A, #0FHSETB CL00131:MOV 39H, AMOV A, 29HADDC A, #1MOV 38

35、H, AAJMP LAST2L012:JC L013MOV A, 39HSUBB A, #0MOV 39H, AMOV A, 38HSUBB A, #2MOV 38H, AAJMP LAST2L010:JC L011CJNE A, #90, L016L017:CLR CSUBB A, 41HCJNE A, #2, L014L015:MOV A, 30HADD A, #0JNB ACC.4, L00151ANL A, #0FHSETB CL00151:MOV 39H, AMOV A, 29HADDC A, #1MOV 38H, AAJMP LAST2L014:JC L015CLR CMOV A,

36、 38HSUBB A, #1MOV 38H, AAJMP LAST2L016:JC L017LAST2:POP PSWPOP ACCRET;*鍵掃描子程序*KEY1:LCALL KS1 ;鍵掃描JNZ LK1LCALL DIRAJMP KEY1LK1:LCALL DIRLCALL DIRLCALL KS1JNZ LK2LCALL DIRAJMP KEY1LK2:MOV R2, #0FEH ;確定鍵值MOV R4, #01HMOV A, R2LK4:MOV P0, ANOPMOV A, P0JB ACC.3, LONEMOV A, #00HAJMP LKPLONE:JB ACC.4 , LTWO

37、MOV A, #03HAJMP LKPLTWO:JB ACC.5, LTHRMOV A, #06HAJMP LKPLTHR:JB ACC.6, NEXT5MOV A, #09HAJMP LKPNEXT5:INC R4MOV A, R2JNB ACC.2 ,KNDRL AMOV R2, AAJMP LK4KND:AJMP KEY1LKP: ADD A, R4PUSH ACCLK3:LCALL DIRLCALL KS1JNZ LK3POP ACCRETKS1: PUSH PSWMOV P0, #78HNOPMOV A, P0 ;判斷有無鍵按下CPL AANL A, #78HPOP PSWRET;*求設置溫度的二進制代碼,值保存在38H 單元*MUN: PUSH PSWMOV R0, #7AH ;求鍵值MOV A, R0SWAP ADEC R0ADD A, R0MOV R1, AANL A, #0F0HSWAP AMOV B, #10MUL ABMOV R2, AMOV A, R1ANL A, #0FHADD A, R2MOV 38H, AMOV R0, #78HMOV 39H, R0POP PSWRET;*比較實際溫度和設置溫度的大小并設置相應

溫馨提示

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

評論

0/150

提交評論