📄 t1main.src
字号:
MOV R3,#080H
MOV R2,#096H
MOV R1,#098H
MOV R0,#00H
MOV R7,freq+03H
MOV R6,freq+02H
MOV R5,freq+01H
MOV R4,freq
LCALL ?C?ULDIV
MOV R4,AR0
MOV R5,AR1
MOV R6,AR2
MOV R7,AR3
MOV R3,#040H
MOV R2,#042H
MOV R1,#0FH
MOV R0,#00H
LCALL ?C?ULDIV
MOV Fre+01BH,R7
MOV Fre+01AH,R6
MOV Fre+019H,R5
MOV Fre+018H,R4
; Fre[7]=freq/100000000;
; SOURCE LINE # 74
MOV R3,#00H
MOV R2,#0E1H
MOV R1,#0F5H
MOV R0,#05H
MOV R7,freq+03H
MOV R6,freq+02H
MOV R5,freq+01H
MOV R4,freq
LCALL ?C?ULDIV
MOV Fre+01FH,R7
MOV Fre+01EH,R6
MOV Fre+01DH,R5
MOV Fre+01CH,R4
; Int_Num=0;
; SOURCE LINE # 75
CLR A
MOV Int_Num,A
; }
; SOURCE LINE # 76
RET
; END OF frefun
CSEG AT 00003H
LJMP ExInt0Rsp
;
; //外部中断0中断程序
; void ExInt0Rsp(void) interrupt 0 using 1 //INT0
RSEG ?PR?ExInt0Rsp?T1MAIN
ExInt0Rsp:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
USING 1
MOV PSW,#08H
; SOURCE LINE # 79
; { ol++;
; SOURCE LINE # 80
INC ol
; TR0=0;
; SOURCE LINE # 81
CLR TR0
; frefun();
; SOURCE LINE # 82
LCALL frefun
; TH0=0x00;
; SOURCE LINE # 83
MOV TH0,#00H
; TL0=0x00;
; SOURCE LINE # 84
MOV TL0,#00H
; TR1=1;
; SOURCE LINE # 85
SETB TR1
; EX0=0;
; SOURCE LINE # 86
CLR EX0
; }
; SOURCE LINE # 87
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF ExInt0Rsp
CSEG AT 0001BH
LJMP Timer1IntRsp
;
;
;
; //片内T/C1中断程序
; void Timer1IntRsp(void) interrupt 3 using 2
RSEG ?PR?Timer1IntRsp?T1MAIN
Timer1IntRsp:
; SOURCE LINE # 92
; {
; ET0 = 0;
; SOURCE LINE # 94
CLR ET0
; }
; SOURCE LINE # 95
RETI
; END OF Timer1IntRsp
CSEG AT 00013H
LJMP ExInt1Rsp
; //外部中断1中断程序
; void ExInt1Rsp(void) interrupt 2 using 2
RSEG ?PR?ExInt1Rsp?T1MAIN
ExInt1Rsp:
; SOURCE LINE # 97
; {
; KeyMark = 1;
; SOURCE LINE # 99
SETB KeyMark
; EX1 = 0;
; SOURCE LINE # 100
CLR EX1
; }
; SOURCE LINE # 101
RETI
; END OF ExInt1Rsp
CSEG AT 0000BH
LJMP Timer0IntRsp
;
;
;
; //片内T/C0中断程序
; void Timer0IntRsp(void) interrupt 1 using 2
RSEG ?PR?Timer0IntRsp?T1MAIN
Timer0IntRsp:
; SOURCE LINE # 106
; { lo++;
; SOURCE LINE # 107
INC lo
; Int_Num++;
; SOURCE LINE # 108
INC Int_Num
; EX0=1;
; SOURCE LINE # 109
SETB EX0
;
;
;
; /* Line2 = !Line2;
; if( KeyTimer<100 )
; KeyTimer++; */
; }
; SOURCE LINE # 116
RETI
; END OF Timer0IntRsp
CSEG AT 00023H
LJMP SerialPortIntRsp
;
;
;
; //串行口
; void SerialPortIntRsp(void) interrupt 4 using 2
RSEG ?PR?SerialPortIntRsp?T1MAIN
SerialPortIntRsp:
; SOURCE LINE # 121
; {
; ES=0;
; SOURCE LINE # 123
CLR ES
; }
; SOURCE LINE # 124
RETI
; END OF SerialPortIntRsp
CSEG AT 0002BH
LJMP Timer2IntRsp
; //定时/计数2中断程序
; void Timer2IntRsp(void) interrupt 5 using 2
RSEG ?PR?Timer2IntRsp?T1MAIN
Timer2IntRsp:
; SOURCE LINE # 126
; {
;
; }
; SOURCE LINE # 129
RETI
; END OF Timer2IntRsp
;
; //喂狗函数
; void FeedDog(void)
RSEG ?PR?FeedDog?T1MAIN
FeedDog:
; SOURCE LINE # 132
; {
; SOURCE LINE # 133
; DogLine=0;
; SOURCE LINE # 134
CLR DogLine
; _nop_();
; SOURCE LINE # 135
NOP
; _nop_();
; SOURCE LINE # 136
NOP
; DogLine=1;
; SOURCE LINE # 137
SETB DogLine
; }
; SOURCE LINE # 138
RET
; END OF FeedDog
;
; //--------------按键处理函数------------------
; void KeyProc(void)
RSEG ?PR?KeyProc?T1MAIN
KeyProc:
USING 0
; SOURCE LINE # 141
; {
; SOURCE LINE # 142
; testD1++;
; SOURCE LINE # 143
INC testD1+01H
MOV A,testD1+01H
JNZ ?C0104
INC testD1
?C0104:
; switch(KeyCode)
; SOURCE LINE # 144
MOV R0,#LOW (KeyCode)
MOV A,@R0
ADD A,#0F2H
JZ ?C0012
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0022
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0032
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0042
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0052
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0062
ADD A,#0F9H
JNZ $ + 5H
LJMP ?C0072
ADD A,#031H
JZ $ + 5H
LJMP ?C0083
; {
; SOURCE LINE # 145
; case Status_KEYCODE:
; SOURCE LINE # 146
?C0010:
; sta_num[7]=(++i)%3;
; SOURCE LINE # 147
INC i
MOV A,i
MOV B,#03H
DIV AB
MOV sta_num+07H,B
; if(sta_num[7]==0)
; SOURCE LINE # 148
MOV A,sta_num+07H
JZ $ + 5H
LJMP ?C0083
; sta_num[7]=3;
; SOURCE LINE # 149
MOV sta_num+07H,#03H
; break;
; SOURCE LINE # 150
RET
; case Shift_KEYCODE:
; SOURCE LINE # 151
?C0012:
; if(sta_num[7]==1)
; SOURCE LINE # 152
MOV A,sta_num+07H
CJNE A,#01H,?C0013
; f6=!f6;
; SOURCE LINE # 153
MOV A,f6+01H
ORL A,f6
JNZ ?C0014
MOV R7,#01H
SJMP ?C0015
?C0014:
MOV R7,#00H
?C0015:
MOV f6,#00H
MOV f6+01H,R7
?C0013:
; if(sta_num[7]==2)
; SOURCE LINE # 154
MOV A,sta_num+07H
CJNE A,#02H,?C0016
; h6=!h6;
; SOURCE LINE # 155
MOV A,h6+01H
ORL A,h6
JNZ ?C0017
MOV R7,#01H
SJMP ?C0018
?C0017:
MOV R7,#00H
?C0018:
MOV h6,#00H
MOV h6+01H,R7
?C0016:
; if(sta_num[7]==3)
; SOURCE LINE # 156
MOV A,sta_num+07H
XRL A,#03H
JZ $ + 5H
LJMP ?C0083
; {
; SOURCE LINE # 157
; if(sta_num[6]>15)
; SOURCE LINE # 158
MOV A,sta_num+06H
SETB C
SUBB A,#0FH
JC ?C0020
; sta_num[6]=0;
; SOURCE LINE # 159
CLR A
MOV sta_num+06H,A
RET
?C0020:
; else
; sta_num[6]++;
; SOURCE LINE # 161
INC sta_num+06H
; }
; SOURCE LINE # 162
;
; break;
; SOURCE LINE # 164
RET
; case Up_KEYCODE:
; SOURCE LINE # 165
?C0022:
; if(sta_num[7]==1)
; SOURCE LINE # 166
MOV A,sta_num+07H
CJNE A,#01H,?C0023
; f5=!f5;
; SOURCE LINE # 167
MOV A,f5+01H
ORL A,f5
JNZ ?C0024
MOV R7,#01H
SJMP ?C0025
?C0024:
MOV R7,#00H
?C0025:
MOV f5,#00H
MOV f5+01H,R7
?C0023:
; if(sta_num[7]==2)
; SOURCE LINE # 168
MOV A,sta_num+07H
CJNE A,#02H,?C0026
; h5=!h5;
; SOURCE LINE # 169
MOV A,h5+01H
ORL A,h5
JNZ ?C0027
MOV R7,#01H
SJMP ?C0028
?C0027:
MOV R7,#00H
?C0028:
MOV h5,#00H
MOV h5+01H,R7
?C0026:
; if(sta_num[7]==3)
; SOURCE LINE # 170
MOV A,sta_num+07H
XRL A,#03H
JZ $ + 5H
LJMP ?C0083
; {
; SOURCE LINE # 171
; if(sta_num[5]>15)
; SOURCE LINE # 172
MOV A,sta_num+05H
SETB C
SUBB A,#0FH
JC ?C0030
; sta_num[5]=0;
; SOURCE LINE # 173
CLR A
MOV sta_num+05H,A
RET
?C0030:
; else
; sta_num[5]++;
; SOURCE LINE # 175
INC sta_num+05H
; }
; SOURCE LINE # 176
; break;
; SOURCE LINE # 177
RET
; case Down_KEYCODE:
; SOURCE LINE # 178
?C0032:
; if(sta_num[7]==1)
; SOURCE LINE # 179
MOV A,sta_num+07H
CJNE A,#01H,?C0033
; f4=!f4;
; SOURCE LINE # 180
MOV A,f4+01H
ORL A,f4
JNZ ?C0034
MOV R7,#01H
SJMP ?C0035
?C0034:
MOV R7,#00H
?C0035:
MOV f4,#00H
MOV f4+01H,R7
?C0033:
; if(sta_num[7]==2)
; SOURCE LINE # 181
MOV A,sta_num+07H
CJNE A,#02H,?C0036
; h4=!h4;
; SOURCE LINE # 182
MOV A,h4+01H
ORL A,h4
JNZ ?C0037
MOV R7,#01H
SJMP ?C0038
?C0037:
MOV R7,#00H
?C0038:
MOV h4,#00H
MOV h4+01H,R7
?C0036:
; if(sta_num[7]==3)
; SOURCE LINE # 183
MOV A,sta_num+07H
XRL A,#03H
JZ $ + 5H
LJMP ?C0083
; {
; SOURCE LINE # 184
; if(sta_num[4]>15)
; SOURCE LINE # 185
MOV A,sta_num+04H
SETB C
SUBB A,#0FH
JC ?C0040
; sta_num[4]=0;
; SOURCE LINE # 186
CLR A
MOV sta_num+04H,A
RET
?C0040:
; else
; sta_num[4]++;
; SOURCE LINE # 188
INC sta_num+04H
; }
; SOURCE LINE # 189
; break;
; SOURCE LINE # 190
RET
; case Yes_KEYCODE:
; SOURCE LINE # 191
?C0042:
; if(sta_num[7]==1)
; SOURCE LINE # 192
MOV A,sta_num+07H
CJNE A,#01H,?C0043
; f3=!f3;
; SOURCE LINE # 193
MOV A,f3+01H
ORL A,f3
JNZ ?C0044
MOV R7,#01H
SJMP ?C0045
?C0044:
MOV R7,#00H
?C0045:
MOV f3,#00H
MOV f3+01H,R7
?C0043:
; if(sta_num[7]==2)
; SOURCE LINE # 194
MOV A,sta_num+07H
CJNE A,#02H,?C0046
; h3=!h3;
; SOURCE LINE # 195
MOV A,h3+01H
ORL A,h3
JNZ ?C0047
MOV R7,#01H
SJMP ?C0048
?C0047:
MOV R7,#00H
?C0048:
MOV h3,#00H
MOV h3+01H,R7
?C0046:
; if(sta_num[7]==3)
; SOURCE LINE # 196
MOV A,sta_num+07H
XRL A,#03H
JZ $ + 5H
LJMP ?C0083
; {
; SOURCE LINE # 197
; if(sta_num[3]>15)
; SOURCE LINE # 198
MOV A,sta_num+03H
SETB C
SUBB A,#0FH
JC ?C0050
; sta_num[3]=0;
; SOURCE LINE # 199
CLR A
MOV sta_num+03H,A
RET
?C0050:
; else
; sta_num[3]++;
; SOURCE LINE # 201
INC sta_num+03H
; }
; SOURCE LINE # 202
; break;
; SOURCE LINE # 203
RET
; case Esc_KEYCODE:
; SOURCE LINE # 204
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -