新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機“跑馬燈”實驗程序代碼

        PIC單片機“跑馬燈”實驗程序代碼

        作者: 時間:2016-11-23 來源:網絡 收藏
        ;實驗目的:本程序主要實現一個簡單的流水燈程序

        ;即輪流點亮C口的8個燈(先點亮RC0,再熄滅RCO點亮RC1。。。。)
        ;硬件要求:撥碼開關S11全部置ON。
        #include ;調用頭文件
        __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
        ;**********************用戶寄存器定義********************
        count equ 20h ;移位次數寄存器
        del_va1 equ 0ffh ;外層延時參數
        del_va2 equ 0afh ;內層延時參數

        本文引用地址:http://www.104case.com/article/201611/320211.htm


        org 00h ;程序人口地址
        ;**********************主程序開始***********************
        main
        nop ;ICD所需要的一條空指令
        clrf PORTC ;先清楚C口所有顯示
        banksel TRISC ;選擇I/O口方向寄存器所在的體
        clrf TRISC ;設置C口全為輸出
        clrf STATUS ;返回體0
        movlw .8
        movwf count ;裝載循環次數8(C口共8位)


        bsf STATUS,C ;置進位標志位為1,因循環移位是帶進位循環的
        loop
        rlf PORTC,1 ;C口左移1位
        call delay
        call delay
        CALL delay ;調用三次延時程序(保證亮度,以及流水燈閃爍速度)
        bcf STATUS,C ;清0進位標志位(永遠只有一只LED亮)
        DECFSZ count,1 ;判斷是否一輪循環結束
        goto loop ;否,繼續循環移位
        GOTO main ;是,程序重頭開始

        ;***********************延時程序*************************
        delay
        movlw del_va1 ;延時程序外層參數
        movwf 30h
        movlw del_va2 ;延時程序內層參數
        movwf 31h
        decfsz 31h,1
        goto $-1
        decfsz 30h,1
        goto $-4
        return

        ;********************程序結束****************************
        end



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新源县| 饶阳县| 会东县| 远安县| 固始县| 侯马市| 平昌县| 响水县| 辉县市| 德令哈市| 杨浦区| 黔江区| 开江县| 秦皇岛市| 绥化市| 泗阳县| 土默特右旗| 鄄城县| 乐山市| 凤庆县| 石城县| 孙吴县| 白银市| 马关县| 三门县| 双流县| 庄河市| 东乡族自治县| 航空| 靖安县| 吴堡县| 莱阳市| 乌鲁木齐市| 青州市| 怀集县| 石景山区| 梁山县| 汝城县| 临猗县| 威海市| 东明县|