新聞中心

        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 ;結束
        ;============================================


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保康县| 牙克石市| 信丰县| 石棉县| 资阳市| 平果县| 肇东市| 揭阳市| 莎车县| 茌平县| 江华| 江源县| 漳州市| 上饶市| 新乡市| 枣庄市| 鹰潭市| 绥棱县| 景谷| 留坝县| 沅陵县| 赣州市| 阿鲁科尔沁旗| 资源县| 武夷山市| 高阳县| 丹寨县| 秭归县| 晋城| 潢川县| 社会| 会昌县| 阳东县| 张掖市| 浦城县| 清丰县| 惠来县| 梓潼县| 邮箱| 阿合奇县| 桓仁|