📄 t6963.lst
字号:
(0476) }
(0477) row = Ox+xt; // 第一象限
(0478) col = Oy-yt;
0685 18C0 SUB R12,R0
0686 08D1 SBC R13,R1
0687 940E0791 CALL <created procedures>
(0479) point(row,col,s);
0689 DF17 RCALL _point
(0480) row = Ox-xt; // 第二象限
068A 84AF LDD R10,Y+15
068B 24BB CLR R11
068C 1AA4 SUB R10,R20
068D 0AB5 SBC R11,R21
068E 940E0791 CALL <created procedures>
(0481) point(row,col,s);
0690 DF10 RCALL _point
0691 940E07CD CALL 0x7CD
(0482) col = Oy+yt; // 第三象限
0693 0CC0 ADD R12,R0
0694 1CD1 ADC R13,R1
0695 940E0791 CALL <created procedures>
(0483) point(row,col,s);
0697 DF09 RCALL _point
0698 940E07D2 CALL 0x7D2
069A 940E0791 CALL <created procedures>
(0484) row = Ox+xt; // 第四象限
(0485) point(row,col,s);
069C DF04 RCALL _point
069D 940E07A1 CALL 0x7A1
(0486) /***************45度镜象画另一半***************/
(0487) row = Ox+yt; // 第一象限
(0488) col = Oy-xt;
069F 88C9 LDD R12,Y+17
06A0 24DD CLR R13
06A1 1AC4 SUB R12,R20
06A2 0AD5 SBC R13,R21
06A3 940E0791 CALL <created procedures>
(0489) point(row,col,s);
06A5 DEFB RCALL _point
(0490) row = Ox-yt; // 第二象限
06A6 84AF LDD R10,Y+15
06A7 24BB CLR R11
06A8 800B LDD R0,Y+3
06A9 801C LDD R1,Y+4
06AA 18A0 SUB R10,R0
06AB 08B1 SBC R11,R1
06AC 940E0791 CALL <created procedures>
(0491) point(row,col,s);
06AE DEF2 RCALL _point
(0492) col = Oy+xt; // 第三象限
06AF 88C9 LDD R12,Y+17
06B0 24DD CLR R13
06B1 0EC4 ADD R12,R20
06B2 1ED5 ADC R13,R21
06B3 940E0791 CALL <created procedures>
(0493) point(row,col,s);
06B5 DEEB RCALL _point
06B6 940E07A1 CALL 0x7A1
06B8 940E0791 CALL <created procedures>
(0494) row = Ox+yt; // 第四象限
(0495) point(row,col,s);
06BA DEE6 RCALL _point
06BB 5F4F SUBI R20,0xFF
06BC 4F5F SBCI R21,0xFF
06BD 8029 LDD R2,Y+1
06BE 803A LDD R3,Y+2
06BF 1624 CP R2,R20
06C0 0635 CPC R3,R21
06C1 F008 BCS 0x06C3
06C2 CFAA RJMP 0x066D
(0496) }
(0497) }
06C3 9625 ADIW R28,5
06C4 D0A7 RCALL pop_gset5
06C5 9624 ADIW R28,4
06C6 9508 RET
_main:
i --> R20
06C7 9725 SBIW R28,5
FILE: D:\NEW\AVR_T6963\mian.c
(0001) #define MAIN_C
(0002) /************************************************************************
(0003) ;连线图: 液晶屏分为4 行*15列汉字使用间接操作方式
(0004) ;*LCM--------------------------ATmega16*
(0005) ;*D0~D7 PB0~PB7*
(0006) *CD PA2*
(0007) *RD PA1*
(0008) *WR PA0*
(0009) ;************************************************************************/
(0010) /******************************************************/
(0011) /* 本程序在晓奇程序的基础上改编*/
(0012) /* Email: mymach@tom.com */
(0013) /******************************************************/
(0014)
(0015) #include "includes.h"
(0016)
(0017)
(0018) void main(void) // 测试用
(0019) {
(0020) unsigned char i;
(0021) DDRA = 0xFF;
06C8 EF8F LDI R24,0xFF
06C9 BB8A OUT 0x1A,R24
(0022) PORTA = 0xff;
06CA BB8B OUT 0x1B,R24
(0023) shortdelay(1200);
06CB EB00 LDI R16,0xB0
06CC E014 LDI R17,4
06CD DEC5 RCALL _shortdelay
(0024) //MCUCR = 0x00;
(0025) fnLCMInit();
06CE DDE2 RCALL _fnLCMInit
(0026) cls();
06CF DDBF RCALL _cls
(0027) cursor(0,0);
06D0 2722 CLR R18
06D1 2700 CLR R16
06D2 DDB2 RCALL _cursor
(0028) dprintf(12,1,"test for:中文测试");
06D3 E78D LDI R24,0x7D
06D4 E090 LDI R25,0
06D5 8399 STD Y+1,R25
06D6 8388 STD Y+0,R24
06D7 E021 LDI R18,1
06D8 E00C LDI R16,0xC
06D9 DDF7 RCALL _dprintf
(0029) dprintf(10,2,"T6963C use ATMega16");
06DA E689 LDI R24,0x69
06DB E090 LDI R25,0
06DC 8399 STD Y+1,R25
06DD 8388 STD Y+0,R24
06DE E022 LDI R18,2
06DF E00A LDI R16,0xA
06E0 DDF0 RCALL _dprintf
(0030) dprintf(10,3,"~mymach~");
06E1 E680 LDI R24,0x60
06E2 E090 LDI R25,0
06E3 8399 STD Y+1,R25
06E4 8388 STD Y+0,R24
06E5 E023 LDI R18,3
06E6 E00A LDI R16,0xA
06E7 DDE9 RCALL _dprintf
06E8 940E07A8 CALL 0x7A8
(0031) Linexy(5,5,80,5,8); // 画斜线1
06EA E025 LDI R18,5
06EB E005 LDI R16,5
06EC DECE RCALL _Linexy
(0032) Linexy(5,5,80,20,8); // 斜线2
06ED E088 LDI R24,0x8
06EE 838C STD Y+4,R24
06EF E184 LDI R24,0x14
06F0 838A STD Y+2,R24
06F1 E580 LDI R24,0x50
06F2 8388 STD Y+0,R24
06F3 E025 LDI R18,5
06F4 E005 LDI R16,5
06F5 DEC5 RCALL _Linexy
06F6 940E07A8 CALL 0x7A8
(0033) Linexy(80,20,80,5,8); // 斜线3
06F8 E124 LDI R18,0x14
06F9 E500 LDI R16,0x50
06FA DEC0 RCALL _Linexy
(0034)
(0035) Linexy(2,2,238,2,8); // ------
06FB E088 LDI R24,0x8
06FC 838C STD Y+4,R24
06FD E082 LDI R24,2
06FE 838A STD Y+2,R24
06FF EE8E LDI R24,0xEE
0700 8388 STD Y+0,R24
0701 E022 LDI R18,2
0702 E002 LDI R16,2
0703 DEB7 RCALL _Linexy
(0036) Linexy(2,2,2,62,8); // |
0704 E088 LDI R24,0x8
0705 838C STD Y+4,R24
0706 E38E LDI R24,0x3E
0707 838A STD Y+2,R24
0708 E082 LDI R24,2
0709 8388 STD Y+0,R24
070A E022 LDI R18,2
070B E002 LDI R16,2
070C DEAE RCALL _Linexy
(0037) circle(45,45,20,8); // 画圆
070D E088 LDI R24,0x8
070E 838A STD Y+2,R24
070F E184 LDI R24,0x14
0710 8388 STD Y+0,R24
0711 E22D LDI R18,0x2D
0712 E20D LDI R16,0x2D
0713 DF3B RCALL _circle
(0038) circle(45,45,21,8); // 画同心圆加粗
0714 E088 LDI R24,0x8
0715 838A STD Y+2,R24
0716 E185 LDI R24,0x15
0717 8388 STD Y+0,R24
0718 E22D LDI R18,0x2D
0719 E20D LDI R16,0x2D
071A DF34 RCALL _circle
(0039) shortdelay(2000);
071B ED00 LDI R16,0xD0
071C E017 LDI R17,7
071D DE75 RCALL _shortdelay
071E C031 RJMP 0x0750
(0040)
(0041) while(1)
(0042) {
(0043) // 变化圆演示直径不断的变化由大到小再由小到大来回缩放
(0044) for (i=20;i>5;i--)
071F E144 LDI R20,0x14
0720 C011 RJMP 0x0732
(0045) {
(0046) circle(45,45,i+1,0); // 擦除外圆
0721 2422 CLR R2
0722 822A STD Y+2,R2
0723 940E07B5 CALL 0x7B5
0725 DF29 RCALL _circle
0726 940E07C7 CALL 0x7C7
(0047) circle(45,45,i,8);
0728 DF26 RCALL _circle
(0048) circle(45,45,i-1,8);
0729 E088 LDI R24,0x8
072A 838A STD Y+2,R24
072B 940E07C1 CALL 0x7C1
072D DF21 RCALL _circle
(0049) shortdelay(300);
072E E20C LDI R16,0x2C
072F E011 LDI R17,1
0730 DE62 RCALL _shortdelay
0731 954A DEC R20
0732 E085 LDI R24,5
0733 1784 CP R24,R20
0734 F360 BCS 0x0721
(0050) }
(0051)
(0052) shortdelay(500);
0735 EF04 LDI R16,0xF4
0736 E011 LDI R17,1
0737 DE5B RCALL _shortdelay
(0053) for (i=5;i<20;i++)
0738 E045 LDI R20,5
0739 C011 RJMP 0x074B
(0054) {
(0055) circle(45,45,i-1,0); // 擦除内圆
073A 2422 CLR R2
073B 822A STD Y+2,R2
073C 940E07C1 CALL 0x7C1
073E DF10 RCALL _circle
073F 940E07C7 CALL 0x7C7
(0056) circle(45,45,i,8);
0741 DF0D RCALL _circle
(0057) circle(45,45,i+1,8);
0742 E088 LDI R24,0x8
0743 838A STD Y+2,R24
0744 940E07B5 CALL 0x7B5
0746 DF08 RCALL _circle
(0058) shortdelay(200);
0747 EC08 LDI R16,0xC8
0748 E010 LDI R17,0
0749 DE49 RCALL _shortdelay
074A 9543 INC R20
074B 3144 CPI R20,0x14
074C F368 BCS 0x073A
(0059) }
(0060) shortdelay(300);
074D E20C LDI R16,0x2C
074E E011 LDI R17,1
074F DE43 RCALL _shortdelay
0750 CFCE RJMP 0x071F
(0061) }
(0062) }
FILE: <library>
0751 9625 ADIW R28,5
0752 9508 RET
push_arg4:
0753 933A ST R19,-Y
0754 932A ST R18,-Y
push_arg2:
0755 931A ST R17,-Y
0756 930A ST R16,-Y
0757 9508 RET
empy16s:
0758 920A ST R0,-Y
0759 921A ST R1,-Y
075A 938A ST R24,-Y
075B 939A ST R25,-Y
075C 9F02 MUL R16,R18
075D 01C0 MOVW R24,R0
075E 9F12 MUL R17,R18
075F 0D90 ADD R25,R0
0760 9F03 MUL R16,R19
0761 0D90 ADD R25,R0
0762 018C MOVW R16,R24
0763 9199 LD R25,Y+
0764 9189 LD R24,Y+
0765 9019 LD R1,Y+
0766 9009 LD R0,Y+
0767 9508 RET
pop_gset2:
0768 E0E2 LDI R30,2
0769 C008 RJMP pop
pop_gset3:
076A E0E4 LDI R30,4
076B C006 RJMP pop
pop_gset5:
076C 27EE CLR R30
076D C004 RJMP pop
push_gset1:
076E 935A ST R21,-Y
076F 934A ST R20,-Y
0770 9508 RET
pop_gset1:
0771 E0E1 LDI R30,1
pop:
0772 9149 LD R20,Y+
0773 9159 LD R21,Y+
0774 FDE0 SBRC R30,0
0775 9508 RET
0776 9169 LD R22,Y+
0777 9179 LD R23,Y+
0778 FDE1 SBRC R30,1
0779 9508 RET
077A 90A9 LD R10,Y+
077B 90B9 LD R11,Y+
077C FDE2 SBRC R30,2
077D 9508 RET
077E 90C9 LD R12,Y+
077F 90D9 LD R13,Y+
0780 FDE3 SBRC R30,3
0781 9508 RET
0782 90E9 LD R14,Y+
0783 90F9 LD R15,Y+
0784 9508 RET
push_gset2:
0785 937A ST R23,-Y
0786 936A ST R22,-Y
0787 CFE6 RJMP push_gset1
push_gset3:
0788 92BA ST R11,-Y
0789 92AA ST R10,-Y
078A CFFA RJMP push_gset2
push_gset4:
078B 92DA ST R13,-Y
078C 92CA ST R12,-Y
078D CFFA RJMP push_gset3
push_gset5:
078E 92FA ST R15,-Y
078F 92EA ST R14,-Y
0790 CFFA RJMP push_gset4
<created procedures>:
0791 880D LDD R0,Y+21
0792 8208 STD Y+0,R0
0793 2D2C MOV R18,R12
0794 2D0A MOV R16,R10
0795 9508 RET
0796 E282 LDI R24,0x22
0797 9D8C MUL R24,R12
0798 0110 MOVW R2,R0
0799 E586 LDI R24,0x56
079A E096 LDI R25,6
079B 0E28 ADD R2,R24
079C 1E39 ADC R3,R25
079D E002 LDI R16,2
079E E010 LDI R17,0
079F 0195 MOVW R18,R10
07A0 9508 RET
07A1 84AF LDD R10,Y+15
07A2 24BB CLR R11
07A3 800B LDD R0,Y+3
07A4 801C LDD R1,Y+4
07A5 0CA0 ADD R10,R0
07A6 1CB1 ADC R11,R1
07A7 9508 RET
07A8 E088 LDI R24,0x8
07A9 838C STD Y+4,R24
07AA E085 LDI R24,5
07AB 838A STD Y+2,R24
07AC E580 LDI R24,0x50
07AD 8388 STD Y+0,R24
07AE 9508 RET
07AF E096 LDI R25,6
07B0 01F1 MOVW R30,R2
07B1 0FE8 ADD R30,R24
07B2 1FF9 ADC R31,R25
07B3 91E4 LPM R30,0(Z)
07B4 9508 RET
07B5 2F84 MOV R24,R20
07B6 5F8F SUBI R24,0xFF
07B7 8388 STD Y+0,R24
07B8 E22D LDI R18,0x2D
07B9 E20D LDI R16,0x2D
07BA 9508 RET
07BB 27FF CLR R31
07BC 840E LDD R0,Y+14
07BD 841F LDD R1,Y+15
07BE 0DE0 ADD R30,R0
07BF 1DF1 ADC R31,R1
07C0 9508 RET
07C1 2F84 MOV R24,R20
07C2 5081 SUBI R24,1
07C3 8388 STD Y+0,R24
07C4 E22D LDI R18,0x2D
07C5 E20D LDI R16,0x2D
07C6 9508 RET
07C7 E088 LDI R24,0x8
07C8 838A STD Y+2,R24
07C9 8348 STD Y+0,R20
07CA E22D LDI R18,0x2D
07CB E20D LDI R16,0x2D
07CC 9508 RET
07CD 88C9 LDD R12,Y+17
07CE 24DD CLR R13
07CF 800B LDD R0,Y+3
07D0 801C LDD R1,Y+4
07D1 9508 RET
07D2 84AF LDD R10,Y+15
07D3 24BB CLR R11
07D4 0EA4 ADD R10,R20
07D5 1EB5 ADC R11,R21
07D6 9508 RET
07D7 804B LDD R4,Y+3
07D8 805C LDD R5,Y+4
07D9 1424 CP R2,R4
07DA 0435 CPC R3,R5
07DB 9508 RET
07DC 9580 COM R24
07DD 9590 COM R25
07DE 5F8F SUBI R24,0xFF
07DF 4F9F SBCI R25,0xFF
07E0 9508 RET
07E1 9721 SBIW R28,1
07E2 2422 CLR R2
07E3 8228 STD Y+0,R2
07E4 2722 CLR R18
07E5 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -