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

📄 hptv.lis

📁 MCU控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0156           ;    open_machine_enable=0;
 0156 20924400          sts _open_machine_enable,R2
 015A                   .dbline 355
 015A           ;    tv_state=1;
 015A 80930000          sts _tv_state,R24
 015E                   .dbline 356
 015E           ;    WDR();
 015E A895              wdr
 0160                   .dbline 357
 0160           ;    command_2d=0;
 0160 20922A00          sts _command_2d,R2
 0164                   .dbline 358
 0164           ;    PORTA|=(1<<7);
 0164 DF9A              sbi 0x1b,7
 0166                   .dbline 359
 0166           ;    System_State=booting;
 0166 80930000          sts _System_State,R24
 016A                   .dbline -2
 016A           L27:
 016A                   .dbline 0 ; func end
 016A 0895              ret
 016C                   .dbend
 016C                   .dbfunc e close_machine _close_machine fV
                        .even
 016C           _close_machine::
 016C                   .dbline -1
 016C                   .dbline 370
 016C           ; }
 016C           ; 
 016C           ; 
 016C           ; 
 016C           ; /*********************************************
 016C           ; //关机函数
 016C           ; //此函数用于设置关机时序
 016C           ; 
 016C           ; *********************************************/
 016C           ; void close_machine(void)
 016C           ; {
 016C                   .dbline 371
 016C           ;    WDR();
 016C A895              wdr
 016E                   .dbline 373
 016E           ;    //PORTC|=0x38;                               //pwrbt=1
 016E           ;    reset_close_count=0;
 016E 2224              clr R2
 0170 20925100          sts _reset_close_count,R2
 0174                   .dbline 374
 0174           ;    rly_on_count=0;
 0174 20925000          sts _rly_on_count,R2
 0178                   .dbline 375
 0178           ;    vs_on_close_count=0;
 0178 20924E00          sts _vs_on_close_count,R2
 017C                   .dbline 376
 017C           ;    close_to_open_count=0;
 017C 20925600          sts _close_to_open_count,R2
 0180                   .dbline 377
 0180           ;    machine_close_start=1;
 0180 81E0              ldi R24,1
 0182 80934600          sts _machine_close_start,R24
 0186                   .dbline 378
 0186           ;    close_to_open_station=0;
 0186 20924900          sts _close_to_open_station,R2
 018A                   .dbline 379
 018A           ;    close_machine_enable=0;
 018A 20924500          sts _close_machine_enable,R2
 018E                   .dbline 380
 018E           ;    open_machine_enable=0;
 018E 20924400          sts _open_machine_enable,R2
 0192                   .dbline 381
 0192           ;    tv_state=0;
 0192 20920000          sts _tv_state,R2
 0196                   .dbline 382
 0196           ;    PORTA|=(1<<7);
 0196 DF9A              sbi 0x1b,7
 0198                   .dbline 383
 0198           ;    System_State=halting;
 0198 84E0              ldi R24,4
 019A 80930000          sts _System_State,R24
 019E                   .dbline 384
 019E           ;    WDR();
 019E A895              wdr
 01A0                   .dbline -2
 01A0           L28:
 01A0                   .dbline 0 ; func end
 01A0 0895              ret
 01A2                   .dbend
 01A2                   .dbfunc e port_init _port_init fV
                        .even
 01A2           _port_init::
 01A2                   .dbline -1
 01A2                   .dbline 394
 01A2           ; }
 01A2           ; 
 01A2           ;     
 01A2           ; 
 01A2           ; /*********************************************
 01A2           ; // port initialize
 01A2           ; 
 01A2           ; *********************************************/
 01A2           ; void port_init(void)
 01A2           ; {
 01A2                   .dbline 395
 01A2           ;  PORTA = 0xcc;   //将PA4 PA5,SPDIF_SW 输出为0 PA6 HOTPLUG保持为高
 01A2 8CEC              ldi R24,204
 01A4 8BBB              out 0x1b,R24
 01A6                   .dbline 396
 01A6           ;  DDRA  = 0xf3;   // PA4,PA5 置为输出态 
 01A6 83EF              ldi R24,243
 01A8 8ABB              out 0x1a,R24
 01AA                   .dbline 398
 01AA           ; // PORTB = 0x7f;
 01AA           ;  PORTB = 0xff;   //内部上拉使能
 01AA 8FEF              ldi R24,255
 01AC 88BB              out 0x18,R24
 01AE                   .dbline 399
 01AE           ;  DDRB  = 0x80;
 01AE 80E8              ldi R24,128
 01B0 87BB              out 0x17,R24
 01B2                   .dbline 401
 01B2           ; // PORTC = 0x4c;  //m103 output only      
 01B2           ;  PORTC = 0x0c;
 01B2 8CE0              ldi R24,12
 01B4 85BB              out 0x15,R24
 01B6                   .dbline 402
 01B6           ;  PORTC|=(1<<RS232_SW1);    //1
 01B6 AE9A              sbi 0x15,6
 01B8                   .dbline 403
 01B8           ;  PORTC&=~(1<<RS232_SW2);   //0   --串口初始化
 01B8 AF98              cbi 0x15,7
 01BA                   .dbline 405
 01BA           ;  // PORTC = 0x0c;  //m103 output only  
 01BA           ;  DDRC  = 0xf4;  //pwrbt 去掉更改为备用的实时的中断输入引脚;
 01BA 84EF              ldi R24,244
 01BC 84BB              out 0x14,R24
 01BE                   .dbline 406
 01BE           ;  PORTD = 0x60;
 01BE 80E6              ldi R24,96
 01C0 82BB              out 0x12,R24
 01C2                   .dbline 407
 01C2           ;  DDRD  = 0xF3;
 01C2 83EF              ldi R24,243
 01C4 81BB              out 0x11,R24
 01C6                   .dbline -2
 01C6           L29:
 01C6                   .dbline 0 ; func end
 01C6 0895              ret
 01C8                   .dbend
 01C8                   .dbfunc e init_time _init_time fV
                        .even
 01C8           _init_time::
 01C8 0E940000          xcall push_gset2
 01CC                   .dbline -1
 01CC                   .dbline 411
 01CC           ; }
 01CC           ; /********************************************/
 01CC           ; void init_time()
 01CC           ; {
 01CC                   .dbline 412
 01CC           ;   Time.VS.TL=0;
 01CC 40E0              ldi R20,0
 01CE 50E0              ldi R21,0
 01D0 60E0              ldi R22,0
 01D2 70E0              ldi R23,0
 01D4 50930800          sts _Time+1,R21
 01D8 40930700          sts _Time,R20
 01DC 70930A00          sts _Time+2+1,R23
 01E0 60930900          sts _Time+2,R22
 01E4                   .dbline 413
 01E4           ;   Time.VS.TH=0;
 01E4 2224              clr R2
 01E6 3324              clr R3
 01E8 30920C00          sts _Time+4+1,R3
 01EC 20920B00          sts _Time+4,R2
 01F0                   .dbline -2
 01F0           L30:
 01F0 0E940000          xcall pop_gset2
 01F4                   .dbline 0 ; func end
 01F4 0895              ret
 01F6                   .dbend
 01F6                   .dbfunc e WriteTime _WriteTime fV
 01F6           ;              i -> R20
 01F6           ;            Num -> R18
 01F6           ;          RTime -> R16,R17
                        .even
 01F6           _WriteTime::
 01F6 0E940000          xcall push_gset1
 01FA                   .dbline -1
 01FA                   .dbline 417
 01FA           ; }
 01FA           ; 
 01FA           ; void WriteTime(char * RTime,char Num)
 01FA           ; {
 01FA                   .dbline 419
 01FA           ;   unsigned char i;
 01FA           ;   for(i=0;i<Num;i++)
 01FA 4427              clr R20
 01FC 0DC0              xjmp L36
 01FE           L33:
 01FE                   .dbline 420
 01FE                   .dbline 421
 01FE 80E0              ldi R24,<_I2cReceiveData+1
 0200 90E0              ldi R25,>_I2cReceiveData+1
 0202 E42F              mov R30,R20
 0204 FF27              clr R31
 0206 E80F              add R30,R24
 0208 F91F              adc R31,R25
 020A 2080              ldd R2,z+0
 020C E42F              mov R30,R20
 020E FF27              clr R31
 0210 E00F              add R30,R16
 0212 F11F              adc R31,R17
 0214 2082              std z+0,R2
 0216                   .dbline 422
 0216           L34:
 0216                   .dbline 419
 0216 4395              inc R20
 0218           L36:
 0218                   .dbline 419
 0218 4217              cp R20,R18
 021A 88F3              brlo L33
 021C                   .dbline -2
 021C           L32:
 021C 0E940000          xcall pop_gset1
 0220                   .dbline 0 ; func end
 0220 0895              ret
 0222                   .dbsym r i 20 c
 0222                   .dbsym r Num 18 c
 0222                   .dbsym r RTime 16 pc
 0222                   .dbend
 0222                   .dbfunc e ReadTime _ReadTime fV
 0222           ;              i -> R20
 0222           ;            Num -> R18
 0222           ;          Rtime -> R16,R17
                        .even
 0222           _ReadTime::
 0222 0E940000          xcall push_gset1
 0226                   .dbline -1
 0226                   .dbline 452
 0226           ;   {
 0226           ;    *(RTime+i)=I2cReceiveData[i+1];
 0226           ;   }
 0226           ; 
 0226           ; }
 0226           ; /*
 0226           ; void WriteTime()      //写设定时间
 0226           ; {
 0226           ;   unsigned char i;
 0226           ;   for(i=1;i<6;i++)
 0226           ;   {
 0226           ;    Time.CBit[i]=I2cReceiveData[i];
 0226           ;   }
 0226           ; }
 0226           ; void WriteOpenTime()      //写开机时间
 0226           ; {
 0226           ;   unsigned char i;
 0226           ;   for(i=1;i<4;i++)
 0226           ;   {
 0226           ;    OpenTime.OBit[i]=I2cReceiveData[i];
 0226           ;   }
 0226           ; }
 0226           ; void WriteCloseTime()      //写关机时间
 0226           ; {
 0226           ;   unsigned char i;
 0226           ;   for(i=1;i<4;i++)
 0226           ;   {
 0226           ;    CloseTime.CBit[i]=I2cReceiveData[i];
 0226           ;   }
 0226           ; }*/
 0226           ; 
 0226           ; void ReadTime(char *Rtime,char Num)
 0226           ; {
 0226                   .dbline 454
 0226           ;   unsigned char i;
 0226           ;   for(i=0;i<Num;i++)
 0226 4427              clr R20
 0228 0DC0              xjmp L42
 022A           L39:
 022A                   .dbline 455
 022A                   .dbline 456
 022A E42F              mov R30,R20
 022C FF27              clr R31
 022E E00F              add R30,R16
 0230 F11F              adc R31,R17
 0232 2080              ldd R2,z+0
 0234 80E0              ldi R24,<_I2cSendData+1
 0236 90E0              ldi R25,>_I2cSendData+1
 0238 E42F              mov R30,R20
 023A FF27              clr R31
 023C E80F              add R30,R24
 023E F91F              adc R31,R25
 0240 2082              std z+0,R2
 0242                   .dbline 457
 0242           L40:
 0242                   .dbline 454
 0242 4395              inc R20
 0244           L42:
 0244                   .dbline 454
 0244 4217              cp R20,R18
 0246 88F3              brlo L39
 0248                   .dbline -2
 0248           L38:
 0248 0E940000          xcall pop_gset1
 024C                   .dbline 0 ; func end

⌨️ 快捷键说明

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