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

📄 adc11p.lis

📁 为日本瑞萨苏州分公司做的一个温控系统
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module ADC11P.c
                        .area text
 0000                   .dbfile ADC11P.c
 0000                   .dbfunc e ADC11P _ADC11P fV
 0000           ;              i -> 0,X
 0000           ;              j -> 1,X
 0000           ;           temp -> 2,X
 0000           ;           buff -> 4,X
 0000           ;           flag -> 6,X
 0000           ;        channel -> 7,X
 0000           ;        ADValue -> 11,X
 0000           ;             cs -> 10,X
 0000           _ADC11P::
 0000                   .dbline -1
 0000 A7F8              ais #-8
 0002 95                tsx
 0003                   .dbline 16
 0003           ; //-------------------------------------------------------------------------*
 0003           ; //文件描述:本文件包含了AD采集的2子程序,分别为:                             * 
 0003           ; //(1)ADC11P:1片2543-11路AD采集                                            *
 0003           ; //(2)TLC2543:TLC2543芯片A/D转换子程序                                      *
 0003           ; //-------------------------------------------------------------------------*
 0003           ; #include "ADC11P.h"
 0003           ; 
 0003           ; //A/D转换并求平均值(11路)子程序(AD22P.ASM)---------------------------------*
 0003           ; //功  能:采集TLC2543,共11通道,取16次平均值放入内存ADValue               *
 0003           ; //参  数:cs:片选,cs=0~7对应PTC0~7                                        *
 0003           ; //        ADValue:存放11路AD转换结果的数组首地址                           *
 0003           ; //返  回:内存ADValue开始连续的11个地址内即为转换的结果                    *
 0003           ; //调  用:TLC2543                                                          *
 0003           ; //-------------------------------------------------------------------------*
 0003           ; void ADC11P(INT8U cs,INT16U *ADValue)
 0003           ; {   
 0003                   .dbline 21
 0003           ;       INT8U i,j,channel,flag,buff[2]; 
 0003           ;     INT16U temp; 
 0003           ;      
 0003           ;     //1 将A/D数据存放区清0   
 0003           ;     for(flag=0;flag<=10;flag++)      
 0003 6F06              clr 6,X
 0005 2020              bra L5
 0007           L2:
 0007                   .dbline 22
 0007 3F00              clr *__r0
 0009 E606              lda 6,X
 000B B700              sta *__r1
 000D 3800              lsl *__r1
 000F 3900              rol *__r0
 0011 B600              lda *__r1
 0013 EB0C              add 12,X
 0015 B700              sta *__r1
 0017 B600              lda *__r0
 0019 E90B              adc 11,X
 001B B700              sta *__r0
 001D 4F                clra
 001E 5500              ldhx *__r0
 0020 F7                sta ,x
 0021 4F                clra
 0022 E701              sta 1,x
 0024 95                tsx
 0025           L3:
 0025                   .dbline 21
 0025 6C06              inc 6,X
 0027           L5:
 0027                   .dbline 21
 0027 E606              lda 6,X
 0029 A10A              cmp #10
 002B 23DA              bls L2
 002D                   .dbline 26
 002D           ;       ADValue[flag]=0; 
 002D           ;       
 002D           ;     
 002D           ;     //3 对11个通道采集数据,每一路采集16次,16次的数据总和-->ADValue   
 002D           ;     for(j=1;j<=16;j++)   
 002D A601              lda #1
 002F E701              sta 1,X
 0031 CC00BA            jmp L9
 0034           L6:
 0034                   .dbline 27
 0034           ;     {  
 0034                   .dbline 28
 0034           ;       flag=0; 
 0034 6F06              clr 6,X
 0036                   .dbline 30
 0036           ;       //3.1第0片TLC2543的0~10通道转换      
 0036           ;       for(channel=0;channel<=10;channel++)      
 0036 6F07              clr 7,X
 0038 2078              bra L13
 003A           L10:
 003A                   .dbline 31
 003A                   .dbline 33
 003A AF04              aix #4
 003C 89                pshx
 003D 8B                pshh
 003E 95                tsx
 003F AF02              aix #2
 0041 3F00              clr *__r0
 0043 E607              lda 7,X
 0045 87                psha
 0046 B600              lda *__r0
 0048 87                psha
 0049 3F00              clr *__r0
 004B E60A              lda 10,X
 004D 87                psha
 004E B600              lda *__r0
 0050 87                psha
 0051 CD0103            jsr _TLC2543
 0054 A706              ais #6
 0056 95                tsx
 0057                   .dbline 34
 0057 AF04              aix #4
 0059 89                pshx
 005A 8B                pshh
 005B 95                tsx
 005C AF02              aix #2
 005E 3F00              clr *__r0
 0060 E607              lda 7,X
 0062 87                psha
 0063 B600              lda *__r0
 0065 87                psha
 0066 3F00              clr *__r0
 0068 E60A              lda 10,X
 006A 87                psha
 006B B600              lda *__r0
 006D 87                psha
 006E CD0103            jsr _TLC2543
 0071 A706              ais #6
 0073 95                tsx
 0074                   .dbline 36
 0074 E604              lda 4,X
 0076 E702              sta 2,X
 0078 E605              lda 5,X
 007A E703              sta 3,X
 007C                   .dbline 37
 007C 3F00              clr *__r0
 007E E606              lda 6,X
 0080 B700              sta *__r1
 0082 3800              lsl *__r1
 0084 3900              rol *__r0
 0086 B600              lda *__r1
 0088 EB0C              add 12,X
 008A B700              sta *__r1
 008C B600              lda *__r0
 008E E90B              adc 11,X
 0090 B700              sta *__r0
 0092 5500              ldhx *__r0
 0094 E601              lda 1,x
 0096 B700              sta *__r3
 0098 F6                lda ,x
 0099 95                tsx
 009A B700              sta *__r2
 009C B600              lda *__r3
 009E EB03              add 3,X
 00A0 B700              sta *__r3
 00A2 B600              lda *__r2
 00A4 E902              adc 2,X
 00A6 5500              ldhx *__r0
 00A8 F7                sta ,x
 00A9 B600              lda *__r3
 00AB E701              sta 1,x
 00AD 95                tsx
 00AE                   .dbline 38
 00AE 6C06              inc 6,X
 00B0                   .dbline 39
 00B0           L11:
 00B0                   .dbline 30
 00B0 6C07              inc 7,X
 00B2           L13:
 00B2                   .dbline 30
 00B2 E607              lda 7,X
 00B4 A10A              cmp #10
 00B6 2382              bls L10
 00B8                   .dbline 40
 00B8           L7:
 00B8                   .dbline 26
 00B8 6C01              inc 1,X
 00BA           L9:
 00BA                   .dbline 26
 00BA E601              lda 1,X
 00BC A110              cmp #16
 00BE 2203              bhi X1
 00C0 CC0034            jmp L6
 00C3           X1:
 00C3                   .dbline 43
 00C3           ;       {    
 00C3           ;         //3.1.1将通道j的AD转换结果存入内存buff     
 00C3           ;         TLC2543(cs,channel,buff);   //得到"空数据"--不要
 00C3           ;         TLC2543(cs,channel,buff);        
 00C3           ;         //3.1.2从内存buff取出数据-->ADValue[flag]中         
 00C3           ;         temp=*((unsigned int *)buff);         
 00C3           ;         ADValue[flag]=ADValue[flag]+temp;
 00C3           ;         flag++;    
 00C3           ;       }
 00C3           ;     } 
 00C3           ;        
 00C3           ;     //4 求22路A/D数据的16次平均值   
 00C3           ;     for(flag=0;flag<=10;flag++)     
 00C3 6F06              clr 6,X
 00C5 2033              bra L17
 00C7           L14:
 00C7                   .dbline 44
 00C7 3F00              clr *__r0
 00C9 E606              lda 6,X
 00CB B700              sta *__r1
 00CD 3800              lsl *__r1
 00CF 3900              rol *__r0
 00D1 B600              lda *__r1
 00D3 EB0C              add 12,X
 00D5 B700              sta *__r1
 00D7 B600              lda *__r0
 00D9 E90B              adc 11,X
 00DB B700              sta *__r0
 00DD 5500              ldhx *__r0
 00DF E601              lda 1,x
 00E1 B700              sta *__r3
 00E3 F6                lda ,x
 00E4 B700              sta *__r2
 00E6 A604              lda #4
 00E8           X0:
 00E8 3400              lsr *__r2
 00EA 3600              ror *__r3
 00EC 4BFA              dbnza X0
 00EE B600              lda *__r2
 00F0 5500              ldhx *__r0
 00F2 F7                sta ,x
 00F3 B600              lda *__r3
 00F5 E701              sta 1,x
 00F7 95                tsx
 00F8           L15:
 00F8                   .dbline 43
 00F8 6C06              inc 6,X
 00FA           L17:
 00FA                   .dbline 43
 00FA E606              lda 6,X
 00FC A10A              cmp #10
 00FE 23C7              bls L14
 0100                   .dbline -2
 0100           L1:
 0100 A708              ais #8
 0102                   .dbline 0 ; func end
 0102 81                rts
 0103                   .dbsym l i 0 c
 0103                   .dbsym l j 1 c
 0103                   .dbsym l temp 2 i
 0103                   .dbsym l buff 4 A[2:2]c
 0103                   .dbsym l flag 6 c
 0103                   .dbsym l channel 7 c
 0103                   .dbsym l ADValue 11 pi
 0103                   .dbsym l cs 10 c
 0103                   .dbend
 0103                   .dbfunc e TLC2543 _TLC2543 fV
 0103           ;           temp -> 0,X
 0103           ;            buf -> 7,X
 0103           ;        channel -> 5,X

⌨️ 快捷键说明

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