⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 加热器的温度控制
💻 LST
📖 第 1 页 / 共 5 页
字号:
032D E500     F      691             MOV     A,TOTALM
032F C4              692             SWAP    A
0330 540F            693             ANL     A,#0FH
0332 FA              694             MOV     R2,A
0333 E500     F      695             MOV     A,TOTALH
0335 C4              696             SWAP    A
0336 4A              697             ORL     A,R2
0337 FA              698             MOV     R2,A
0338 F500     F      699             MOV     VIHT,A
                     700     
033A E4              701             CLR     A               ;清零累加器,为下一次检测作准备
033B F500     F      702             MOV     TOTALH,A
033D F500     F      703             MOV     TOTALM,A
033F F500     F      704             MOV     TOTALL,A
                     705     
0341 200026   F      706             JB      TestCon , DINSQ11
0344 D200     F      707             SETB    TestCon
0346 C3              708             CLR     C
0347 E500     F      709             MOV     A , VILT
0349 945F            710             SUBB    A , #LOW(2911)
A51 MACRO ASSEMBLER      MAIN                                                                DATE  28/01/02   PAGE    13


LOC  OBJ            LINE     SOURCE

034B F500     F      711             MOV     TempOffsetL , A
034D E500     F      712             MOV     A , VIHT
034F 940B            713             SUBB    A , #HIGH(2911)
0351 4007            714             JC      DINSW11
0353 4480            715             ORL     A , #10000000B
0355 F500     F      716             MOV     TempOffsetH , A 
0357 020313          717             LJMP    DINSE
                     718     
035A                 719     DINSW11:
035A C3              720             CLR     C
035B 745F            721             MOV     A , #LOW(2911)
035D 9500     F      722             SUBB    A , VILT
035F F500     F      723             MOV     TempOffsetL , A
0361 740B            724             MOV     A , #HIGH(2911)
0363 9500     F      725             SUBB    A , VIHT
0365 F500     F      726             MOV     TempOffsetH , A ;基准测量时求测量误差,并判断误差方向
0367 020313          727             LJMP    DINSE   
036A                 728     DINSQ11:
036A 850000   F      729             MOV     VIL , VILT
036D 850000   F      730             MOV     VIH , VIHT
0370 C200     F      731             CLR     TestCon
0372 D200     F      732             SETB    ReadTempOK
                     733     
0374 020313          734             LJMP    DINSE
                     735     ;******************************************************
                     736     ;*******************************************************
0377                 737     CloseDisplay:
0377 75B0FF          738             MOV     P3,#0FFH
037A D295            739             SETB    XM0
037C D294            740             SETB    XM1
037E D293            741             SETB    XM2
0380 75B0FF          742             MOV     P3,#0FFH
0383 D295            743             SETB    XM0
0385 D294            744             SETB    XM1
0387 D293            745             SETB    XM2
0389 22              746             RET
                     747     
                     748     
                     749     ;显示数码
038A                 750     Display:
038A C0D0            751             PUSH    PSW
                     752     
038C D2D4            753             SETB    RS1
038E E500     F      754             MOV     A,DisPort
0390 B40305          755             CJNE    A,#SetDisplayBit,Display1
0393 750000   F      756             MOV     DisPort,#00H
0396 7400            757             MOV     A,#00H
0398                 758     Display1:
0398 1203A0          759             LCALL   DisplayMumber   ;每循环一次显示1位数码管
039B 0500     F      760             INC     DisPort
                     761     
039D D0D0            762             POP     PSW
039F 22              763             RET
                     764     ;-------------------------------------------
                     765     
                     766     ;显示一位数码
                     767     ;输入: A 数码管端口号
                     768     ;       Mumber0 -- Mumber2
                     769     ;输出   A 键值
A51 MACRO ASSEMBLER      MAIN                                                                DATE  28/01/02   PAGE    14


LOC  OBJ            LINE     SOURCE

03A0                 770     DisplayMumber:
03A0 120377          771             LCALL   CloseDisplay
                     772     
03A3 30002F   F      773             JNB     XSBJ,DisplayMumber3
                     774     
03A6 F5F0            775             MOV     B,A
03A8 7800     F      776             MOV     R0,#Mumber0
03AA 28              777             ADD     A,R0
03AB F8              778             MOV     R0,A
03AC E6              779             MOV     A,@R0
03AD 9003D6          780             MOV     DPTR,#MumberTemp
03B0 93              781             MOVC    A,@A+DPTR
03B1 F5B0            782             MOV     P3,A
03B3 E5F0            783             MOV     A,B
                     784             
03B5 B40007          785             CJNE    A,#00H,DisplayMumber1
03B8 D295            786             SETB    XM0
03BA D294            787             SETB    XM1
03BC C293            788             CLR     XM2
                     789     
03BE 22              790             RET
03BF                 791     DisplayMumber1:
03BF B40107          792             CJNE    A,#01H,DisplayMumber2
03C2 D295            793             SETB    XM0
03C4 C294            794             CLR     XM1
03C6 D293            795             SETB    XM2
                     796     
03C8 22              797             RET
03C9                 798     DisplayMumber2:
03C9 B40209          799             CJNE    A,#02H,DisplayMumber3
03CC C295            800             CLR     XM0
03CE D294            801             SETB    XM1
03D0 D293            802             SETB    XM2
03D2 E500     F      803             MOV     A,KeyCodeTemp
03D4 22              804             RET
03D5                 805     DisplayMumber3:
03D5 22              806             RET
03D6                 807     MumberTemp:
03D6 C0F96470        808             DB      0C0H,0F9H,064H,070H,059H
03DA 59        
03DB 5242F840        809             DB      052H,042H,0F8H,040H,050H
03DF 50        
03E0 4846            810             DB      048H,046H               ;A,E
                     811     ;*************************************************************
                     812     ;二进制整数转换为十进制数
                     813     ;输入二进在R2R3中
                     814     ;输出在Mumber0--Mumber4中
03E2                 815     IBTD2:
                     816     
03E2 E4              817             CLR     A
03E3 FC              818             MOV     R4,A
03E4 FD              819             MOV     R5,A
03E5 FE              820             MOV     R6,A
03E6 7F10            821             MOV     R7,#16
03E8                 822     IBTD21:
03E8 C3              823             CLR     C
03E9 EB              824             MOV     A,R3
03EA 33              825             RLC     A
03EB FB              826             MOV     R3,A
A51 MACRO ASSEMBLER      MAIN                                                                DATE  28/01/02   PAGE    15


LOC  OBJ            LINE     SOURCE

03EC EA              827             MOV     A,R2
03ED 33              828             RLC     A
03EE FA              829             MOV     R2,A
03EF EE              830             MOV     A,R6
03F0 3E              831             ADDC    A,R6
03F1 D4              832             DA      A
03F2 FE              833             MOV     R6,A
03F3 ED              834             MOV     A,R5
03F4 3D              835             ADDC    A,R5
03F5 D4              836             DA      A
03F6 FD              837             MOV     R5,A
03F7 EC              838             MOV     A,R4
03F8 3C              839             ADDC    A,R4
03F9 D4              840             DA      A
03FA FC              841             MOV     R4,A
03FB 00              842             NOP
03FC 00              843             NOP
03FD DFE9            844             DJNZ    R7,IBTD21
                     845     
                     846     
03FF 7800     F      847             MOV     R0,#Mumber0
0401 EE              848             MOV     A,R6
0402 D6              849             XCHD    A,@R0
0403 08              850             INC     R0
0404 C4              851             SWAP    A
0405 D6              852             XCHD    A,@R0
0406 08              853             INC     R0
                     854     
0407 ED              855             MOV     A,R5
0408 D6              856             XCHD    A,@R0
                     857     
0409 22              858             RET
                     859     ;*************************************************************
                     860     ;设置显示模式
                     861     ;输入   A  0 不闪烁
                     862     ;          1 闪烁
040A                 863     SetDisplayMode:
040A C28E            864             CLR     TR1
040C C2AB            865             CLR     ET1
040E D200     F      866             SETB    XSBJ    ;数码管显示
0410 6011            867             JZ      SetDisplayMode1
0412 D200     F      868             SETB    DisplayStatu    ;闪烁显示
0414 D200     F      869             SETB    DisplayStatu    ;闪烁显示
0416 758D00          870             MOV     TH1,#00H
0419 758B00          871             MOV     TL1,#00H
041C D28E            872             SETB    TR1
041E D2AB            873             SETB    ET1
0420 D2AF            874             SETB    EA
                     875     
0422 22              876             RET
0423                 877     SetDisplayMode1:
0423 C200     F      878             CLR     DisplayStatu    ;正常显示
0425 C200     F      879             CLR     DisplayStatu    ;正常显示
0427 758DF0          880             MOV     TH1,#0F0H
042A 758BBF          881             MOV     TL1,#0BFH       ;8ms中断一次
042D D28E            882             SETB    TR1
042F D2AB            883             SETB    ET1
0431 D2AF            884             SETB    EA
                     885     
A51 MACRO ASSEMBLER      MAIN                                                                DATE  28/01/02   PAGE    16


LOC  OBJ            LINE     SOURCE

                     886     
0433 22              887             RET
                     888     
                     889     ;*************************************************************
                     890     ;读键盘
                     891     ;键值在KeyCode中
0434                 892     ReadKey:
0434 D292            893             SETB    KeyPort
0436 D292            894             SETB    KeyPort
                     895     
0438 75B0FF          896             MOV     P3,#0FFH
043B D295            897             SETB    XM0
043D D294            898             SETB    XM1
043F C293            899             CLR     XM2
                     900     
0441 20921D          901             JB      KeyPort,ReadKey1
0444 E500     F      902             MOV     A,KeyCodeTemp
0446 B41011          903             CJNE    A,#UpKey,ReadKey01      ;上一次按键为上键吗
0449 0500     F      904             INC     KeyCount                ;为上键则相同按键次数加1
044B E500     F      905             MOV     A,KeyCount
044D B40509          906             CJNE    A,#SetCompKey,ReadKey00
0450 750000   F      907             MOV     KeyCount,#00H
0453 750000   F      908             MOV     Timer1,#00H     ;有键按下时清等待返回计数器
0456 750010   F      909             MOV     KeyCode,#UpKey
0459                 910     ReadKey00:
0459 22              911             RET
045A                 912     ReadKey01:
045A 750010   F      913             MOV     KeyCodeTemp,#UpKey
045D 750000   F      914             MOV     KeyCount,#00H
0460 22              915             RET
                     916     ;---------------------------------------------------------------
0461                 917     ReadKey1:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -