新聞中心

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

        單片機燈光控制系統

        作者: 時間:2013-02-21 來源:網絡 收藏

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

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


        ;源程序

        ;以上程序使用,內部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 ;設定時鐘參數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秒

        ;-------------------單片機燈光控制系統----------------------------------------
        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'空循環TMR0次 'Y'跳出重新開始漸變
        GOTO NOPDELAY1
        GOTO OUT
        NOPDELAY1:
        NOP
        DECFSZ COUNT3,1
        GOTO NOPDELAY1

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

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


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


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


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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连平县| 汉源县| 拜城县| 石河子市| 新宾| 平湖市| 伊金霍洛旗| 垫江县| 葫芦岛市| 遂宁市| 甘泉县| 塘沽区| 固镇县| 日喀则市| 红安县| 新丰县| 雷州市| 湛江市| 获嘉县| 古田县| 洪湖市| 华安县| 如皋市| 江城| 册亨县| 抚州市| 甘孜| 山阳县| 铅山县| 云浮市| 辽源市| 万山特区| 新蔡县| 油尖旺区| 息烽县| 澎湖县| 建阳市| 贺州市| 宜兰县| 巴彦淖尔市| 安岳县|