編寫單片機(jī)計(jì)數(shù)器程序?qū)γ}沖進(jìn)行計(jì)數(shù)程序
編寫一段程序,功能要求為:當(dāng)P1.0引腳的電平正跳變時,對P1.1的輸入脈沖進(jìn)行計(jì)數(shù);當(dāng)P1.2引腳的電平負(fù)跳變時,停止計(jì)數(shù),并將計(jì)數(shù)值寫入R0、R1(高位存R1,低位存R0)。
解答:將P1.1的輸入脈沖接入INT0,即使用T0計(jì)數(shù)器完成對P1.1口的脈沖計(jì)數(shù)。編寫程序如下:
ORG0000H
LJMPMAIN
ORG000BH
LJMPIT0P
MAIN:JNBP1.0,MAIN
MOVTMOD,#05H;定時器/計(jì)數(shù)器T0為計(jì)數(shù)方式1
SETBTR0;啟動T0,開始計(jì)數(shù)
SETBET0;允許T0中斷
SETBEA;CPU開中斷
WAIT:JBP1.2,WAIT
CLREA
CLRTR0
MOVR1,TH0
MOVR0,TL0
AJMP$
IT0P:INCR2
RETI