新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 松翰單片機1602

        松翰單片機1602

        作者: 時間:2016-11-30 來源:網絡 收藏
        CHIP SN8F27E65

        //{{SONIX_CODE_OPTION
        .Code_Option WDT_CLK Flosc/4
        .Code_Option Reset_Pin P04
        .Code_Option LVD LVD_Max ; 3.3V Reset
        .Code_Option Watch_Dog Disable ;關閉看門狗
        .Code_Option Low_Fcpu Flosc/1
        .Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator
        .Code_Option High_Fcpu Fhosc/1
        .Code_Option Security Enable
        .Code_Option Noise_Filter Enable
        //}}SONIX_CODE_OPTION
        DATA EQU P4 ;數據口
        DATAM EQU P4M

        RS EQU P0.0 ;數據/命令
        RSM EQU P0M.0

        RW EQU P0.1 ;讀/寫
        RWM EQU P0M.1
        E EQU P0.2 ;控制使能
        EM EQU P0M.2

        本文引用地址:http://www.104case.com/article/201611/323630.htm

        ORG 0000H
        JMP A1
        ORG 0015H
        A1: MOV A,#30H;顯示內容
        MOV 41H,A
        MOV A,#31H
        MOV 42H,A
        MOV A,#32H
        MOV 43H,A
        MOV A,#33H
        MOV 44H,A

        MOV A,#01H;清屏
        MOV 30H,A
        CALL ZL01
        MOV A,#250
        MOV 31H,A
        A2:
        MOV A,#38H;設置顯示模式5*7點
        MOV 30H,A
        CALL ZL01
        DECMS 31H
        JMP A2

        MOV A,#0CH;開顯示關光標
        MOV 30H,A
        CALL ZL01

        CALL XS01;顯示子程序

        JMP $
        ;*************************************************
        ;顯示子程序
        ;*************************************************
        XS01: MOV A,#38H;設置顯示模式
        MOV 30H,A
        CALL ZL01
        MOV A,#0CH;開顯示
        MOV 30H,A
        CALL ZL01
        MOV A,#0C8H;顯示起始位置
        MOV 30H,A
        CALL ZL01

        B0MOV H,#0 ; 清“H”以尋址RAM bank 0。
        B0MOV L,#41H ; 設定寄存器地址。
        XS02: MOV A,@HL;顯示內容處理
        MOV 30H,A
        CALL SJ01
        INCMS L;顯示下一數據
        MOV A,L
        CMPRS A,#45H;是否已顯示完成
        JMP XS02
        RET
        ;*****************************************
        ;寫命令子程序
        ;*****************************************
        ZL01: MOV A,#0FFH;設置數據口為輸出狀態
        MOV DATAM,A
        MOV DATA,A;輸出高電平

        B0BSET RSM;設置為數據模式
        B0BCLR RS

        B0BSET RWM;設置為讀模式
        B0BSET RW

        B0BSET EM;允許操作
        B0BSET E
        ZL02:
        B0BCLR P4M.7;忙檢
        B0BTS0 P4.7;P4.7=1忙,P4.7=0空閑
        JMP ZL02
        B0BSET EM;關閉使能
        B0BCLR E

        B0BSET RSM;設置為命令模式
        B0BCLR RS

        B0BSET RWM;設置為寫模式
        B0BCLR RW

        MOV A,#0FFH;將要寫的內容輸出到數據口
        MOV DATAM,A
        MOV A,30H
        MOV DATA,A

        B0BSET EM;允許使能操作
        B0BSET E
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        B0BSET EM;關閉使能
        B0BCLR E

        RET
        ;*****************************************
        ;寫數據子程序
        ;*****************************************
        SJ01: MOV A,#0FFH
        MOV DATAM,A
        MOV DATA,A

        B0BSET RSM
        B0BCLR RS

        B0BSET RWM
        B0BSET RW

        B0BSET EM
        B0BSET E
        SJ02:
        B0BCLR P4M.7
        B0BTS0 P4.7
        JMP SJ02

        B0BSET EM
        B0BCLR E

        B0BSET RSM;設置為數據模式
        B0BSET RS

        B0BSET RWM
        B0BCLR RW
        MOV A,#0FFH
        MOV DATAM,A
        MOV A,30H
        MOV DATA,A

        B0BSET EM
        B0BSET E
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        B0BSET EM
        B0BCLR E

        RET
        ENDP



        關鍵詞: 松翰單片機160

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 呼和浩特市| 通城县| 金华市| 龙川县| 宣汉县| 长汀县| 瑞金市| 丹巴县| 荃湾区| 潜江市| 察哈| 香港 | 舒兰市| 大邑县| 咸阳市| 蓬安县| 曲靖市| 纳雍县| 云安县| 谢通门县| 永宁县| 共和县| 武陟县| 克什克腾旗| 额尔古纳市| 扬州市| 永宁县| 宝丰县| 离岛区| 会同县| 溧水县| 壤塘县| 呼图壁县| 天台县| 叙永县| 六盘水市| 台中县| 集安市| 仙游县| 炎陵县| 普宁市|