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