專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實(shí)例 >> 瀏覽文章

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

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2007年07月04日   【字體:

;****************************************
;*    PIC12C508單片機(jī)燈光控制系統(tǒng)源程序     *
;****************************************

 

       ;※※※※※※※※※※※※※※※※※
       ;※資料提供:www.51c51.net     ※
       ;※聯(lián)系電話:0531-88979330     ※
       ;※※※※※※※※※※※※※※※※※


;PIC12C508單片機(jī)燈光控制系統(tǒng)源程序 

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

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è)定時鐘參數(shù)1:256分頻
   OPTION
   MOVLW 2CH     ;輸出端口設(shè)定 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秒

            ;-------------------單片機(jī)燈光控制系統(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   ;               <---單片機(jī)燈光控制系統(tǒng)-------|
   MOVLW TABLE     ;                     |
   ADDWF POINTER1,0   ;                     |
   CALL AA       ;                     |
   MOVWF 6       ;返回上一次顯示數(shù)據(jù),輸出到GP端口---滅 <--|
NOPDELAY2:
   NOP
   DECFSZ COUNT4,1
   GOTO NOPDELAY2
   GOTO CHANGE
            ;-----漸-----變------------單片機(jī)燈光控制系統(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

關(guān)閉窗口

相關(guān)文章