【正文】
電源監(jiān)控電路 本系統(tǒng)的電源監(jiān)控電路的核心采用MAXIM公司的MAX706芯片,使電路簡化成為可能,而且性能穩(wěn)定、功能齊全。目前,微機控制系統(tǒng)中越來越廣泛的應用單片電源監(jiān)控電路。MAX706提供功能有:上電、掉電以及降壓情況下的復位輸出;獨立的看門狗輸出,用于電源故障報警、低電池檢測或+5v以外的電源的監(jiān)控;低電平有效的人工復位輸出。,此器件有8腳的DIP和SO兩種封裝形式。本設計選用的是DIP/SO的一種:1MR,人工復位;2VCC,電源輸入;3GND,接地;4PFI,電源掉落電壓監(jiān)測輸入;5PFO,電源掉落信號輸出;6WDI,看門狗輸入;7RESET,復位信號輸出;8WDO,看門狗輸出。上電掉電復位功能由芯片本身提供,而看門狗功能則由該電路保證。在程序執(zhí)行中,在正常運行時,RESET信號不會有效。如果程序跳飛盲目運行,RESET信號有效。在設計中啟用了看門狗功能和電源監(jiān)控功能,電源監(jiān)控的原理是:(低電平有效),使得單片機知道電源不足,由此進一步做出處理。與單片機的連接需要兩個I/O口,復位信號輸出端接單片機的復位端即可。第4章 系統(tǒng)軟件設計 系統(tǒng)主程序設計 流程圖是揭示和掌握封閉系統(tǒng)運動狀況的有效方式。作為診斷工具,它能夠輔助決策制定,讓管理者清楚地知道,問題可能出在什么地方,從而確定出可供選擇的行動方案。本設計系統(tǒng)由初始化模塊、數(shù)據(jù)采集模塊、計量模塊、數(shù)據(jù)存儲模塊、顯示模塊,IC卡模塊等模塊組成。來實現(xiàn)數(shù)據(jù)采集、熱能計量、顯示信息,遠程抄表等功能。采用模塊化編程與結構化編程,它們是相輔相成的。熱量表的功能實現(xiàn)需要大量而有效的程序來實現(xiàn),這么多的繁瑣程序需要采用模塊化編程的方法,即將一個大的程序分成若干小的模塊,各個模塊保持相對的獨立性,這樣一來,各個程序模塊可分別設計,從而使程序的調試、修改和維護都變得容易,另外,程序較大時還可以由不同人來同時編寫不同的模塊。各個子程序之間使用結構良好的轉移或調用,這樣各個模塊可以有機的組合成一個整體,使流程明確的從一個程序模塊轉移到下一個程序模塊。在這個過程中,要注意嚴格控制使用任意轉移語句。 主程序主要負責控制整個系統(tǒng)的工作流程,在主程序中,首先應考慮到的是系統(tǒng)各模塊的初始化。單片機初始化后,數(shù)據(jù)存儲器重置,需要進行初始化設置,包括堆棧指針、中斷入口地址及中斷控制等。初始化設置完成后,開啟中斷后調用鍵盤子程序進行數(shù)據(jù)設置,如無設置,則啟用默認設置并啟動D/A轉換子程序進行監(jiān)控,顯示數(shù)據(jù),保持系統(tǒng)穩(wěn)定的自動運行。主程序是熱量表運行的正常入口,它主要是調動各個中斷子程序來完成系統(tǒng)的功能。主程序框圖中首先初始化,然后進入主循環(huán)程序,依次判定是否存在計量中斷、IC卡中斷,再執(zhí)行一次保護性處理后,進入STOP模式,等待中斷喚醒CPU。初始化開始IC卡中斷?時鐘中斷處理程序時鐘中斷?計量中斷處理程序計量中斷?主循環(huán)開始 N Y N Y N YIC卡中斷處理程序 進入STOP模式,等待中斷喚醒CPU,處理中斷程序保護性處理 初始化子程序設計 在主程序執(zhí)行前,必須對程序的執(zhí)行環(huán)境即初始化狀態(tài)進行設計,即初始化,否則程序主體將不能正常執(zhí)行,得不到正確的結果。程序的初始化主要包括以下幾個方面的內容:CPU寄存器、狀態(tài)和控制寄存器的定義;端口控制寄存器的設置,如I/O口的初始化和時鐘芯片初始化等所使用的存儲單元的初始化,包括RAM數(shù)據(jù)初始化和FLASH數(shù)據(jù)初始化。 需要指出的是并非所有的CPU的控制/方式寄存器和工作寄存器都進行初始化。一般只對相關參與工作的寄存器進行初始化,另外程序中用到的符號也要定義、賦值,如串行時鐘線SCL和串行數(shù)據(jù)線SDA等等。開始設置初始化總線時鐘初始化RAM數(shù)據(jù)初始化FLASH數(shù)據(jù)初始化I/O初始化時鐘芯片初始化結束 溫度檢測子程序設計單片機程序對DS18B20的訪問流程是:先對DS18B20初始化,再對ROM進行操作命令,最后才能對存儲器操作。,單片機控制DS18B20完成一次溫度轉換,需要經過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令。程序中將DQ拉低,精確延時,再將DQ拉高,通過判斷值來確定是否已經初始化完成。在實際應用中,應該注意DS18B20從測溫結束到將溫度值轉換成數(shù)字量需要一定的轉換時間,這是必須保證的,不然會導致轉換錯誤,使溫度輸出總是顯示85℃。較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20與單片機間采用串行方式傳送數(shù)據(jù),因此,在對DS18B20進行讀寫編程時,必須嚴格保證讀寫時序,否則將無法讀取測溫結果。開始 端口設置初始化總線復位啟動溫度轉化發(fā)送DS18B20編碼 讀取溫度 返回 流量檢測子程序設計用單片機測量頻率信號有多種方法,基本方法是在一定時間內,控制計數(shù)與門啟閉,用計數(shù)器對被測量的脈沖信號進行計數(shù),再把計數(shù)值根據(jù)啟閉與門的定時時間轉換成頻率顯示。測量頻率要解決如下三個基本問題:控制計數(shù)與門啟閉的定時對被測信號脈沖計數(shù)定時器與計數(shù)器的同步工作對脈沖計數(shù)可以通過查詢法或外部中斷方法實現(xiàn)軟件計數(shù),也可用片內計數(shù)器進行計數(shù),還可以外加集成計數(shù)器進行計數(shù)。T0初始化啟動定時 N觸動啟動變化? Y計數(shù)器加1 N T0定時到否? Y關閉T0定時計數(shù)器 值送存儲器返回本設計采用查詢法進行軟件計數(shù),用T0做定時器,結合軟件定時1s。用查詢法進行軟件計數(shù)。被測信號脈沖檢測從高到低變化時,從觸動變化處輸出一正脈沖,啟動T0計數(shù)工作,在定時時間內,通過不斷查詢輸出信號電平的變化,進行軟件計數(shù)。直至定時時間到,關T0定時器,讀入軟件計數(shù)器的值即可得到被測信號的頻率值。為減小量化誤差的影響,可以加長定時間。進一步通過對測量結果的判斷,動態(tài)的確定定時時間,根據(jù)被測頻率的高低調整定時器初值或擴展計數(shù)器初值。 熱能計量子程序設計當10L熱水流過時,會產生一個脈沖給MCU一個中斷信號,喚醒MCU進入計量中斷處理子程序。調用溫度采集子程序,對于兩路溫度信號的采集,本設計采用了數(shù)值濾波算法。在數(shù)據(jù)處理中,主要是根據(jù)熱量表的計量原理,調用非壓縮BCD碼的加法、減法和乘法子程序進行數(shù)據(jù)處理。然后調BCD碼比較子程序進行判斷;當剩余熱量小于等于10J,系統(tǒng)報警提示用戶要購熱、對IC卡充值;當剩余熱量小于等于0J,系統(tǒng)關閥,切斷供熱。采集進回水溫度數(shù)據(jù)處理 報警剩余熱量≤10J Y剩余熱量≤0J N 關閥 Y N循環(huán)顯示剩余、累計、本次購入熱量 返回 顯示子程序設計顯示模塊顯示用戶需要的各種信息,包括進水溫度、出水溫度、熱水流量、耗熱量及剩余熱量、取暖費用等。本文顯示系統(tǒng)由LCD1602液晶構成,控制方便,能夠滿足顯示要求。在主程序中,顯示模塊被定時調用。 LCD初始化 讀取顯示信息 顯示進水溫度 顯示出水溫度 顯示流量 顯示剩余熱能 顯示消耗值 顯示剩余金額 LCD初始化 IC卡讀寫子程序設計。本設計IC卡是通過對密碼存儲器的操作實現(xiàn)的。通過校驗密碼校驗輸入密碼與芯片內的密碼是否相符, 若相符則對主存儲器的寫操作使能, 以及對密碼存儲器的讀寫使能。 開始端口初始化 MFRC522復位 尋卡請求 有卡? N Y 防沖撞 選卡 Y 密碼驗證通過? N 有卡? N Y讀數(shù)據(jù)塊停機數(shù)據(jù)備份寫數(shù)據(jù)塊扣款充值 IC卡讀寫子程序流程圖 報警子程序設計。通過單片機不斷檢測余額,當達到設定要求時,系統(tǒng)發(fā)出聲光報警對用戶進行提示。 開始 余額小于5 N Y 聲光報警 有按鍵 N Y 聲光報警停止 余額小于0 N 聲光報警 Y 有按鍵 N Y 聲光報警停止 返回 CAN總線子程序設計CAN的初始化主要是設置CAN的有關通信參數(shù)。其過程主要是,通過對CAN控制器控制段中的寄存器寫入控制字,從而確定CAN控制器的工作方式等。有3種方式進入初始化程序:上電復位、硬件復位、軟件復位。即在運行期間通過給CAN控制器發(fā)一個復位請求,置復位請求為“1”。在初始化中,必須初始化的寄存器有ACR接收代碼寄存器、AMR屏蔽寄存器、BRT總線定時寄存器及ORC輸出控制寄存器等。需要注意的是,這些寄存器只能在復位期間寫訪問,因此,在對這些寄存器初始化前,必須保證系統(tǒng)進入復位狀態(tài)。 初始化開始 關CAN中斷源,置CAN為復位狀態(tài) N Y 進入復位狀態(tài)初始化與通信有關的寄存器 清除復位標識位,置CAN為運行狀態(tài) N Y進入運行狀態(tài) 開CAN中斷 CAN總線子程序流程圖第5章 結論近幾年來,隨著人們物質文化生活水平的提高和商品價值意識的增強。政府部門已經開始制定供暖按照熱量消耗收費的方式,現(xiàn)在,以高新技術為核心的熱能計量技術必定將成為未來供暖收費主要的趨勢。本設計把傳感器技術、電子測量技術、遠程通訊技術等應用于城市冬季供暖收費當中。以城市供暖中各個參數(shù)指標為測量對象,流量的測量采用先進的無磁測量技術,很好的地解決了以往有磁流量測量時存在的鐵屑吸附而導致堵塞以及精度下降功耗增加的問題。完成了溫度測量電路的設計,在考慮降低成本的前提下,盡量的簡化電路結構并能夠達到規(guī)定的精度和功耗的要求,減少了電路的復雜程度。采用非接觸IC卡通訊完成系統(tǒng)的預付費和監(jiān)控功能。與接觸式卡相比,非接觸卡具有使用壽命長,可靠性更高等優(yōu)點。通過在系統(tǒng)中設置不同作用的卡,完善了系統(tǒng)的功能,確保了整個付費過程的安全以及用戶和供方利益的公平公正。在系統(tǒng)的研究中,充分考慮了系統(tǒng)成本,靈活性和可擴展的基