?? pass1.dat
字號:
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Write 4-bit instruction to LCD display.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The 4-bit instruction should be provided in the upper 4-bits of register s4.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Note that this routine does not release the master enable but as it is only
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;used during initialisation and as part of the 8-bit instruction write it
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;should be acceptable.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s4
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_write_inst4
INSTRUCTION-AND
OPERAND1-s4
OPERAND2-F8
COMMENT-;Enable=1 RS=0 Instruction, RW=0 Write, E=0
LABEL-
INSTRUCTION-OUTPUT
OPERAND1-s4
OPERAND2-LCD_output_port
COMMENT-;set up RS and RW >40ns before enable pulse
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_pulse_E
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Write 8-bit instruction to LCD display.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The 8-bit instruction should be provided in register s5.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Instructions are written using the following sequence
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Upper nibble
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; wait >1us
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Lower nibble
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; wait >40us
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s4, s5
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_write_inst8
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-s5
COMMENT-
LABEL-
INSTRUCTION-AND
OPERAND1-s4
OPERAND2-F0
COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;OR s4, LCD_drive ;Enable=1
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;write upper nibble
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_1us
OPERAND2-
COMMENT-;wait >1us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-s5
COMMENT-;select lower nibble with
LABEL-
INSTRUCTION-SL1
OPERAND1-s4
OPERAND2-
COMMENT-;Enable=1
LABEL-
INSTRUCTION-SL0
OPERAND1-s4
OPERAND2-
COMMENT-;RS=0 Instruction
LABEL-
INSTRUCTION-SL0
OPERAND1-s4
OPERAND2-
COMMENT-;RW=0 Write
LABEL-
INSTRUCTION-SL0
OPERAND1-s4
OPERAND2-
COMMENT-;E=0
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;write lower nibble
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_40us
OPERAND2-
COMMENT-;wait >40us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-F0
COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
LABEL-
INSTRUCTION-OUTPUT
OPERAND1-s4
OPERAND2-LCD_output_port
COMMENT-;Release master enable
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Write 8-bit data to LCD display.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The 8-bit data should be provided in register s5.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Data bytes are written using the following sequence
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Upper nibble
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; wait >1us
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Lower nibble
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; wait >40us
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s4, s5
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_write_data
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-s5
COMMENT-
LABEL-
INSTRUCTION-AND
OPERAND1-s4
OPERAND2-F0
COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
LABEL-
INSTRUCTION-OR
OPERAND1-s4
OPERAND2-0C
COMMENT-;Enable=1 RS=1 Data, RW=0 Write, E=0
LABEL-
INSTRUCTION-OUTPUT
OPERAND1-s4
OPERAND2-LCD_output_port
COMMENT-;set up RS and RW >40ns before enable pulse
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_pulse_E
OPERAND2-
COMMENT-;write upper nibble
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_1us
OPERAND2-
COMMENT-;wait >1us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-s5
COMMENT-;select lower nibble with
LABEL-
INSTRUCTION-SL1
OPERAND1-s4
OPERAND2-
COMMENT-;Enable=1
LABEL-
INSTRUCTION-SL1
OPERAND1-s4
OPERAND2-
COMMENT-;RS=1 Data
LABEL-
INSTRUCTION-SL0
OPERAND1-s4
OPERAND2-
COMMENT-;RW=0 Write
LABEL-
INSTRUCTION-SL0
OPERAND1-s4
OPERAND2-
COMMENT-;E=0
LABEL-
INSTRUCTION-OUTPUT
OPERAND1-s4
OPERAND2-LCD_output_port
COMMENT-;set up RS and RW >40ns before enable pulse
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_pulse_E
OPERAND2-
COMMENT-;write lower nibble
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_40us
OPERAND2-
COMMENT-;wait >40us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-F0
COMMENT-;Enable=0 RS=0 Instruction, RW=0 Write, E=0
LABEL-
INSTRUCTION-OUTPUT
OPERAND1-s4
OPERAND2-LCD_output_port
COMMENT-;Release master enable
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Reset and initialise display to communicate using 4-bit data mode
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Includes routine to clear the display.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Requires the 4-bit instructions 3,3,3,2 to be sent with suitable delays
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;following by the 8-bit instructions to set up the display.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; 28 = '001' Function set, '0' 4-bit mode, '1' 2-line, '0' 5x7 dot matrix, 'xx'
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; 06 = '000001' Entry mode, '1' increment, '0' no display shift
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; 0E = '00001' Display control, '1' display on, '1' cursor off, '0' cursor blink off
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; 01 = '00000001' Display clear
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s2, s3, s4
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_reset
INSTRUCTION-CALL
OPERAND1-delay_20ms
OPERAND2-
COMMENT-;wait more that 15ms for display to be ready
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-30
COMMENT-
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;send '3'
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_20ms
OPERAND2-
COMMENT-;wait >4.1ms
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;send '3'
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_1ms
OPERAND2-
COMMENT-;wait >100us
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;send '3'
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_40us
OPERAND2-
COMMENT-;wait >40us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s4
OPERAND2-20
COMMENT-
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst4
OPERAND2-
COMMENT-;send '2'
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_40us
OPERAND2-
COMMENT-;wait >40us
LABEL-
INSTRUCTION-LOAD
OPERAND1-s5
OPERAND2-28
COMMENT-;Function set
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-LOAD
OPERAND1-s5
OPERAND2-06
COMMENT-;Entry mode
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-LOAD
OPERAND1-s5
OPERAND2-0E
COMMENT-;Display control
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-
LABEL-LCD_clear
INSTRUCTION-LOAD
OPERAND1-s5
OPERAND2-01
COMMENT-;Display clear
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_1ms
OPERAND2-
COMMENT-;wait >1.64ms for display to clear
LABEL-
INSTRUCTION-CALL
OPERAND1-delay_1ms
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Position the cursor ready for characters to be written.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The display is formed of 2 lines of 16 characters and each
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;position has a corresponding address as indicated below.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Character position
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Line 1 - 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Line 2 - C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;This routine will set the cursor position using the value provided
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;in register s5. The upper nibble will define the line and the lower
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;nibble the character position on the line.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-; Example s5 = 2B will position the cursor on line 2 position 11
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s2, s3, s4
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_cursor
INSTRUCTION-TEST
OPERAND1-s5
OPERAND2-10
COMMENT-;test for line 1
LABEL-
INSTRUCTION-JUMP
OPERAND1-Z
OPERAND2-set_line2
COMMENT-
LABEL-
INSTRUCTION-AND
OPERAND1-s5
OPERAND2-0F
COMMENT-;make address in range 80 to 8F for line 1
LABEL-
INSTRUCTION-OR
OPERAND1-s5
OPERAND2-80
COMMENT-
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-;instruction write to set cursor
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-set_line2
INSTRUCTION-AND
OPERAND1-s5
OPERAND2-0F
COMMENT-;make address in range C0 to CF for line 2
LABEL-
INSTRUCTION-OR
OPERAND1-s5
OPERAND2-C0
COMMENT-
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-;instruction write to set cursor
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;This routine will shift the complete display one position to the left.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;The cursor position and LCD memory contents will not change.
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;Registers used s0, s1, s2, s3, s4, s5
LABEL-
INSTRUCTION-
OPERAND1-
OPERAND2-
COMMENT-;
LABEL-LCD_shift_left
INSTRUCTION-LOAD
OPERAND1-s5
OPERAND2-18
COMMENT-;shift display left
LABEL-
INSTRUCTION-CALL
OPERAND1-LCD_write_inst8
OPERAND2-
COMMENT-
LABEL-
INSTRUCTION-RETURN
OPERAND1-
OPERAND2-
COMMENT-
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -