📄 main.s
字号:
tsx
; }
; }
;
; void PWMInit(unsigned int Period)
; {
; unsigned int Temp=Period/2;
lda 5,X
sta *__r1
lda 4,X
sta *__r0
lsr *__r0
ror *__r1
lda *__r0
sta ,X
lda *__r1
sta 1,X
; //不允许溢出中断,不启动计数,分频因子=1,置位TSTOP,TRST
; T1SC = 0x30;
lda #48
sta 0x20
; //[设置PWM周期]
; T1MODH = (Temp>>8);
lda ,X
sta 0x23
; T1MODL = Period;
lda 5,X
sta 0x24
; //[初始化设置PWM脉宽为0]
; T1CH0H = Period/4;
lda 5,X
sta *__r1
lda 4,X
sta *__r0
lsr *__r0
ror *__r1
lsr *__r0
ror *__r1
mov *__r1,0x26
; T1CH0L = Period/4;
lda 5,X
sta *__r1
lda 4,X
sta *__r0
lsr *__r0
ror *__r1
lsr *__r0
ror *__r1
mov *__r1,0x27
; //设为PWM模式,不允许输出比较中断,输出低电平,不带缓冲
; T1SC0 = 0x1E;
lda #30
sta 0x25
; //允许定时器1计数寄存器计数
; T1SC &= 0xDF;
lda 0x20
and #-33
sta 0x20
L41:
ais #2
.dbline 0 ; func end
rts
; key -> 4,X
_Key_handle::
ais #-2
tsx
; }
;
; void Key_handle(unsigned char key)
; {
; if(LCD_buff1)
lda *_LCD_buff1
bne X66
jmp L43
X66:
; {
; switch(key) //do something and return
clr ,X
lda 4,X
sta 1,X
lda ,X
bne X44
lda 1,X
cmp #-91
bne X67
jmp L72
X67:
X44:
lda ,X
bne X45
lda 1,X
cmp #-90
bne X68
jmp L66
X68:
X45:
lda 1,X
sta *__r1
lda ,X
sta *__r0
ldhx *__r0
cphx #166
tsx
ble X69
jmp L91
X69:
L90:
lda ,X
bne X46
lda 1,X
cmp #69
bne X70
jmp L82
X70:
X46:
lda ,X
bne X47
lda 1,X
cmp #70
bne X71
jmp L76
X71:
X47:
lda 1,X
sta *__r1
lda ,X
sta *__r0
ldhx *__r0
cphx #70
tsx
bgt L93
L92:
lda ,X
bne X48
lda 1,X
cmp #49
bne X72
jmp L48
X72:
X48:
lda ,X
bne X49
lda 1,X
cmp #50
bne X73
jmp L50
X73:
X49:
lda ,X
bne X50
lda 1,X
cmp #51
bne X74
jmp L52
X74:
X50:
lda ,X
bne X51
lda 1,X
cmp #52
bne X75
jmp L54
X75:
X51:
lda ,X
bne X52
lda 1,X
cmp #53
bne X76
jmp L56
X76:
X52:
lda ,X
bne X53
lda 1,X
cmp #54
bne X77
jmp L58
X77:
X53:
lda ,X
bne X54
lda 1,X
cmp #55
bne X78
jmp L60
X78:
X54:
jmp L46
L93:
lda ,X
bne X55
lda 1,X
cmp #-107
bne X79
jmp L86
X79:
X55:
lda ,X
bne X56
lda 1,X
cmp #-106
bne X80
jmp L80
X80:
X56:
jmp L46
L91:
lda ,X
bne X57
lda 1,X
cmp #-43
bne X81
jmp L84
X81:
X57:
lda ,X
bne X58
lda 1,X
cmp #-42
bne X82
jmp L78
X82:
X58:
lda 1,X
sta *__r1
lda ,X
sta *__r0
ldhx *__r0
cphx #214
tsx
bgt L95
L94:
lda ,X
bne X59
lda 1,X
cmp #-61
bne X83
jmp L88
X83:
X59:
lda ,X
bne X60
lda 1,X
cmp #-59
bne X84
jmp L70
X84:
X60:
lda ,X
bne X61
lda 1,X
cmp #-58
bne X85
jmp L64
X85:
X61:
jmp L46
L95:
lda ,X
bne X62
lda 1,X
cmp #-29
bne X86
jmp L74
X86:
X62:
lda ,X
bne X63
lda 1,X
cmp #-27
bne X87
jmp L68
X87:
X63:
lda ,X
bne X64
lda 1,X
cmp #-26
bne X88
jmp L62
X88:
X64:
jmp L46
X65:
; {
L48:
; case '1':{PWMInit(4699);lcdshow((unsigned char *)Key_show[1]);}break;
ldhx #4699
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+32
psha
lda #>_Key_show+32
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L50:
; case '2':{PWMInit(4404);lcdshow((unsigned char *)Key_show[2]);}break;
ldhx #4404
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+64
psha
lda #>_Key_show+64
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L52:
; case '3':{PWMInit(3723);lcdshow((unsigned char *)Key_show[3]);}break;
ldhx #3723
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+96
psha
lda #>_Key_show+96
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L54:
; case '4':{PWMInit(3520);lcdshow((unsigned char *)Key_show[4]);}break;
ldhx #3520
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+128
psha
lda #>_Key_show+128
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L56:
; case '5':{PWMInit(3134);lcdshow((unsigned char *)Key_show[5]);}break;
ldhx #3134
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+160
psha
lda #>_Key_show+160
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L58:
; case '6':{PWMInit(2792);lcdshow((unsigned char *)Key_show[6]);}break;
ldhx #2792
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+192
psha
lda #>_Key_show+192
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L60:
; case '7':{PWMInit(2487);lcdshow((unsigned char *)Key_show[7]);}break;
ldhx #2487
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+224
psha
lda #>_Key_show+224
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L62:
; case L1:{PWMInit(9380);lcdshow((unsigned char *)Key_show[8]);}break;
ldhx #9380
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+256
psha
lda #>_Key_show+256
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L64:
; case L2:{PWMInit(8359);lcdshow((unsigned char *)Key_show[9]);}break;
ldhx #8359
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+288
psha
lda #>_Key_show+288
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L66:
; case L3:{PWMInit(7447);lcdshow((unsigned char *)Key_show[10]);}break;
ldhx #7447
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+320
psha
lda #>_Key_show+320
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L68:
; case L4:{PWMInit(7041);lcdshow((unsigned char *)Key_show[11]);}break;
ldhx #7041
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+352
psha
lda #>_Key_show+352
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L70:
; case L5:{PWMInit(6269);lcdshow((unsigned char *)Key_show[12]);}break;
ldhx #6269
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+384
psha
lda #>_Key_show+384
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L72:
; case L6:{PWMInit(5585);lcdshow((unsigned char *)Key_show[13]);}break;
ldhx #5585
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+416
psha
lda #>_Key_show+416
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L74:
; case L7:{PWMInit(4974);lcdshow((unsigned char *)Key_show[14]);}break;
ldhx #4974
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+448
psha
lda #>_Key_show+448
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L76:
; case H1:{PWMInit(2349);lcdshow((unsigned char *)Key_show[15]);}break;
ldhx #2349
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+480
psha
lda #>_Key_show+480
psha
jsr _lcdshow
ais #2
tsx
jmp L46
L78:
; case H2:{PWMInit(2091);lcdshow((unsigned char *)Key_show[16]);}break;
ldhx #2091
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+512
psha
lda #>_Key_show+512
psha
jsr _lcdshow
ais #2
tsx
bra L46
L80:
; case H3:{PWMInit(1864);lcdshow((unsigned char *)Key_show[17]);}break;
ldhx #1864
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+544
psha
lda #>_Key_show+544
psha
jsr _lcdshow
ais #2
tsx
bra L46
L82:
; case H4:{PWMInit(1756);lcdshow((unsigned char *)Key_show[18]);}break;
ldhx #1756
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+576
psha
lda #>_Key_show+576
psha
jsr _lcdshow
ais #2
tsx
bra L46
L84:
; case H5:{PWMInit(1567);lcdshow((unsigned char *)Key_show[19]);}break;
ldhx #1567
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+608
psha
lda #>_Key_show+608
psha
jsr _lcdshow
ais #2
tsx
bra L46
L86:
; case H6:{PWMInit(1396);lcdshow((unsigned char *)Key_show[20]);}break;
ldhx #1396
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+640
psha
lda #>_Key_show+640
psha
jsr _lcdshow
ais #2
tsx
bra L46
L88:
; case H7:{PWMInit(1243);lcdshow((unsigned char *)Key_show[21]);}break;
ldhx #1243
pshx
pshh
jsr _PWMInit
ais #2
lda #<_Key_show+672
psha
lda #>_Key_show+672
psha
jsr _lcdshow
ais #2
tsx
; default: ;break;
L46:
; }
; LCD_buff1=0;
clr *_LCD_buff1
; }
L43:
L42:
ais #2
.dbline 0 ; func end
rts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -