專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
;************************************************************************
;<<軟件模擬簡(jiǎn)易車輛里程表>>
;時(shí)間:2006.3.5
;程序文件名:“TMR0_led2.asm”
;功能實(shí)現(xiàn):TMR0當(dāng)作定時(shí)器使用,外部脈沖通過(guò)T0CKI給單片機(jī)提供時(shí)鐘源,每4個(gè)
; 脈沖為一個(gè)指令周期,使計(jì)數(shù)器加1溢出
;硬件連接:無(wú)
;***********************************************************************
;***********************************************************************
;定義單片機(jī)型號(hào)為PIC16F877A
;程序包含文件:P16F877A.INC
;定義配置字
;***********************************************************************
LIST P=16F877A ;定義本程序所使用的芯片為PIC16F877A
INCLUDE "P16F877A.INC" ;定義本程序包含該文件
__CONFIG 3F72H ;晶振配置HS,看門(mén)狗禁止,上電延時(shí)使能,
;掉電復(fù)位使能,低電壓編程禁止,代碼不保護(hù)
TMR0B EQU 0FFH ;定義TMR0初始值為255
;***********************************************************************
;復(fù)位矢量定義(對(duì)于16F877A)
;***********************************************************************
ORG 0000H ;復(fù)位矢量地址
GOTO MAIN ;程序跳轉(zhuǎn)到MAIN主程序
;----------------------------------------------------------------------
;***********************************************************************
;主程序區(qū)
;***********************************************************************
ORG 0005H ;主程序從0005H開(kāi)始
MAIN
NOP ;空循環(huán)
BSF STATUS,RP0 ;使當(dāng)前體為體1
MOVLW 00H ;使RC口為輸出
MOVWF TRISC
MOVLW 0FFH ;使RA4口為輸入
MOVWF TRISA
MOVLW 30H ;由T0CKI外部引腳輸入提供TMR0時(shí)鐘源,上
MOVWF OPTION_REG ;升沿觸發(fā),分頻比為1:2,分配給TMR0
BCF STATUS,RP0 ;使當(dāng)前體為體0
CLRF PORTC ;PORTC口清0
LOOP BCF INTCON,T0IF ;TMR0溢出標(biāo)志位清零
MOVLW TMR0B ;TMR0初始值為255
MOVWF TMR0
TEST BTFSS INTCON,T0IF ;判斷TMR0溢出標(biāo)志位是否為1,為1則跳到
GOTO TEST ;下一步,否的話繼續(xù)循環(huán)檢測(cè)
INCF PORTC,1 ;PORTC加1
GOTO LOOP
END ;匯編程序結(jié)束
;------------------------------------------------------------------------