沈樵综合在线,一区二区三区乱码,免费资源一区二区三区,91超碰碰,av极品一线天,日韩免费高清一区二区,国产蜜尤福利在线,嗯啊91在线观看,精品一区二三

行業(yè)產(chǎn)品

  • 行業(yè)產(chǎn)品

開封市中儀流量儀表有限公司


當(dāng)前位置:開封市中儀流量儀表有限公司>技術(shù)文章>智能電磁流量計(jì)中斷服務(wù)程序

經(jīng)營模式:其他

商鋪產(chǎn)品:53條

所在地區(qū):河南開封市

聯(lián)系人:銷售

技術(shù)文章

智能電磁流量計(jì)中斷服務(wù)程序

閱讀:176發(fā)布時(shí)間:2021-12-24

智能電磁流量計(jì)中斷服務(wù)程序

智能電磁流量計(jì)中斷服務(wù)程序
    在主程序中,主要進(jìn)行各種初始化設(shè)置和操作,所有功能的實(shí)現(xiàn)都是以中斷形式喚醒單片機(jī)執(zhí)行,而單片機(jī)大部分時(shí)間處于休眠狀態(tài)。中斷是MSP430單片機(jī)的一大特色,有效地利用中斷可以簡化程序和提高執(zhí)行效率。本系統(tǒng)軟件設(shè)計(jì)部分主要涉及到的中斷服務(wù)程序主要有3個(gè),分別是定時(shí)器中斷服務(wù)程序、A/D中斷服務(wù)程序和鍵盤輸入中斷服務(wù)程序。
  4.4.1定時(shí)器中斷
   定時(shí)中斷是定時(shí)器最基本的工作應(yīng)用方式,其功能為,預(yù)定一個(gè)時(shí)間值, 到時(shí)間后產(chǎn)生中斷。定時(shí)器可以用來計(jì)時(shí),同樣也可以按照一定的頻率來執(zhí)行某一段程序,如定時(shí)信號(hào)檢測等。運(yùn)用計(jì)數(shù)器,隨著每次程序循環(huán)的次數(shù)來修改定時(shí)時(shí)間,程序每循環(huán)一次,改變一次狀態(tài)。程序每一個(gè)周期循環(huán)結(jié)束后, CPU就進(jìn)入低功耗模式。定時(shí)時(shí)間到后,觸發(fā)中斷,使CPU退出低功耗模式,開始新的循環(huán)。由于定時(shí)時(shí)間不斷地改變,所反映出來的狀態(tài)周期也隨著不斷地改變。
   定時(shí)器中斷服務(wù)程序主要是用來控制勵(lì)磁方式和輸出PWM信號(hào)。在本系統(tǒng)設(shè)計(jì)中,通過控制定時(shí)器中斷程序來調(diào)節(jié)勵(lì)磁的變化及控制單片機(jī)輸出電流PWM輸出信號(hào),在程序初始化之后,中斷一被打開,此程序就一直在運(yùn)行。根據(jù)系統(tǒng)設(shè)計(jì)的需求來設(shè)定定時(shí)器的溢出時(shí)間及周期等。本系統(tǒng)軟件設(shè)計(jì)中的部分定時(shí)器中斷服務(wù)程序如下: #pragma vector=TIMERAQ)ECTOR interrupt void Timer.—A(void) { PlOUT^=0x10; nowfltnmb++; if(nowfltnmb>1 50) { nowfltnmb=O; nowfltflg=l; ) if(KeydelayFlag>0) { KeydelayNub=KeydelayNub+l; if(KeydelayNub>50) { KeydelayNub=0; KeydelayFlag=0; KeySwitch(1); >
) )
   4.4.2~D轉(zhuǎn)換中斷
   對(duì)于AD7790轉(zhuǎn)換器的數(shù)據(jù)讀取和控制,系統(tǒng)軟件設(shè)計(jì)主要用外部中斷服務(wù)程序的執(zhí)行。為了保證流量較小時(shí)也能達(dá)到較高的精度,在A/D的轉(zhuǎn)換的軟件設(shè)計(jì)中提出了要求,同時(shí)還考慮到了流量均勻時(shí)及流量不均勻時(shí)計(jì)數(shù)的區(qū)別。因?yàn)閷?duì)A/D轉(zhuǎn)換的讀取存在要有實(shí)時(shí)性,本系統(tǒng)設(shè)計(jì)采用外部中斷來完成這個(gè)功能。本系統(tǒng)設(shè)計(jì)中ADC為Σ-△型模數(shù)轉(zhuǎn)換器,ADC初始化的內(nèi)容包括:設(shè)定轉(zhuǎn)換時(shí)鐘頻率、數(shù)據(jù)采集、設(shè)置PGA、與CPU通信、選擇數(shù)字濾波方式和標(biāo)定模式、設(shè)定轉(zhuǎn)換速率等。ADC軟件設(shè)計(jì)的流程圖如圖4.3所示。圖4.3 ADC軟件設(shè)計(jì)的流程圖
    AD7790模數(shù)轉(zhuǎn)換器的具體轉(zhuǎn)換原理等在第3.2.3節(jié)已經(jīng)作了詳細(xì)的介紹,在這里,系統(tǒng)與CPU的通信采用了該芯片*的三線通信方式。當(dāng)片選信號(hào)為低電平時(shí),三線方式選通,在這種情況下,SCLK、DIN和DOU啪Y三線就可以與CPU通信,這種狀態(tài)的轉(zhuǎn)變直到RDY端口的狀態(tài)變化而產(chǎn)生。這對(duì)于CPU的接口來說是比較適應(yīng)的,如果片選信號(hào)CS認(rèn)作為一個(gè)解碼信號(hào),它就能被當(dāng)作一個(gè)端口引腳。ADC開始工作后,直接進(jìn)行模擬信號(hào)的采樣轉(zhuǎn)換工作,然后等待轉(zhuǎn)換的完成。
   鍵盤輸入中斷
   MSP430單片機(jī)指令系統(tǒng)具有的跳轉(zhuǎn)指令和C語言的switch語句非常適合對(duì)鍵盤輸入信息處理,這些指令可以看成是鍵盤信息輸入的軟件接口。鍵盤輸入中斷服務(wù)程序主要完成對(duì)鍵盤管理工作,鍵盤通過接口與CPU相連,在相應(yīng)軟件的配合下,CPU可以采取中斷或者查詢方式了解有無鍵信息輸入并檢查是哪個(gè)鍵按下,然后執(zhí)行該按鍵所對(duì)應(yīng)的功能程序。最后再回到原始狀態(tài)。對(duì)于鍵盤處理,包括硬件和軟件兩部分,硬件電路在前面章節(jié)已經(jīng)給出,在這里不再敘述了,而對(duì)于軟件的處理,有如下一些問題要解決:
   (1)去抖動(dòng)問題按鍵和鍵盤采用的是利用機(jī)械觸點(diǎn)的閉合與斷開來產(chǎn)生輸入電信號(hào),但是由于機(jī)械觸點(diǎn)的彈性作用,在鍵閉合與彈開的時(shí)候,往往會(huì)產(chǎn)生抖動(dòng),若系統(tǒng)處理不好,一次按鍵會(huì)被誤認(rèn)為是連續(xù)按了多次鍵。圖4.4給出的是按鍵帶來的電壓波形。一按鍵按下· ~ ∥ 前沿抖動(dòng)穩(wěn)定期k沿抖動(dòng)圖4.4按鍵開、閉時(shí)的電壓抖動(dòng)波形按鍵抖動(dòng)的時(shí)間長短取決于觸點(diǎn)的機(jī)械特性,一般按鍵抖動(dòng)時(shí)間大約5.10ms。因此,必須對(duì)按鍵的抖動(dòng)作相應(yīng)的處理,確保CPU只會(huì)對(duì)一次鍵入信息作一次處理,處理程序在按鍵穩(wěn)定后再檢查鍵的信息。當(dāng)然,克服按鍵抖動(dòng)的方法很多, 一種是用硬件,即在每個(gè)鍵上}JIIRC濾波電路或用一個(gè)RS觸發(fā)器組成防抖動(dòng)的電路。另一種方法是加入一個(gè)軟件延時(shí)程序,然后再確認(rèn)該按鍵是否被按下,從而防止誤判斷。在本系統(tǒng)中,我們采取的是軟硬件結(jié)合的方式來消除鍵盤抖動(dòng), 當(dāng)有按鍵下按時(shí),就會(huì)有一個(gè)的中斷,在中斷服務(wù)程序里,首先有一定的延時(shí), 這里本設(shè)計(jì)設(shè)置為10ms,然后再進(jìn)行鍵值的讀取。
   (2)對(duì)于按鍵進(jìn)行編號(hào)以便于識(shí)別
   為了使CPU能夠識(shí)別出鍵入的信息,對(duì)不同的按鍵必須有不同的鍵入的值或鍵盤編碼,以便轉(zhuǎn)入到相應(yīng)的處理程序。鍵的編碼一般由按鍵的硬件連接方式?jīng)Q定。
   (3)按鍵信息的邏輯處理
   在系統(tǒng)軟件設(shè)計(jì)中,除對(duì)按鍵能作識(shí)別處理外,還要考慮到人在操作時(shí)易產(chǎn)生的其他問題的邏輯處理。如多個(gè)按鍵同時(shí)被按下、在一個(gè)鍵功能正在處理的時(shí)候另外按鍵被誤按下、按鍵時(shí)間長短的影響等,所有這些問題一般情況下都能通過軟件解決。在這給出按鍵的中斷部分服務(wù)程序。初始化程序: void InitKey(void) { KEYDIR&=~(KEY0+KEYI+KEY2); //設(shè)置端口為輸入KEYIFG&=~(KEY0+KEYI+KEY2); //清除中斷標(biāo)志KEYIES l=KEY0+KEYI+KEY2; //設(shè)置下降沿中斷KEYIE I-KEY0+KEYl+KEY2; //打開端口中斷key0Count=O: //按鍵次數(shù)清零keyl Count=0: //按鍵次數(shù)清零key2Countl=0: //按鍵次數(shù)清零key2Count2=O; //按鍵次數(shù)清零) 打開及關(guān)閉鍵盤中斷程序: //sw: 0:關(guān)閉100-打開void KeySwitch(unsigned char sw) {if(sw—O、KEYIE&=~(KEY0+KEYI+KEY2);//關(guān)閉端121中斷elseKEYIE I_KEY0+KEYI+KEY2; //打開端口中斷) 系統(tǒng)用于消除抖動(dòng)的延時(shí)程序如下: void Delay(void) { inti; for(i=100;i一;》0); //延時(shí)一點(diǎn)時(shí)間  擴(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ì),更多信息請(qǐng)?jiān)L問開封中儀網(wǎng)站:


儀表網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ? Copyright(C)?2021 http://m.liuyangwu.com,All rights reserved.

以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),儀表網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。 溫馨提示:為規(guī)避購買風(fēng)險(xiǎn),建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
张家川| 华安县| 水富县| 广汉市| 磐石市| 大厂| 健康| 留坝县| 南充市| 上饶县| 新建县| 海兴县| 旬邑县| 济宁市| 淳安县| 云龙县| 从化市| 乌海市| 湘潭县| 南皮县| 方城县| 泗洪县| 象州县| 河间市| 长宁区| 平乐县| 华亭县| 通山县| 宝兴县| 微博| 茌平县| 酉阳| 淳安县| 庆元县| 招远市| 荔波县| 三原县| 开阳县| 宾川县| 彭山县| 韶山市|