?? xspmain.src
字號:
; extern void DispScan();
;
; void main()
RSEG ?PR?main?XSPMAIN
main:
USING 0
; SOURCE LINE # 135
; {
; SOURCE LINE # 136
; data unsigned char temp;
; WrReset:
; SOURCE LINE # 138
?main?WrReset:
; InitAsp();
; SOURCE LINE # 139
LCALL InitAsp
; uart_init();
; SOURCE LINE # 140
LCALL uart_init
; // IicWriteData(StrHello2);
; if (IicReadData(StrHello1)){
; SOURCE LINE # 142
MOV R3,#01H
MOV R2,#HIGH (StrHello1)
MOV R1,#LOW (StrHello1)
LCALL _IicReadData
JNC ?C0002
; strcpy(StrHelloBuf,StrHello);
; SOURCE LINE # 143
MOV R0,#LOW (StrHelloBuf)
MOV R4,#HIGH (StrHelloBuf)
MOV R5,#01H
MOV R3,#0FFH
MOV R2,#HIGH (StrHello)
MOV R1,#LOW (StrHello)
LCALL ?C?STRCPY
; strcat(StrHelloBuf,StrHello1);
; SOURCE LINE # 144
MOV DPTR,#?_strcat?BYTE+03H
MOV A,#01H
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (StrHello1)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (StrHello1)
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (StrHelloBuf)
MOV R1,#LOW (StrHelloBuf)
LCALL _strcat
; strcat(StrHelloBuf,StrKongGe);
; SOURCE LINE # 145
MOV DPTR,#?_strcat?BYTE+03H
MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (StrKongGe)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (StrKongGe)
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (StrHelloBuf)
MOV R1,#LOW (StrHelloBuf)
LCALL _strcat
; MapDrawString(StrHelloBuf);
; SOURCE LINE # 146
MOV R3,#01H
MOV R2,#HIGH (StrHelloBuf)
MOV R1,#LOW (StrHelloBuf)
LCALL _MapDrawString
; }
; SOURCE LINE # 147
SJMP ?C0004
?C0002:
; else
; MapDrawString(StrHello);
; SOURCE LINE # 149
MOV R3,#0FFH
MOV R2,#HIGH (StrHello)
MOV R1,#LOW (StrHello)
LCALL _MapDrawString
?C0004:
; /*
; MemDataCopy(&DispBuf[0],&DispShuBuf[0][0][0]);
; while (1){
; WDT_RESET();
; }*/
;
; while (1){
; SOURCE LINE # 156
; ClrPing(&DispBuf[0]);
; SOURCE LINE # 157
MOV R3,#01H
MOV R2,#HIGH (DispBuf)
MOV R1,#LOW (DispBuf)
LCALL _ClrPing
; if (UartEnd){
; SOURCE LINE # 158
JNB UartEnd,?C0006
; if(HelloOk){
; SOURCE LINE # 159
JNB HelloOk,?C0007
; IicWriteData(UsartRecvFifo);
; SOURCE LINE # 160
MOV R3,#01H
MOV R2,#HIGH (UsartRecvFifo)
MOV R1,#LOW (UsartRecvFifo)
LCALL _IicWriteData
; HelloOk=0;
; SOURCE LINE # 161
CLR HelloOk
; UartEnd=0;
; SOURCE LINE # 162
CLR UartEnd
; goto WrReset;
; SOURCE LINE # 163
SJMP ?main?WrReset
; }
; SOURCE LINE # 164
?C0007:
; else if (BaoZhaBit){
; SOURCE LINE # 165
JNB BaoZhaBit,?C0009
; LoopBaoZhaBit=1;
; SOURCE LINE # 166
SETB LoopBaoZhaBit
; GuanMenBit=0;
; SOURCE LINE # 167
CLR GuanMenBit
; strcat(UsartRecvBzFifo,StrKongGe);
; SOURCE LINE # 168
MOV DPTR,#?_strcat?BYTE+03H
MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (StrKongGe)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (StrKongGe)
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (UsartRecvBzFifo)
MOV R1,#LOW (UsartRecvBzFifo)
LCALL _strcat
; MapDrawString(UsartRecvBzFifo);
; SOURCE LINE # 169
MOV R3,#01H
MOV R2,#HIGH (UsartRecvBzFifo)
MOV R1,#LOW (UsartRecvBzFifo)
LCALL _MapDrawString
; }
; SOURCE LINE # 170
SJMP ?C0008
?C0009:
; else if (ResetBit){
; SOURCE LINE # 171
JNB ResetBit,?C0011
; ResetBit=0;
; SOURCE LINE # 172
CLR ResetBit
; UartEnd=0;
; SOURCE LINE # 173
CLR UartEnd
; MapDrawString(StrHelloBuf);
; SOURCE LINE # 174
MOV R3,#01H
MOV R2,#HIGH (StrHelloBuf)
MOV R1,#LOW (StrHelloBuf)
LCALL _MapDrawString
; }
; SOURCE LINE # 175
SJMP ?C0008
?C0011:
; else{
; SOURCE LINE # 176
; strcat(UsartRecvFifo,StrKongGe);
; SOURCE LINE # 177
MOV DPTR,#?_strcat?BYTE+03H
MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
MOV A,#HIGH (StrKongGe)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (StrKongGe)
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (UsartRecvFifo)
MOV R1,#LOW (UsartRecvFifo)
LCALL _strcat
; MapDrawString(UsartRecvFifo);
; SOURCE LINE # 178
MOV R3,#01H
MOV R2,#HIGH (UsartRecvFifo)
MOV R1,#LOW (UsartRecvFifo)
LCALL _MapDrawString
; }
; SOURCE LINE # 179
?C0008:
; UartEnd=0;
; SOURCE LINE # 180
CLR UartEnd
; }
; SOURCE LINE # 181
SJMP ?C0013
?C0006:
; else{
; SOURCE LINE # 182
; if (LoopXianShiBit && LoopBaoZhaBit){
; SOURCE LINE # 183
JNB LoopXianShiBit,?C0014
JNB LoopBaoZhaBit,?C0014
; MapDrawString(UsartRecvBzFifo);
; SOURCE LINE # 184
MOV R3,#01H
MOV R2,#HIGH (UsartRecvBzFifo)
MOV R1,#LOW (UsartRecvBzFifo)
LCALL _MapDrawString
; }
; SOURCE LINE # 185
SJMP ?C0015
?C0014:
; else{
; SOURCE LINE # 186
; if (GuanMenBit)
; SOURCE LINE # 187
JNB GuanMenBit,?C0016
; MapDrawString(UsartRecvFifo);
; SOURCE LINE # 188
MOV R3,#01H
MOV R2,#HIGH (UsartRecvFifo)
MOV R1,#LOW (UsartRecvFifo)
LCALL _MapDrawString
SJMP ?C0015
?C0016:
; else if (!LoopBaoZhaBit)
; SOURCE LINE # 189
JB LoopBaoZhaBit,?C0015
; MapDrawString(StrHelloBuf);
; SOURCE LINE # 190
MOV R3,#01H
MOV R2,#HIGH (StrHelloBuf)
MOV R1,#LOW (StrHelloBuf)
LCALL _MapDrawString
;
; }
; SOURCE LINE # 192
?C0015:
; LoopXianShiBit=~LoopXianShiBit;
; SOURCE LINE # 193
CPL LoopXianShiBit
; }
; SOURCE LINE # 194
?C0013:
; temp=0;
; SOURCE LINE # 195
CLR A
MOV temp?040,A
?C0019:
; while (temp<=PingShu && !UartEnd){
; SOURCE LINE # 196
MOV A,temp?040
SETB C
SUBB A,PingShu
JNC ?C0020
JB UartEnd,?C0020
; // while (temp<=PingShu ){
; DataCopy(temp);
; SOURCE LINE # 198
MOV R7,temp?040
LCALL _DataCopy
; MapDrawLeftShift();
; SOURCE LINE # 199
LCALL MapDrawLeftShift
; // MapDrawZhiJie();
; temp++;
; SOURCE LINE # 201
INC temp?040
; }
; SOURCE LINE # 202
SJMP ?C0019
?C0020:
; WDT_RESET();
; SOURCE LINE # 203
LCALL WDT_RESET
; } // Main loop
; SOURCE LINE # 204
LJMP ?C0004
RET
; END OF main
CSEG AT 0000BH
LJMP Timer0Int
; }
; /*----------------------------------------------*/
; /*----------------------------------------------*/
; /*----------定時掃描----------------------------*/
; void Timer0Int() interrupt 1 using 1{
RSEG ?PR?Timer0Int?XSPMAIN
USING 1
Timer0Int:
PUSH ACC
PUSH DPH
PUSH DPL
PUSH PSW
; SOURCE LINE # 209
; static bit pCEtemp;
; static data unsigned char DisplayHangShu=0;
; #ifdef ChangJia_ShangHaiKaiLun
; static data unsigned char DisplayHangSao=0xc3;
; #endif
;
; data unsigned char i;
; data unsigned char ii;
;
;
; pCEtemp=pCE; //片選保護(hù)
; SOURCE LINE # 220
MOV C,pCE
MOV pCEtemp?141,C
; pCE=0;
; SOURCE LINE # 221
CLR pCE
; TH0=-MSCOUNT>>8; // 1ms
; SOURCE LINE # 222
MOV TH0,#0FBH
; TL0=-MSCOUNT;
; SOURCE LINE # 223
MOV TL0,#034H
; // if (Timer1Count++>=10){
; // Timer1Count=0;
; LeftShiftDelayCount--;
; SOURCE LINE # 226
DEC LeftShiftDelayCount
; // }
; if(UartStart){
; SOURCE LINE # 228
JNB UartStart,?C0022
; UartTimerCount--;
; SOURCE LINE # 229
MOV A,UartTimerCount+01H
DEC UartTimerCount+01H
JNZ ?C0139
DEC UartTimerCount
?C0139:
; if(UartTimerCount==0) {
; SOURCE LINE # 230
MOV A,UartTimerCount+01H
ORL A,UartTimerCount
JNZ ?C0022
; UartStep=0;
; SOURCE LINE # 231
MOV UartStep,A
; UartStart=0;
; SOURCE LINE # 232
CLR UartStart
; }
; SOURCE LINE # 233
; }
; SOURCE LINE # 234
?C0022:
; DPH=DptrBakHi;
; SOURCE LINE # 235
MOV DPH,DptrBakHi
; DPL=DptrBakLo;
; SOURCE LINE # 236
MOV DPL,DptrBakLo
; if (DisplayHangShu<HANGSHU){
; SOURCE LINE # 237
MOV A,DisplayHangShu?142
CLR C
SUBB A,#010H
JNC ?C0024
; for (i=0;i<LIEBYTE;i++){
; SOURCE LINE # 238
MOV i?144,#00H
?C0025:
; // DispYingXiangBuf[DisplayHangShu][i]=DispYingXiangBuf[DisplayHangShu][i];
; // temp=*(p++);
;
; #pragma asm
; MOVX A,@DPTR
MOVX A,@DPTR
; INC DPTR
INC DPTR
; #pragma endasm
;
; // DispScan();
; for (ii=8;ii>0;ii--){
; SOURCE LINE # 248
MOV ii?145,#08H
?C0028:
; pCLK=0;
; SOURCE LINE # 249
CLR pCLK
; // _nop_();
; pCLK=1;
; SOURCE LINE # 251
SETB pCLK
; }
; SOURCE LINE # 252
DJNZ ii?145,?C0028
; }
; SOURCE LINE # 253
?C0027:
INC i?144
MOV A,i?144
CJNE A,#012H,?C0025
?C0026:
; // pOE=1;
; pRCLK=0;
; SOURCE LINE # 255
CLR pRCLK
; pRCLK=1;
; SOURCE LINE # 256
SETB pRCLK
; DptrBakHi=DPH;
; SOURCE LINE # 257
MOV DptrBakHi,DPH
; DptrBakLo=DPL;
; SOURCE LINE # 258
MOV DptrBakLo,DPL
;
; //上海凱倫
; #ifdef ChangJia_ShangHaiKaiLun
; P3=DisplayHangSao;
; SOURCE LINE # 262
MOV P3,DisplayHangSao?143
; #endif
;
; //杭州尖峰
; #ifdef ChangJia_HangZhouJianFeng
; pLD=1;
; #endif
;
; DisplayHangShu++;
; SOURCE LINE # 270
INC DisplayHangShu?142
;
; #ifdef ChangJia_ShangHaiKaiLun
; DisplayHangSao+=0x04;
; SOURCE LINE # 273
MOV A,#04H
ADD A,DisplayHangSao?143
MOV DisplayHangSao?143,A
; #endif
;
; }
; SOURCE LINE # 276
SJMP ?C0031
?C0024:
; else{
; SOURCE LINE # 277
; DisplayHangShu =0;
; SOURCE LINE # 278
MOV DisplayHangShu?142,#00H
;
; #ifdef ChangJia_ShangHaiKaiLun
; DisplayHangSao=0xc3;
; SOURCE LINE # 281
MOV DisplayHangSao?143,#0C3H
; #endif
; DptrBakHi=0;
; SOURCE LINE # 283
MOV DptrBakHi,#00H
; DptrBakLo=0;
; SOURCE LINE # 284
MOV DptrBakLo,#00H
;
; //杭州尖峰
; #ifdef ChangJia_HangZhouJianFeng
; pLD=0;
; #endif
; }
; SOURCE LINE # 290
?C0031:
; pCE=pCEtemp; //片選
; SOURCE LINE # 291
MOV C,pCEtemp?141
MOV pCE,C
; }
; SOURCE LINE # 292
POP PSW
POP DPL
POP DPH
POP ACC
RETI
; END OF Timer0Int
;
; /*----------------------------------------------*/
; /* Title : Initialize */
; /* Action : 初始化 */
; /*----------------------------------------------*/
; void InitAsp(){
RSEG ?PR?InitAsp?XSPMAIN
InitAsp:
USING 0
; SOURCE LINE # 298
; TMOD=0x21; //定時器1工作在方式2(自動重裝載)
; SOURCE LINE # 299
MOV TMOD,#021H
; TH0=-MSCOUNT>>8; // 1ms
; SOURCE LINE # 300
MOV TH0,#0FBH
; TL0=-MSCOUNT;
; SOURCE LINE # 301
MOV TL0,#034H
; // IE=0x00; // EA=1,允許定時器0 串行口中斷
; IE=0x92; // EA=1,允許定時器0 串行口中斷
; SOURCE LINE # 303
MOV IE,#092H
; P1=0xFF;
; SOURCE LINE # 304
MOV P1,#0FFH
; pCE=0;
; SOURCE LINE # 305
CLR pCE
;
; //杭州尖峰
; #ifdef ChangJia_HangZhouJianFeng
; pLD=0;
; #endif
;
; //上海凱倫
; #ifdef ChangJia_ShangHaiKaiLun
; P3=0xc3;
; SOURCE LINE # 314
MOV P3,#0C3H
; #endif
; // p=&DispBuf[0][0];
; ClrPing(&DispBuf[0]);
; SOURCE LINE # 317
MOV R3,#01H
MOV R2,#HIGH (DispBuf)
MOV R1,#LOW (DispBuf)
LCALL _ClrPing
; TR0=1; // Start count
; SOURCE LINE # 318
SETB TR0
; pOE=0;
; SOURCE LINE # 319
CLR pOE
; }
; SOURCE LINE # 320
RET
; END OF InitAsp
;
; /*************************************************/
; /*
; void MapDrawLeftShift(){
; data unsigned char i;
; data unsigned char j;
; data signed char k;
; data signed char h;
; data unsigned char temp;
; data unsigned char temp1;
;
; for (i=0;i<LIEBYTE;i++){
; for (h=7;h>=0;h--){
; for (j=0;j<HANGSHU;j++){
; temp=DispYingXiangBuf[j][i]>>h;
; for (k=LIEBYTE-1;k>=0;k--){
; temp1=DispBuf[j][k];
; DispBuf[j][k]=(temp1<<1)|temp;
; temp=temp1>>7;
; }
; }
; if (UartEnd) return;
; WDT_RESET();
; LeftShiftDelayCount=1;
; while(LeftShiftDelayCount);
; }
; }
; }*/
;
; void MapDrawZhiJie(){
RSEG ?PR?MapDrawZhiJie?XSPMAIN
MapDrawZhiJie:
USING 0
; SOURCE LINE # 350
; memcpy(DispBuf,DispYingXiangBuf,HANGSHU*LIEBYTE);
; SOURCE LINE # 351
MOV R0,#LOW (DispBuf)
MOV R4,#HIGH (DispBuf)
MOV R5,#01H
MOV R3,#01H
MOV R2,#HIGH (DispYingXiangBuf)
MOV R1,#LOW (DispYingXiangBuf)
MOV R6,#01H
MOV R7,#020H
LCALL ?C?COPY
; LeftShiftDelayCount=255;
; SOURCE LINE # 352
MOV LeftShiftDelayCount,#0FFH
?C0034:
; while(LeftShiftDelayCount) WDT_RESET();
; SOURCE LINE # 353
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -