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

📄 int.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
     1  000000             ;************************************************
     2  000000             ;Name	:InterruptSub
     3  000000             ;Function:
     4  000000             ;Input  :
     5  000000             ;Output	:
     6  000000             ;Register Used:
     7  000000             ;*************************************************
     8  000000             InterruptSub:
     9  000000             	XCH	A,AccBuf
    10  000000             	XCH	A,PFLAG
    11  000000             	B0MOV	PflagBuf,A
    12  000000             	
    13  000000             	b0bts0	FTC0IRQ		;//Analyse the Interrupt resourc
    14  000000             	jmp	TC0INTR
    15  000000             	
    16  000000             	b0bts0	ft0irq
    17  000000             	jmp	t0intr
    18  000000             
    19  000000             	b0bts0	FP00IRQ
    20  000000             	jmp	P00INTR
    21  000000             
    22  000000             Interrupt90:
    23  000000             	XCH	A,PflagBuf
    24  000000             	B0MOV	PFLAG,A
    25  000000             	XCH	A,AccBuf	;//For release the Acc And Pflag
    26  000000             	RETI
    27  000000             ;--------------------------------------------------------
    28  000000             ;--------------------------------------------------------
    29  000000             TC0INTR:
    30  000000             ;//	notbit	ptwing
    31  000000             ;//	jmp	TC0INTR90
    32  000000             ;----------------------
    33  000000             ;左右翼控制
    34  000000             	b0bts0	wingstatflag
    35  000000             	jmp	TC0INTR10
    36  000000             	b0bset	ptwing	
    37  000000             	decms	wingbuf
    38  000000             	jmp	TC0INTR20
    39  000000             	b0bclr	ptwing	
    40  000000             	b0bset	wingstatflag
    41  000000             	mov_	winglowbuf,#220		;set low level 10ms
    42  000000             	mov_	wingbuf,wingloadbuf	;set high level 
    43  000000             ;-----
    44  000000             TC0INTR10:
    45  000000             	decms	winglowbuf
    46  000000             	jmp	TC0INTR20
    47  000000             	b0bclr	wingstatflag	
    48  000000             ;-----------------------
    49  000000             TC0INTR20:
    50  000000             ;尾翼控制
    51  000000             	b0bts0	empennagestatflag
    52  000000             	jmp	TC0INTR30
    53  000000             	b0bset	ptempennage	
    54  000000             	decms	empennagebuf
    55  000000             	jmp	TC0INTR40
    56  000000             	b0bclr	ptempennage	
    57  000000             	b0bset	empennagestatflag
    58  000000             	mov_	empennagelowbuf,#230		;set low level 10ms
    59  000000             	mov_	empennagebuf,empennageloadbuf	;set high level 
    60  000000             ;-----
    61  000000             TC0INTR30:
    62  000000             	decms	empennagelowbuf
    63  000000             	jmp	TC0INTR40
    64  000000             	b0bclr	empennagestatflag	
    65  000000             ;-----------------------
    66  000000             TC0INTR40:
    67  000000             ;螺旋桨控制
    68  000000             	b0bts0	screwstatflag
    69  000000             	jmp	TC0INTR50
    70  000000             	b0bset	ptscrew	
    71  000000             	decms	screwbuf
    72  000000             	jmp	TC0INTR60
    73  000000             	b0bclr	ptscrew	
    74  000000             	b0bset	screwstatflag
    75  000000             	mov_	screwlowbuf,#240	;set low level 10ms
    76  000000             	mov_	screwbuf,screwloadbuf	;set high level 
    77  000000             ;-----
    78  000000             TC0INTR50:
    79  000000             	decms	screwlowbuf
    80  000000             	jmp	TC0INTR60
    81  000000             	b0bclr	screwstatflag	
    82  000000             ;-----------------------
    83  000000             TC0INTR60:
    84  000000             ;摆尾控制
    85  000000             	b0bts0	swingstatflag
    86  000000             	jmp	TC0INTR70
    87  000000             	b0bset	ptswing	
    88  000000             	decms	swingbuf
    89  000000             	jmp	TC0INTR80
    90  000000             	b0bclr	ptswing	
    91  000000             	b0bset	swingstatflag
    92  000000             	mov_	swinglowbuf,#250	;set low level 10ms
    93  000000             	mov_	swingbuf,swingloadbuf	;set high level 
    94  000000             ;-----
    95  000000             TC0INTR70:
    96  000000             	decms	swinglowbuf
    97  000000             	jmp	TC0INTR80
    98  000000             	b0bclr	swingstatflag
    99  000000             ;-----
   100  000000             TC0INTR80:	
   101  000000             TC0INTR90:
   102  000000             	b0bclr	FTC0IRQ
   103  000000             	jmp	Interrupt90
   104  000000             ;--------------------------------------------------------
   105  000000             ;--------------------------------------------------------
   106  000000             t0intr:
   107  000000             	mov	a,#6
   108  000000             	sub	a,levecount
   109  000000             	bts0	fc
   110  000000             	jmp	t0intr10
   111  000000             	bset	errorflag
   112  000000             	jmp	t0intr90
   113  000000             t0intr10:
   114  000000             	incms	levecount
   115  000000             	nop
   116  000000             t0intr90:
   117  000000             	bclr	ft0irq
   118  000000             	jmp	interrupt90
   119  000000             ;--------------------------------------------------------
   120  000000             ;--------------------------------------------------------
   121  000000             P00INTR:		
   122  000000             	bclr	fp00irq
   123  000000             	bclr	ft0enb
   124  000000             	mov	a,t0c
   125  000000             	bts1	singleflag	
   126  000000             	jmp	disasm100				
   127  000000             	mov	level,a		;上升沿进入
   128  000000             	jmp	disasm200		
   129  000000             disasm100:
   130  000000             	mov	leveh,a		;下降沿进入
   131  000000             	jmp	disasm200
   132  000000             disasm200:
   133  000000             	clr	t0c		
   134  000000             	bset	ft0enb	
   135  000000             	bts0	singleflag
   136  000000             	jmp	disasm220
   137  000000             	jmp 	disasm210
   138  000000             disasm210:
   139  000000             	@p00_edge	1		;下降沿进入,设为上升沿中断
   140  000000             	bts0	firstflag
   141  000000             	jmp	disasm221
   142  000000             	mov	a,levecount
   143  000000             	bts0	fz
   144  000000             	jmp	disasm80
   145  000000             	bset	firstflag
   146  000000             	clr	levecount
   147  000000             	clr	inputcount
   148  000000             	jmp	disasm90	
   149  000000             disasm220:
   150  000000             	@p00_edge	2		;上升沿进入,设为下降沿中断	
   151  000000             	mov	a,#56			;448us=8x56
   152  000000             	sub	a,level
   153  000000             	bts0	fc
   154  000000             	jmp	disasm80		;小于448us,出错
   155  000000             	mov	a,#75			;600us=8x75
   156  000000             	sub	a,level
   157  000000             	bts0	fc
   158  000000             	jmp	disasm90		;小于600us,返回
   159  000000             	jmp	disasm80		;大于600us,出错
   160  000000             
   161  000000             disasm221:
   162  000000             
   163  000000             	incms	inputcount
   164  000000             	nop
   165  000000             	mov	a,inputcount
   166  000000             	sub	a,#5
   167  000000             	bts1	fc
   168  000000             	jmp	disasm70;chksignaltable
   169  000000             	jmp	disasm80	
   170  000000             disasm80:
   171  000000             	@p00_edge	2		;出错,设为下降沿中断
   172  000000             	clr	inputcount
   173  000000             	clr	levecount
   174  000000             	bclr	firstflag
   175  000000             	jmp	disasm90
   176  000000             disasm70:
   177  000000             	bset	chksigntableflag	
   178  000000             disasm90:
   179  000000             P00INTR90:
   180  000000             	jmp	Interrupt90
   181  000000             ;***********************************************
   182  000000             mnint:
   183  000000             	bts1	chksigntableflag
   184  000000             	jmp	mnint00
   185  000000             	bclr	chksigntableflag
   186  000000             	clr	tablecount
   187  000000             chksignaltable:				;查询控制信号的档位
   188  000000             
   189  000000             	b0mov	y,#signaltable$m
   190  000000             	b0mov	z,#signaltable$l
   191  000000             	mov	a,tablecount
   192  000000             	add	z,a
   193  000000             	mov	a,#0

⌨️ 快捷键说明

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