InBCD函數

此函數讀取每個指定的8位元連接埠的輸入狀態,將其讀取為兩位數的二進化十進數(BCD)數,轉換為十進位數並傳回。

格式
InBCD (連接埠編號)

參數

連接埠編號
指定I/O的輸入位元組。

傳回值
以BCD(0~9)傳回輸入連接埠(0~99)的狀態。

說明
在InBCD中,以BCD同時讀取8個輸入線路。使用InBCD命令的參數「連接埠編號」指定要讀取狀態的位元群組。例如,連接埠編號 = 0時,讀取輸入位元0~7的狀態;連接埠編號 = 1時,讀取輸入位元8~15的狀態。

用BCD傳回8個輸入位元的狀態。傳回值為0~99的1或2位數值。第1位數(10的位數)與以連接埠編號指定的8個輸出位元當中的高階4位元對應。第2位數(1的位數)與以連接埠編號指定的8個輸出位元當中的低階4位元對應。

各位數的BCD有效值為0~99,因此無法實現所有I/O組合。下表所示為,連接埠編號為0時可實現的I/O狀態之部分組合和傳回值。

輸入設定(輸入編號)

傳回值 7 6 5 4 3 2 1 0
01 Off Off Off Off Off Off Off On
02 Off Off Off Off Off Off On Off
03 Off Off Off Off Off Off On On
08 Off Off Off Off On Off Off Off
09 Off Off Off Off On Off Off On
10 Off Off Off On Off Off Off Off
11 Off Off Off On Off Off Off On
99 On Off Off On On Off Off On

BCD只能用於指定十進位。這表示特定連接埠的所有輸入位元同時為ON時,無法以使用BCD的InBCD命令求出有效值。InBCD的最大傳回值為「99」。從上表可知,傳回值為「99」時,所有輸入不會變為ON。當傳回值為「99」時,ON的輸入位元為0、3、4、7,其它位元皆為OFF。

注意


  • InBCD和In的差異

  • InBCD函數將指定的8位元連接埠的狀態分為高4位元和低4位元的二位數BCD資料讀取。因此,如果4位元的狀態為&B1010至&B1111,超過9(&B1001),則會發生錯誤。

  • In函數將指定的8位元連接埠的狀態直接轉換為十進位數並傳回。


參照
In、MemOff、MemOn、MemOut、MemSw、Off、On、OpBCD、Oport、Out、Sw、Wait

InBCD範例
這是命令視窗中的簡易操作範例。

假定輸入位元0、4、10、16、17、18為ON,其它輸入位元為OFF。

> Print InBCD(0)
11
> Print InBCD(1)
04
> Print InBCD(2)
07
>