電磁流量計系統主程序設計
MSP430系列單片機是一種超低功耗的微處理器,在進行程序設計時,必須把低功耗的設計方法考慮進去,在運行過程中,CPU平時處于低功耗模式,當有中斷發生時,喚醒CPU進行中斷處理,處理完成后又進入低功耗模式。根據所要實現的功能,在本系統軟件設計中,采用了模塊化的設計方法, 各個模塊之間相對獨立,‘每個子程序都能夠完成一定的功能,同時在需要時由主程序進行調用,這就使得整個程序結構清晰明了,便于今后進一步擴展系統的功能。系統中的多數子程序的調用都采用中斷處理方式,使CPUfl邑夠從繁忙的查詢中解放出來,也降低了系統的功耗。
系統的主程序由定時器中斷服務子程序、A/D中斷子程序、鍵盤中斷服務子程序、數據處理子程序、鐵電存儲器子程序以及LCD顯示子程序等模塊構成, 同時還要實現對于測量實時數據進行設置和管理,更明確的說主程序是二個菜單式的服務程序。主程序首先完成初始化工作,然后打開各個中斷子程序、讀取存儲器、數據處理等,而后進入低功耗模式,直到有中斷請求時將從低功耗模式中喚醒,才會進入活動狀態。下面給出主程序的流程圖,如圖4.1所示。圖4.1主程序流程圖
系統初始化
系統初始化主要工作是:清空各工作寄存器,為計數器以及特殊寄存器的狀態標志位賦初值,打開中斷,進入休眠狀態等待中斷的發生。MSP430系列單片機提供了兩個內部復位信號:上電復位信號(POR)和上電清除信號(PUC)。當POR或PUC信號引起設備復位后,系統就進入初始狀態。I/o引腳被設置為輸入模式且其標識位清除、外圍模塊及寄存器實現初始化、狀態寄存器復位、看門狗激活、程序計數器(PC)載入OFFFEH處的地址值,CPU從此地址開始執行程序。因此,在微處理器上電后,開始執行控制程序前,必須先對所有I/0引腳及其它相關模塊和寄存器進行初始化編程,設置為控制系統需要的工作模式。主要的進行時鐘晶振、FO口、看門狗電路、定時/計數器的初始化。系統初始化流程框圖如圖4.2所示。開始初始化看門狗初始化晶振f初始化定時器肼數器初始化各個FO口上初始化外圍設備打開各個中斷圖4.2系統初始化流程框圖
在系統初始化過程中,主要涉及以下軟件模塊:
(1)看門狗定時器
看門狗定時器(WDT)的主要功能是:當程序發生問題時,使系統重新啟動。如果WDT超過了設定的定時時間,即發生系統復位。同時,它也可以當作定時器使用,在選定的定時時間到達后將產生中斷。它在系統復位時設置為WDT功能激活狀態。
(2)基礎時鐘配置
基礎時鐘對于低功耗的設計是非常重要的。當發生一次有效的PUC時,DCO 發生器會選擇內部電阻,在低頻模式的LFXTl振蕩器來提供,系統主時鐘MCLK 和子時鐘SMCLK來自系統內部DCO。為了配合與微處理器的各外部模塊的工作頻率,通過設置振蕩器與時鐘控制寄存器相應的標志位,選取高速晶體振蕩器工作并提供給系統主時鐘MCLK和子時鐘SMCLK,從而關閉低頻振蕩器時鐘。
(3)定時器設置
利用定時器Timer A可以實現精確定時。對定時器及其操作的控制位位于定時器控制寄存器中。在POR信號出現后各位全部自動復位,但是在PUC信號出現后不受影響。定時器的時鐘源可以來自內部時鐘或外部時鐘,由控制寄存器中TACTL的高地位來選擇。根據系統程序執行周期,選擇內部時鐘SMCLK作為時鐘源,并將其8分頻為1MHz同時使定時器中斷允許。
(4)I/o口配置
對于本系統設計所選的MSP430F149單片機有兩類I/O端口:Pl、P2和P3、P4、P5、P6。這兩類I/O端口每個端口有8個引腳,且都具備控制I/O方向、輸出、輸入的功能。P1、P2端口除了具有以上幾個端口應有的功能外,還具有中斷能力,每一個引腳都可以單獨選擇中斷觸發沿、單獨允許中斷,且8位全都可以用于對外部事件的中斷處理,此外,這連個端口還具有中斷標志位、中斷觸發沿的選擇和中斷允許3個控制寄存器。所有I/O端口的引腳在PUC后復位,都置為輸入模式。因此,每次程序開始必須將各個端口的所有引腳相對應的控制寄存器中按照程序要求進行置位。擴展閱讀:開封中儀流量儀表有限公司專業生產電磁流量計、孔板流量計、渦街流量計、文丘里流量計、V錐流量計、V型錐流量計、噴嘴流量計、插入式電磁流量計、智能電磁流量計、分體式電磁流量計、一體式電磁流量計、標準孔板流量計、標準孔板、一體化孔板流量計、標準噴嘴流量計、長徑噴嘴流量計、標準噴嘴、長徑噴嘴、插入渦街流量計、智能渦街流量計,更多信息請訪問開封中儀網站:
免責聲明
客服熱線: 13199863987
加盟熱線: 13199863987
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機版
Ybzhan公眾號
Ybzhan小程序