亚洲精品无码一区二区三区久久久,长春欧亚卖场是哪个区,美熟女一区二区三区,亚洲中文字幕无码一区二区三区 ,欧美人与动牲交zooz男人,日本黄h兄妹h动漫一区二区三区,亚洲国产综合久久天堂,四虎成人影视免费在线站长,小黄片午夜视频在线播放,久久久日韩精品一区二区三区

廣告招募

智能電磁流量計中斷服務程序

2023年03月01日 18:02:05      來源:開封市中儀流量儀表有限公司 >> 進入該公司展臺      閱讀量:29

分享:

智能電磁流量計中斷服務程序

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

版權與免責聲明:
1.凡本網(wǎng)注明"來源:歐亞貿(mào)易網(wǎng)"的所有作品,版權均屬于歐亞貿(mào)易網(wǎng),轉載請必須注明歐亞貿(mào)易網(wǎng)。違反者本網(wǎng)將追究相關法律責任。
2.企業(yè)發(fā)布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權刪除內容并追溯責任。
3.本網(wǎng)轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品來源,并自負版權等法律責任。 4.如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系。