新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 芯海單片機按開始鍵后實現閃爍

        芯海單片機按開始鍵后實現閃爍

        作者: 時間:2013-04-11 來源:網絡 收藏
        ;按(PT2.1)后程序實現LED
        ;目的學習I/O口的輸入輸出控制
        ;============================================
        ;完整代碼下載地址: http://www.51hei.com/f/xhpms.rar
        ; filename: 111.asm
        ; chip : csu1181b
        ; author :
        ; date : 2012-07-18
        ;============================================
        include csu1181b.inc
        ;============================================
        ; program start
        ;============================================
        org 0000h ;
        goto a1 ;
        org 0005h ;
        ;***************************************************
        ; 判斷是否按下程序段
        ;***************************************************
        a1: CLRWDT ;清看門狗
        MOVLW 00H ;把數據00H存到W中用做設置I/O口為輸入口
        MOVWF PT2EN ;把W中的數據存到PT2EN(25h)中將I/O口設置為輸入口
        MOVLW 0FFH ;把數據0FFH存到W中用做設置I/O口為上拉模式
        MOVWF PT2PU ;把W中的數據存到PT2PU(26h)中將I/O口設置為上拉模式
        BTFSC PT2,1 ;判斷PT2.1是否為0是則跳過嚇一指令(判斷有無按鍵按下有執行下面程序無則等待按鍵按下)
        GOTO A1 ;無條件轉移到A1
        ;***************************************************
        ; 程序段
        ;***************************************************
        A2: CLRWDT ;清看門狗
        MOVLW 0FFH ;把數據0FFH存到W中用做設置I/O口為輸出口
        MOVWF PT3EN ;把W中的數據存到PT3EN(29h)中將I/O口設置為輸出口
        MOVLW 0 ;把數據00H存到W中用做設置I/O口為禁止上拉模式
        MOVWF PT3PU ;把W中的數據存到PT3PU(2ah)中將I/O口設置為禁止上拉模式
        MOVLW 01010101B ;把數據01010101B存到W中用做I/O口輸出數據
        MOVWF PT3 ;把W中的數據從PT3(28h)輸出驅動外部設備(點亮LED燈)
        CALL M001 ;延時
        MOVLW 10101010B ;把數據10101010B存到W中用做I/O口輸出數據
        MOVWF PT3 ;把W中的數據從PT3(28h)輸出驅動外部設備(點亮LED燈)
        CALL M001 ;延時
        goto a2 ;返回反復執行程序
        ;****************************************************
        ; 延時程序段
        ;****************************************************

        M001: MOVLW 2 ;
        MOVWF 80H ;
        M002: MOVLW 248 ;
        MOVWF 81H ;
        M003: MOVLW 250 ;
        MOVWF 82H ;
        M004: DECFSZ 82H,1 ; (減一后結果存在82h中)減一為0跳過下一指令
        ; DECFSZ 82H,0 ;(減一后結果存在工作寄存器中)減一為0跳過下一指令
        GOTO M004 ;
        DECFSZ 81H,1 ;
        GOTO M003 ;
        DECFSZ 80H,1 ;
        GOTO M002 ;
        RETURN ;子程序返回
        end ;結束
        ;============================================


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临猗县| 高淳县| 德庆县| 巴楚县| 台北市| 汉源县| 惠州市| 宣化县| 翁源县| 原平市| 榆树市| 弥渡县| 宁波市| 新丰县| 鲁甸县| 河津市| 广元市| 安西县| 盐山县| 安图县| 竹山县| 仁化县| 钟山县| 武隆县| 北碚区| 龙山县| 长岭县| 安新县| 曲松县| 尤溪县| 广河县| 荆州市| 新源县| 高唐县| 运城市| 清流县| 兴仁县| 宁城县| 海阳市| 梧州市| 涪陵区|