⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd1.a30

📁 本程序实现在M16C上的AD转换
💻 A30
📖 第 1 页 / 共 2 页
字号:
; 僒僽儖乕僠儞柤  : void _lcd1__wr_nibble_dreg(int data)
; 婡擻            : LCD(SC1602BS*2)偺data儗僕僗僞偵data傪彂偔
; 擖椡            : int data: 彂偒崬傓僨乕僞(壓埵4bit偺傒桳岠)
; 弌椡            : 側偟
; 巊梡僒僽儖乕僠儞: 側偟
; 僗僞僢僋        : 0僶僀僩
; 拲堄帠崁        : 堷悢data(LCD儌僕儏乕儖偵彂偒崬傓僨乕僞)偼
;                 : R1儗僕僗僞偵庴偗搉偝傟偰偄傞(堷悢堷搉偟婯懃)
;                 : 
;                 : 僞僀儈儞僌偼埲壓偱惂屼偟偰偄傞丅帪娫傕婯掕桳傝側偺偱梫拲堄
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                 TIME           RS RW E  I/O-DIR LCD  M16C
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                           def= x  0  0  RD     | IN   IN
;                 :     BSET:G  RS 62.5亊3=187.5   1  .  .  .      | .    .
;                 :     MOV.B:S #W 62.5亊2=125.0   .  .  .  WR     | .    OUT
;                 :     BSET:G  E  62.5亊3=187.5   .  .  1  .      | .    .
;                 :     MOV.B:G    62.5亊2=125.0   .  .  .  .      | .    .
;                 :     MOVLL      62.5亊5=312.5   .  .  .  .      |(WR Data)
;                 :     BCLR:G  E  62.5亊3=187.5   .  .  0  .      | .    .
;                 :     MOV.B:S #R 62.5亊2=125.0   .  .  .  RD     | IN
; History         : ---
;""SUBR COMMENT END""**********************************************************
        .section        program         ; C偺僾儘僌儔儉椞堟偲摨堦僙僋僔儑儞
        .glb            $_lcd1__wr_nibble_dreg
                                        ; 僌儘乕僶儖愰尵
$_lcd1__wr_nibble_dreg:
        ;---- 僨乕僞慖戰 ----
        bset:g  p4_6_RS                 ; 僨乕僞傪慖戰
                                        ; (LCD儌僕儏乕儖偺RS抂巕傪"H")

        ;---- LCD傊偺彂偒崬傒偵愝掕 ----
        ;bclr:g  p4_5_RW                ; LCD儌僕儏乕儖傪擖椡偵愝掕
        ;                               ; (LCD偺RW傪"L":WRITE偵愝掕)
        mov.b:s #DIR_WRITE, pd4         ; CPU懁傪弌椡偵愝掕
                                        ; (P40乣P43傪弌椡億乕僩偵愝掕)

        ;---- 4bit彂偒崬傒 ----
        bset:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"H"
        mov.b:g R1L, R0L                ; LCD偵堷悢(R1)傪彂偒崬傓
        movll   R0L, p4                 ; 仾 (P4 = R1L 壓埵4bit偱揮憲)
        bclr:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"L"

        ;---- 億乕僩傪弶婜忬懺偵栠偡 ----
        mov.b:s #DIR_READ, pd4          ; P40乣P43傪擖椡億乕僩偵栠偡
                                        ; (P40乣P43傪擖椡億乕僩偵愝掕)
        rts


;""SUBR COMMENT""**************************************************************
; ID              : ---
; 僒僽儖乕僠儞柤  : int _lcd1__rd_nibble_creg(void)
; 婡擻            : LCD(SC1602BS*2)偺command儗僕僗僞傪撉傓
; 擖椡            : 側偟
; 弌椡            : int 撉傒崬傫偩抣(壓埵4bit埲奜偼0儅僗僋嵪傒)
; 巊梡僒僽儖乕僠儞: 側偟
; 僗僞僢僋        : 0僶僀僩
; 拲堄帠崁        : 栠傝抣偼R0偵庴偗搉偝傟傞(栠傝抣堷搉偟婯懃)丅
;                 : 
;                 : 僞僀儈儞僌偼埲壓偱惂屼偟偰偄傞丅帪娫傕婯掕桳傝側偺偱梫拲堄
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                 TIME           RS RW E  I/O-DIR LCD  M16C
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                           def= x  0  0  RD     | IN   IN
;                 :     BCLR:G  RS 62.5亊3=187.5   0  .  .  .      | .    .
;                 :     BSET:G  RW 62.5亊3=187.5   .  1  .  .      | OUT  .
;                 :     BSET:G  E  62.5亊3=187.5   .  .  1  .      | .    .
;                 :     NOP        62.5亊1= 62.5   .  .  .  .      | .    .
;                 :     NOP        62.5亊1= 62.5   .  .  .  .      | .    .
;                 :     MOV.B:G    62.5亊2=125.0   .  .  .  .      |(RD Command)
;                 :     AND.W:G    62.5亊3=187.5   .  .  .  .      | .    .
;                 :     BCLR:G  E  62.5亊3=187.5   .  .  0  .      | .    .
;                 :     BCLR:G  RW 62.5亊3=187.5   .  0  .  .      | IN   .
; History         : ---
;""SUBR COMMENT END""**********************************************************
        .section        program         ; C偺僾儘僌儔儉椞堟偲摨堦僙僋僔儑儞
        .glb            __lcd1__rd_nibble_creg
                                        ; 僌儘乕僶儖愰尵
__lcd1__rd_nibble_creg:
        ;---- 僐儅儞僪傪慖戰 ----
        bclr:g  p4_6_RS                 ; 僐儅儞僪傪慖戰
                                        ; (LCD儌僕儏乕儖偺RS抂巕傪"L")

        ;---- LCD偐傜偺撉傒崬傒偵愝掕 ----
        ;mov.b:s #DIR_READ, pd4         ; CPU偺億乕僩傪擖椡偵愝掕
        ;                               ; (P40乣P43傪擖椡億乕僩偵愝掕)
        bset:g  p4_5_RW                 ; LCD儌僕儏乕儖傪弌椡偵愝掕
                                        ; (LCD偺RW傪"H":READ偵愝掕)

        ;---- 4bit撉傒崬傒 ----
        bset:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"H"
        nop                             ; 僞僀儈儞僌崌傢偣
        nop                             ; 僞僀儈儞僌崌傢偣
        mov.b:g p4, R0L                 ; 栠傝抣(R0)偵LCD偐傜撉崬傫偩抣傪愝掕
        and.w:g #0fH, R0                ; 仾 (R0 = p4&0x0f)
        bclr:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"L"

        ;---- 億乕僩傪弶婜忬懺偵栠偡 ----
        bclr:g  p4_5_RW                 ; LCD儌僕儏乕儖懁傪擖椡忬懺偵栠偡
                                        ; (L:WRITE偵愝掕)
        rts


;""SUBR COMMENT""**************************************************************
; ID              : 
; 僒僽儖乕僠儞柤  : int _lcd1__rd_nibble_dreg(void)
; 婡擻            : LCD(SC1602BS*2)偺data儗僕僗僞傪撉傓
; 擖椡            : 側偟
; 弌椡            : int 撉傒崬傫偩抣(壓埵4bit埲奜偼0儅僗僋嵪傒)
; 巊梡僒僽儖乕僠儞: 側偟
; 僗僞僢僋        : 0僶僀僩
; 拲堄帠崁        : 栠傝抣偼R0偵庴偗搉偝傟傞(栠傝抣堷搉偟婯懃)丅
;                 : 
;                 : 僞僀儈儞僌偼埲壓偱惂屼偟偰偄傞丅帪娫傕婯掕桳傝側偺偱梫拲堄
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                 TIME           RS RW E  I/O-DIR LCD  M16C
;                 :     --------------------------+--+--+--+-------+----+-----
;                 :                           def= x  0  0  RD     | IN   IN
;                 :     BSET:G  RS 62.5亊3=187.5   1  .  .  .      | .    .
;                 :     BSET:G  RW 62.5亊3=187.5   .  1  .  .      | OUT  .
;                 :     BSET:G  E  62.5亊3=187.5   .  .  1  .      | .    .
;                 :     NOP        62.5亊1= 62.5   .  .  .  .      | .    .
;                 :     NOP        62.5亊1= 62.5   .  .  .  .      | .    .
;                 :     MOV.B:G    62.5亊2=125.0   .  .  .  .      |(RD Data)
;                 :     AND.W:G    62.5亊3=187.5   .  .  .  .      | .    .
;                 :     BCLR:G  E  62.5亊3=187.5   .  .  0  .      | .    .
;                 :     BCLR:G  RW 62.5亊3=187.5   .  0  .  .      | IN   .
; History         : ---
;""SUBR COMMENT END""**********************************************************
        .section        program         ; C偺僾儘僌儔儉椞堟偲摨堦僙僋僔儑儞
        .glb    __lcd1__rd_nibble_dreg  ; 僌儘乕僶儖愰尵
__lcd1__rd_nibble_dreg:
        ;---- 僨乕僞慖戰 ----
        bset:g  p4_6_RS                 ; 僨乕僞傪慖戰
                                        ; (LCD儌僕儏乕儖偺RS抂巕傪"H")

        ;---- LCD偐傜偺撉傒崬傒偵愝掕 ----
        ;mov.b:s #DIR_READ, pd4         ; CPU偺億乕僩傪擖椡偵愝掕
        ;                               ; (P40乣P43傪擖椡億乕僩偵愝掕)
        bset:g  p4_5_RW                 ; LCD儌僕儏乕儖傪弌椡偵愝掕
                                        ; (LCD偺RW傪"H":READ偵愝掕)

        ;---- 4bit撉傒崬傒 ----
        bset:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"H"
        nop                             ; 僞僀儈儞僌崌傢偣
        nop                             ; 僞僀儈儞僌崌傢偣
        mov.b:g p4, R0L                 ; 栠傝抣(R0)偵LCD偐傜撉崬傫偩抣傪愝掕
        and.w:g #0fH, R0                ; 仾 (R0 = p4&0x0f)
        bclr:g  p4_4_E                  ; LCD儌僕儏乕儖偺E抂巕傪"L"

        ;---- 億乕僩傪弶婜忬懺偵栠偡 ----
        bclr:g  p4_5_RW                 ; LCD儌僕儏乕儖懁傪擖椡忬懺偵栠偡
                                        ; (L:WRITE偵愝掕)
        rts


        .end
;******************************************************************************
;       end of file
;******************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -