手機(jī)訪問(wèn)更快捷
更多流量 更易傳播
隨時(shí)掌握行業(yè)動(dòng)態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱
電磁流量計(jì)系統(tǒng)主程序設(shè)計(jì)
MSP430系列單片機(jī)是一種超低功耗的微處理器,在進(jìn)行程序設(shè)計(jì)時(shí),必須把低功耗的設(shè)計(jì)方法考慮進(jìn)去,在運(yùn)行過(guò)程中,CPU平時(shí)處于低功耗模式,當(dāng)有中斷發(fā)生時(shí),喚醒CPU進(jìn)行中斷處理,處理完成后又進(jìn)入低功耗模式。根據(jù)所要實(shí)現(xiàn)的功能,在本系統(tǒng)軟件設(shè)計(jì)中,采用了模塊化的設(shè)計(jì)方法, 各個(gè)模塊之間相對(duì)獨(dú)立,‘每個(gè)子程序都能夠完成一定的功能,同時(shí)在需要時(shí)由主程序進(jìn)行調(diào)用,這就使得整個(gè)程序結(jié)構(gòu)清晰明了,便于今后進(jìn)一步擴(kuò)展系統(tǒng)的功能。系統(tǒng)中的多數(shù)子程序的調(diào)用都采用中斷處理方式,使CPUfl邑夠從繁忙的查詢中解放出來(lái),也降低了系統(tǒng)的功耗。
系統(tǒng)的主程序由定時(shí)器中斷服務(wù)子程序、A/D中斷子程序、鍵盤(pán)中斷服務(wù)子程序、數(shù)據(jù)處理子程序、鐵電存儲(chǔ)器子程序以及LCD顯示子程序等模塊構(gòu)成, 同時(shí)還要實(shí)現(xiàn)對(duì)于測(cè)量實(shí)時(shí)數(shù)據(jù)進(jìn)行設(shè)置和管理,更明確的說(shuō)主程序是二個(gè)菜單式的服務(wù)程序。主程序首先完成初始化工作,然后打開(kāi)各個(gè)中斷子程序、讀取存儲(chǔ)器、數(shù)據(jù)處理等,而后進(jìn)入低功耗模式,直到有中斷請(qǐng)求時(shí)將從低功耗模式中喚醒,才會(huì)進(jìn)入活動(dòng)狀態(tài)。下面給出主程序的流程圖,如圖4.1所示。圖4.1主程序流程圖
系統(tǒng)初始化
系統(tǒng)初始化主要工作是:清空各工作寄存器,為計(jì)數(shù)器以及特殊寄存器的狀態(tài)標(biāo)志位賦初值,打開(kāi)中斷,進(jìn)入休眠狀態(tài)等待中斷的發(fā)生。MSP430系列單片機(jī)提供了兩個(gè)內(nèi)部復(fù)位信號(hào):上電復(fù)位信號(hào)(POR)和上電清除信號(hào)(PUC)。當(dāng)POR或PUC信號(hào)引起設(shè)備復(fù)位后,系統(tǒng)就進(jìn)入初始狀態(tài)。I/o引腳被設(shè)置為輸入模式且其標(biāo)識(shí)位清除、外圍模塊及寄存器實(shí)現(xiàn)初始化、狀態(tài)寄存器復(fù)位、看門(mén)狗激活、程序計(jì)數(shù)器(PC)載入OFFFEH處的地址值,CPU從此地址開(kāi)始執(zhí)行程序。因此,在微處理器上電后,開(kāi)始執(zhí)行控制程序前,必須先對(duì)所有I/0引腳及其它相關(guān)模塊和寄存器進(jìn)行初始化編程,設(shè)置為控制系統(tǒng)需要的工作模式。主要的進(jìn)行時(shí)鐘晶振、FO口、看門(mén)狗電路、定時(shí)/計(jì)數(shù)器的初始化。系統(tǒng)初始化流程框圖如圖4.2所示。開(kāi)始初始化看門(mén)狗初始化晶振f初始化定時(shí)器肼數(shù)器初始化各個(gè)FO口上初始化外圍設(shè)備打開(kāi)各個(gè)中斷圖4.2系統(tǒng)初始化流程框圖
在系統(tǒng)初始化過(guò)程中,主要涉及以下軟件模塊:
(1)看門(mén)狗定時(shí)器
看門(mén)狗定時(shí)器(WDT)的主要功能是:當(dāng)程序發(fā)生問(wèn)題時(shí),使系統(tǒng)重新啟動(dòng)。如果WDT超過(guò)了設(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í)鐘對(duì)于低功耗的設(shè)計(jì)是非常重要的。當(dāng)發(fā)生一次有效的PUC時(shí),DCO 發(fā)生器會(huì)選擇內(nèi)部電阻,在低頻模式的LFXTl振蕩器來(lái)提供,系統(tǒng)主時(shí)鐘MCLK 和子時(shí)鐘SMCLK來(lái)自系統(tǒng)內(nèi)部DCO。為了配合與微處理器的各外部模塊的工作頻率,通過(guò)設(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í)。對(duì)定時(shí)器及其操作的控制位位于定時(shí)器控制寄存器中。在POR信號(hào)出現(xiàn)后各位全部自動(dòng)復(fù)位,但是在PUC信號(hào)出現(xiàn)后不受影響。定時(shí)器的時(shí)鐘源可以來(lái)自內(nèi)部時(shí)鐘或外部時(shí)鐘,由控制寄存器中TACTL的高地位來(lái)選擇。根據(jù)系統(tǒng)程序執(zhí)行周期,選擇內(nèi)部時(shí)鐘SMCLK作為時(shí)鐘源,并將其8分頻為1MHz同時(shí)使定時(shí)器中斷允許。
(4)I/o口配置
對(duì)于本系統(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位全都可以用于對(duì)外部事件的中斷處理,此外,這連個(gè)端口還具有中斷標(biāo)志位、中斷觸發(fā)沿的選擇和中斷允許3個(gè)控制寄存器。所有I/O端口的引腳在PUC后復(fù)位,都置為輸入模式。因此,每次程序開(kāi)始必須將各個(gè)端口的所有引腳相對(duì)應(yīng)的控制寄存器中按照程序要求進(jìn)行置位。擴(kuò)展閱讀:開(kāi)封中儀流量?jī)x表有限公司專業(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ì)、長(zhǎng)徑噴嘴流量計(jì)、標(biāo)準(zhǔn)噴嘴、長(zhǎng)徑噴嘴、插入渦街流量計(jì)、智能渦街流量計(jì),更多信息請(qǐng)?jiān)L問(wèn)開(kāi)封中儀網(wǎng)站:
相關(guān)產(chǎn)品
免責(zé)聲明
客服熱線: 13199863987
加盟熱線: 13199863987
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機(jī)版
Ybzhan公眾號(hào)
Ybzhan小程序