電磁流量計轉(zhuǎn)換器的研制與開發(fā) 二十八
4.3 A/D轉(zhuǎn)換子程序模塊
電磁流量計對所有輸入的模擬量轉(zhuǎn)換為數(shù)字量,本設(shè)計是以中斷方式讀取轉(zhuǎn)換結(jié)果的,但這里我們也將查詢方式讀取轉(zhuǎn)換結(jié)果程序流程圖寫出來,以用來比較。
AD0809的中斷方式轉(zhuǎn)換程序段如下 ORG 0030H MOV R7,#41H MOV DPTR,#0FFF8H ;端口地址送DPTR MOVX @DPTR,A ;啟動A/D轉(zhuǎn)換 SETB EA SETB EX1 ;開外中斷1 SETB IT1 ;外中斷請求信號為下跳沿觸發(fā)方式 LOOP: SJMP LOOP ;等待中斷 END 中斷服務(wù)程序: ORG 0013H LJMP WZ1 WZ1: MOV DPTR,#0FFF9H MOVX A,@DPTR ;讀高8位數(shù)據(jù) MOV @R7,A ;存高8位數(shù)據(jù) INC DPTR INC DPTR MOVX A,@DPTR ;讀低4位數(shù)據(jù) ANL A,#0FH ;屏蔽高4位隨機數(shù)
執(zhí)行主程序
啟動A/D轉(zhuǎn)換
等待中斷
中斷返回
轉(zhuǎn)換結(jié)果 處理程序
保護現(xiàn)場
讀取轉(zhuǎn)換結(jié)果 高8位 41H 低8位 40H
DEC R7 MOV @R7,A ;存低4位數(shù)據(jù) LJMP: DDPP ;跳至數(shù)據(jù)處理程序 RETI
4.4 鍵盤子程序模塊
本系統(tǒng)中設(shè)立1個按鍵,此鍵調(diào)節(jié)勵磁電路的頻率。由第二章我們已知這個按鍵接在單片機的P3.2口,即利用單片機的外部中斷INT0,在編程時把INT0設(shè)為下降沿觸發(fā),則可實現(xiàn)調(diào)節(jié)頻率的功能。當(dāng)外部產(chǎn)生中斷時,中斷子程序?qū)?/span>20H.4取反。若20H.4=1則選擇60HZ頻率,若20H.4=0那么選擇30HZ頻率。 中斷子只對20H.4取反,具體程序如下: INT0IN: NOP NOP CPL 20H.4 NOP RETI
4.5 LED顯示子程序模塊
該程序的功能是清楚地顯示液體流量的當(dāng)前值。
程序開始
保護現(xiàn)場
關(guān)TI中斷,開其他中斷
設(shè)置段碼緩沖區(qū)指針
設(shè)置位碼緩沖區(qū)指針
設(shè)置顯示位數(shù)
是閃爍位否?
將位碼和段碼值送P2口
顯示某位,延時1ms
修改顯示緩沖區(qū)指針顯示位數(shù)減1
顯示完否?
TI計數(shù)器置初值
恢復(fù)現(xiàn)場,開中斷
中斷返回(RET)
電磁流量計