新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機燈光控制系統(tǒng)

單片機燈光控制系統(tǒng)

作者: 時間:2013-02-21 來源:網(wǎng)絡 收藏

;****************************************
;* 源程序 *
;****************************************

;※※※※※※※※※※※※※※※※※
;※資料提供:www.51c51.net ※
;※※※※※※※※※※※※※※※※※


;源程序

;以上程序使用,內(nèi)部4MHZ時鐘,4腳輸入50HZ脈沖信號,7,6,3腳(GP0,GP1,GP4端口)為輸出口。其中漸變部分是讓燈慢慢的變亮(或滅)。不知道單片機程序有沒錯誤,有錯誤之處請大家多多給意見。謝謝
;程序如下:

GPI0 EQU 6
COUNT1 EQU 11
COUNT2 EQU 12
COUNT3 EQU 13
COUNT4 EQU 14
COUNT5 EQU 15
POINTER EQU 16
POINTER1 EQU 17

ORG 00H
MOVLW 07H ;設定時鐘參數(shù)1:256分頻
OPTION
MOVLW 2CH ;輸出端口設定 0,1,4輸出,3輸入50HZ
TRIS 6

;-------------------------------
START:
;對3端口掃描 掃描0低電位
MOVF GPI0,W
MOVWF COUNT1
BTFSC COUNT1,3
GOTO START
NEXT: ;對3端口掃描 掃描1高電位
MOVF GPI0,W
MOVWF COUNT1
BTFSS COUNT1,3
GOTO NEXT

INCF COUNT2
MOVLW 100
DECFSZ COUNT2,1
GOTO START ;------外接50HZ信號,掃描100次,延時2秒

;-------------------單片機燈光控制系統(tǒng)----------------------------------------
JB:
CLRF TMR0
MOVLW 250
MOVWF COUNT4
MOVWF COUNT5

INCF POINTER,F
MOVF POINTER,0
MOVWF POINTER1
MOVLW TABLE
ADDWF POINTER,0
CALL AA
MOVWF 6 ;返回,輸出-----亮
CHANGE:
MOVF TMR0,0
MOVWF COUNT3
SUBWF COUNT4,1
BTFSS STATUS,Z ;TMR0=250? 'N'空循環(huán)TMR0次 'Y'跳出重新開始漸變
GOTO NOPDELAY1
GOTO OUT
NOPDELAY1:
NOP
DECFSZ COUNT3,1
GOTO NOPDELAY1

DECF POINTER1,F ; ---單片機燈光控制系統(tǒng)-------|
MOVLW TABLE ; |
ADDWF POINTER1,0 ; |
CALL AA ; |
MOVWF 6 ;返回上一次顯示數(shù)據(jù),輸出到GP端口---滅 --|
NOPDELAY2:
NOP
DECFSZ COUNT4,1
GOTO NOPDELAY2
GOTO CHANGE
;-----漸-----變------------單片機燈光控制系統(tǒng)-----------------------------------
OUT:
MOVLW 9 ;取表9次
SUBWF POINTER,0
BTFSS STATUS,Z
GOTO JB
GOTO START


AA: MOVWF 2
TABLE:RETLW 2CH
RETLW 3CH
RETLW 2DH
RETLW 2EH
RETLW 2FH
RETLW 3DH
RETLW 3EH
RETLW 2CH
RETLW 3FH

ORG 1FFH
MOVWF OSCCAL
END

單片機相關文章:單片機教程


單片機相關文章:單片機視頻教程


單片機相關文章:單片機工作原理


光控開關相關文章:光控開關原理
聲光控開關相關文章:聲光控開關原理


評論


相關推薦

技術專區(qū)

關閉