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

📄 lcd.asm

📁 这是一个段式lcd显示
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;; Compile Options : /TM610411 /MS /near /Ihead /SD /Od /W 1 /Fa_output\_obj\ /Zs 
;; Version Number  : Ver.3.08.6
;; File Name       : lcd.c

	type (M610411) 
	model small, near
	$$NTABlcd segment table 2h #0h
	$$NCODlcd segment code 2h #0h
CVERSION 3.08.6
CGLOBAL 01H 03H 0000H "lcd_clear" 08H 02H 02H 00H 82H 08H 00H 00H 07H
CGLOBAL 01H 03H 0000H "lcd_init" 08H 02H 00H 00H 81H 02H 00H 00H 07H
CGLOBAL 01H 03H 0000H "data_divide" 08H 02H 04H 00H 80H 00H 00H 00H 07H
CGLOBAL 01H 03H 0000H "set_font_bit" 08H 02H 05H 00H 80H 00H 00H 00H 07H
CGLOBAL 01H 03H 0000H "lcd_display" 08H 02H 01H 00H 83H 06H 00H 00H 07H
CSTRUCTTAG 0000H 0000H 0003H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "bit0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "bit1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "bit2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "bit3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "bit4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "bit5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "bit6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "bit7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0002H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "b0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "b1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "b2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "b3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "b4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "b5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "b6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "b7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0001H 0008H 00000001H "Bit_Flag_Byte"
CSTRUCTMEM 52H 00000001H 00000000H "B0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "B1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "B2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "B3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "B4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "B5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "B6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "B7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0000H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "b0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "b1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "b2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "b3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "b4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "b5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "b6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "b7" 02H 00H 00H
CUNIONTAG 0000H 0000H 0004H 0002H 00000001H "_Notag"
CUNIONMEM 42H 00000001H "byte" 02H 00H 00H
CUNIONMEM 43H 00000001H "bit" 04H 00H 05H 03H 00H
CTYPEDEF 0000H 0000H 42H "ushort" 02H 00H 08H
CTYPEDEF 0000H 0000H 43H "_BYTE_FIELD_01" 04H 00H 05H 02H 00H
CTYPEDEF 0000H 0000H 43H "_BYTE_FIELD" 04H 00H 05H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_hour" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data" 02H 00H 00H
CGLOBAL 00H 43H 0001H "nixietube4" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube5" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube6" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube1" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube2" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube3" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0002H "hun" 02H 00H 01H
CGLOBAL 00H 43H 0002H "data" 02H 00H 01H
CGLOBAL 00H 43H 0002H "ten" 02H 00H 01H
CGLOBAL 00H 43H 0001H "_status" 04H 00H 06H 04H 00H
CGLOBAL 00H 42H 000AH "rFont_Buf" 05H 01H 0AH 00H 00H 00H
CGLOBAL 00H 42H 0001H "temp_data" 02H 00H 00H
CGLOBAL 00H 42H 0001H "rMinute" 02H 00H 00H
CGLOBAL 00H 42H 0001H "cont_500ms" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data5" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data6" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data0" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data1" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data2" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data3" 02H 00H 00H
CGLOBAL 00H 43H 0002H "ten_num" 02H 00H 01H
CGLOBAL 00H 43H 0002H "hun_num" 02H 00H 01H
CSGLOBAL 01H 0024H "Font_Table" 05H 01H 12H 00H 00H 01H
CGLOBAL 00H 42H 0001H "display_data" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_min" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_sec" 02H 00H 00H
CGLOBAL 00H 43H 0002H "data_num" 02H 00H 01H
CGLOBAL 00H 42H 000AH "rLcd_Buf" 05H 01H 0AH 00H 00H 00H
CGLOBAL 00H 43H 0002H "thou_num" 02H 00H 01H
CGLOBAL 00H 42H 0001H "cont_1min" 02H 00H 00H
CGLOBAL 00H 42H 0001H "cycle_cnt" 02H 00H 00H
CGLOBAL 00H 42H 0001H "display_number" 02H 00H 00H
CGLOBAL 00H 42H 0001H "sadc_dataH" 02H 00H 00H
CGLOBAL 00H 42H 0001H "sadc_dataL" 02H 00H 00H
CGLOBAL 00H 42H 0001H "rHour" 02H 00H 00H
CGLOBAL 00H 43H 0002H "thou" 02H 00H 01H
CGLOBAL 00H 42H 0001H "tempH" 02H 00H 00H
CGLOBAL 00H 42H 0001H "tempL" 02H 00H 00H
CGLOBAL 00H 42H 0002H "adc_data" 02H 00H 01H
CGLOBAL 00H 42H 0001H "cont_1hour" 02H 00H 00H
CGLOBAL 00H 43H 0001H "sym_flag" 04H 00H 05H 01H 00H
CGLOBAL 00H 42H 0001H "cont_1second" 02H 00H 00H
CFILE 0001H 00000579H "C:\\PROGRA~1\\U8Dev\\Inc\\m610411.h"
CFILE 0002H 00000052H "head\\common.h"
CFILE 0003H 000000EFH "head\\lcd.h"
CFILE 0000H 000000D2H "lcd.c"

	rseg $$NCODlcd
CFUNCTION 0

_lcd_init	:
CBLOCK 0 1 42

;;{
CLINE 0001H 002AH 0001H 0001H
	push	lr
CBLOCK 0 2 42
CRET 0000H

;;	  lcd_clear();        	  	  
CLINE 0001H 002BH 0004H 001DH
	bl	_lcd_clear

;;	  BIASCON = 0x09u;    /* BSON=1(Bias circuit on), 1/16 LSCK(2kHz), 1/3 bias */
CLINE 0001H 002CH 0004H 004FH
	mov	r0,	#09h
	st	r0,	0f0f0h

;;	  DSPMOD0 = 0x43u;    /* reference frequency is 85Hz, 1/4 duty */	
CLINE 0001H 002DH 0004H 0043H
	mov	r0,	#043h
	st	r0,	0f0f2h

;;    DSPCNT  = 0x10u; /* high contrast, vl1=1.56v */ 
CLINE 0001H 002EH 0005H 0034H
	mov	r0,	#010h
	st	r0,	0f0f1h

;; 	  disp_data=0;
CLINE 0001H 0030H 0005H 0010H
	mov	r0,	#00h
	st	r0,	NEAR _disp_data

;;	  lcd_display();      /* lcd display	initial */      
CLINE 0001H 0031H 0004H 0036H
	bl	_lcd_display
CBLOCKEND 0 2 50

;;}
CLINE 0001H 0032H 0001H 0001H
	pop	pc
CBLOCKEND 0 1 50
CFUNCTIONEND 0

CFUNCTION 1

_lcd_display	:
CBLOCK 1 1 61

;;{
CLINE 0001H 003DH 0001H 0001H
	push	lr
	push	fp
	mov	fp,	sp
	add	sp,	#-02
CBLOCK 1 2 61
CRET 0004H
CLOCAL 42H 0002H 0002H 0002H "i" 02H 00H 01H

;;   data_divide();          
CLINE 0001H 003FH 0004H 001BH
	bl	_data_divide

;;        i=disp_data0;
CLINE 0001H 0041H 0009H 0015H
	l	r0,	NEAR _disp_data0
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube1.byte=Font_Table[i];                //number 1
CLINE 0001H 0042H 0009H 0040H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube1

;;        i=disp_data1;           
CLINE 0001H 0044H 0009H 0020H
	l	r0,	NEAR _disp_data1
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube2.byte=Font_Table[i];                //number 2 
CLINE 0001H 0045H 0009H 0041H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube2

;;         i=disp_data2;
CLINE 0001H 0047H 000AH 0016H
	l	r0,	NEAR _disp_data2
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube3.byte=Font_Table[i];                //number 3
CLINE 0001H 0048H 0009H 0040H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube3

;;        i=disp_data3;           
CLINE 0001H 004AH 0009H 0020H
	l	r0,	NEAR _disp_data3
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube4.byte=Font_Table[i];                //number 4 
CLINE 0001H 004BH 0009H 0041H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube4

;;         i=disp_data5;
CLINE 0001H 004DH 000AH 0016H
	l	r0,	NEAR _disp_data5
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube5.byte=Font_Table[i];                //number 5
CLINE 0001H 004EH 0009H 0040H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube5

;;        i=disp_data6;           
CLINE 0001H 0050H 0009H 0020H
	l	r0,	NEAR _disp_data6
	mov	r1,	#00h
	st	er0,	-2[fp]

;;        nixietube6.byte=Font_Table[i];                //number 6                 
CLINE 0001H 0051H 0009H 0051H
	add	er0,	er0
	l	r0,	NEAR _Font_Table[er0]
	st	r0,	NEAR _nixietube6

;;      set_font_bit();                                   
CLINE 0001H 0057H 0007H 0038H
	bl	_set_font_bit

;;      DSPCON=0x02u;               //lcd normal mode                  
CLINE 0001H 0058H 0007H 0045H
	mov	r0,	#02h
	st	r0,	0f0f4h
CBLOCKEND 1 2 89

;;}
CLINE 0001H 0059H 0001H 0001H
	mov	sp,	fp
	pop	fp
	pop	pc
CBLOCKEND 1 1 89
CFUNCTIONEND 1

CFUNCTION 5

_set_font_bit	:
CBLOCK 5 1 95

;;{    
CLINE 0001H 005FH 0001H 0005H
CBLOCK 5 2 95

;;        num_12A=nixietube1.bit.bit0;
CLINE 0001H 0061H 0009H 0024H
	tb	NEAR _nixietube1.0
	beq	_$M3
	sb	0f118h.3
	bal	_$M4
_$M3 :
	rb	0f118h.3
_$M4 :

;;        num_12B=nixietube1.bit.bit1;
CLINE 0001H 0062H 0009H 0024H
	tb	NEAR _nixietube1.1
	beq	_$M5
	sb	0f119h.2
	bal	_$M6
_$M5 :
	rb	0f119h.2
_$M6 :

;;        num_12C=nixietube1.bit.bit2;
CLINE 0001H 0063H 0009H 0024H
	tb	NEAR _nixietube1.2
	beq	_$M7
	sb	0f119h.0
	bal	_$M8
_$M7 :
	rb	0f119h.0
_$M8 :

;;        num_12D=nixietube1.bit.bit3;
CLINE 0001H 0064H 0009H 0024H
	tb	NEAR _nixietube1.3
	beq	_$M9
	sb	0f118h.0
	bal	_$M10
_$M9 :
	rb	0f118h.0
_$M10 :

;;        num_12E=nixietube1.bit.bit4;
CLINE 0001H 0065H 0009H 0024H
	tb	NEAR _nixietube1.4
	beq	_$M11
	sb	0f118h.1
	bal	_$M12
_$M11 :
	rb	0f118h.1
_$M12 :

;;        num_12F=nixietube1.bit.bit5;
CLINE 0001H 0066H 0009H 0024H
	tb	NEAR _nixietube1.5
	beq	_$M13
	sb	0f118h.2
	bal	_$M14
_$M13 :
	rb	0f118h.2
_$M14 :

;;        num_12G=nixietube1.bit.bit6;
CLINE 0001H 0067H 0009H 0024H
	tb	NEAR _nixietube1.6
	beq	_$M15
	sb	0f119h.1
	bal	_$M16
_$M15 :
	rb	0f119h.1
_$M16 :

;;        num_11A=nixietube2.bit.bit0;
CLINE 0001H 006AH 0009H 0024H
	tb	NEAR _nixietube2.0
	beq	_$M17
	sb	0f116h.3
	bal	_$M18
_$M17 :
	rb	0f116h.3
_$M18 :

;;        num_11B=nixietube2.bit.bit1;
CLINE 0001H 006BH 0009H 0024H
	tb	NEAR _nixietube2.1
	beq	_$M19
	sb	0f117h.2
	bal	_$M20
_$M19 :
	rb	0f117h.2
_$M20 :

;;        num_11C=nixietube2.bit.bit2;
CLINE 0001H 006CH 0009H 0024H
	tb	NEAR _nixietube2.2
	beq	_$M21
	sb	0f117h.0
	bal	_$M22
_$M21 :
	rb	0f117h.0
_$M22 :

;;        num_11D=nixietube2.bit.bit3;
CLINE 0001H 006DH 0009H 0024H
	tb	NEAR _nixietube2.3
	beq	_$M23
	sb	0f116h.0
	bal	_$M24
_$M23 :
	rb	0f116h.0
_$M24 :

;;        num_11E=nixietube2.bit.bit4;
CLINE 0001H 006EH 0009H 0024H
	tb	NEAR _nixietube2.4
	beq	_$M25
	sb	0f116h.1
	bal	_$M26
_$M25 :
	rb	0f116h.1
_$M26 :

;;        num_11F=nixietube2.bit.bit5;
CLINE 0001H 006FH 0009H 0024H
	tb	NEAR _nixietube2.5
	beq	_$M27
	sb	0f116h.2
	bal	_$M28
_$M27 :
	rb	0f116h.2
_$M28 :

;;        num_11G=nixietube2.bit.bit6;
CLINE 0001H 0070H 0009H 0024H
	tb	NEAR _nixietube2.6
	beq	_$M29
	sb	0f117h.1
	bal	_$M30
_$M29 :
	rb	0f117h.1
_$M30 :

;;        num_10A=nixietube3.bit.bit0;
CLINE 0001H 0074H 0009H 0024H
	tb	NEAR _nixietube3.0
	beq	_$M31
	sb	0f114h.3
	bal	_$M32
_$M31 :
	rb	0f114h.3
_$M32 :

;;        num_10B=nixietube3.bit.bit1;
CLINE 0001H 0075H 0009H 0024H
	tb	NEAR _nixietube3.1
	beq	_$M33
	sb	0f115h.2
	bal	_$M34
_$M33 :
	rb	0f115h.2
_$M34 :

;;        num_10C=nixietube3.bit.bit2;
CLINE 0001H 0076H 0009H 0024H
	tb	NEAR _nixietube3.2
	beq	_$M35
	sb	0f115h.0
	bal	_$M36
_$M35 :
	rb	0f115h.0
_$M36 :

;;        num_10D=nixietube3.bit.bit3;
CLINE 0001H 0077H 0009H 0024H
	tb	NEAR _nixietube3.3
	beq	_$M37
	sb	0f114h.0
	bal	_$M38
_$M37 :
	rb	0f114h.0
_$M38 :

;;        num_10E=nixietube3.bit.bit4;
CLINE 0001H 0078H 0009H 0024H
	tb	NEAR _nixietube3.4
	beq	_$M39
	sb	0f114h.1
	bal	_$M40
_$M39 :
	rb	0f114h.1
_$M40 :

;;        num_10F=nixietube3.bit.bit5;
CLINE 0001H 0079H 0009H 0024H
	tb	NEAR _nixietube3.5
	beq	_$M41
	sb	0f114h.2

⌨️ 快捷键说明

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