pass3.dat

来自「FPGA 基于PICOBLAZE内核的LCD显示程序,完整,XILINX」· DAT 代码 · 共 3,451 行 · 第 1/5 页

DAT
3,451
字号
   OPERAND2-
    COMMENT-;Registers used s4
    ADDRESS-085
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-085
      LABEL-LCD_write_inst4
INSTRUCTION-AND
   OPERAND1-s4
   OPERAND2-F8
    COMMENT-;Enable=1 RS=0 Instruction, RW=0 Write, E=0
    ADDRESS-086
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-;set up RS and RW >40ns before enable pulse
    ADDRESS-087
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_pulse_E
   OPERAND2-
    COMMENT-
    ADDRESS-088
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Write 8-bit instruction to LCD display.
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The 8-bit instruction should be provided in register s5.
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Instructions are written using the following sequence
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Upper nibble
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; wait >1us
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Lower nibble
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; wait >40us
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s4, s5
    ADDRESS-089
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-089
      LABEL-LCD_write_inst8
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-s5
    COMMENT-
    ADDRESS-08A
      LABEL-
INSTRUCTION-AND
   OPERAND1-s4
   OPERAND2-F0
    COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
    ADDRESS-08B
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;OR s4, LCD_drive                    ;Enable=1
    ADDRESS-08B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;write upper nibble
    ADDRESS-08C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1us
   OPERAND2-
    COMMENT-;wait >1us
    ADDRESS-08D
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-s5
    COMMENT-;select lower nibble with
    ADDRESS-08E
      LABEL-
INSTRUCTION-SL1
   OPERAND1-s4
   OPERAND2-
    COMMENT-;Enable=1
    ADDRESS-08F
      LABEL-
INSTRUCTION-SL0
   OPERAND1-s4
   OPERAND2-
    COMMENT-;RS=0 Instruction
    ADDRESS-090
      LABEL-
INSTRUCTION-SL0
   OPERAND1-s4
   OPERAND2-
    COMMENT-;RW=0 Write
    ADDRESS-091
      LABEL-
INSTRUCTION-SL0
   OPERAND1-s4
   OPERAND2-
    COMMENT-;E=0
    ADDRESS-092
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;write lower nibble
    ADDRESS-093
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_40us
   OPERAND2-
    COMMENT-;wait >40us
    ADDRESS-094
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-F0
    COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
    ADDRESS-095
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-;Release master enable
    ADDRESS-096
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Write 8-bit data to LCD display.
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The 8-bit data should be provided in register s5.
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Data bytes are written using the following sequence
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Upper nibble
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; wait >1us
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Lower nibble
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; wait >40us
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s4, s5
    ADDRESS-097
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-097
      LABEL-LCD_write_data
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-s5
    COMMENT-
    ADDRESS-098
      LABEL-
INSTRUCTION-AND
   OPERAND1-s4
   OPERAND2-F0
    COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
    ADDRESS-099
      LABEL-
INSTRUCTION-OR
   OPERAND1-s4
   OPERAND2-0C
    COMMENT-;Enable=1 RS=1 Data, RW=0 Write, E=0
    ADDRESS-09A
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-;set up RS and RW >40ns before enable pulse
    ADDRESS-09B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_pulse_E
   OPERAND2-
    COMMENT-;write upper nibble
    ADDRESS-09C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1us
   OPERAND2-
    COMMENT-;wait >1us
    ADDRESS-09D
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-s5
    COMMENT-;select lower nibble with
    ADDRESS-09E
      LABEL-
INSTRUCTION-SL1
   OPERAND1-s4
   OPERAND2-
    COMMENT-;Enable=1
    ADDRESS-09F
      LABEL-
INSTRUCTION-SL1
   OPERAND1-s4
   OPERAND2-
    COMMENT-;RS=1 Data
    ADDRESS-0A0
      LABEL-
INSTRUCTION-SL0
   OPERAND1-s4
   OPERAND2-
    COMMENT-;RW=0 Write
    ADDRESS-0A1
      LABEL-
INSTRUCTION-SL0
   OPERAND1-s4
   OPERAND2-
    COMMENT-;E=0
    ADDRESS-0A2
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-;set up RS and RW >40ns before enable pulse
    ADDRESS-0A3
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_pulse_E
   OPERAND2-
    COMMENT-;write lower nibble
    ADDRESS-0A4
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_40us
   OPERAND2-
    COMMENT-;wait >40us
    ADDRESS-0A5
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-F0
    COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
    ADDRESS-0A6
      LABEL-
INSTRUCTION-OUTPUT
   OPERAND1-s4
   OPERAND2-LCD_output_port
    COMMENT-;Release master enable
    ADDRESS-0A7
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Reset and initialise display to communicate using 4-bit data mode
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Includes routine to clear the display.
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Requires the 4-bit instructions 3,3,3,2 to be sent with suitable delays
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;following by the 8-bit instructions to set up the display.
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;  28 = '001' Function set, '0' 4-bit mode, '1' 2-line, '0' 5x7 dot matrix, 'xx'
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;  06 = '000001' Entry mode, '1' increment, '0' no display shift
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;  0E = '00001' Display control, '1' display on, '1' cursor off, '0' cursor blink off
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;  01 = '00000001' Display clear
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Registers used s0, s1, s2, s3, s4
    ADDRESS-0A8
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0A8
      LABEL-LCD_reset
INSTRUCTION-CALL
   OPERAND1-delay_20ms
   OPERAND2-
    COMMENT-;wait more that 15ms for display to be ready
    ADDRESS-0A9
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-30
    COMMENT-
    ADDRESS-0AA
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;send '3'
    ADDRESS-0AB
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_20ms
   OPERAND2-
    COMMENT-;wait >4.1ms
    ADDRESS-0AC
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;send '3'
    ADDRESS-0AD
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1ms
   OPERAND2-
    COMMENT-;wait >100us
    ADDRESS-0AE
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;send '3'
    ADDRESS-0AF
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_40us
   OPERAND2-
    COMMENT-;wait >40us
    ADDRESS-0B0
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
   OPERAND2-20
    COMMENT-
    ADDRESS-0B1
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst4
   OPERAND2-
    COMMENT-;send '2'
    ADDRESS-0B2
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_40us
   OPERAND2-
    COMMENT-;wait >40us
    ADDRESS-0B3
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-28
    COMMENT-;Function set
    ADDRESS-0B4
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst8
   OPERAND2-
    COMMENT-
    ADDRESS-0B5
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-06
    COMMENT-;Entry mode
    ADDRESS-0B6
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst8
   OPERAND2-
    COMMENT-
    ADDRESS-0B7
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-0E
    COMMENT-;Display control
    ADDRESS-0B8
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst8
   OPERAND2-
    COMMENT-
    ADDRESS-0B9
      LABEL-LCD_clear
INSTRUCTION-LOAD
   OPERAND1-s5
   OPERAND2-01
    COMMENT-;Display clear
    ADDRESS-0BA
      LABEL-
INSTRUCTION-CALL
   OPERAND1-LCD_write_inst8
   OPERAND2-
    COMMENT-
    ADDRESS-0BB
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1ms
   OPERAND2-
    COMMENT-;wait >1.64ms for display to clear
    ADDRESS-0BC
      LABEL-
INSTRUCTION-CALL
   OPERAND1-delay_1ms
   OPERAND2-
    COMMENT-
    ADDRESS-0BD
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
   OPERAND2-
    COMMENT-
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;Position the cursor ready for characters to be written.
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;The display is formed of 2 lines of 16 characters and each
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;position has a corresponding address as indicated below.
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;                   Character position
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;           0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Line 1 - 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-; Line 2 - C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;
    ADDRESS-0BE
      LABEL-
INSTRUCTION-
   OPERAND1-
   OPERAND2-
    COMMENT-;This routine will set the cursor position using the value provided
    ADD

⌨️ 快捷键说明

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