專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
;16c54學(xué)習(xí)程序,學(xué)習(xí)時(shí)候用16F54代替學(xué)習(xí)
;功能描述:點(diǎn)亮一個(gè)LED,
;
;
;======================硬件結(jié)構(gòu)======================
;
; __________
; RA2--|1 U 18|--RA1
; RA3--|2 17|--RA0
; NC--|3 CHIP 16|--OSC1
; MCLR--|4 PIC 15|--OSC2
; GND--|5 16C54 14|--VDD
; RB0--|6 13|--RB7
; RB1--|7 12|--RB6
; RB2--|8 11|--RB5
; RB3--|__________|--RB4
;
LIST P=16F54,R=DEC
include "P16F5X.INC"
__CONFIG _WDT_ON & _CP_ON & _XT_OSC
;配置位選項(xiàng):看門狗開(WDT_ON)加密位開(CP_ON)外部標(biāo)準(zhǔn)晶振(XT_OSC)
INDF EQU 00H ;間接尋址寄存器
RTCC EQU 01H ;實(shí)時(shí)時(shí)鐘/計(jì)數(shù)器
PC EQU 02H ;程序計(jì)數(shù)器
STATUS EQU 03H ;狀態(tài)寄存器
FSR EQU 04H ;寄存器選擇寄存器
PORTA EQU 05H ;I/O寄存器
PORTB EQU 06H ;I/O寄存器
TEMP0 EQU 07H
ORG 00H
GOTO RESET
;=====================================;
RESET:
MOVLW B'00000111';配置位預(yù)分頻器
OPTION
;OPTION;寄存器可用于:
;1:定義預(yù)分頻器的預(yù)分頻參數(shù)
;2:分配預(yù)分頻器給RTCC用還或WDT.注意預(yù)分頻器只能
;分配給RTCC或WDT其中之一使用,不能同時(shí)分配.
;3:定義RTCC的信號(hào)源.
;4:定義RTCC的信號(hào)源的觸發(fā)沿(上升沿觸發(fā)或下降沿觸發(fā)).
;OPTION寄存器各位的意義.
;RTS RTE PSA PS2 PS1 PS0
MOVLW B'0000000';配置PORTA口方向寄存器,0為輸出
TRIS PORTA
MOVLW B'0000000';配置PORTB口方向寄存器,1為輸入
TRIS PORTB
CLRF PORTA ; 清零PA口
CLRF PORTB ; 清零PB口
;=============初始化清空所有RAM==========;
MOVLW .7
MOVWF FSR ;將要清空的RAM的第一個(gè)地址送FSR指針
CLRF_RAM:
CLRWDT
CLRF INDF ;清空指針指向的地址
INCF FSR,F ;指針加一
MOVLW B'00011111' ;FSR高3位不能用
ANDWF FSR,W
XORLW .31 ;比較是否清完所有RAM
BTFSS STATUS,2
GOTO CLRF_RAM
GOTO M_LOOP ;
;=========================================;
M_LOOP:
CLRWDT ;清看門狗
BSF PORTB,0 ;將PB,0口置高點(diǎn)亮LED燈
GOTO M_LOOP
END