📄 lcdr.asm
字号:
CALL W_COM
R1 = 0x002b;
CALL W_COM //set panel loading
R1 = 0x002C;
CALL W_COM
R1 = 0x0081; //电压设置GAIN
CALL W_COM //可以调节亮度
R1 = 0x00CE;
CALL W_COM
R1 = 0x0089;
CALL W_COM //列溢出时页加一
R1 = 0x002F; //内部VLCD
CALL W_COM
R1 = 0x00C0; //行列是否反向
CALL W_COM
R1 = 0x0032; //设置最大列
CALL W_COM;
R1 = 0x007F;
CALL W_COM;
R1 = 0x00AF;
CALL W_COM
R3 =0x0000; //LCD初始化
[P_Lcd501BdySel] = R3; //模式
R1 = 0x01EB;
CALL W_COM
R1 = 0x00D0;
CALL W_COM //灰度
CALL ALL_ON_SCR //全部点亮
R1 = 0x00A4;
CALL W_COM
RETF
//***************************************************************/
//* 功能 : 延时1s */
//* 入口 : 无 */
//* 出口 : 无 */
//* 影响寄存器 : 无 */
//* 说明 : 直接使用延时,需判断是否低电压标记 */
//* 低速时700000cycles,高速时28000000cycles */
//* 2004.11.18修改:减去中断的时间10%.4ms,32ms中断
//***************************************************************/
.public F_Delay1s
F_Delay1s:
PUSH R1 TO [SP]; //7
R1 = 0x55AA;
[P_Watchdog_Clr] = R1; //复位后清看门狗
R1 = [P_SystemClock]; //6
TEST R1,0x80; //3
JZ ?_Delay1sSlow; //3
?_Delay1sFast:
R1 = 38620; // 34758; //3
//51+(358*2+3+3+3)*38620=27999449
JMP ?_Delay1sLoop;
?_Delay1sSlow:
R1 = 962; //867; //3
//51+(358*2+3+3+3)*962=699425
?_Delay1sLoop:
CALL F_B_Delay359; //358
CALL F_B_Delay359; //359
R1 -= 1; //3
CMP R1,0; //3
JNE ?_Delay1sLoop; //3
POP R1 FROM [SP]
RETF
//***************************************************************/
//* 功能 : 延时96ms */
//* 入口 : 无 */
//* 出口 : 无 */
//* 影响寄存器 : 无 */
//* 说明 : 直接使用延时,需判断是否低电压标记 */
//* 低速时67200cycles,高速时2688000cycles */
//***************************************************************/
.public F_Delay96ms
F_Delay96ms:
PUSH R1 TO [SP]; //7
R1 = 0x55AA;
[P_Watchdog_Clr] = R1; //复位后清看门狗
R1 = [P_SystemClock]; //6
TEST R1,0x80; //3
JZ ?_Delay96msSlow; //3
?_Delay96msFast:
R1 = 7324; //3
//51+(358+3+3+3)*7324=2687959
JMP ?_Delay96msLoop;
?_Delay96msSlow:
R1 = 183; //3
//51+(358+3+3+3)*183=67161
?_Delay96msLoop:
CALL F_B_Delay359; //358
R1 -= 1; //3
CMP R1,0; //3
JNE ?_Delay96msLoop; //3
POP R1 FROM [SP]; //7
RETF; //13+12
//***************************************************************/
//* 功能 : 延时0.5s */
//* 入口 : 无 */
//* 出口 : 无 */
//* 影响寄存器 : 无 */
//* 说明 : 使用定时器A定时溢出,应用层延时专用 */
//***************************************************************/
.public F_Delay500ms
F_Delay500ms:
PUSH R1 TO [SP]
R1 = 0x55AA;
[P_Watchdog_Clr] = R1; //复位后清看门狗
CALL F_Delay96ms
CALL F_Delay96ms
// CALL F_Delay96ms
// CALL F_Delay96ms
CALL F_Delay96ms
R1 = 0x55AA;
[P_Watchdog_Clr] = R1; //复位后清看门狗
POP R1 FROM [SP]
RETF;
//***************************************************************/
//* 功能 : 延时10ms */
//* 入口 : 无 */
//* 出口 : 无 */
//* 影响寄存器 : 无 */
//* 说明 : 直接使用延时,需判断是否低电压标记 */
//* 低速时7000cycles,高速时28000cycles */
//***************************************************************/
.public F_Delay10ms
F_Delay10ms:
PUSH R1 TO [SP]; //7
R1 = [P_SystemClock]; //6
TEST R1,0x80; //3
JZ ?_Delay10msSlow; //3
?_Delay10msFast:
R1 = 19; //3
//51+(358+3+3+3)*19=7024
JMP ?_Delay10msLoop;
?_Delay10msSlow:
R1 = 183; //3
//51+(358+3+3+3)*183=67161
?_Delay10msLoop:
CALL F_B_Delay359; //358
R1 -= 1; //3
CMP R1,0; //3
JNE ?_Delay10msLoop; //3
POP R1 FROM [SP]; //7
RETF; //13+12
//***************************************************************/
//* 功能 : 延时50us */
//* 入口 : 无 */
//* 出口 : 无 */
//* 影响寄存器 : 无 */
//* 说明 : 直接使用nop延时,需判断是否低电压标记 */
//* 算法 : 35cycle/0.7M = 50us or 1400cycle/28M = 50us */
//* call-13c, retf-12c, R1&=IM6-3c, R1=[A6]-6c, test/cmp-3c */
//* push/pop-3n+4c, nop-5c, je-3c */
//***************************************************************/
F_B_Delay50us:
PUSH R1 TO [SP]; //7
R1 = [P_SystemClock]; //6
TEST R1,0x80; //3
JZ ?_B_Delay50usSlow; //3
?_B_Delay50usFast:
//51+3+3*359
CALL F_B_Delay359
CALL F_B_Delay359
CALL F_B_Delay359
JMP ?_B_Delay50usEnd; //3
?_B_Delay50usSlow:
//低速时实际时间较长,51cyc/0.7M=73us
?_B_Delay50usEnd:
POP R1 FROM [SP]; //7
RETF; //13+12
//--------------------------------------------
//功能: 延时359cycle
//入口: 无
//出口: 无
//算法: 13+12+6*56
//--------------------------------------------
F_B_Delay359:
CALL F_B_Delay56;
CALL F_B_Delay56;
CALL F_B_Delay56;
CALL F_B_Delay56;
CALL F_B_Delay56;
CALL F_B_Delay56;
RETF;
//--------------------------------------------
//功能: 延时56cycle
//入口: 无
//出口: 无
//算法: 13+12+3+3+5*5
//--------------------------------------------
F_B_Delay56:
NOP
NOP
NOP
NOP
NOP
JMP ?_B_Delay56_1;
?_B_Delay56_1:
JMP ?_B_Delay56_2;
?_B_Delay56_2:
RETF;
//载入图片
//128*128
TABLE:
.dw 0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0
.dw 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x01,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
.dw 0x07,0x0F,0x1F,0x1F,0x1F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0x7C,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x7F,0xFF,0xFF,0x7F,0x7F,0x3F,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1F,0x1F,0x3F,0x3F,0x1F
.dw 0x0F,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
.dw 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
.dw 0x07,0x07,0x07,0x07,0x0F,0x1F,0x1F,0x07,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0
.dw 0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xE0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0x0F
.dw 0x0F,0x0F,0x03,0x01,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00
.dw 0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
.dw 0xFE,0xFC,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xFF,0xFF
.dw 0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0
.dw 0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x38,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x01,0x1F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F
.dw 0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x1F,0x1F,0x1F,0x1F,0x07,0xF8,0xFF
.dw 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00
.dw 0x20,0x7F,0xFF,0xFF,0xFF,0xFC,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
.dw 0xFD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF
.dw 0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0xF0,0xF0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x03,0x07,0x9F
.dw 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0xF0,0xFC,0xFE,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x18
.dw 0x7C,0xF8,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.dw 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF
.dw 0xFF,0x7F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0xFF,0xFF
.dw 0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F
.dw 0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
.dw 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x07,0x0F,0x3F,0xFF,0xFF,0xFF,0xFE
.dw 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xE0,0xF8,0xF8,0xFE,0x7F,0x1F,0x1F,0x07,0x01
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -