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