📄 switchoutput.lis
字号:
.module SwitchOutput.c
.area text
0000 .dbfile SwitchOutput.c
0000 .dbfunc e SwitchOutput_Init _SwitchOutput_Init fV
0000 _SwitchOutput_Init::
0000 .dbline -1
0000 .dbline 18
0000 ; //[SwitchOutput.c]开关驱动-------------------------------------------------*
0000 ; //本文件包含: *
0000 ; // (1)SwitchOutput_Init:定义控制开关的MCU的I/O引脚为输出 *
0000 ; // (2)SwitchOutput:将某引脚模拟为开关的开闭 *
0000 ; //硬件连接: *
0000 ; // (1)本处的开关是接触器,由MCU的I/O引脚控制 *
0000 ; // (2)控制引脚=高电平时,模拟开关的闭状态;反之,模拟开关的开状态; *
0000 ; //-------------------------------------------------------------------------*
0000 ;
0000 ; #include"SwitchOutput.h" //该头文件中包含了开关控制引脚定义和相关函数声明
0000 ;
0000 ; //SwitchOutput_Init:定义控制开关的MCU引脚为输出----------------------------*
0000 ; //功能:定义控制开关的MCU引脚为输出,并模拟开关初始为开 *
0000 ; //参数:无 *
0000 ; //返回:无 *
0000 ; //-------------------------------------------------------------------------*
0000 ; void SwitchOutput_Init(void)
0000 ; {
0000 .dbline 19
0000 ; SwitchOutput_D=0xFF; //令开关输出端口为输出
0000 A6FF lda #-1
0002 B704 sta 0x4
0004 .dbline 20
0004 ; SwitchOutput_P=0x00; //初始输出全为低,模拟开关的开状态
0004 3F00 clr 0
0006 .dbline -2
0006 L27:
0006 .dbline 0 ; func end
0006 81 rts
0007 .dbend
0007 .dbfunc e SwitchOutput _SwitchOutput fV
0007 ; Status -> 3,X
0007 ; PinNo -> 2,X
0007 _SwitchOutput::
0007 .dbline -1
0007 95 tsx
0008 .dbline 30
0008 ; }
0008 ;
0008 ; //SwitchOutput:驱动开关"开"、"闭"------------------------------------------*
0008 ; //功能:通过给某引脚设定状态来模拟开关的开闭 *
0008 ; //参数:PinNo=需设定状态的引脚(0~7) *
0008 ; // Status=Open,开;Status=Close,闭 *
0008 ; //返回:无 *
0008 ; //-------------------------------------------------------------------------*
0008 ; void SwitchOutput(INT8U PinNo,INT8U Status)
0008 ; {
0008 .dbline 31
0008 ; if(Status==0)
0008 E603 lda 3,X
000A 2617 bne L29
000C .dbline 32
000C ; SwitchOutput_P &=~(1<<PinNo); //开关“开”
000C 6E0100 mov #1,*__r0
000F E602 lda 2,X
0011 A407 and #7
0013 2704 beq X1
0015 X0:
0015 3800 lsl *__r0
0017 4BFC dbnza X0
0019 X1:
0019 3300 com *__r0
001B B600 lda 0
001D B400 and *__r0
001F B700 sta 0
0021 2013 bra L30
0023 L29:
0023 .dbline 34
0023 6E0100 mov #1,*__r0
0026 E602 lda 2,X
0028 A407 and #7
002A 2704 beq X3
002C X2:
002C 3800 lsl *__r0
002E 4BFC dbnza X2
0030 X3:
0030 B600 lda 0
0032 BA00 ora *__r0
0034 B700 sta 0
0036 L30:
0036 .dbline -2
0036 L28:
0036 .dbline 0 ; func end
0036 81 rts
0037 .dbsym l Status 3 c
0037 .dbsym l PinNo 2 c
0037 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -