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

📄 lcp.lst

📁 演示了如何开发WINDOES下I/O口驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
                =1   746     ; This module services the real time interrupt
                =1   747     ;
                =1   748     ; Get a Real Time interrupt every 40 microseconds (from Timer 0)
                =1   749     ;
                =1   750     ; This routine generates a 40usec pulse which turns on a Triac (via an opto-isolator)
                =1   751     ; The 10msec LINE half cycle is divided into 250 40usec 'slots'
                =1   752     ; The position of the TurnON pulse will vary the phase angle of the power control
                =1   753     ;
                =1   754     ; The PC Host provides 6 "brightness" values, these are counted down each half-cycle
                =1   755     ;
                =1   756     ; The Triacs are on Port A bits [5:0]
                =1   757     ; A Line zero-cross detector is on Port C bit 0
                =1   758     ; 
03CA            =1   759     ServiceTimerRoutine:
03CA 907F9B     =1   760             MOV     DPTR, #PortC_Pins       ; First check if we have just changes cycles
03CD E0         =1   761             MOVX    A, @DPTR
03CE 907F96     =1   762             MOV     DPTR, #PortA_OUT        ; Will need this later
03D1 A204       =1   763             MOV     C, LastCycle
03D3 30E001     =1   764             JNB     ACC.0, PositiveCycle    ; Need an XRL C, but we don't have one!
A51 MACRO ASSEMBLER  LCP                                                                    25/07/99 18:37:13 PAGE    13

03D6 B3         =1   765             CPL     C
03D7            =1   766     PositiveCycle:
03D7 4013       =1   767             JC      SameCycle
03D9            =1   768     CycleChange:
03D9 A2E0       =1   769             MOV     C, ACC.0                ; Retreive current cycle
03DB 9204       =1   770             MOV     LastCycle, C            ; Save it for next time
03DD E4         =1   771             CLR     A
03DE F0         =1   772             MOVX    @DPTR, A                ; Ensure all TurnON signals are low
03DF 7847       =1   773             MOV     R0, #LightValues
03E1 794D       =1   774             MOV     R1, #WorkingValues      
03E3 7F06       =1   775             MOV     R7, #6
03E5 E6         =1   776     CCLoop: MOV     A, @R0                  ; Get the Light Values
03E6 F4         =1   777             CPL     A                       ; Since we count down
03E7 F7         =1   778             MOV     @R1, A                  ; Update the Working Values
03E8 08         =1   779             INC     R0
03E9 09         =1   780             INC     R1
03EA DFF9       =1   781             DJNZ    R7, CCLoop              ; Copy all six values
03EC            =1   782     SameCycle:                              ; Check to see if any counters have expired
03EC 784D       =1   783             MOV     R0, #WorkingValues
03EE 755300     =1   784             MOV     Mask, #0                ; Allow for XCH
03F1 7420       =1   785             MOV     A, #00100000b           ; Turn on signal for a Triac
03F3            =1   786     NextTriac:
03F3 C553       =1   787             XCH     A, Mask                 ; Accumulate TurnON signals in A
03F5 8640       =1   788             MOV     Temp, @R0
03F7 D54002     =1   789             DJNZ    Temp, KeepOFF
03FA 4553       =1   790             ORL     A, Mask                 ; Set a TurnON bit
03FC A640       =1   791     KeepOFF:MOV     @R0, Temp
03FE 08         =1   792             INC     R0                      ; Ready for next loop
03FF C553       =1   793             XCH     A, Mask
0401 03         =1   794             RR      A                       ; Rotate Mask pattern
0402 70EF       =1   795             JNZ     NextTriac
0404 E553       =1   796             MOV     A, Mask                 ; Retrieve TurnON pattern
0406 F0         =1   797             MOVX    @DPTR, A                ; TurnON triac(s) if required
0407 22         =1   798             RET
                =1   799                     
                     800     
                     801     END
A51 MACRO ASSEMBLER  LCP                                                                    25/07/99 18:37:13 PAGE    14

SYMBOL TABLE LISTING
------ ----- -------


N A M E                    T Y P E  V A L U E   ATTRIBUTES

ACC . . . . . . . . . . .  D ADDR   00E0H   A   
B . . . . . . . . . . . .  D ADDR   00F0H   A   
BADREQUEST. . . . . . . .  C ADDR   01C2H   A   
BUMPDPTR. . . . . . . . .  C ADDR   01C8H   A   
BUTTONSVALUE. . . . . . .  D ADDR   0047H   A   
CCLOOP. . . . . . . . . .  C ADDR   03E5H   A   
CLEARINT2 . . . . . . . .  C ADDR   0119H   A   
COMMANDTABLE. . . . . . .  C ADDR   01F6H   A   
CONFIGLENGTH. . . . . . .  N NUMB   001BH   A   
CONFIGURATION0. . . . . .  C ADDR   0267H   A   
CONFIGURATION1. . . . . .  C ADDR   0263H   A   
CONFIGURATIONDESCRIPTOR .  C ADDR   02D3H   A   
CONFIGURED. . . . . . . .  B ADDR   0020H.0 A   
COPYOR. . . . . . . . . .  C ADDR   03C3H   A   
COPYRB. . . . . . . . . .  C ADDR   019CH   A   
COPYSD. . . . . . . . . .  C ADDR   02B3H   A   
CORRECTSUBROUTINE . . . .  C ADDR   01D1H   A   
CREATEINPUTREPORT . . . .  C ADDR   03CAH   A   
CURRENTCONFIGURATION. . .  D ADDR   0046H   A   
CURRENTPOSITION . . . . .  D ADDR   0047H   A   
CYCLECHANGE . . . . . . .  C ADDR   03D9H   A   
DECONFIGURED. . . . . . .  C ADDR   0274H   A   
DEVICEDESCRIPTOR. . . . .  C ADDR   02C1H   A   
DEVICE_CLEAR_FEATURE. . .  C ADDR   0236H   A   
DEVICE_GET_STATUS . . . .  C ADDR   0263H   A   
DEVICE_SET_FEATURE. . . .  C ADDR   0236H   A   
DISPLAYPOSITION . . . . .  D ADDR   0048H   A   
DPH . . . . . . . . . . .  D ADDR   0083H   A   
DPL . . . . . . . . . . .  D ADDR   0082H   A   
DPS . . . . . . . . . . .  D ADDR   0086H   A   
EI. . . . . . . . . . . .  D ADDR   00A8H   A   
EICON . . . . . . . . . .  D ADDR   00D8H   A   
EIE . . . . . . . . . . .  D ADDR   00E8H   A   
ENDOFDESCRIPTORS. . . . .  C ADDR   0353H   A   
ENDPOINT_CLEAR_FEATURE. .  C ADDR   0238H   A   
ENDPOINT_GET_STATUS . . .  C ADDR   0267H   A   
ENDPOINT_SET_FEATURE. . .  C ADDR   0236H   A   
ENDPOINT_SYNC_FRAME . . .  C ADDR   0236H   A   
EP0CONTROL. . . . . . . .  N NUMB   7FB4H   A   
EP0INBUFFER . . . . . . .  N NUMB   7F00H   A   
EP0IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP0OUTBUFFER. . . . . . .  N NUMB   7EC0H   A   
EP0OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP1INBUFFER . . . . . . .  N NUMB   7E80H   A   
EP1IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP1OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP2IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP2OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP3IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP3OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP4IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP4OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP5IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP5OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP6IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP6OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EP7IN_ISR . . . . . . . .  C ADDR   0118H   A   
EP7OUT_ISR. . . . . . . .  C ADDR   0118H   A   
EXIF. . . . . . . . . . .  D ADDR   0091H   A   
EXITISR . . . . . . . . .  C ADDR   014FH   A   
A51 MACRO ASSEMBLER  LCP                                                                    25/07/99 18:37:13 PAGE    15

EXPIRED_TIME. . . . . . .  D ADDR   0042H   A   
FIXUPTHENREPLY. . . . . .  C ADDR   02ADH   A   
FLAGS . . . . . . . . . .  D ADDR   0020H   A   
GET_CLASS_DESCRIPTOR. . .  C ADDR   029BH   A   
GET_CONFIGURATION . . . .  C ADDR   0260H   A   
GET_DESCRIPTOR. . . . . .  C ADDR   0277H   A   
GET_IDLE. . . . . . . . .  C ADDR   0259H   A   
GET_INTERFACE . . . . . .  C ADDR   0236H   A   
GET_PROTOCOL. . . . . . .  C ADDR   0236H   A   
GET_REPORT. . . . . . . .  C ADDR   024CH   A   
HANDSHAKE . . . . . . . .  C ADDR   01A9H   A   
HIDDESCRIPTOR . . . . . .  C ADDR   02E5H   A   
I2CCONTROL. . . . . . . .  N NUMB   7FA5H   A   
I2CDATA . . . . . . . . .  N NUMB   7FA6H   A   
I2CDATABYTE . . . . . . .  D ADDR   0047H   A   
I2C_ISR . . . . . . . . .  C ADDR   0118H   A   
IDLE_TIME . . . . . . . .  D ADDR   0041H   A   
IN07IEN . . . . . . . . .  N NUMB   7FACH   A   
IN07IRQ . . . . . . . . .  N NUMB   7FA9H   A   
IN0BYTECOUNT. . . . . . .  N NUMB   7FB5H   A   
IN1BYTECOUNT. . . . . . .  N NUMB   7FB7H   A   
INITIALIZEINTERRUPTSYSTEM  C ADDR   0390H   A   
INITIALIZEIOSYSTEM. . . .  C ADDR   036BH   A   
INT0_ISR. . . . . . . . .  C ADDR   0118H   A   
INT1_ISR. . . . . . . . .  C ADDR   0118H   A   
INT4_ISR. . . . . . . . .  C ADDR   0118H   A   
INT5_ISR. . . . . . . . .  C ADDR   0118H   A   
INT6_ISR. . . . . . . . .  C ADDR   0118H   A   
INTERFACEDESCRIPTOR . . .  C ADDR   02DCH   A   
INTERFACE_CLEAR_FEATURE .  C ADDR   0236H   A   
INTERFACE_GET_STATUS. . .  C ADDR   0267H   A   
INTERFACE_SET_FEATURE . .  C ADDR   0236H   A   
INVALID . . . . . . . . .  C ADDR   0236H   A   
ISDESCRIPTOR. . . . . . .  B ADDR   0020H.3 A   
KEEPOFF . . . . . . . . .  C ADDR   03FCH   A   
LASTCYCLE . . . . . . . .  B ADDR   0020H.4 A   
LEDBUFFER . . . . . . . .  D ADDR   0049H   A   
LEDSTROBE . . . . . . . .  D ADDR   0048H   A   
LEDVALUE. . . . . . . . .  D ADDR   0049H   A   
LIGHTINGCONTROLPANEL. . .  N NUMB   -----       
LIGHTVALUES . . . . . . .  D ADDR   0047H   A   
LIMITVALUES . . . . . . .  D ADDR   0047H   A   
LOADSUDPTR. . . . . . . .  C ADDR   01B4H   A   
MAIN. . . . . . . . . . .  C ADDR   03A8H   A   
MASK. . . . . . . . . . .  D ADDR   0053H   A   
MONITORSPACE. . . . . . .  D ADDR   0021H   A   
MORE. . . . . . . . . . .  C ADDR   03B1H   A   
MOTORCONTROL. . . . . . .  D ADDR   0048H   A   
MSEC_COUNTER. . . . . . .  D ADDR   004AH   A   
NEXTDPTR. . . . . . . . .  C ADDR   01C7H   A   
NEXTSTRING. . . . . . . .  C ADDR   028DH   A   
NEXTTRIAC . . . . . . . .  C ADDR   03F3H   A   
NOTB5 . . . . . . . . . .  C ADDR   017DH   A   
NOT_USED. . . . . . . . .  C ADDR   0118H   A   
OLD_BUTTONS . . . . . . .  D ADDR   0047H   A   
OUT07IEN. . . . . . . . .  N NUMB   7FADH   A   
OUT07IRQ. . . . . . . . .  N NUMB   7FAAH   A   
OUT0BYTECOUNT . . . . . .  N NUMB   7FC5H   A   
OVERLAY . . . . . . . . .  D ADDR   0047H   A   
PAGEREG . . . . . . . . .  D ADDR   0092H   A   
PCON. . . . . . . . . . .  D ADDR   0087H   A   
PORTA_CONFIG. . . . . . .  N NUMB   7F93H   A   
PORTA_OE. . . . . . . . .  N NUMB   7F9CH   A   
PORTA_OUT . . . . . . . .  N NUMB   7F96H   A   
PORTA_PINS. . . . . . . .  N NUMB   7F99H   A   
PORTB_CONFIG. . . . . . .  N NUMB   7F94H   A   
A51 MACRO ASSEMBLER  LCP                                                                    25/07/99 18:37:13 PAGE    16

POR

⌨️ 快捷键说明

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