📄 12864_example.lis
字号:
.module _12864_Example.c
.area text(rom, con, rel)
0000 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/RD_ATMega16L.h
0000 .dbfunc e PORTDefine _PORTDefine fV
.even
0000 _PORTDefine::
0000 .dbline -1
0000 .dbline 76
0000 ; /********************************************************
0000 ; * 函数库说明:12864LCD显示示例程序 *
0000 ; * 版本: v1.0 *
0000 ; * 作者: 傻孩子 *
0000 ; * 日期: 2006年2月15日 *
0000 ; * 修改: 傻孩子 *
0000 ; * 修改日期: 2006年2月15日 *
0000 ; * *
0000 ; * 说明: *
0000 ; * 1、提供基本的现实函数。 *
0000 ; * 2、支持小组编程规范0.9版的要求。 *
0000 ; * 3、对外提供接口,支持位操作。 *
0000 ; * 4、注意,这里的X/Y是屏幕竖方时候的坐标轴, *
0000 ; * 如果使用字库,要使用转制过后竖向扫描的 *
0000 ; * 字库。 *
0000 ; * 5、为了兼容串行扫描方式,所以使用宏定义接口 *
0000 ; * 的方法。同时也支持非位操作的方式。 *
0000 ; ********************************************************/
0000 ; # include "RD_ATMega16L.h"
0000 ;
0000 ; /***********************
0000 ; * 系 统 宏 定 义 *
0000 ; ***********************/
0000 ; # pragma interrupt_handler Timer0OvfIsr:10
0000 ; /*---------------------*
0000 ; * 常 量 宏 定 义 *
0000 ; *---------------------*/
0000 ; #ifndef True
0000 ; # define True 0x01
0000 ; #endif
0000 ; #ifndef False
0000 ; # define False 0x00
0000 ; #endif
0000 ; #ifndef High
0000 ; # define High 0x01
0000 ; #endif
0000 ; #ifndef Low
0000 ; # define Low 0x00
0000 ; #endif
0000 ; #ifndef NULL
0000 ; # define NULL 0x00
0000 ; #endif
0000 ; /*---------------------*
0000 ; * 动 作 宏 定 义 *
0000 ; *---------------------*/
0000 ;
0000 ; /*---------------------*
0000 ; * SerialToCollateral.h *
0000 ; * 配置宏定义 *
0000 ; *---------------------*/
0000 ; # define VSCK _PD4
0000 ; # define VRCK _PD3
0000 ; # define VSI _PD5
0000 ; /*--- 定义_Use_16Bit_VitualPORT 选择两个595模式 ---*/
0000 ; # define _Use_16Bit_VitualPORT
0000 ;
0000 ; # include "SerialToCollateral.h"
0000 ;
0000 ;
0000 ; # define LCD12864_RS PV0
0000 ; # define LCD12864_RW PV1
0000 ; # define LCD12864_E PV2
0000 ; # define LCD12864_CSA PV3
0000 ; # define LCD12864_CSB PV4
0000 ; # define LCD12864_RST PV5
0000 ;
0000 ; # define SETBIT_RS LCD12864_RS = High;
0000 ; # define CLRBIT_RS LCD12864_RS = Low;
0000 ; # define SETBIT_RW LCD12864_RW = High;
0000 ; # define CLRBIT_RW LCD12864_RW = Low;
0000 ; # define SETBIT_E LCD12864_E = High;refreshVirtualPORT();
0000 ; # define CLRBIT_E LCD12864_E = Low;refreshVirtualPORT();
0000 ; # define SETBIT_CS1 LCD12864_CSA = High;
0000 ; # define CLRBIT_CS1 LCD12864_CSA = Low;
0000 ; # define SETBIT_CS2 LCD12864_CSB = High;
0000 ; # define CLRBIT_CS2 LCD12864_CSB = Low;
0000 .dbline 77
0000 ; # define SETBIT_RST LCD12864_RST = High;refreshVirtualPORT();
0000 8BE3 ldi R24,59
0002 90E0 ldi R25,0
0004 90931700 sts _PORTA_BIT+1,R25
0008 80931600 sts _PORTA_BIT,R24
000C .dbline 78
000C ; # define CLRBIT_RST LCD12864_RST = Low;refreshVirtualPORT();
000C 88E3 ldi R24,56
000E 90931500 sts _PORTB_BIT+1,R25
0012 80931400 sts _PORTB_BIT,R24
0016 .dbline 79
0016 ;
0016 85E3 ldi R24,53
0018 90931300 sts _PORTC_BIT+1,R25
001C 80931200 sts _PORTC_BIT,R24
0020 .dbline 80
0020 ; # define LCD12864_DataTransfer(a) VPORT &= 0x00ff;VPORT |= (a<<8); refreshVirtualPORT();
0020 82E3 ldi R24,50
0022 90931100 sts _PORTD_BIT+1,R25
0026 80931000 sts _PORTD_BIT,R24
002A .dbline 82
002A ;
002A ; # define ReadDataPORT
002A 8AE3 ldi R24,58
002C 90930F00 sts _DDRA_BIT+1,R25
0030 80930E00 sts _DDRA_BIT,R24
0034 .dbline 83
0034 ; # define SetDataPORTDirection_READ
0034 87E3 ldi R24,55
0036 90930D00 sts _DDRB_BIT+1,R25
003A 80930C00 sts _DDRB_BIT,R24
003E .dbline 84
003E ; # define SetDataPORTDirection_WRITE
003E 84E3 ldi R24,52
0040 90930B00 sts _DDRC_BIT+1,R25
0044 80930A00 sts _DDRC_BIT,R24
0048 .dbline 85
0048 ;
0048 81E3 ldi R24,49
004A 90930900 sts _DDRD_BIT+1,R25
004E 80930800 sts _DDRD_BIT,R24
0052 .dbline 87
0052 ;
0052 ; # define _LCD12864_WriteOnly
0052 89E3 ldi R24,57
0054 90930700 sts _PINA_BIT+1,R25
0058 80930600 sts _PINA_BIT,R24
005C .dbline 88
005C ; # define LCD12864_WaitTime 1
005C 86E3 ldi R24,54
005E 90930500 sts _PINB_BIT+1,R25
0062 80930400 sts _PINB_BIT,R24
0066 .dbline 89
0066 ; # include "RD_LCD12864.h"
0066 83E3 ldi R24,51
0068 90930300 sts _PINC_BIT+1,R25
006C 80930200 sts _PINC_BIT,R24
0070 .dbline 90
0070 ;
0070 80E3 ldi R24,48
0072 90930100 sts _PIND_BIT+1,R25
0076 80930000 sts _PIND_BIT,R24
007A .dbline -2
007A L1:
007A .dbline 0 ; func end
007A 0895 ret
007C .dbend
.area vector(rom, abs)
.org 36
0024 0C947002 jmp _Timer0OvfIsr
.area text(rom, con, rel)
007C .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/RD_ATMega16L.h
.area data(ram, con, rel)
0000 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/RD_ATMega16L.h
0000 _VPORT::
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/RD_ATMega16L.h
0002 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/SerialToCollateral.h
0002 .dbsym e VPORT _VPORT i
0002 _VPORTBit::
0002 .blkw 1
.area idata
0002 0000 .word _VPORT
.area data(ram, con, rel)
0004 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/SerialToCollateral.h
0004 .dbstruct 0 2 VirtualPORT
0004 .dbfield 0 BIT0 F[0:1]
0004 .dbfield 0 BIT1 F[1:1]
0004 .dbfield 0 BIT2 F[2:1]
0004 .dbfield 0 BIT3 F[3:1]
0004 .dbfield 0 BIT4 F[4:1]
0004 .dbfield 0 BIT5 F[5:1]
0004 .dbfield 0 BIT6 F[6:1]
0004 .dbfield 0 BIT7 F[7:1]
0004 .dbfield 0 BIT8 F[8:1]
0004 .dbfield 0 BIT9 F[9:1]
0004 .dbfield 0 BIT10 F[10:1]
0004 .dbfield 0 BIT11 F[11:1]
0004 .dbfield 0 BIT12 F[12:1]
0004 .dbfield 0 BIT13 F[13:1]
0004 .dbfield 0 BIT14 F[14:1]
0004 .dbfield 0 BIT15 F[15:1]
0004 .dbend
0004 .dbsym e VPORTBit _VPORTBit pS[VirtualPORT]
0004 _IfPortChange::
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/SerialToCollateral.h
0005 .dbsym e IfPortChange _IfPortChange c
.area text(rom, con, rel)
007C .dbfile G:\单片机\源程序\液晶12864驱动\CGM12864\LCD12864_Example/SerialToCollateral.h
007C .dbfunc e setBIT _setBIT fc
007C ; BIT -> R20
.even
007C _setBIT::
007C 0E940000 xcall push_gset1
0080 402F mov R20,R16
0082 .dbline -1
0082 .dbline 155
0082 ;
0082 ; /***********************
0082 ; * 全局变量声明区 *
0082 ; ***********************/
0082 ; unsigned int FlashGIFStringCounter = 0;
0082 ; unsigned int FlashTimeCounter = 0;
0082 ;
0082 ; flash char LOGO[1024] = {
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0xC0,0xE0,0xE0,0x60,
0082 ; 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,
0082 ; 0xF8,0xF8,0xC0,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,
0082 ; 0x40,0xE0,0xF0,0xB0,0xA0,0xA0,0xE0,0x40,0x00,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xC0,0x00,0x00,0x00,0xF0,0xF0,0x80,0x80,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xE0,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x90,
0082 ; 0xB8,0xF0,0xE0,0xB8,0x98,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x78,0xF0,0x10,0xF8,0xFC,0x8C,0xC8,0xFF,0x8F,
0082 ; 0x86,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x11,0x5B,0xFF,
0082 ; 0xFF,0xFF,0xFE,0xA6,0x04,0x04,0xFC,0xF8,0x08,0x00,0x00,0x00,0x00,0x04,0x0E,0x6E,
0082 ; 0x7E,0xFF,0xFF,0x1D,0x2F,0x27,0x37,0x1A,0x0C,0xFF,0xFF,0x02,0x02,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x08,0x9C,0xDC,0xFE,0x7F,0x3B,0x2C,0x66,0xEE,0xDF,0xFB,0xB1,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x38,0xF8,0xFC,0x7F,0x1F,0x4F,0xC7,
0082 ; 0x83,0x83,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1E,0x07,0x81,0x81,0xD9,
0082 ; 0xFD,0xFC,0xFC,0xEE,0x43,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
0082 ; 0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,
0082 ; 0x07,0x07,0x02,0x02,0x06,0x06,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x01,0x01,0x03,0x07,0x01,0x01,0x03,0x01,0x01,0x01,0x03,0x03,0x07,
0082 ; 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x03,0x03,0x01,0x00,0x00,0x00,0x00,
0082 ; 0x01,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,
0082 ; 0x08,0x0C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x78,0x88,
0082 ; 0x8E,0x0F,0x01,0x81,0x8E,0x8E,0xFA,0x72,0x02,0xE2,0xE2,0x02,0x02,0xFE,0xFC,0x00,
0082 ; 0x00,0x00,0x00,0xFE,0xFF,0x81,0x81,0x91,0x81,0xC1,0x7F,0x7F,0x41,0x41,0x41,0x91,
0082 ; 0x81,0x81,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFE,0x03,0x01,
0082 ; 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x70,0x10,0x10,
0082 ; 0x10,0xFE,0xFF,0x01,0x01,0x3F,0x3E,0x10,0x10,0x70,0xE0,0x00,0x00,0xC0,0xF0,0x3C,
0082 ; 0x0E,0x03,0x01,0x11,0x1C,0x1E,0xE2,0x02,0x02,0x22,0x22,0x02,0x02,0x02,0xFE,0xFC,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x3E,0x23,
0082 ; 0xE1,0xE0,0x00,0x00,0xF8,0xF9,0x0F,0x06,0x00,0xFF,0xFF,0x00,0x08,0x0F,0x0F,0xF8,
0082 ; 0x00,0x00,0x00,0xCC,0xC4,0x00,0x00,0x00,0x00,0x04,0xFC,0xFC,0x0D,0x01,0x02,0x03,
0082 ; 0x00,0x00,0xC4,0xC8,0x00,0x00,0xC0,0xE0,0x30,0x18,0x0C,0x06,0x03,0x00,0x00,0x30,
0082 ; 0x78,0xC0,0x80,0x00,0x00,0x00,0x10,0x20,0x00,0x00,0x18,0x3E,0x63,0x40,0xC0,0xE0,
0082 ; 0x38,0x3F,0x3F,0x00,0x00,0xFC,0xFC,0x40,0x80,0x80,0xC3,0x7E,0x30,0xD8,0xFD,0x27,
0082 ; 0x20,0x20,0x20,0xE0,0x72,0x3F,0x0C,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x3F,0xFF,
0082 ; 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,
0082 ; 0x05,0x07,0x06,0x06,0x07,0x07,0x06,0x06,0x04,0x05,0x07,0x06,0x06,0x06,0x07,0x05,
0082 ; 0x04,0x04,0x04,0x05,0x07,0x06,0x06,0x06,0x06,0x06,0x07,0x07,0x06,0x06,0x06,0x06,
0082 ; 0x06,0x06,0x07,0x05,0x04,0x04,0x04,0x07,0x06,0x06,0x06,0x06,0x05,0x04,0x04,0x04,
0082 ; 0x04,0x04,0x05,0x05,0x06,0x06,0x06,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x07,
0082 ; 0x06,0x06,0x06,0x06,0x06,0x07,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x07,0x06,
0082 ; 0x06,0x06,0x07,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x07,
0082 ; 0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x78,0x48,0xC8,0x98,0xB8,0x38,0x00,0x08,
0082 ; 0xF8,0xF8,0xC8,0xC8,0xF8,0xF8,0x08,0x08,0xF8,0xF8,0x08,0x08,0xF8,0xF8,0x08,0x00,
0082 ; 0x30,0x78,0x48,0xC8,0x98,0xB8,0x38,0x00,0x18,0x18,0x08,0xF8,0xF8,0x08,0x18,0x18,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x08,0xF8,0xF8,0x88,0x88,0xF8,0x70,0x00,0x00,0xF0,0xF8,
0082 ; 0x08,0x08,0x08,0xF8,0xF0,0x00,0x08,0xF8,0xF8,0x48,0x48,0xF8,0xB0,0x00,0x00,0xF0,
0082 ; 0xF8,0x08,0x08,0x08,0xF8,0xF0,0x00,0x18,0x18,0x08,0xF8,0xF8,0x08,0x18,0x18,0x08,
0082 ; 0xF8,0xF8,0x48,0xE8,0xF8,0x18,0x00,0x00,0x00,0xC8,0xF8,0xF8,0xC0,0x00,0x00,0x08,
0082 ; 0xF8,0xF8,0xF0,0xF0,0xF8,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0082 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x06,0x04,0x04,0x07,0x03,0x00,0x00,
0082 .dbline 156
0082 ; 0x01,0x07,0x07,0x07,0x07,0x01,0x00,0x00,0x03,0x07,0x04,0x04,0x07,0x03,0x00,0x00,
0082 4031 cpi R20,16
0084 10F0 brlo L3
0086 .dbline 157
0086 ; 0x07,0x07,0x06,0x04,0x04,0x07,0x03,0x00,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00,
0086 .dbline 158
0086 ; 0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x07,0x00,0x04,0x07,0x07,0x04,0x00,0x03,0x07,
0086 0027 clr R16
0088 15C0 xjmp L2
008A L3:
008A .dbline 161
008A ; 0x04,0x04,0x04,0x07,0x03,0x00,0x04,0x07,0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x03,
008A ; 0x07,0x04,0x04,0x04,0x07,0x03,0x00,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00,0x04,
008A ; 0x07,0x07,0x04,0x04,0x06,0x06,0x00,0x04,0x07,0x07,0x05,0x05,0x07,0x07,0x04,0x04,
008A 242F mov R18,R20
008C 3327 clr R19
008E 01E0 ldi R16,1
0090 10E0 ldi R17,0
0092 0E940000 xcall lsl16
0096 20900000 lds R2,_VPORT
009A 30900100 lds R3,_VPORT+1
009E 202A or R2,R16
00A0 312A or R3,R17
00A2 30920100 sts _VPORT+1,R3
00A6 20920000 sts _VPORT,R2
00AA .dbline 162
00AA ; 0x07,0x07,0x04,0x04,0x07,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
00AA 81E0 ldi R24,1
00AC 80930400 sts _IfPortChange,R24
00B0 .dbline 163
00B0 ; };
00B0 26D0 xcall _VirtualPORTProccess
00B2 .dbline 164
00B2 ;
00B2 01E0 ldi R16,1
00B4 .dbline -2
00B4 L2:
00B4 0E940000 xcall pop_gset1
00B8 .dbline 0 ; func end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -