專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(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)
LED流水燈的另一種實(shí)現(xiàn)方法
;使用資源
;1、PORTC口,8個(gè)流水燈LED
;功能說(shuō)明
;1、該程序首先把C口輸出全0,然后通過(guò)改變輸入輸出方向來(lái)電亮流水燈。
;2、先從最低位電亮,點(diǎn)亮到最高位后,又從最高位開始點(diǎn)亮到最低位,如此循環(huán)。
;3、通過(guò)改變DELAY延時(shí)時(shí)間的長(zhǎng)短可改變流水等點(diǎn)亮的速度。
;硬件連接
;1、DEMO實(shí)驗(yàn)板作以下設(shè)置 s1拔到ON。
;2、S4,S5全部拔到OFF LCD不要插在演示板上
;源程序如下:
;LIST P=16F877A R=DEC
;OST 4MHZ
;DATE 2006.04.27
;***********************************
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SPECIAL REGISTER
STATUS EQU 83H
RC EQU 07H
TRISC EQU 87H
AB0 EQU 20H
AB1 EQU 21H
AB2 EQU 22H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STATUS BIT
C EQU 0
DC EQU 1
Z EQU 2
RP0 EQU 5
RP1 EQU 6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PROGRAM ST
ORG 0000H ;復(fù)位地址
NOP ;放置一條MCD所需的空指令
ST
CLRF RC ;所有C口輸出為低,關(guān)閉所有顯示
BSF STATUS,5 ;選體1
LOOP MOVLW B'11111110' ;先點(diǎn)亮RC0
MOVWF TRISC
BCF STATUS,5 ;回到體0
MOVLW B'11111111' ;所有輸出為1,只要相應(yīng)的位被設(shè)置為輸出,即可點(diǎn)亮
MOVWF RC
CALL DELAY ;延時(shí)一段時(shí)間,保證LED的亮度
BSF STATUS,5
BSF STATUS,C
LOOP1 RLF TRISC,F ;點(diǎn)亮的位左移一位
CALL DELAY ;延時(shí)
BTFSC STATUS,C ;判斷是否點(diǎn)亮到了RC7
GOTO LOOP1 ;否,繼續(xù)左移
MOVLW B'01111111' ;是,點(diǎn)亮RC7位
MOVWF TRISC
CALL DELAY
BSF STATUS,0
LOOP2 RRF TRISC ,F ;點(diǎn)亮的位右移一位
CALL DELAY
BTFSC STATUS,C ;是否點(diǎn)亮到最低位
GOTO LOOP2 ;否,繼續(xù)右移
GOTO LOOP ;是,重新開始新一輪循環(huán)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY 0.12S
DELAY
MOVLW 0FFH
MOVWF AB0
DELAY1 MOVLW 0DH
MOVWF AB1
DELAY2
MOVLW 0BH
MOVWF AB2
DELAY3
DECFSZ AB2,F
GOTO DELAY3
DECFSZ AB1,F
GOTO DELAY2
DECFSZ AB0,F
GOTO DELAY1
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END ;源程序結(jié)束
; 進(jìn)入該實(shí)戰(zhàn)演練的工序流程如下:
; 1.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
; 這個(gè)為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過(guò)有兩點(diǎn)需要注意,一是注釋前面的
; 分號(hào)”;”必須用西文半角輸入;二是必須用”.asm”擴(kuò)展名存儲(chǔ)到事先建立的一個(gè)專用子目錄下.
; 2.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動(dòng)MPLAB
; 并進(jìn)入MPLAB的桌面.
; 3.創(chuàng)建項(xiàng)目:選用菜單File>New或Project>New Project,在事先建立的一個(gè)專用子目錄下創(chuàng)建一個(gè)新項(xiàng)目,將
; 用記事本創(chuàng)建的源文件加入到該項(xiàng)目中.
; 4.建立項(xiàng)目中的目標(biāo)文件:選擇菜單Project >Build All(項(xiàng)目>建立所有文件),MPLAB將自動(dòng)調(diào)用MPASM將項(xiàng)目
; 文件管理下的源文件(.asm)匯編成十六進(jìn)制的目標(biāo)文件(.hex).