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

📄 test.s

📁 基于AVR和51的240*128液晶显示模块驱动程序。很有用的喔~
💻 S
📖 第 1 页 / 共 3 页
字号:
	.module Test.c
	.area text(rom, con, rel)
;             us -> R16
	.even
_delay_us::
L2:
L3:
; #include "LCM_240128.h"
; #include <iom16v.h>
; //#include <util/delay.h>     //头文件
; //#include <avr/pgmspace.h>	//空间分配定义头文件
; /*
; const unsigned char testbmp[]={
; 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,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,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,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,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,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,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,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,
; 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,0x04,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,0x06,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,0x0F,
; 0x00,0x00,0x00,0x02,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,0x80,0x00,
; 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x81,
; 0x80,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x03,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x80,0x00,0x00,
; 0x00,0xF1,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
; 0xE0,0x00,0x00,0xFF,0x80,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x01,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0xA0,0x00,
; 0x00,0x00,0x00,0x00,0x18,0x04,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x03,0x00,0x00,
; 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x60,0x00,0x00,0x06,
; 0x00,0x00,0x7F,0x85,0xC0,0x00,0x00,0xE0,0x20,0x00,0x00,0x06,0x00,0x00,0x01,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0C,0x40,0x00,0x00,0x02,0x00,0x00,
; 0x0A,0x07,0x40,0x00,0x00,0x80,0x40,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x13,0xC0,0x00,0x00,0x03,0xE0,0x00,0x0C,0x02,
; 0xC0,0x00,0x00,0xC3,0xC0,0x00,0x00,0x08,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x0C,0x11,0x80,0x00,0x00,0x07,0x00,0x00,0x0C,0x03,0x80,0x00,
; 0x00,0xC3,0xC0,0x00,0x00,0x18,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x02,0x21,0xE0,0x00,0x00,0x3B,0x00,0x00,0x0C,0x03,0xC0,0x00,0x00,0xCF,
; 0x00,0x00,0x00,0x1C,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x02,0x21,0x10,0x00,0x03,0xC3,0x00,0x00,0x0C,0x06,0x03,0xC0,0x00,0xFA,0x18,0x00,
; 0x00,0x04,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x22,
; 0x0C,0x00,0x02,0x03,0x00,0x00,0x0C,0x00,0x1C,0x60,0x00,0xFE,0x30,0x00,0x00,0x02,
; 0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x42,0x02,0x00,
; 0x00,0x03,0x00,0x00,0x1C,0x80,0xE0,0x20,0x00,0x12,0x60,0x00,0x00,0x02,0x00,0x00,
; 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x44,0x01,0x80,0x00,0x02,
; 0x00,0x00,0x1C,0xC3,0x80,0x60,0x00,0x32,0xC0,0x00,0x00,0x02,0x00,0x00,0x04,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8C,0x00,0x60,0x00,0x02,0x00,0x00,
; 0x1C,0x5D,0x60,0x60,0x00,0x3B,0x80,0x00,0x00,0x02,0x00,0x00,0x04,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x88,0x00,0x00,0x00,0x02,0x00,0x00,0x1C,0x61,
; 0xF0,0x40,0x00,0x4B,0x00,0x00,0x00,0x02,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x03,0x17,0x00,0x00,0x00,0x02,0x00,0x00,0x28,0x61,0xA0,0x40,
; 0x00,0x8F,0x00,0x00,0x00,0x02,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x05,0x00,0xE0,0x00,0x00,0x02,0x00,0x00,0x28,0x20,0xF8,0x40,0x01,0x06,
; 0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x07,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x28,0x31,0xC0,0x40,0x02,0x06,0x00,0x00,
; 0x00,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,
; 0x00,0x00,0x00,0x02,0x00,0x00,0x28,0x10,0xC0,0x80,0x04,0x02,0x00,0x00,0x00,0xC2,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
; 0x00,0x02,0x00,0x00,0x38,0x18,0x08,0x80,0x18,0x01,0x00,0x00,0x00,0x62,0x00,0x00,
; 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x03,0xF0,0x00,0x00,0x02,
; 0x00,0x00,0x18,0x00,0x04,0x80,0x60,0x00,0x80,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x00,
; 0x18,0x00,0x03,0x80,0x00,0x00,0x40,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x08,0x00,
; 0x03,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x1F,0xC0,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,
; 0x07,0xC0,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,
; 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,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,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,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,
; 0xC0,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,0x60,0x00,
; 0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x08,
; 0x01,0x30,0x00,0x02,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xFE,0x00,0x00,0x08,0x00,0x08,
; 0x00,0x03,0x00,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x02,0x7F,0xC0,0x00,0x00,0x00,0x07,0xE8,0x00,0x00,0x09,0x80,0x04,0x00,0x01,
; 0x01,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
; 0x80,0x80,0x00,0x00,0x00,0x00,0x98,0x00,0x00,0x0B,0x86,0x00,0x00,0x00,0x8F,0x00,
; 0x00,0x04,0xC3,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x06,0x00,0x00,0x01,0x81,0x00,
; 0x00,0x00,0x00,0x00,0x90,0x00,0x00,0x0D,0x07,0xF0,0x00,0x00,0xFE,0x00,0x00,0x08,
; 0x43,0x1C,0x00,0x00,0x60,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00,0x83,0x00,0x00,0x00,
; 0x00,0x00,0xE0,0x00,0x00,0x19,0x06,0x60,0x00,0x00,0x84,0x00,0x00,0x10,0x43,0xF0,
	mov R24,R16
	subi R24,1
	mov R16,R24
	tst R24
	brne L2
L1:
	.dbline 0 ; func end
	ret
;         Status -> R16
	.even
_Lcd_RW_Check::
; 0x00,0x00,0x60,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,
; 0xCF,0xE0,0x00,0x1A,0x07,0x80,0x00,0x00,0x44,0x00,0x00,0x10,0xFE,0x00,0x00,0x03,
; 0xFF,0xE0,0x00,0x00,0x40,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x03,0xF8,0x00,
; 0x00,0x12,0x1E,0x00,0x00,0x00,0x7C,0x00,0x00,0x20,0x22,0x00,0x00,0xCC,0x20,0x60,
; 0x00,0x00,0xC0,0x00,0x00,0x00,0x68,0x20,0x00,0x00,0x07,0xFC,0x00,0x00,0x00,0x82,
; 0xE4,0x00,0x00,0x00,0xE0,0x00,0x00,0xE0,0x22,0x00,0x00,0x68,0x20,0x60,0x00,0x00,
; 0x80,0x00,0x00,0x00,0x88,0xC0,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0xF2,0x04,0x00,
	clr R2
	out 0x14,R2
L6:
; 0x00,0x00,0x01,0x80,0x01,0xE0,0x22,0x00,0x00,0x20,0x20,0x40,0x00,0x01,0x80,0x00,
; 0x00,0x01,0x8B,0x00,0x00,0x00,0x00,0x06,0x3F,0x00,0x00,0x02,0x0C,0x00,0x00,0x01,
; 0x9F,0x00,0x02,0xA0,0x14,0x0C,0x00,0x30,0x38,0x40,0x00,0x01,0xC0,0x00,0x00,0x03,
	sbi 0x17,3
	sbi 0x18,3
; 0x0E,0x00,0x00,0x00,0x00,0x03,0xC1,0x00,0x00,0x0E,0x1B,0x00,0x00,0x01,0xF8,0x60,
	sbi 0x17,2
	cbi 0x18,2
; 0x03,0x10,0x19,0xF8,0x00,0x13,0xE8,0xC0,0x00,0x01,0x40,0x00,0x00,0x03,0x0C,0x00,
	sbi 0x17,1
	cbi 0x18,1
; 0x00,0x00,0x00,0x02,0x8F,0x00,0x00,0x34,0x30,0x80,0x00,0x1F,0x10,0xC0,0x00,0x10,
	in R16,0x13
; 0x3E,0x00,0x00,0x0A,0x20,0x80,0x00,0x01,0x5F,0x80,0x00,0x02,0x98,0x00,0x00,0x00,
	sbi 0x17,1
	sbi 0x18,1
; 0x00,0x03,0x72,0x00,0x00,0xE4,0x20,0x40,0x00,0x33,0x13,0x00,0x00,0x11,0xF0,0x00,
	sbi 0x17,2
	sbi 0x18,2
; 0x00,0x0C,0x27,0x80,0x00,0x02,0x60,0x70,0x00,0x04,0x58,0x00,0x00,0x00,0x00,0x01,
	andi R16,3
; 0x46,0x00,0x00,0x04,0x00,0x20,0x00,0x03,0x14,0x00,0x00,0x13,0x00,0x00,0x00,0x04,
L7:
; 0x7D,0x00,0x00,0x06,0x60,0x10,0x00,0x08,0x78,0x00,0x00,0x00,0x00,0x01,0x0C,0x00,
	cpi R16,3
	brne L6
L5:
	.dbline 0 ; func end
	ret
;            dat -> R20
	.even
_Lcd_SendDat::
	xcall push_gset1
	mov R20,R16
; 0x00,0x08,0x00,0x10,0x00,0x06,0x98,0x00,0x00,0x10,0x00,0x00,0x00,0x06,0xFA,0x00,
; 0x00,0x04,0x60,0x00,0x00,0x08,0x30,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,0x00,0x28,
; 0x00,0x00,0x00,0x04,0x58,0x00,0x00,0x10,0x00,0x20,0x00,0x03,0xEA,0x00,0x00,0x08,
; 0x60,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x01,0xD8,0x00,0x00,0x28,0x00,0x00,
; 0x00,0x08,0x38,0x00,0x00,0x10,0x60,0x20,0x00,0x02,0x24,0x00,0x00,0x08,0x60,0x00,
; 0x00,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0xB8,0x08,0x00,0x18,0x18,0x1C,0x00,0x18,
	xcall _Lcd_RW_Check
; 0x38,0x00,0x00,0x10,0x20,0x20,0x00,0x00,0x34,0x08,0x00,0x10,0x60,0x00,0x00,0x60,
	ldi R24,255
	out 0x14,R24
; 0x08,0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x00,0x13,0x0C,0x04,0x00,0x10,0x18,0x00,
	sbi 0x17,3
	cbi 0x18,3
; 0x00,0x10,0x30,0x20,0x00,0x00,0x10,0x08,0x00,0x30,0x60,0x00,0x00,0x40,0x04,0x00,
	sbi 0x17,2
	cbi 0x18,2
; 0x00,0x00,0x00,0x00,0x48,0x04,0x06,0x01,0x83,0x04,0x00,0x20,0x0C,0x00,0x00,0x10,
	out 0x15,R20
; 0x00,0x40,0x00,0x00,0x10,0x7C,0x00,0x20,0x60,0x00,0x01,0x80,0x02,0x00,0x00,0x00,
	sbi 0x17,0
	cbi 0x18,0
; 0x00,0x00,0x8C,0x0C,0x02,0x00,0xC0,0x04,0x00,0x60,0x06,0x00,0x00,0x18,0x00,0xC0,
	sbi 0x17,0
	sbi 0x18,0
; 0x00,0x00,0x1F,0x80,0x00,0x20,0x40,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x01,
	sbi 0x17,2
	sbi 0x18,2
L9:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
;           Comm -> R20
	.even
_Lcd_SendCom0::
	xcall push_gset1
	mov R20,R16
; 0x06,0x70,0x01,0x00,0x00,0x04,0x00,0xC0,0x03,0x00,0x00,0x18,0x00,0x80,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x06,0x01,0x80,
; 0x00,0x80,0x00,0x04,0x01,0x80,0x01,0x80,0x00,0x18,0x01,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	xcall _Lcd_RW_Check
; 0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	ldi R24,255
	out 0x14,R24
; 0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	sbi 0x17,3
	sbi 0x18,3
; 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	sbi 0x17,2
	cbi 0x18,2
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	out 0x15,R20
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	sbi 0x17,0
	cbi 0x18,0
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	sbi 0x17,0
	sbi 0x18,0
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	sbi 0x17,2
	sbi 0x18,2
L10:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
;           Comm -> R20
;            dat -> R22
	.even
_Lcd_SendCom1::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
; 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,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,0x00,0x00,0x00,0x00,
	mov R16,R22
	xcall _Lcd_SendDat
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	mov R16,R20
	xcall _Lcd_SendCom0
L11:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
;           Comm -> y+4
;           dat1 -> R20
;           dat0 -> R22
	.even
_Lcd_SendCom2::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
; 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x01,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	mov R16,R22
	xcall _Lcd_SendDat
; 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x10,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
	mov R16,R20
	xcall _Lcd_SendDat
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	ldd R16,y+4
	xcall _Lcd_SendCom0
L12:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
;           addr -> R20,R21
;              y -> R22
;              x -> R20
	.even
_Lcd_Locate::
	xcall push_gset2
	mov R22,R18
	mov R20,R16
	sbiw R28,1
; 0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x1C,0x04,0x38,0x00,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,
; 0x06,0x01,0xDF,0xF0,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0xF8,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x01,0x01,
; 0xC0,0x30,0x11,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x08,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x0C,0x03,0x40,0x61,
; 0x11,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x0E,0x00,0x00,0x00,0x00,
; 0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x08,0x06,0x40,0xCF,0x31,0x00,
; 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x10,0x13,0x00,0x03,0x00,0x00,0x80,0x63,
; 0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x08,0x00,0x43,0xF2,0x31,0x00,0x04,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x04,0x20,0x61,0x00,0x13,0x20,0x08,0xC0,0x43,0x04,0x00,
; 0x00,0x00,0x00,0x00,0x07,0xF1,0x18,0x00,0x4F,0xC4,0x51,0x00,0x08,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x02,0x40,0xC0,0x00,0x32,0x20,0x08,0x40,0x42,0x04,0x00,0x00,0x00,
; 0x00,0x01,0xFE,0x21,0x10,0x00,0x5C,0x78,0x51,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x03,0x80,0x80,0x00,0x42,0x20,0x0C,0x40,0x82,0x08,0x00,0x00,0x00,0x00,0x00,
; 0x02,0x61,0x30,0x00,0x40,0x78,0xD1,0x00,0x08,0x00,0x00,0x00,0x07,0xE0,0x00,0x0F,
; 0xF1,0x80,0x70,0x86,0x20,0x04,0x21,0x82,0x30,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,
; 0xA0,0x00,0x41,0xE4,0x9A,0x00,0x08,0x00,0x00,0x00,0x0C,0x10,0x20,0x02,0x11,0x03,
; 0xE1,0x07,0x20,0x0C,0x21,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0xC0,0x00,
; 0x43,0x6D,0x1A,0x00,0x10,0x00,0x00,0x00,0x18,0x08,0x40,0x02,0x11,0x3F,0x03,0xFE,
; 0x20,0x08,0x13,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0xC0,0x00,0x40,0xFE,
; 0x1A,0x00,0x10,0x00,0x00,0x00,0x18,0x0D,0x80,0x02,0x13,0x03,0x00,0xE8,0x30,0x18,
; 0x12,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x00,0x40,0x7C,0x1A,0x00,
; 0x20,0x00,0x00,0x00,0x00,0x07,0x00,0x06,0x12,0x03,0x80,0x10,0x10,0x10,0x1A,0x06,
; 0x20,0x00,0x00,0x00,0x00,0x00,0x0F,0x01,0xC0,0x00,0x40,0x70,0x02,0x00,0x20,0x00,
	ldi R24,30
	mul R24,R22
	movw R2,R0
	mov R4,R20
	clr R5
	add R2,R4
	adc R3,R5
	movw R20,R2
; 0x00,0x00,0x00,0x00,0x00,0x03,0x21,0x03,0x80,0x10,0x18,0x30,0x0C,0x06,0x10,0x00,
	ldi R24,36
	std y+0,R24
	movw R18,R2
	mov R18,R19
	clr R19
	mov R16,R2
	xcall _Lcd_SendCom2
L13:
	adiw R28,1
	xcall pop_gset2
	.dbline 0 ; func end
	ret
;              i -> R20,R21
	.even
_Lcd_ClrScreen::
	xcall push_gset1
	sbiw R28,1
; 0x00,0x00,0x00,0x00,0x0A,0x02,0x40,0x00,0x40,0xE0,0x0A,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x02,0x61,0x07,0x00,0x30,0x07,0xE0,0x0C,0x06,0x08,0x00,0x00,0x00,
; 0x00,0x00,0x12,0x06,0x40,0x00,0x41,0x80,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x02,0x40,0xFB,0x00,0x00,0x01,0x80,0x04,0x06,0x04,0x00,0x00,0x00,0x00,0x00,
; 0x32,0x04,0x20,0x00,0x47,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
; 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x08,
; 0x20,0x00,0x44,0x00,0x0A,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x10,0x30,0x00,
; 0x40,0x00,0x06,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,0x10,0x00,0xC0,0x00,
	ldi R24,36
	std y+0,R24
	clr R18
	clr R16
	xcall _Lcd_SendCom2
; 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	clr R20
	clr R21
	xjmp L18
L15:
	ldi R18,192
	clr R16
	xcall _Lcd_SendCom1
L16:
	subi R20,255  ; offset = 1
	sbci R21,255
L18:
	cpi R20,0
	ldi R30,128
	cpc R21,R30
	brlo L15
L14:
	adiw R28,1
	xcall pop_gset1
	.dbline 0 ; func end
	ret
;              i -> R20,R21
	.even
_Lcd_ClrText::
	xcall push_gset1
	sbiw R28,1
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0xC0,0x00,0x02,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,0xC0,0x00,0x02,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,0xC0,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,0x80,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,
	ldi R24,36
	std y+0,R24
	clr R18
	clr R16
	xcall _Lcd_SendCom2
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	clr R20
	clr R21
	xjmp L23
L20:
	ldi R18,192
	clr R16
	xcall _Lcd_SendCom1
L21:
	subi R20,255  ; offset = 1
	sbci R21,255
L23:
	cpi R20,224
	ldi R30,1
	cpc R21,R30
	brlo L20
L19:
	adiw R28,1
	xcall pop_gset1
	.dbline 0 ; func end
	ret
;              i -> R20,R21
	.even
_Lcd_ClrGraph::
	xcall push_gset1
	sbiw R28,1
; 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,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,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,
	ldi R24,36
	std y+0,R24
	ldi R18,3
	ldi R16,0
	xcall _Lcd_SendCom2
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	clr R20
	clr R21
	xjmp L28
L25:
	ldi R18,192
	clr R16
	xcall _Lcd_SendCom1
L26:
	subi R20,255  ; offset = 1
	sbci R21,255
L28:
	cpi R20,0
	ldi R30,15
	cpc R21,R30
	brlo L25
L24:
	adiw R28,1
	xcall pop_gset1
	.dbline 0 ; func end
	ret
;              c -> R22
;            str -> R20,R21
;              y -> R10
;              x -> R22
	.even
_Lcd_PrintText::
	xcall push_gset3
	mov R10,R18
	mov R22,R16
	ldd R20,y+6
	ldd R21,y+7
; 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,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,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,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,
	mov R18,R10
	mov R16,R22
	xcall _Lcd_Locate
	xjmp L31
L30:
	ldi R18,192
	mov R16,R22
	subi R16,32
	xcall _Lcd_SendCom1
	subi R20,255  ; offset = 1
	sbci R21,255
L31:
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	movw R30,R20
	ldd R2,z+0
	mov R22,R2
	tst R22
	brne L30
L29:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
;           addr -> R22,R23
;           draw -> y+5
;              y -> R22
;              x -> R20
	.even
_Lcd_Point::
	xcall push_gset2
	mov R22,R18
	mov R20,R16

⌨️ 快捷键说明

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