新聞中心

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

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

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

;即輪流點亮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 ;移位次數(shù)寄存器
del_va1 equ 0ffh ;外層延時參數(shù)
del_va2 equ 0afh ;內層延時參數(shù)

本文引用地址:http://2s4d.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 ;裝載循環(huán)次數(shù)8(C口共8位)


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

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

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



評論


技術專區(qū)

關閉