我們經(jīng)常要設(shè)置某個(gè)I/O口為輸出,或者輸入,或者帶上拉的輸入,在fastavr中是這樣的:
例子:
設(shè)置整個(gè)A口為輸出:
ddra=255'十進(jìn)制表示,行首或行尾的單引號(hào)之后為注釋,默認(rèn)是綠色
ddra=&hff‘十六進(jìn)制表示,十六進(jìn)制數(shù)加前綴&h
ddra=&B11111111'二進(jìn)制表示,二進(jìn)制數(shù)加前綴&B
設(shè)置A口高四位為輸出,低四位為輸入:
ddra=&B11110000
porta=porta Or &b00001111'用邏輯或的方式打開(kāi)低四位的上拉而不影響高四位的輸出狀態(tài)
設(shè)置整個(gè)B口為輸入:
ddrb=0
ddrb=&h00
ddrb=&b00000000
打開(kāi)B口的全部上拉,或B口部分上拉:
portb=255:portb=&b11000011'當(dāng)我們要在一行中寫(xiě)多條語(yǔ)句的時(shí)候請(qǐng)將它們用冒號(hào)隔開(kāi)
設(shè)置單個(gè)I/O口:
set ddra.7’porta第七位為輸出口
reset ddrb.0’portb.0為輸入口
set portb.0’接著打開(kāi)portb.0的上拉
當(dāng)我們要清除某些位而不想影響其它位的時(shí)候,用邏輯與 and
porta=porta and &B01111110'porta.7 ,porta.0 被清零而不影響其它位
總結(jié):我們?nèi)绻皇窃O(shè)置單個(gè)輸入輸出口,我們可以用set ,reset指令,如果要同時(shí)改變一個(gè)端口的幾個(gè)位,那么最好
使用邏輯與或非來(lái)完成,and是與可以用來(lái)清零,or是或可以用來(lái)置位,not是非可以用來(lái)取反。