📄 addangfeng.lst
字号:
077F 2422 CLR R2
0780 BC2F OUT 0x2F,R2
(0409) TCCR1B=0x02; //8分频
0781 E082 LDI R24,2
0782 BD8E OUT 0x2E,R24
(0410) TCNT1=0x00; //;从(0-30D4)匹配
0783 2433 CLR R3
0784 BC3D OUT 0x2D,R3
0785 BC2C OUT 0x2C,R2
(0411) OCR1A=0x30d4;//1M主频8分频 基本定时单元
0786 ED84 LDI R24,0xD4
0787 E390 LDI R25,0x30
0788 BD9B OUT 0x2B,R25
0789 BD8A OUT 0x2A,R24
(0412) TIMSK= 0x40; //;定时中断时间100MS,定时常数为30D4
078A E480 LDI R24,0x40
078B BF89 OUT 0x39,R24
(0413) SEI();
078C 9478 BSET 7
078D 9508 RET
_ZDCS1:
j --> Y+1
i --> Y+1
078E 922A ST R2,-Y
078F 923A ST R3,-Y
0790 924A ST R4,-Y
0791 925A ST R5,-Y
0792 938A ST R24,-Y
0793 939A ST R25,-Y
0794 B62F IN R2,0x3F
0795 922A ST R2,-Y
(0414) }
(0415) #pragma interrupt_handler ZDCS1:14
(0416) void ZDCS1(void) //0.1s定时
(0417) { unsigned char i,j;
(0418) TCNT1=0x00;
0796 2422 CLR R2
0797 2433 CLR R3
0798 BC3D OUT 0x2D,R3
0799 BC2C OUT 0x2C,R2
(0419) if (time1>0) time1=time1-1;
079A 90300130 LDS R3,time1
079C 1423 CP R2,R3
079D F420 BCC 0x07A2
079E 2D83 MOV R24,R3
079F 5081 SUBI R24,1
07A0 93800130 STS time1,R24
(0420) if (time0>9) //1s进来一次
07A2 E089 LDI R24,0x9
07A3 9020012F LDS R2,time0
07A5 1582 CP R24,R2
07A6 F5A0 BCC 0x07DB
(0421) {if (time2>0) time2--;
07A7 2422 CLR R2
07A8 2433 CLR R3
07A9 90400131 LDS R4,time2
07AB 90500132 LDS R5,time2+1
07AD 1424 CP R2,R4
07AE 0435 CPC R3,R5
07AF F434 BGE 0x07B6
07B0 01C2 MOVW R24,R4
07B1 9701 SBIW R24,1
07B2 93900132 STS time2+1,R25
07B4 93800131 STS time2,R24
(0422) if (time3>0) time3--;
07B6 2422 CLR R2
07B7 2433 CLR R3
07B8 90400133 LDS R4,time3
07BA 90500134 LDS R5,time3+1
07BC 1424 CP R2,R4
07BD 0435 CPC R3,R5
07BE F434 BGE 0x07C5
07BF 01C2 MOVW R24,R4
07C0 9701 SBIW R24,1
07C1 93900134 STS time3+1,R25
07C3 93800133 STS time3,R24
(0423) if (time4>0) time4--;
07C5 2422 CLR R2
07C6 2433 CLR R3
07C7 90400135 LDS R4,time4
07C9 90500136 LDS R5,time4+1
07CB 1424 CP R2,R4
07CC 0435 CPC R3,R5
07CD F434 BGE 0x07D4
07CE 01C2 MOVW R24,R4
07CF 9701 SBIW R24,1
07D0 93900136 STS time4+1,R25
07D2 93800135 STS time4,R24
(0424) time0=0;
07D4 2422 CLR R2
07D5 9220012F STS time0,R2
(0425) eor_resc;
07D7 E081 LDI R24,1
07D8 B222 IN R2,0x12
07D9 2628 EOR R2,R24
07DA BA22 OUT 0x12,R2
(0426) }
(0427) time0++;
07DB 9180012F LDS R24,time0
07DD 5F8F SUBI R24,0xFF
07DE 9380012F STS time0,R24
(0428) if (maojietime_plan>0) maojietime_plan--;
07E0 90200140 LDS R2,maojietime_plan
07E2 90300141 LDS R3,maojietime_plan+1
07E4 2022 TST R2
07E5 F411 BNE 0x07E8
07E6 2033 TST R3
07E7 F049 BEQ 0x07F1
07E8 91800140 LDS R24,maojietime_plan
07EA 91900141 LDS R25,maojietime_plan+1
07EC 9701 SBIW R24,1
07ED 93900141 STS maojietime_plan+1,R25
07EF 93800140 STS maojietime_plan,R24
(0429) jishu++;
07F1 91800153 LDS R24,jishu
07F3 5F8F SUBI R24,0xFF
07F4 93800153 STS jishu,R24
(0430) if (jishu>10) jishu=0;
07F6 E08A LDI R24,0xA
07F7 90200153 LDS R2,jishu
07F9 1582 CP R24,R2
07FA F418 BCC 0x07FE
07FB 2422 CLR R2
07FC 92200153 STS jishu,R2
07FE 9029 LD R2,Y+
07FF BE2F OUT 0x3F,R2
0800 9199 LD R25,Y+
0801 9189 LD R24,Y+
0802 9059 LD R5,Y+
0803 9049 LD R4,Y+
0804 9039 LD R3,Y+
0805 9029 LD R2,Y+
0806 9518 RETI
_delay:
i --> R20
j --> R22
n --> R16
0807 940E1D55 CALL push_gset2
(0431)
(0432) }
(0433)
(0434) //}
(0435) /*****************************************************************
(0436) * 名称:delay()
(0437) * 延时n个ms
(0438) * 入口参数:n
(0439) * 出口参数:无
(0440) *****************************************************************/
(0441) void delay(unsigned int n)
(0442) {
(0443) unsigned int i,j;
(0444) for(i=1;i<=n;i++)
0809 E041 LDI R20,1
080A E050 LDI R21,0
080B C00C RJMP 0x0818
(0445) {
(0446) for(j=1;j<=10;j++)
080C E061 LDI R22,1
080D E070 LDI R23,0
080E C002 RJMP 0x0811
080F 5F6F SUBI R22,0xFF
0810 4F7F SBCI R23,0xFF
0811 E08A LDI R24,0xA
0812 E090 LDI R25,0
0813 1786 CP R24,R22
0814 0797 CPC R25,R23
0815 F7C8 BCC 0x080F
0816 5F4F SUBI R20,0xFF
0817 4F5F SBCI R21,0xFF
0818 1704 CP R16,R20
0819 0715 CPC R17,R21
081A F788 BCC 0x080C
081B 940E1D43 CALL pop_gset2
081D 9508 RET
(0447) ;
(0448) }
(0449) }
(0450) void delay_10us(void)
(0451) {
(0452) unsigned char y;
(0453) for (y=0; y<20; y++)
_delay_10us:
y --> R16
081E 2700 CLR R16
081F C001 RJMP 0x0821
0820 9503 INC R16
0821 3104 CPI R16,0x14
0822 F3E8 BCS 0x0820
0823 9508 RET
(0454) {
(0455) ;
(0456) }
(0457) }
(0458)
(0459) unsigned char RTEEPROMReady(void)
(0460) {
(0461) return !(EECR & 0x02);
_RTEEPROMReady:
0824 99E1 SBIC 0x1C,1
0825 C003 RJMP 0x0829
0826 E001 LDI R16,1
0827 E010 LDI R17,0
0828 C002 RJMP 0x082B
0829 2700 CLR R16
082A 2711 CLR R17
082B 9508 RET
(0462) }
(0463) /**************************************************************
(0464) * 名称: write_code()
(0465) * 功能:液晶屏的全屏写?
(0466) * 入口参数:写指令
(0467) * 出口参数:发送命令
(0468) ***************************************************************/
(0469) void write_code(unsigned char w_code)
(0470) {
(0471) code_ADDRESS=w_code;
_write_code:
w_code --> R16
082C 9300F400 STS 0xF400,R16
082E 9508 RET
(0472) }
(0473) /*****************************************************************
(0474) * 名称:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -