專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)
深圳市英銳恩科技有限公司:臺灣麥肯單片機(jī)(Micon MDT單片機(jī))亞太地區(qū)A級代理商
一個LED閃爍實(shí)驗(yàn)
;本程序的功能是:程序復(fù)位后,RB7口的LED8每0.2秒閃一次,不停的閃爍
;燒寫時應(yīng)注意:配置位已經(jīng)在程序中寫明,加載HEX文件時會自動加載,燒寫時不用再手動設(shè)置配置位。
;實(shí)驗(yàn)時請注意套件跳線選擇,跳線全部插入串口座方向
;********************************************************************
LIST P=16F84A,R=DEC; 告訴編譯程序使用何種PIC單片機(jī),默認(rèn)數(shù)制為10進(jìn)制。
;---------------------------------------------------------------------
__CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
;沒有代碼保護(hù)
;看門狗關(guān)閉
;上電廷時器開啟
;振蕩器模式為XT
;----------------------------------------------------------------------
STATUS EQU 03H ;定義狀態(tài)寄存器地址
PORTA EQU 05H ;端口A的數(shù)據(jù)寄存器地址
PORTB EQU 06H ;端口B的數(shù)據(jù)寄存器地址
TRISA EQU 5H ;定義端口A的方向控制寄存器地址
TRISB EQU 6H ;定義端口B的方向控制寄存器地址
;---------------------- STATUS
RP0 EQU 5 ;定義狀態(tài)寄存器中的RAM頁選位RP0
;--------------------;用戶寄存器
L1 EQU 10H ;廷時變量
L2 EQU 11H
L3 EQU 12H
;-------------------------
ORG 0000H ; 程序從零地址開始
CLRF PORTA
CLRF PORTB ;初始化I/O口
BSF STATUS,RP0 ;設(shè)置數(shù)據(jù)寄存器體1
MOVLW B'00000000' ; 1代表輸入,0代表輸出
MOVWF TRISA ; 設(shè)置PORTA全部IO為輸出
MOVLW B'00000000'
MOVWF TRISB ; 設(shè)置PORTB 全部IO為輸出
BCF STATUS,RP0 ;恢復(fù)數(shù)據(jù)寄存器體0
LOOP ;下面是主程序
MOVLW 80H ;送80H到W
XORWF PORTB,1 ;取反RB7,讓LED8閃爍
CALL DELAY ;調(diào)用0。2S廷時程控
GOTO LOOP ;返回不斷閃爍
;-------------------------------------以下是0。2S廷時子程序
DELAY
MOVLW 2 ;(1US)定義最外層循環(huán)變量初始值
MOVWF L1 ;(1US)
DELAY_1
MOVLW 200 ;(1US)定義第二層循環(huán)變量初始值
MOVWF L2 ;(1US)
DELAY_2
MOVLW 200 ;(1US)定義第一層循環(huán)變量初始值
MOVWF L3 ;(1US)
DELAY_3
DECFSZ L3,1 ;(1US)L3-1=0?是!跳出內(nèi)層循環(huán)
GOTO DELAY_3 ;(2US)否!循環(huán)回去
DECFSZ L2,1 ;(1US)L2-1=0?是!跳出循環(huán)
GOTO DELAY_2 ;(2US)否!循環(huán)回去
DECFSZ L1,1 ;(1US)L1-1=0?是!跳出循環(huán)
GOTO DELAY_1 ;(2US)否!循環(huán)回去
RETLW 0 ;子程序返回
END ; 形式上的程序結(jié)束