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

📄 main.lis

📁 国内某测温系统信号处理处理板的代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area vector(rom, abs)
                        .org 12
 000C 00C0              rjmp _timer1_ovf_isr
                        .org 18
 0012 00C0              rjmp _uart0_rx_isr
                        .org 22
 0016 00C0              rjmp _uart0_tx_isr
                        .org 24
 0018 00C0              rjmp _ana_comp_isr
                        .area data(ram, con, rel)
 0000           _rass2dp::
 0000                   .blkb 1
                        .area idata
 0000 01                .byte 1
                        .area data(ram, con, rel)
 0001                   .dbfile E:\任务\RASS\rass_soft\main.c
 0001                   .dbsym e rass2dp _rass2dp c
 0001           _rxed_flag::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile E:\任务\RASS\rass_soft\main.c
 0002                   .dbsym e rxed_flag _rxed_flag c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\任务\RASS\rass_soft\main.c
 0000                   .dbfunc e main _main fV
 0000           ;              j -> R20,R21
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 22
 0000           ; #include "config.h"
 0000           ; 
 0000           ; unsigned char dp2rass[5];
 0000           ; unsigned int test_freq;
 0000           ; unsigned char rass2dp=1;
 0000           ; unsigned int seed;
 0000           ; unsigned char rxed_flag=0;//接收完数据为1
 0000           ; unsigned char dp2rass[5];
 0000           ; unsigned char work_state;
 0000           ; unsigned char work_mode;
 0000           ; unsigned char work_grade;
 0000           ; unsigned char Ns;//频率点的个数
 0000           ; unsigned int Fh,Fl;
 0000           ; unsigned char TCNT1_L;
 0000           ; unsigned char TCNT1_H;
 0000           ; unsigned int D15_0;//为2315控制字
 0000           ; unsigned char timer1;
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 27
 0000           ;       //unsigned int rand;
 0000           ;       //unsigned int first,second;
 0000           ;       //unsigned char x,y;
 0000           ;       //unsigned int num,mod1=0;
 0000           ;       unsigned int j=1;
 0000 41E0              ldi R20,1
 0002 50E0              ldi R21,0
 0004                   .dbline 29
 0004           ;       
 0004           ;       CLI(); //stop errant interrupts until set up
 0004 F894              cli
 0006                   .dbline 30
 0006           ;       port_init();
 0006 00D0              rcall _port_init
 0008                   .dbline 31
 0008           ;       timer1_init();
 0008 00D0              rcall _timer1_init
 000A                   .dbline 32
 000A           ;       uart0_init();
 000A 00D0              rcall _uart0_init
 000C                   .dbline 34
 000C           ;               
 000C           ;       MCUCR = 0x00;
 000C 2224              clr R2
 000E 25BE              out 0x35,R2
 0010                   .dbline 35
 0010           ;       EMCUCR = 0x00;
 0010 26BE              out 0x36,R2
 0012                   .dbline 36
 0012           ;       GICR = 0x00;
 0012 2BBE              out 0x3b,R2
 0014                   .dbline 37
 0014           ;       TIMSK = 0x80;
 0014 80E8              ldi R24,128
 0016 89BF              out 0x39,R24
 0018                   .dbline 38
 0018           ;       SEI(); //re-enable interrupts
 0018 7894              sei
 001A           L2:
 001A                   .dbline 42
 001A           ;       //all peripherals are now initialized
 001A           ;                 
 001A           ;       do
 001A           ;               {
 001A                   .dbline 43
 001A           ;                       if(rxed_flag==1)      //如果刚刚接收完dp的数据,则
 001A 80910100          lds R24,_rxed_flag
 001E 8130              cpi R24,1
 0020 09F0              breq X3
 0022 5CC0              rjmp L5
 0024           X3:
 0024                   .dbline 44
 0024           ;                               {
 0024                   .dbline 45
 0024           ;                                       if(!(dp2rass[0]&0x01))//判断是命令还是数据请求
 0024 20901100          lds R2,_dp2rass
 0028 20FC              sbrc R2,0
 002A 04C0              rjmp L7
 002C                   .dbline 46
 002C           ;                                               UDR=rass2dp;   //为0时是dp请求rass的状态信息,                           
 002C 20900000          lds R2,_rass2dp
 0030 2CB8              out 0xc,R2
 0032 51C0              rjmp L8
 0034           L7:
 0034                   .dbline 48
 0034           ;                     else             //为1时是dp发送给rass的命令 
 0034           ;                       {
 0034                   .dbline 49
 0034           ;                               work_state=(dp2rass[0]&0x02)>>1; 
 0034 80911100          lds R24,_dp2rass
 0038 8270              andi R24,2
 003A 8695              lsr R24
 003C 80930C00          sts _work_state,R24
 0040                   .dbline 50
 0040           ;                                               if(work_state==0)      //如果是关闭工作命令,则
 0040 8823              tst R24
 0042 81F4              brne L9
 0044                   .dbline 51
 0044           ;                                                       {
 0044                   .dbline 52
 0044           ;                                                               ACSR = ACSR & 0xF7;  //关闭时间、比较中断
 0044 88B1              in R24,0x8
 0046 877F              andi R24,247
 0048 88B9              out 0x8,R24
 004A                   .dbline 53
 004A           ;                                                               TCCR1B = 0x00;       
 004A 2224              clr R2
 004C 2EBC              out 0x2e,R2
 004E                   .dbline 54
 004E           ;                                                               ml2035(0,1);          //关闭2305,1666
 004E 21E0              ldi R18,1
 0050 30E0              ldi R19,0
 0052 0027              clr R16
 0054 1127              clr R17
 0056 00D0              rcall _ml2035
 0058                   .dbline 55
 0058           ;                                                               ds1666(128,0);
 0058 2227              clr R18
 005A 3327              clr R19
 005C 00E8              ldi R16,128
 005E 10E0              ldi R17,0
 0060 00D0              rcall _ds1666
 0062                   .dbline 56
 0062           ;                                                       }
 0062 39C0              rjmp L10
 0064           L9:
 0064                   .dbline 58
 0064           ;                                               else                  //如果是开始工作指令的话
 0064           ;                                                       {
 0064                   .dbline 59
 0064           ;                                                               TCCR1B = 0x05;       //start Timer1,comparator
 0064 85E0              ldi R24,5
 0066 8EBD              out 0x2e,R24
 0068                   .dbline 60
 0068           ;                                                               comparator_init();
 0068 00D0              rcall _comparator_init
 006A                   .dbline 61
 006A           ;                                                               data_process();
 006A 00D0              rcall _data_process
 006C                   .dbline 62
 006C           ;                                                               seed=TCNT1L;
 006C 2CB4              in R2,0x2c
 006E 3324              clr R3
 0070 30920E00          sts _seed+1,R3
 0074 20920D00          sts _seed,R2
 0078                   .dbline 63
 0078           ;                                                               ds1666(128,0);
 0078 2227              clr R18
 007A 3327              clr R19
 007C 00E8              ldi R16,128
 007E 10E0              ldi R17,0
 0080 00D0              rcall _ds1666
 0082                   .dbline 64
 0082           ;                                                               switch(work_grade)

⌨️ 快捷键说明

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