人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

LED流水燈的另一種實現(xiàn)方法

更新時間: 2019-03-25
閱讀量:692

LED流水燈的另一種實現(xiàn)方法
;使用資源
 ;1、PORTC口,8個流水燈LED

;功能說明
;1、該程序首先把C口輸出全0,然后通過改變輸入輸出方向來電亮流水燈。
;2、先從最低位電亮,點亮到最高位后,又從最高位開始點亮到最低位,如此循環(huán)。
;3、通過改變DELAY延時時間的長短可改變流水等點亮的速度。

;硬件連接
;1、DEMO實驗板作以下設置  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                 ;復位地址
            NOP                            ;放置一條MCD所需的空指令
ST
            CLRF      RC                   ;所有C口輸出為低,關閉所有顯示
            BSF       STATUS,5             ;選體1
LOOP        MOVLW     B'11111110'          ;先點亮RC0
            MOVWF     TRISC
            BCF       STATUS,5             ;回到體0
            MOVLW     B'11111111'          ;所有輸出為1,只要相應的位被設置為輸出,即可點亮
            MOVWF     RC
            CALL      DELAY                ;延時一段時間,保證LED的亮度
            BSF       STATUS,5
            BSF       STATUS,C
LOOP1       RLF       TRISC,F              ;點亮的位左移一位
            CALL      DELAY                ;延時
            BTFSC     STATUS,C             ;判斷是否點亮到了RC7
            GOTO      LOOP1                ;否,繼續(xù)左移
            MOVLW     B'01111111'          ;是,點亮RC7位
            MOVWF     TRISC
            CALL      DELAY              
            BSF       STATUS,0
LOOP2       RRF       TRISC ,F             ;點亮的位右移一位
            CALL      DELAY
            BTFSC     STATUS,C             ;是否點亮到最低位
            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                           ;源程序結束

;    進入該實戰(zhàn)演練的工序流程如下:
;    1.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
;   這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的
;   分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.
;    2.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB
;   并進入MPLAB的桌面.
;    3.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將
;   用記事本創(chuàng)建的源文件加入到該項目中.
;    4.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調用MPASM將項目
;   文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).


武山县| 宾阳县| 罗田县| 嘉禾县| 阳曲县| 汝南县| 太和县| 凤翔县| 晋城| 新泰市| 商洛市| 顺平县| 湖州市| 社旗县| 南华县| 武鸣县| 从江县| 墨玉县| 靖州| 昌江| 大名县| 稷山县| 高阳县| 丘北县| 贵阳市| 桂林市| 桦川县| 阿荣旗| 彭水| 浏阳市| 商洛市| 远安县| 武邑县| 华亭县| 木兰县| 霍城县| 萨迦县| 青阳县| 仪征市| 黔西| 十堰市|