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

📄 ze015_1.lis

📁 一款完整的家用电器程序,具有控制商用机的功能,应用广泛,有一定的参考价值
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 024E 0C01              .word 268
 0250 1601              .word 278
 0252 2001              .word 288
 0254 2B01              .word 299
 0256 3501              .word 309
 0258 4001              .word 320
 025A 4B01              .word 331
 025C 5601              .word 342
 025E 6101              .word 353
 0260 6C01              .word 364
 0262 7701              .word 375
 0264 8201              .word 386
 0266 8E01              .word 398
 0268 9901              .word 409
 026A A501              .word 421
 026C B001              .word 432
 026E BC01              .word 444
 0270 C701              .word 455
 0272 D301              .word 467
 0274 DE01              .word 478
 0276 E901              .word 489
 0278 F501              .word 501
 027A 0002              .word 512
 027C 0B02              .word 523
 027E 1602              .word 534
 0280 2102              .word 545
 0282 2C02              .word 556
 0284 3702              .word 567
 0286 4202              .word 578
 0288 4D02              .word 589
 028A 5702              .word 599
 028C 6202              .word 610
 028E 6C02              .word 620
 0290 7602              .word 630
 0292 8002              .word 640
 0294 8A02              .word 650
 0296 9302              .word 659
 0298 9D02              .word 669
 029A A602              .word 678
 029C AF02              .word 687
 029E B802              .word 696
 02A0 C102              .word 705
 02A2 C902              .word 713
 02A4 D202              .word 722
 02A6 DA02              .word 730
 02A8 E202              .word 738
 02AA EA02              .word 746
 02AC F202              .word 754
 02AE F902              .word 761
 02B0 0003              .word 768
 02B2 0803              .word 776
 02B4 0F03              .word 783
 02B6 1503              .word 789
 02B8 1C03              .word 796
 02BA 2303              .word 803
 02BC 2903              .word 809
 02BE 2F03              .word 815
 02C0 3503              .word 821
 02C2 3B03              .word 827
 02C4 4103              .word 833
 02C6 4603              .word 838
 02C8 4B03              .word 843
 02CA 5103              .word 849
 02CC 5603              .word 854
 02CE 5B03              .word 859
 02D0 5F03              .word 863
 02D2 6403              .word 868
 02D4 6803              .word 872
 02D6 6D03              .word 877
 02D8 7103              .word 881
 02DA 7503              .word 885
 02DC 7903              .word 889
 02DE 7D03              .word 893
 02E0 8103              .word 897
 02E2 8403              .word 900
 02E4 8803              .word 904
 02E6 8B03              .word 907
 02E8 8F03              .word 911
 02EA 9203              .word 914
 02EC 9503              .word 917
 02EE 9803              .word 920
 02F0 9B03              .word 923
 02F2 9E03              .word 926
 02F4 A103              .word 929
 02F6 A303              .word 931
 02F8 A603              .word 934
 02FA A803              .word 936
 02FC AB03              .word 939
 02FE AD03              .word 941
 0300 B003              .word 944
 0302 B203              .word 946
 0304 B403              .word 948
 0306 B603              .word 950
 0308 B803              .word 952
 030A BA03              .word 954
 030C BC03              .word 956
 030E BE03              .word 958
 0310 C003              .word 960
 0312 C103              .word 961
 0314 C303              .word 963
 0316 C503              .word 965
 0318 C603              .word 966
 031A C803              .word 968
 031C                   .dbsym e temp20kh _temp20kh A[292:146]ki
                        .area text(rom, con, rel)
 0000                   .dbfile D:\icc\program\20080515\zv5/jf_valve.h
 0000                   .dbfunc e Fun_ad_20k10 _Fun_ad_20k10 fC
 0000           ;            yd1 -> R10
 0000           ;            yd0 -> R12
 0000           ;      truetemp0 -> R20
 0000           ;       truetemp -> R22,R23
 0000           ;           thAD -> R10,R11
                        .even
 0000           _Fun_ad_20k10::
 0000 0E940000          xcall push_gset4
 0004 5801              movw R10,R16
 0006                   .dbline -1
 0006                   .dbline 107
 0006           ; //ICC-AVR application builder : 2007-4-11 16:34:42
 0006           ; // Target : M64
 0006           ; // Crystal: 4.0000Mhz
 0006           ; 
 0006           ; #include <iom64v.h>
 0006           ; #include <macros.h>
 0006           ; #include <math.h>
 0006           ; #include  "jf_atmel.h"
 0006           ; #include  "jf_valve.h"
 0006           ; #include  "jf_p1.c"
 0006           ; #include  "jf_act.c"
 0006           ; #include  "jf_valve.c"
 0006           ; 
 0006           ; 
 0006           ; 
 0006           ; void port_init(void)
 0006           ; {
 0006           ;  PORTA = 0x00;
 0006           ;  DDRA  = 0x0F;//0x0b;         //sck PA0-CD4052A,PA1-CD4052B
 0006           ;  PORTB = 0x00;
 0006           ;  DDRB  = 0xF0;
 0006           ;  PORTC = 0x00; //m103 output only
 0006           ;  DDRC  = 0x01;
 0006           ;  PORTD = 0x00;
 0006           ;  DDRD  = 0xFB;
 0006           ;  PORTE = 0x00;
 0006           ;  DDRE  = 0xC6;
 0006           ;  PORTF = 0x00;
 0006           ;  DDRF  = 0x00;
 0006           ;  PORTG = 0x00;
 0006           ;  DDRG  = 0x1B;
 0006           ; }
 0006           ; 
 0006           ; //Watchdog initialize
 0006           ; // prescale: 16K 
 0006           ; void watchdog_init(void)
 0006           ; {
 0006           ; WDR(); //this prevents a timout on enabling
 0006           ;  WDTCR |= 0x18;       //允许修改watchdog
 0006           ;  //WDTCR = 0x0d; //WATCHDOG ENABLED - 101--0.45s
 0006           ;  WDTCR = 0x0e; //WATCHDOG ENABLED - 110--1s
 0006           ; }
 0006           ; 
 0006           ; //20080612由10ms改为膨胀阀8ms定时
 0006           ; //TIMER0 initialize - prescale:256
 0006           ; // WGM: Normal
 0006           ; // desired value: 8mSec
 0006           ; // actual value:  8.000mSec (0.0%)
 0006           ; void timer0_init(void)
 0006           ; {
 0006           ;  TCCR0 = 0x00; //stop
 0006           ;  ASSR  = 0x00; //set async mode
 0006           ;  TCNT0 = 0x83;  //4MHZ-8ms set count
 0006           ;  OCR0  = 0x7D;
 0006           ;  TCCR0 = 0x06; //start timer
 0006           ; }
 0006           ; 
 0006           ; #pragma interrupt_handler timer0_ovf_isr:17
 0006           ; void timer0_ovf_isr(void)
 0006           ; {
 0006           ;  TCNT0 = 0x83;//64; //reload counter value
 0006           ;  time_flag |=b_time_10ms;     //f_10ms=1
 0006           ;   t_10ms_times++;  //10ms时间计时          
 0006           ;  if (t_10ms_times>=12)
 0006           ;       {
 0006           ;               time_flag |=b_time_100ms; //f_100ms=1
 0006           ;               t_10ms_times=0;
 0006           ;       }
 0006           ;  if (mode & b_fast_test)time_flag |=b_time_1s;        //快测f_1s=1
 0006           ;  else
 0006           ;  {//正常时计数100时置1秒
 0006           ;       t_1s_times++;   //10ms的计时1秒
 0006           ;       if (t_1s_times>=125)
 0006           ;       {
 0006           ;               time_flag |=b_time_1s; //f_1s=1
 0006           ;               t_1s_times=0;
 0006           ;       }
 0006           ;  }
 0006           ;  if (run_state &b_beep_onask) //01-beep_on
 0006           ;     { //蜂鸣器要求响时,时间进行计数,计数到则关T2的CTC
 0006           ;               if (beep_time >=beep_time_ask) 
 0006           ;                {//蜂鸣器响时间到时停止TIMER2,如次数未到则启动间隔计时
 0006           ;                       PORTB &=~b_beep;        //beep=0 PB5时间到则关蜂鸣器
 0006           ;                       TCCR2 = 0x00; //stop T2 CTC
 0006           ;                       run_state &=~b_beep_onask;      //清除蜂鸣器响标志
 0006           ;                       if (beep_times >=1)  //如果要求响的次数大于1
 0006           ;                         {
 0006           ;                               beep_times--;   // 蜂鸣器响的次数-1
 0006           ;                               auto_state |=b_beep_stop;       //开始蜂鸣器停止的间隔计时
 0006           ;                               beep_stop_time =0;      //间隔计时清0
 0006           ;                         }  
 0006           ;                         
 0006           ;                 }
 0006           ;               else beep_time++;//蜂鸣器响时间未到时接着响,蜂鸣器响时间+1
 0006           ;       }       
 0006           ;   else if (auto_state &b_beep_stop)
 0006           ;       {//蜂鸣器间隔计时,计时到时启动TIMER2为CTC
 0006           ;               beep_stop_time ++;      //间隔计时+1
 0006           ;               if (beep_stop_time >=beep_stop_time_ask)
 0006           ;                       {//蜂鸣器间隔计时到时启动TIMER2
 0006           ;                               TCCR2 = 0x00; //stop
 0006           ;                                TCNT2 = 0x87; //0x86; // 2048 Khz    0x83; //2khz
 0006           ;                                OCR2  = 0x79; //0x7a; //0x7d;
 0006           ;                                TCCR2 = 0x1A; //start
 0006           ;                               beep_time=0; //蜂鸣器响时间=0
 0006           ;                               auto_state &=~b_beep_stop;      //清间隔计时标志
 0006           ;                               run_state |=b_beep_onask;       //蜂鸣器响标志
 0006                   .dbline 111
 0006           ;                       }
 0006           ;       }
 0006           ;   else        
 0006           ;   {//无蜂鸣器响或间隔要求时关T2,输出0
 0006 C501              movw R24,R10
 0008 8F38              cpi R24,143
 000A E3E0              ldi R30,3
 000C 9E07              cpc R25,R30
 000E 18F0              brlo L2
 0010                   .dbline 111
 0010 68E7              ldi R22,120
 0012 70E0              ldi R23,0
 0014 2DC0              xjmp L17
 0016           L2:
 0016                   .dbline 112
 0016           ;       TCCR2 = 0x00; //stop T2 CTC
 0016 C501              movw R24,R10
 0018 823F              cpi R24,242
 001A E2E0              ldi R30,2
 001C 9E07              cpc R25,R30
 001E 18F0              brlo L4
 0020                   .dbline 112
 0020 6AE5              ldi R22,90
 0022 70E0              ldi R23,0
 0024 25C0              xjmp L17
 0026           L4:
 0026                   .dbline 113
 0026           ;       PORTB &=~b_beep;        //beep=0 PB5时间到则关蜂鸣器
 0026 C501              movw R24,R10
 0028 8733              cpi R24,55
 002A E2E0              ldi R30,2
 002C 9E07              cpc R25,R30
 002E 18F0              brlo L6
 0030                   .dbline 113
 0030 66E4              ldi R22,70
 0032 70E0              ldi R23,0
 0034 1DC0              xjmp L17
 0036           L6:
 0036                   .dbline 114
 0036           ;   }
 0036 C501              movw R24,R10
 0038 8635              cpi R24,86
 003A E1E0              ldi R30,1
 003C 9E07              cpc R25,R30
 003E 18F0              brlo L8
 0040                   .dbline 114
 0040 62E3              ldi R22,50
 0042 70E0              ldi R23,0
 0044 15C0              xjmp L17
 0046           L8:
 0046                   .dbline 115
 0046           ; //uart0 与主模块板通讯,等待主模块,接收正确后延时40MS发送应答,发送完成后立即转接收
 0046 C501              movw R24,R10
 0048 8F3E              cpi R24,239
 004A E0E0              ldi R30,0
 004C 9E07              cpc R25,R30
 004E 18F0              brlo L10
 0050                   .dbline 115
 0050 68E2              ldi R22,40
 0052 70E0              ldi R23,0
 0054 0DC0              xjmp L17
 0056           L10:
 0056                   .dbline 116
 0056           ;  if (txd_state0 &rxd_txdstart0)       //rxd_txdstart=1
 0056 C501              movw R24,R10
 0058 8E35              cpi R24,94
 005A E0E0              ldi R30,0
 005C 9E07              cpc R25,R30
 005E 18F0              brlo L12
 0060                   .dbline 116
 0060 64E1              ldi R22,20
 0062 70E0              ldi R23,0
 0064 05C0              xjmp L17
 0066           L12:
 0066                   .dbline 117
 0066           ;       {
 0066 6627              clr R22
 0068 7727              clr R23
 006A                   .dbline 118
 006A 02C0              xjmp L17
 006C           L14:
 006C                   .dbline 118
 006C           L15:
 006C                   .dbline 118
 006C 6F5F              subi R22,255  ; offset = 1
 006E 7F4F              sbci R23,255
 0070           L17:
 0070                   .dbline 118
 0070           ;       txd_rxd_delaytime0++;
 0070 02E0              ldi R16,2
 0072 10E0              ldi R17,0
 0074 9B01              movw R18,R22
 0076 0E940000          xcall empy16s
 007A F801              movw R30,R16
 007C 80E0              ldi R24,<_temp20kh
 007E 90E0              ldi R25,>_temp20kh
 0080 E80F              add R30,R24
 0082 F91F              adc R31,R25
 0084 0590              lpm R0,Z+
 0086 1490              lpm R1,Z
 0088 F001              movw R30,R0
 008A EA15              cp R30,R10
 008C FB05              cpc R31,R11
 008E 70F3              brlo L14
 0090                   .dbline 119
 0090           ;       if (txd_rxd_delaytime0>=5)      //接收完成转发送时延时40ms
 0090 02E0              ldi R16,2
 0092 10E0              ldi R17,0
 0094 9B01              movw R18,R22
 0096 0E940000          xcall empy16s
 009A F801              movw R30,R16
 009C 80E0              ldi R24,<_temp20kh

⌨️ 快捷键说明

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