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

📄 t6963.lst

📁 LCD菜单的仿真及程序AVR_T6963.rar
💻 LST
📖 第 1 页 / 共 4 页
字号:
(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 + -