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

📄 switchoutput.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 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           L1:
 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 L3
 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 L4
 0023           L3:
 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           L4:
 0036                   .dbline -2
 0036           L2:
 0036                   .dbline 0 ; func end
 0036 81                rts
 0037                   .dbsym l Status 3 c
 0037                   .dbsym l PinNo 2 c
 0037                   .dbend
 0037                   .dbfunc e LightInit _LightInit fV
 0037           _LightInit::
 0037                   .dbline -1
 0037                   .dbline 38
 0037           ;   else 
 0037           ;     SwitchOutput_P |=(1<<PinNo);         //开关“闭” 
 0037           ; }
 0037           ; 
 0037           ; void LightInit(void)
 0037           ; {
 0037                   .dbline 39
 0037           ;   BakeLight_D|=1<<LightPin;       //令按钮开关输出端口为输出
 0037 1A07              bset #5,0x7
 0039                   .dbline 40
 0039           ;   BakeLight_P|=1<<LightPin;       //初始输出为高
 0039 1A03              bset #5,0x3
 003B                   .dbline -2
 003B           L5:
 003B                   .dbline 0 ; func end
 003B 81                rts
 003C                   .dbend
 003C                   .dbfunc e LightOut _LightOut fV
 003C           ;         Status -> 2,X
 003C           _LightOut::
 003C                   .dbline -1
 003C 95                tsx
 003D                   .dbline 44
 003D           ; //  BakeLight_P&=~(1<<LightPin);    
 003D           ; }
 003D           ; void LightOut(INT8U Status)
 003D           ; {
 003D                   .dbline 45
 003D           ;   if(Status==1)
 003D E602              lda 2,X
 003F A101              cmp #1
 0041 2604              bne L7
 0043                   .dbline 46
 0043           ;     BakeLight_P &=~(1<<LightPin);      //开关“开” 
 0043 1B03              bclr #5,0x3
 0045 2002              bra L8
 0047           L7:
 0047                   .dbline 48
 0047 1A03              bset #5,0x3
 0049           L8:
 0049                   .dbline -2
 0049           L6:
 0049                   .dbline 0 ; func end
 0049 81                rts
 004A                   .dbsym l Status 2 c
 004A                   .dbend

⌨️ 快捷键说明

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