📄 nokialcd.s
字号:
.module NokiaLCD.c
.area lit(rom, con, rel)
_FontLookup:
.byte 0,0
.byte 0,0
.byte 0
.byte 0,0
.byte 47,0
.byte 0
.byte 0,7
.byte 0,7
.byte 0
.byte 20,127
.byte 20,127
.byte 20
.byte 36,42
.byte 127,42
.byte 18
.byte 196,200
.byte 16,38
.byte 'F
.byte 54,'I
.byte 'U,34
.byte 'P
.byte 0,5
.byte 3,0
.byte 0
.byte 0,28
.byte 34,'A
.byte 0
.byte 0,'A
.byte 34,28
.byte 0
.byte 20,8
.byte 62,8
.byte 20
.byte 8,8
.byte 62,8
.byte 8
.byte 0,0
.byte 'P,48
.byte 0
.byte 16,16
.byte 16,16
.byte 16
.byte 0,96
.byte 96,0
.byte 0
.byte 32,16
.byte 8,4
.byte 2
.byte 62,'Q
.byte 'I,'E
.byte 62
.byte 0,'B
.byte 127,64
.byte 0
.byte 'B,'a
.byte 'Q,'I
.byte 'F
.byte 33,'A
.byte 'E,'K
.byte 49
.byte 24,20
.byte 18,127
.byte 16
.byte 39,'E
.byte 'E,'E
.byte 57
.byte 60,'J
.byte 'I,'I
.byte 48
.byte 1,'q
.byte 9,5
.byte 3
.byte 54,'I
.byte 'I,'I
.byte 54
.byte 6,'I
.byte 'I,41
.byte 30
.byte 0,54
.byte 54,0
.byte 0
.byte 0,'V
.byte 54,0
.byte 0
.byte 8,20
.byte 34,'A
.byte 0
.byte 20,20
.byte 20,20
.byte 20
.byte 0,'A
.byte 34,20
.byte 8
.byte 2,1
.byte 'Q,9
.byte 6
.byte 50,'I
.byte 'Y,'Q
.byte 62
.byte 126,17
.byte 17,17
.byte 126
.byte 127,'I
.byte 'I,'I
.byte 54
.byte 62,'A
.byte 'A,'A
.byte 34
.byte 127,'A
.byte 'A,34
.byte 28
.byte 127,'I
.byte 'I,'I
.byte 'A
.byte 127,9
.byte 9,9
.byte 1
.byte 62,'A
.byte 'I,'I
.byte 'z
.byte 127,8
.byte 8,8
.byte 127
.byte 0,'A
.byte 127,'A
.byte 0
.byte 32,64
.byte 'A,63
.byte 1
.byte 127,8
.byte 20,34
.byte 'A
.byte 127,64
.byte 64,64
.byte 64
.byte 127,2
.byte 12,2
.byte 127
.byte 127,4
.byte 8,16
.byte 127
.byte 62,'A
.byte 'A,'A
.byte 62
.byte 127,9
.byte 9,9
.byte 6
.byte 62,'A
.byte 'Q,33
.byte 94
.byte 127,9
.byte 25,41
.byte 'F
.byte 'F,'I
.byte 'I,'I
.byte 49
.byte 1,1
.byte 127,1
.byte 1
.byte 63,64
.byte 64,64
.byte 63
.byte 31,32
.byte 64,32
.byte 31
.byte 63,64
.byte 56,64
.byte 63
.byte 'c,20
.byte 8,20
.byte 'c
.byte 7,8
.byte 'p,8
.byte 7
.byte 'a,'Q
.byte 'I,'E
.byte 'C
.byte 0,127
.byte 'A,'A
.byte 0
.byte 2,4
.byte 8,16
.byte 32
.byte 0,'A
.byte 'A,127
.byte 0
.byte 4,2
.byte 1,2
.byte 4
.byte 64,64
.byte 64,64
.byte 64
.byte 0,1
.byte 2,4
.byte 0
.byte 32,'T
.byte 'T,'T
.byte 'x
.byte 127,'H
.byte 'D,'D
.byte 56
.byte 56,'D
.byte 'D,'D
.byte 32
.byte 56,'D
.byte 'D,'H
.byte 127
.byte 56,'T
.byte 'T,'T
.byte 24
.byte 8,126
.byte 9,1
.byte 2
.byte 12,'R
.byte 'R,'R
.byte 62
.byte 127,8
.byte 4,4
.byte 'x
.byte 0,'D
.byte 125,64
.byte 0
.byte 32,64
.byte 'D,61
.byte 0
.byte 127,16
.byte 40,'D
.byte 0
.byte 0,'A
.byte 127,64
.byte 0
.byte 124,4
.byte 24,4
.byte 'x
.byte 124,8
.byte 4,4
.byte 'x
.byte 56,'D
.byte 'D,'D
.byte 56
.byte 124,20
.byte 20,20
.byte 8
.byte 8,20
.byte 20,24
.byte 124
.byte 124,8
.byte 4,4
.byte 8
.byte 'H,'T
.byte 'T,'T
.byte 32
.byte 4,63
.byte 'D,64
.byte 32
.byte 60,64
.byte 64,32
.byte 124
.byte 28,32
.byte 64,32
.byte 28
.byte 60,64
.byte 48,64
.byte 60
.byte 'D,40
.byte 16,40
.byte 'D
.byte 12,'P
.byte 'P,'P
.byte 60
.byte 'D,'d
.byte 'T,'L
.byte 'D
.byte 0,8
.byte 54,'A
.byte 0
.byte 0,0
.byte 127,0
.byte 0
.byte 0,'A
.byte 54,8
.byte 0
.byte 4,2
.byte 4,8
.byte 4
.byte 0,0
.byte 54,0
.byte 0
.byte 14,'Q
.byte 49,17
.byte 8
.byte 60,'A
.byte 64,33
.byte 124
.byte 56,'T
.byte 'V,'U
.byte 24
.byte 32,'V
.byte 'U,'V
.byte 'x
.byte 32,'U
.byte 'T,'U
.byte 'x
.byte 32,'U
.byte 'V,'T
.byte 'x
.byte 8,8
.byte 42,28
.byte 8
.byte 14,'Q
.byte 49,17
.byte 8
.byte 56,'V
.byte 'U,'V
.byte 24
.byte 56,'U
.byte 'T,'U
.byte 24
.byte 56,'U
.byte 'V,'T
.byte 24
.byte 0,'E
.byte 124,'A
.byte 0
.byte 0,'F
.byte 125,'B
.byte 0
.byte 127,127
.byte 127,127
.byte 127
.byte 127,127
.byte 127,127
.byte 127
.byte 127,127
.byte 127,127
.byte 127
.byte 124,'T
.byte 'V,'U
.byte 'D
.byte 127,127
.byte 127,127
.byte 127
.byte 127,127
.byte 127,127
.byte 127
.byte 56,'F
.byte 'E,'F
.byte 56
.byte 127,127
.byte 127,127
.byte 127
.byte 56,'E
.byte 'F,'D
.byte 56
.byte 60,'B
.byte 'A,34
.byte 124
.byte 60,'A
.byte 'B,32
.byte 124
.dbfile C:\DATA\MP3\Remote\Code\NokiaLCD.c
.dbsym s FontLookup _FontLookup A[600:120:5]kc
.area text(rom, con, rel)
.dbfile C:\DATA\MP3\Remote\Code\NokiaLCD.c
.dbfunc e LcdPower _LcdPower fV
; stat -> R20
.even
_LcdPower::
rcall push_gset1
mov R20,R16
.dbline -1
.dbline 187
; /*--------------------------------------------------------------------------------------------------
;
; Name : NokiaLCD.c
;
; Description : This is a driver for the Nokia 84x48 graphic LCD.
;
; Author : 2003-03-08 - Sylvain Bissonnette
;
; History : 2003-02-08 - First release (v0.1) derived from Sylvain Bissonnette code base.
; 2003-03-09 - v0.2, Louis Frigon: 2x fonts support.
; 2003-03-20 - v0.3: Serialization optimized,
;
; Info : Max RAM - 512 byte
; : Max Stack - 10 byte
;
; --------------------------------------------------------------------------------------------------*/
; #include <macros.h>
; #include <iom8v.h>
; //#include <stdio.h>
;
; #include "NokiaLCD.h"
;
; #define LCD_FIRMWARE_VERSION 0.3
;
; /*--------------------------------------------------------------------------------------------------
; Private function prototypes
; --------------------------------------------------------------------------------------------------*/
; // Function prototypes are mandatory otherwise the compiler generates unreliable code.
;
; static void LcdSend ( byte data, LcdCmdData cd );
; static void Delay ( void );
;
; /*--------------------------------------------------------------------------------------------------
; Character generator
;
; This table defines the standard ASCII characters in a 5x7 dot format.
; --------------------------------------------------------------------------------------------------*/
; static const byte FontLookup [][5] =
; {
; { 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
; { 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
; { 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
; { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
; { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
; { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, // %
; { 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
; { 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
; { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
; { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
; { 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
; { 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
; { 0x00, 0x00, 0x50, 0x30, 0x00 }, // ,
; { 0x10, 0x10, 0x10, 0x10, 0x10 }, // -
; { 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
; { 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
; { 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
; { 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
; { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
; { 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
; { 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
; { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
; { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
; { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
; { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
; { 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
; { 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
; { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
; { 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
; { 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
; { 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
; { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
; { 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
; { 0x7E, 0x11, 0x11, 0x11, 0x7E }, // A
; { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
; { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
; { 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
; { 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
; { 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
; { 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
; { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
; { 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
; { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
; { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
; { 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
; { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
; { 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
; { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
; { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
; { 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
; { 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
; { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
; { 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
; { 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
; { 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
; { 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
; { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
; { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
; { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
; { 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
; { 0x02, 0x04, 0x08, 0x10, 0x20 }, // back slash
; { 0x00, 0x41, 0x41, 0x7f, 0x00 }, // ]
; { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
; { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
; { 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
; { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
; { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
; { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
; { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
; { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
; { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
; { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g
; { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
; { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
; { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j
; { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
; { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
; { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
; { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
; { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
; { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p
; { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q
; { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
; { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
; { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
; { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
; { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
; { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
; { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
; { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y
; { 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
; { 0x00, 0x08, 0x36, 0x41, 0x00 }, // {
; { 0x00, 0x00, 0x7f, 0x00, 0x00 }, // |
; { 0x00, 0x41, 0x36, 0x08, 0x00 }, // }
; { 0x04, 0x02, 0x04, 0x08, 0x04 }, // ~
; { 0x00, 0x00, 0x36, 0x00, 0x00 }, //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -