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

📄 glcd.lst

📁 PIC KS0108 圖型液晶驅動C源碼
💻 LST
📖 第 1 页 / 共 5 页
字号:
   892                           ; Parameters:
   893                           ;		None
   894                           ; Registers used:
   895                           ;		wreg, fsr0l, fsr1l, fsr2l, status,2, status,0
      +                          , prodl, prodh
   896                           ; Tracked objects:
   897                           ;		On entry : 0/0
   898                           ;		On exit  : 0/0
   899                           ;		Unchanged: FFFFFFFF/0
   900                           ; Data sizes:
   901                           ;		Autos:    2
   902                           ;		Params:   0
   903                           ;		Temp:     0
   904                           ;		Total:    2
   905                           ; This function calls:
   906                           ;		_GLCD_SetPos
   907                           ;		_GLCD_WriteData
   908                           ; This function is called by:
   909                           ;		_GLCD_Init
   910  000214                     _GLCD_Clear:
   911                           ;glcd.c: 198: unsigned char x,y;
   912                           ;glcd.c: 199: for(y=0; y<8; y++)
   913                           ;access bank - no selection
   914  000214  6AE1               	clrf	225,c
   915  000216                     l26:
   916                           ;glcd.c: 200: {
   917                           ;glcd.c: 201: GLCD_SetPos(y, 0);
   918  000216  0101               	movlb	1	;banked
   919                           ;current bank (1) selected
   920  000218  6B19               	clrf	?_GLCD_SetPos& (0+255),b
   921                           ;access bank - no selection
   922  00021A  50E1               	movf	225,w,c
   923  00021C  D80C               	call	_GLCD_SetPos
   924                           ;glcd.c: 202: for(x=0; x<128; x++)
   925                           ;access bank - no selection
   926  00021E  6AE9               	clrf	233,c
   927  000220                     l29:
   928  000220  0E00               	movlw	0
   929  000222  D82D               	call	_GLCD_WriteData
   930                           ;access bank - no selection
   931  000224  2AE9               	incf	233,f,c
   932  000226  0E7F               	movlw	-129
   933                           ;access bank - no selection
   934  000228  64E9               	cpfsgt	233,c
   935  00022A  D7FA               	goto	l29
   936                           ;access bank - no selection
   937  00022C  2AE1               	incf	225,f,c
   938  00022E  0E07               	movlw	7
   939                           ;access bank - no selection
   940  000230  64E1               	cpfsgt	225,c
   941  000232  D7F1               	goto	l26
   942  000234  0012               	return	
   943                           ;glcd.c: 204: }
   944                           ;glcd.c: 205: }
   945                           ; =============== function _GLCD_Clear ends ====
      +                          ========
   946                           ; *************** function _GLCD_SetPos ********
      +                          *********
   947                           ; Defined at:
   948                           ;		line 229 in file "E:\DOC\ELECTRONIC\PIC\Proje
      +                          ct\Libs\4455glcd\glcd.c"
   949                           ; Parameters:
   950                           ;		line        	reg: wreg	type: unsigned char 
   951                           ;		pos         	       	type: unsigned char 
   952                           ; Registers used:
   953                           ;		wreg, fsr2l, status,2, status,0, prodl, prodh
   954                           ; Tracked objects:
   955                           ;		On entry : 0/0
   956                           ;		On exit  : 0/0
   957                           ;		Unchanged: FFFFFFFF/0
   958                           ; Data sizes:
   959                           ;		Autos:    1
   960                           ;		Params:   1
   961                           ;		Temp:     0
   962                           ;		Total:    2
   963                           ; This function calls:
   964                           ;		_GLCD_ChipSelect
   965                           ;		_GLCD_WriteCommand
   966                           ; This function is called by:
   967                           ;		_GLCD_ReadData
   968                           ;		_GLCD_Clear
   969                           ;		_GLCD_WriteData
   970                           ;		_GLCD_WriteCombineData
   971                           ;		_GLCD_WriteString
   972                           ;		_GLCD_WriteAlignString
   973                           ;		_GLCD_WriteDot
   974                           ;		_GLCD_WriteDotCombine
   975                           ;		_main
   976  000236                     _GLCD_SetPos:
   977                           ; _GLCD_SetPos_line loaded to fsr2l
   978  000236  CFE8 FFD9          	movff	wreg,fsr2l
   979                           ;glcd.c: 228: void GLCD_SetPos(unsigned char lin
      +                          e, unsigned char pos)
   980                           ;glcd.c: 229: {
   981                           ;glcd.c: 230: GLCD_pos = pos;
   982  00023A  0101               	movlb	1	;banked
   983  00023C  C119  F005         	movff	?_GLCD_SetPos,5
   984                           ;glcd.c: 231: if(pos < 64)
   985  000240  0E40               	movlw	64
   986                           ;current bank (1) selected
   987                           ;current bank (1) selected
   988  000242  6119               	cpfslt	?_GLCD_SetPos& (0+255),b
   989  000244  D007               	goto	l35
   990                           ;glcd.c: 232: {
   991                           ;glcd.c: 233: GLCD_ChipSelect(0);
   992  000246  0E00               	movlw	0
   993  000248  D80F               	call	_GLCD_ChipSelect
   994                           ;glcd.c: 234: GLCD_WriteCommand(0b01000000 + pos
      +                          );
   995  00024A  0101               	movlb	1	;banked
   996                           ;current bank (1) selected
   997  00024C  5119               	movf	?_GLCD_SetPos& (0+255),w,b
   998  00024E  0F40               	addlw	64
   999  000250  DFCC               	call	_GLCD_WriteCommand
  1000  000252  D005               	goto	L2
  1001                           ;glcd.c: 235: GLCD_line = line; GLCD_WriteComman
      +                          d(0b10111000 + line);
  1002                           ;access bank - no selection
  1003                           ;glcd.c: 236: }
  1004  000254                     l35:
  1005                           ;glcd.c: 237: else
  1006                           ;glcd.c: 238: {
  1007                           ;glcd.c: 239: GLCD_ChipSelect(1);
  1008  000254  0E01               	movlw	1
  1009  000256  D808               	call	_GLCD_ChipSelect
  1010                           ;glcd.c: 240: GLCD_WriteCommand(0b01000000 + pos
      +                           - 64);
  1011  000258  0101               	movlb	1	;banked
  1012                           ;current bank (1) selected
  1013  00025A  5119               	movf	?_GLCD_SetPos& (0+255),w,b
  1014  00025C  DFC6               	call	_GLCD_WriteCommand
  1015  00025E                     L2:
  1016                           ;glcd.c: 241: GLCD_line = line; GLCD_WriteComman
      +                          d(0b10111000 + line);
  1017  00025E  CFD9 F006          	movff	fsr2l,6
  1018                           ;access bank - no selection
  1019  000262  50D9               	movf	217,w,c
  1020  000264  0FB8               	addlw	184
  1021  000266  D7C1               	goto	_GLCD_WriteCommand
  1022                           ;glcd.c: 242: }
  1023                           ;glcd.c: 243: }
  1024                           ; =============== function _GLCD_SetPos ends ===
      +                          =========
  1025                           ; *************** function _GLCD_ChipSelect ****
      +                          *************
  1026                           ; Defined at:
  1027                           ;		line 59 in file "E:\DOC\ELECTRONIC\PIC\Projec
      +                          t\Libs\4455glcd\glcd.c"
  1028                           ; Parameters:
  1029                           ;		x           	reg: wreg	type: unsigned char 
  1030                           ; Registers used:
  1031                           ;		wreg, status,2, status,0, prodl, prodh
  1032                           ; Tracked objects:
  1033                           ;		On entry : 0/0
  1034                           ;		On exit  : 0/0
  1035                           ;		Unchanged: FFFFFFFF/0
  1036                           ; Data sizes:
  1037                           ;		Autos:    1
  1038                           ;		Params:   0
  1039                           ;		Temp:     0
  1040                           ;		Total:    1
  1041                           ; This function calls:
  1042                           ;		_DelayUs
  1043                           ; This function is called by:
  1044                           ;		_GLCD_ReadData
  1045                           ;		_GLCD_SetPos
  1046                           ;		_GLCD_WriteData
  1047  000268                     _GLCD_ChipSelect:
  1048                           ; _GLCD_ChipSelect_F701_x loaded to prodl
  1049  000268  CFE8 FFF3          	movff	wreg,prodl
  1050                           ;glcd.c: 58: void GLCD_ChipSelect(unsigned char 
      +                          x)
  1051                           ;glcd.c: 59: {
  1052                           ;glcd.c: 60: PORTB &= ~0x03;
  1053  00026C  0EFC               	movlw	252
  1054                           ;access bank - no selection
  1055  00026E  1681               	andwf	129,f,c	;volatile
  1056                           ;glcd.c: 61: if(x==0)
  1057                           ;access bank - no selection
  1058  000270  66F3               	tstfsz	243,c
  1059  000272  D002               	goto	l17
  1060                           ;glcd.c: 62: PORTB |= 0x01;
  1061                           ;access bank - no selection
  1062  000274  8081               	bsf	129,0,c	;volatile
  1063  000276  D001               	goto	l18
  1064  000278                     l17:
  1065                           ;glcd.c: 63: else
  1066                           ;glcd.c: 64: PORTB |= 0x02;
  1067                           ;access bank - no selection
  1068  000278  8281               	bsf	129,1,c	;volatile
  1069  00027A                     l18:
  1070                           ;glcd.c: 65: DelayUs(1);
  1071  00027A  0E01               	movlw	1
  1072  00027C  D796               	goto	_DelayUs
  1073                           ;glcd.c: 66: }
  1074                           ; =============== function _GLCD_ChipSelect ends
      +                           ============
  1075                           ; *************** function _GLCD_WriteData *****
      +                          ************
  1076                           ; Defined at:
  1077                           ;		line 249 in file "E:\DOC\ELECTRONIC\PIC\Proje
      +                          ct\Libs\4455glcd\glcd.c"
  1078                           ; Parameters:
  1079                           ;		cData       	reg: wreg	type: unsigned char 
  1080                           ; Registers used:
  1081                           ;		wreg, fsr2l, status,2, status,0, prodl, prodh
  1082                           ; Tracked objects:
  1083                           ;		On entry : 0/0
  1084                           ;		On exit  : 0/0
  1085                           ;		Unchanged: FFFFFFFF/0
  1086                           ; Data sizes:
  1087                           ;		Autos:    1
  1088                           ;		Params:   0
  1089                           ;		Temp:     0
  1090                           ;		Total:    1
  1091                           ; This function calls:
  1092                           ;		_GLCD_Strobe
  1093                           ;		_GLCD_ChipSelect
  1094                           ;		_GLCD_SetPos
  1095                           ; This function is called by:
  1096                           ;		_GLCD_Clear
  1097                           ;		_GLCD_WriteCombineData
  1098                           ;		_GLCD_WriteChar
  1099                           ;		_GLCD_WritePackedChar
  1100                           ;		_GLCD_WriteDot
  1101                           ;		_GLCD_WriteDotCombine
  1102                           ;		_main
  1103  00027E                     _GLCD_WriteData:
  1104                           ;glcd.c: 248: void GLCD_WriteData(unsigned char 
      +                          cData)
  1105                           ;glcd.c: 249: {
  1106                           ;glcd.c: 251: RC1 = 1;
  1107                           ;access bank - no selection
  1108  00027E  8282               	bsf	3970,1,c	;volatile
  1109                           ;glcd.c: 255: PORTD = cData;
  1110  000280  CFE8 FF83          	movff	wreg,3971	;volatile
  1111                           ;glcd.c: 257: GLCD

⌨️ 快捷键说明

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