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

📄 main.lst

📁 液晶控制器S6B0724的控制。mplab 7.60+pic ccs 4.057
💻 LST
📖 第 1 页 / 共 4 页
字号:
....................       0x9E,0x7F,0x73,0x18,0x0E,0xF3,0xFF,0xFF, 
....................       0xFF,0xFF,0xFF,0x0F,0x1F,0x1F,0x0F,0x7F, 
....................       0xFF,0xFF,0xFE,0xFC,0xFC,0xF8,0x18,0xFD, 
....................       0xFF,0xFF,0x7E,0x1C,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x01,0x03,0x27,0x26,0x30,0x30, 
....................       0x3F,0x3F,0x3F,0x3F,0x3E,0x26,0x22,0x39, 
....................       0x39,0x20,0x3C,0x3E,0x3F,0x3F,0x3F,0x3F, 
....................       0x3E,0x38,0x38,0x39,0x39,0x38,0x38,0x3A, 
....................       0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 
....................       0x3A,0x3A,0x3A,0x3B,0x3B,0x3B,0x3B,0x3B, 
....................       0x3B,0x3B,0x39,0x38,0x38,0x39,0x39,0x39, 
....................       0x39,0x38,0x38,0x38,0x3E,0x3F,0x3F,0x3F, 
....................       0x3F,0x3E,0x3E,0x31,0x39,0x39,0x30,0x34, 
....................       0x3E,0x3F,0x3F,0x3F,0x3F,0x3B,0x3A,0x33, 
....................       0x33,0x31,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       };//256 
....................     int8 const nBitmapDot4[] =  
....................       { 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, 
....................       0x08,0x08,0x08,0x88,0xE8,0x18,0x88,0x08, 
....................       0x08,0x08,0x00,0xA0,0x20,0x20,0xE0,0x80, 
....................       0xE0,0xB8,0xA0,0xF8,0xA0,0xA0,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0xF8,0x08,0x08, 
....................       0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x08, 
....................       0xE8,0xA8,0xA8,0xF8,0xA8,0xF8,0xA8,0xA8, 
....................       0xE8,0x08,0x00,0x10,0x10,0x90,0xD0,0x70, 
....................       0x58,0x50,0x50,0xD0,0x10,0x10,0x00,0x00, 
....................       0xC0,0x38,0x10,0x50,0x50,0x50,0x58,0x50, 
....................       0x50,0x10,0x00,0x00,0x80,0x00,0xE0,0x00, 
....................       0x08,0x70,0x00,0x00,0x80,0x00,0x00,0x00, 
....................       0x00,0x00,0x80,0x78,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04, 
....................       0x04,0x02,0x01,0x00,0x3F,0x00,0x00,0x01, 
....................       0x02,0x04,0x00,0x10,0x09,0x06,0x19,0x00, 
....................       0x3F,0x24,0x24,0x3F,0x24,0x24,0x00,0x00, 
....................       0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00, 
....................       0x00,0x00,0x00,0x20,0x10,0x09,0x05,0x01, 
....................       0x01,0x01,0x05,0x09,0x10,0x20,0x00,0x22, 
....................       0x22,0x2A,0x2E,0x2B,0x12,0x1A,0x16,0x22, 
....................       0x22,0x02,0x00,0x02,0x01,0x00,0x3F,0x0A, 
....................       0x0A,0x0A,0x2A,0x3F,0x00,0x00,0x00,0x01, 
....................       0x3F,0x00,0x00,0x3D,0x15,0x15,0x15,0x15, 
....................       0x3D,0x00,0x00,0x04,0x03,0x00,0x3F,0x20, 
....................       0x20,0x20,0x20,0x3C,0x01,0x06,0x00,0x00, 
....................       0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00 
.................... }; 
....................  
....................  
....................  
.................... int1 Timer0_Flag=FALSE; 
*
0690:  BCF    03.5
0691:  BCF    36.0
.................... //#define CMD  0 
.................... //#define DAT  1 
.................... #define PAGES   8 
.................... #define COLUMNS 131   //64*131 
.................... #define LCD_DATA *(0x07) 
....................  
.................... void SFR_Init() 
.................... { 
.................... 	set_tris_a(0xff); 
*
04BB:  MOVLW  FF
04BC:  BSF    03.5
04BD:  MOVWF  05
.................... 	set_tris_b(0x01); 
04BE:  MOVLW  01
04BF:  MOVWF  06
.................... 	set_tris_c(0x00); 
04C0:  MOVLW  00
04C1:  MOVWF  07
.................... 	port_b_pullups(0xff); 
04C2:  BCF    01.7
.................... 	InitTimer0(); 
.................... 	Key_Init(); 
....................  
.................... } 
*
04D2:  BCF    0A.3
04D3:  GOTO   696 (RETURN)
.................... void LCD_WriteCmd(int8 cmd) 
.................... { 
.................... 	disable_interrupts(INT_RTCC); 
*
0451:  BCF    0B.5
.................... 	output_low(PIN_B5);  //CS1=0; 
0452:  BCF    06.5
.................... 	output_low(PIN_B2);  //A0=0	 
0453:  BCF    06.2
.................... 	output_high(PIN_B4); //R=1 
0454:  BSF    06.4
.................... 	LCD_DATA=cmd; 
0455:  MOVF   41,W
0456:  MOVWF  07
.................... 	output_low(PIN_B3); //WR=0 
0457:  BCF    06.3
.................... 	#asm 
.................... 	NOP 
0458:  NOP
.................... 	NOP 
0459:  NOP
.................... 	NOP 
045A:  NOP
.................... 	NOP 
045B:  NOP
.................... 	#endasm 
.................... 	output_high(PIN_B3);  //WR=1 
045C:  BSF    06.3
.................... 	output_high(PIN_B5);  //CS1=1 
045D:  BSF    06.5
.................... 	enable_interrupts(INT_RTCC); 
045E:  BSF    0B.5
.................... } 
045F:  RETLW  00
....................  
.................... void LCD_WriteDat(int8 dat) 
.................... { 
.................... 	disable_interrupts(INT_RTCC); 
*
05B5:  BCF    0B.5
.................... 	output_low(PIN_B5);  //CS1=0; 
05B6:  BCF    06.5
.................... 	output_high(PIN_B2);  //A0=1	 
05B7:  BSF    06.2
.................... 	output_high(PIN_B4);  //R=1 
05B8:  BSF    06.4
.................... 	LCD_DATA=dat; 
05B9:  MOVF   40,W
05BA:  MOVWF  07
.................... 	output_low(PIN_B3); //WR=0 
05BB:  BCF    06.3
.................... 	#asm 
.................... 	NOP 
05BC:  NOP
.................... 	NOP 
05BD:  NOP
.................... 	NOP 
05BE:  NOP
.................... 	NOP 
05BF:  NOP
.................... 	#endasm 
.................... 	output_high(PIN_B3);  //WR=1 
05C0:  BSF    06.3
.................... 	output_high(PIN_B5);  //CS1=1; 
05C1:  BSF    06.5
.................... 	enable_interrupts(INT_RTCC); 
05C2:  BSF    0B.5
.................... 	//output_c(0xff); 
.................... } 
05C3:  RETLW  00
.................... int8 LCD_ReadStatus() 
.................... { 
.................... 	int8 dat; 
.................... 	set_tris_c(0xff); 
*
05DB:  MOVLW  FF
05DC:  BSF    03.5
05DD:  MOVWF  07
.................... 	output_low(PIN_B2);  //A0=0 
05DE:  BCF    03.5
05DF:  BCF    06.2
.................... 	output_high(PIN_B3);  //WR=1 
05E0:  BSF    06.3
.................... 	output_low(PIN_B4); //R=0 
05E1:  BCF    06.4
.................... 	#asm 
.................... 	NOP 
05E2:  NOP
.................... 	NOP 
05E3:  NOP
.................... 	NOP 
05E4:  NOP
.................... 	NOP 
05E5:  NOP
.................... 	#endasm 
.................... 	dat=input_c(); 
05E6:  MOVF   07,W
05E7:  MOVWF  3B
.................... 	output_high(PIN_B4);  //R=1 
05E8:  BSF    06.4
.................... 	set_tris_c(0x00); 
05E9:  MOVLW  00
05EA:  BSF    03.5
05EB:  MOVWF  07
.................... 	return dat; 
05EC:  BCF    03.5
05ED:  MOVF   3B,W
05EE:  MOVWF  21
.................... } 
05EF:  BCF    0A.3
05F0:  GOTO   699 (RETURN)
....................  
.................... //SetPage 0-7 
.................... void LCD_SelPage(int8 page) 
.................... { 
.................... 	page=page%PAGES; 
*
056F:  MOVLW  07
0570:  ANDWF  3D,F
.................... 	LCD_WriteCmd(0xb0+page); 
0571:  MOVLW  B0
0572:  ADDWF  3D,W
0573:  MOVWF  3E
0574:  CLRF   2E
0575:  BTFSC  0B.7
0576:  BSF    2E.7
0577:  BCF    0B.7
0578:  MOVF   3E,W
0579:  MOVWF  41
057A:  CALL   451
057B:  BTFSC  2E.7
057C:  BSF    0B.7
.................... } 
057D:  RETLW  00
....................  
.................... //SetColumn 0-131  (131*64)  
.................... void LCD_SelColumn(int8 column) 
.................... { 
.................... 	column=column%COLUMNS; 
057E:  MOVF   3D,W
057F:  MOVWF  3E
0580:  MOVLW  83
0581:  MOVWF  3F
*
0596:  MOVF   20,W
0597:  MOVWF  3D
.................... 	LCD_WriteCmd(column&0x0f);  //列的低四位 
0598:  MOVF   3D,W
0599:  ANDLW  0F
059A:  MOVWF  3E
059B:  CLRF   2E
059C:  BTFSC  0B.7
059D:  BSF    2E.7
059E:  BCF    0B.7
059F:  MOVF   3E,W
05A0:  MOVWF  41
05A1:  CALL   451
05A2:  BTFSC  2E.7
05A3:  BSF    0B.7
.................... 	column>>=4; 
05A4:  SWAPF  3D,F
05A5:  MOVLW  0F
05A6:  ANDWF  3D,F
.................... 	LCD_WriteCmd(0x10|(column&0x0f)); //列的高四位 
05A7:  MOVF   3D,W
05A8:  ANDLW  0F
05A9:  IORLW  10
05AA:  MOVWF  3E
05AB:  CLRF   2E
05AC:  BTFSC  0B.7
05AD:  BSF    2E.7
05AE:  BCF    0B.7
05AF:  MOVF   3E,W
05B0:  MOVWF  41
05B1:  CALL   451
05B2:  BTFSC  2E.7
05B3:  BSF    0B.7
.................... } 
05B4:  RETLW  00
....................  
.................... void LCD_Clear() 
.................... { 
.................... 	int8 i,j; 
.................... 	for(i=0;i<8;i++) 
*
05C4:  CLRF   3B
05C5:  MOVF   3B,W
05C6:  SUBLW  07
05C7:  BTFSS  03.0
05C8:  GOTO   5D9
.................... 	{ 
.................... 	    LCD_SelPage(i); 
05C9:  MOVF   3B,W
05CA:  MOVWF  3D
05CB:  CALL   56F
.................... 		LCD_SelColumn(0); 
05CC:  CLRF   3D
05CD:  CALL   57E
.................... 		for(j=0;j<COLUMNS;j++) 
05CE:  CLRF   3C
05CF:  MOVF   3C,W
05D0:  SUBLW  82
05D1:  BTFSS  03.0
05D2:  GOTO   5D7
.................... 		{ 
.................... 			LCD_WriteDat(0x00); 
05D3:  CLRF   40
05D4:  CALL   5B5
.................... 		} 
05D5:  INCF   3C,F
05D6:  GOTO   5CF
.................... 	} 
05D7:  INCF   3B,F
05D8:  GOTO   5C5
.................... } 
05D9:  BCF    0A.3
05DA:  GOTO   698 (RETURN)
....................  
.................... //从第page行,第column列开始,显示len个字母。Flag为反白显示。TRUE反白。 
.................... /*************************************************** 
.................... // 函数原型:    Display_En(int8,int8,int8,int1) 
.................... // 入口参数:    page 起始行,column 起始列,len 字符个数,Flag 反白显示。 
.................... // 出口参数:  void 
.................... // 功    能:    显示8*5字符。 
.................... // 最后修改:    2008.09.29 
.................... // 注    意:	本函数具有自动换行功能  
.................... 				Flag=0  正常显示 
.................... 				Flag=1  反白显示 
.................... ***************************************************/ 
.................... void Display_En(int8 page,int8 column,int8 len,int8 *En,int1 Flag) 
.................... { 
.................... 	int8 i,j,count; 
.................... 	count=column;  //对列进行计数,若大于本行的最大列,则转移到下一行。 
.................... 	 
.................... 	page=page%PAGES; //防止输入的行超过0-7 
.................... 	column=column%COLUMNS; //防止输入的列超过0-131 
.................... 	 
.................... 	LCD_SelPage(page);    
....................     LCD_SelColumn(column); 
....................      
.................... 	for(i=0;i<len;i++) 
.................... 	{ 
.................... 		if(count+5>COLUMNS-1 && page<PAGES-1)  //如果本行已经不够显示此字符,且行小于在0-6,则转移到下一行。 
.................... 		{  
....................         	LCD_SelPage(++page);    // 
.................... 			LCD_SelColumn(0); 
.................... 			count=0; 
.................... 		} 
.................... 		for(j=0;j<5;j++) 
.................... 		{ 
.................... 			if(Flag)   
.................... 			LCD_WriteDat(~En[i*5+j]);//反白 
.................... 		    else 
.................... 			LCD_WriteDat(En[i*5+j]); 
.................... 		} 
.................... 		count=count+5;    //列数监视 
.................... 	} 
.................... } 
....................  
.................... /*************************************************** 
.................... // 函数原型:    Display_En_16X8(int8,int8,int8,int1) 
.................... // 入口参数:    page 起始行,column 起始列,len 字符个数,Flag 反白显示。 
.................... // 出口参数:  void 
.................... // 功    能:    显示16*8字符。 
.................... // 最后修改:    2008.09.29 

⌨️ 快捷键说明

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