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

📄 display.s

📁 环保型IC卡门禁系统的C程序
💻 S
字号:
	.module display.c
	.area text(rom, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
	.dbfunc e display _display fV
	.area func_lit(rom, con, rel)
L41:
	.word `L7
	.word `L9
	.word `L11
	.word `L13
	.word `L15
	.word `L17
	.word `L19
	.word `L21
	.word `L23
	.word `L25
	.word `L27
	.word `L29
	.word `L31
	.word `L33
	.word `L35
	.word `L37
	.word `L39
	.area text(rom, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
;           line -> R22
;       position -> R20
;            Num -> R10
	.even
_display::
	rcall push_gset3
	mov R20,R18
	mov R10,R16
	sbiw R28,2
	.dbline -1
	.dbline 6
; #include <iom8v.h>
; #include <macros.h>
; #include "lcd1602.h"
; 
; void display(unsigned char Num , unsigned char position)
; {
	.dbline 7
;   unsigned char line=0 ;
	clr R22
	.dbline 9
;   
;   if(position<16)  { line=0; }
	cpi R20,16
	brsh L2
	.dbline 9
	.dbline 9
	.dbline 9
	rjmp L3
L2:
	.dbline 10
;   else      { position -= 16 ;  line=1; }
	.dbline 10
	subi R20,16
	.dbline 10
	ldi R22,1
	.dbline 10
L3:
	.dbline 12
;   
;   switch (Num) 
	clr R11
	movw R24,R10
	cpi R24,0
	ldi R30,0
	cpc R25,R30
	brge X1
	rjmp L4
X1:
	ldi R24,16
	cp R24,R10
	cpc R25,R11
	brge X2
	rjmp L4
X2:
	ldi R16,2
	ldi R17,0
	movw R18,R10
	rcall empy16s
	movw R30,R16
	ldi R24,<L41
	ldi R25,>L41
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ijmp
X0:
	.dbline 13
;   {
L7:
	.dbline 14
; 	case 0 : LCD_write_string(position,line,"0");
	ldi R24,<L8
	ldi R25,>L8
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 15
; 	         break ;
	rjmp L5
L9:
	.dbline 16
; 	case 1 : LCD_write_string(position,line,"1");
	ldi R24,<L10
	ldi R25,>L10
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 17
; 	         break ;
	rjmp L5
L11:
	.dbline 18
; 	case 2 : LCD_write_string(position,line,"2");
	ldi R24,<L12
	ldi R25,>L12
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 19
; 	         break ;
	rjmp L5
L13:
	.dbline 20
; 	case 3 : LCD_write_string(position,line,"3");
	ldi R24,<L14
	ldi R25,>L14
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 21
; 	         break ;
	rjmp L5
L15:
	.dbline 22
; 	case 4 : LCD_write_string(position,line,"4");
	ldi R24,<L16
	ldi R25,>L16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 23
; 	         break ;
	rjmp L5
L17:
	.dbline 24
; 	case 5 : LCD_write_string(position,line,"5");
	ldi R24,<L18
	ldi R25,>L18
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 25
; 	         break ;
	rjmp L5
L19:
	.dbline 26
; 	case 6 : LCD_write_string(position,line,"6");
	ldi R24,<L20
	ldi R25,>L20
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 27
; 	         break ;
	rjmp L5
L21:
	.dbline 28
; 	case 7 : LCD_write_string(position,line,"7");
	ldi R24,<L22
	ldi R25,>L22
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 29
; 	         break ;
	rjmp L5
L23:
	.dbline 30
; 	case 8 : LCD_write_string(position,line,"8");
	ldi R24,<L24
	ldi R25,>L24
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 31
; 	         break ;
	rjmp L5
L25:
	.dbline 32
; 	case 9 : LCD_write_string(position,line,"9");
	ldi R24,<L26
	ldi R25,>L26
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 33
; 	         break ;
	rjmp L5
L27:
	.dbline 34
; 	case 10 : LCD_write_string(position,line,"a");
	ldi R24,<L28
	ldi R25,>L28
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 35
; 	         break ;
	rjmp L5
L29:
	.dbline 36
; 	case 11 : LCD_write_string(position,line,"b");
	ldi R24,<L30
	ldi R25,>L30
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 37
; 	         break ;
	rjmp L5
L31:
	.dbline 38
; 	case 12 : LCD_write_string(position,line,"c");
	ldi R24,<L32
	ldi R25,>L32
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 39
; 	         break ;
	rjmp L5
L33:
	.dbline 40
; 	case 13 : LCD_write_string(position,line,"d");
	ldi R24,<L34
	ldi R25,>L34
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 41
; 	         break ;
	rjmp L5
L35:
	.dbline 42
; 	case 14 : LCD_write_string(position,line,"e");
	ldi R24,<L36
	ldi R25,>L36
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 43
; 	         break ;
	rjmp L5
L37:
	.dbline 44
; 	case 15 : LCD_write_string(position,line,"f");
	ldi R24,<L38
	ldi R25,>L38
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 45
; 	         break ;
	rjmp L5
L39:
	.dbline 46
; 	case 16 : LCD_write_string(position,line,"*");
	ldi R24,<L40
	ldi R25,>L40
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _LCD_write_string
	.dbline 47
; 	         break ;
L4:
L5:
	.dbline 49
;   }
;   delay_nms(2);
	ldi R16,2
	ldi R17,0
	rcall _delay_nms
	.dbline -2
L1:
	adiw R28,2
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r line 22 c
	.dbsym r position 20 c
	.dbsym r Num 10 c
	.dbend
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L40:
	.blkb 2
	.area idata
	.byte 42,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L38:
	.blkb 2
	.area idata
	.byte 'f,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L36:
	.blkb 2
	.area idata
	.byte 'e,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L34:
	.blkb 2
	.area idata
	.byte 'd,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L32:
	.blkb 2
	.area idata
	.byte 'c,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L30:
	.blkb 2
	.area idata
	.byte 'b,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L28:
	.blkb 2
	.area idata
	.byte 'a,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L26:
	.blkb 2
	.area idata
	.byte 57,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L24:
	.blkb 2
	.area idata
	.byte 56,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L22:
	.blkb 2
	.area idata
	.byte 55,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L20:
	.blkb 2
	.area idata
	.byte 54,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L18:
	.blkb 2
	.area idata
	.byte 53,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L16:
	.blkb 2
	.area idata
	.byte 52,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L14:
	.blkb 2
	.area idata
	.byte 51,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L12:
	.blkb 2
	.area idata
	.byte 50,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L10:
	.blkb 2
	.area idata
	.byte 49,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L8:
	.blkb 2
	.area idata
	.byte 48,0
	.area data(ram, con, rel)
	.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c

⌨️ 快捷键说明

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