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

📄 mian.lis

📁 LCD菜单的仿真及程序AVR_T6963.rar
💻 LIS
字号:
                        .module mian.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\NEW\AVR_T6963\mian.c
 0000                   .dbfunc e main _main fV
 0000           ;              i -> R20
                        .even
 0000           _main::
 0000 2597              sbiw R28,5
 0002                   .dbline -1
 0002                   .dbline 19
 0002           ; #define MAIN_C
 0002           ; /************************************************************************
 0002           ; ;连线图: 液晶屏分为4 行*15列汉字使用间接操作方式
 0002           ; ;*LCM--------------------------ATmega16*  
 0002           ; ;*D0~D7                       PB0~PB7*
 0002           ; *CD                            PA2*
 0002           ; *RD                            PA1*
 0002           ; *WR                            PA0*
 0002           ; ;************************************************************************/
 0002           ; /******************************************************/
 0002           ; /* 本程序在晓奇程序的基础上改编*/
 0002           ; /* Email: mymach@tom.com */
 0002           ; /******************************************************/
 0002           ; 
 0002           ; #include "includes.h"
 0002           ; 
 0002           ; 
 0002           ; void main(void) // 测试用
 0002           ; {
 0002                   .dbline 21
 0002           ;     unsigned char i;
 0002           ;     DDRA = 0xFF;
 0002 8FEF              ldi R24,255
 0004 8ABB              out 0x1a,R24
 0006                   .dbline 22
 0006           ;     PORTA = 0xff;
 0006 8BBB              out 0x1b,R24
 0008                   .dbline 23
 0008           ;     shortdelay(1200);
 0008 00EB              ldi R16,1200
 000A 14E0              ldi R17,4
 000C 0E940000          xcall _shortdelay
 0010                   .dbline 25
 0010           ;     //MCUCR = 0x00;
 0010           ;     fnLCMInit();
 0010 0E940000          xcall _fnLCMInit
 0014                   .dbline 26
 0014           ;     cls();
 0014 0E940000          xcall _cls
 0018                   .dbline 27
 0018           ;     cursor(0,0);
 0018 2227              clr R18
 001A 0027              clr R16
 001C 0E940000          xcall _cursor
 0020                   .dbline 28
 0020           ;     dprintf(12,1,"test for:中文测试");
 0020 80E0              ldi R24,<L2
 0022 90E0              ldi R25,>L2
 0024 9983              std y+1,R25
 0026 8883              std y+0,R24
 0028 21E0              ldi R18,1
 002A 0CE0              ldi R16,12
 002C 0E940000          xcall _dprintf
 0030                   .dbline 29
 0030           ;     dprintf(10,2,"T6963C use ATMega16");
 0030 80E0              ldi R24,<L3
 0032 90E0              ldi R25,>L3
 0034 9983              std y+1,R25
 0036 8883              std y+0,R24
 0038 22E0              ldi R18,2
 003A 0AE0              ldi R16,10
 003C 0E940000          xcall _dprintf
 0040                   .dbline 30
 0040           ;     dprintf(10,3,"~mymach~");
 0040 80E0              ldi R24,<L4
 0042 90E0              ldi R25,>L4
 0044 9983              std y+1,R25
 0046 8883              std y+0,R24
 0048 23E0              ldi R18,3
 004A 0AE0              ldi R16,10
 004C 0E940000          xcall _dprintf
 0050                   .dbline 31
 0050           ;     Linexy(5,5,80,5,8); // 画斜线1
 0050 88E0              ldi R24,8
 0052 8C83              std y+4,R24
 0054 85E0              ldi R24,5
 0056 8A83              std y+2,R24
 0058 80E5              ldi R24,80
 005A 8883              std y+0,R24
 005C 25E0              ldi R18,5
 005E 05E0              ldi R16,5
 0060 0E940000          xcall _Linexy
 0064                   .dbline 32
 0064           ;     Linexy(5,5,80,20,8); // 斜线2
 0064 88E0              ldi R24,8
 0066 8C83              std y+4,R24
 0068 84E1              ldi R24,20
 006A 8A83              std y+2,R24
 006C 80E5              ldi R24,80
 006E 8883              std y+0,R24
 0070 25E0              ldi R18,5
 0072 05E0              ldi R16,5
 0074 0E940000          xcall _Linexy
 0078                   .dbline 33
 0078           ;     Linexy(80,20,80,5,8); // 斜线3
 0078 88E0              ldi R24,8
 007A 8C83              std y+4,R24
 007C 85E0              ldi R24,5
 007E 8A83              std y+2,R24
 0080 80E5              ldi R24,80
 0082 8883              std y+0,R24
 0084 24E1              ldi R18,20
 0086 00E5              ldi R16,80
 0088 0E940000          xcall _Linexy
 008C                   .dbline 35
 008C           ;     
 008C           ;     Linexy(2,2,238,2,8); // ------
 008C 88E0              ldi R24,8
 008E 8C83              std y+4,R24
 0090 82E0              ldi R24,2
 0092 8A83              std y+2,R24
 0094 8EEE              ldi R24,238
 0096 8883              std y+0,R24
 0098 22E0              ldi R18,2
 009A 02E0              ldi R16,2
 009C 0E940000          xcall _Linexy
 00A0                   .dbline 36
 00A0           ;     Linexy(2,2,2,62,8); // |
 00A0 88E0              ldi R24,8
 00A2 8C83              std y+4,R24
 00A4 8EE3              ldi R24,62
 00A6 8A83              std y+2,R24
 00A8 82E0              ldi R24,2
 00AA 8883              std y+0,R24
 00AC 22E0              ldi R18,2
 00AE 02E0              ldi R16,2
 00B0 0E940000          xcall _Linexy
 00B4                   .dbline 37
 00B4           ;     circle(45,45,20,8); // 画圆 
 00B4 88E0              ldi R24,8
 00B6 8A83              std y+2,R24
 00B8 84E1              ldi R24,20
 00BA 8883              std y+0,R24
 00BC 2DE2              ldi R18,45
 00BE 0DE2              ldi R16,45
 00C0 0E940000          xcall _circle
 00C4                   .dbline 38
 00C4           ;     circle(45,45,21,8); // 画同心圆加粗 
 00C4 88E0              ldi R24,8
 00C6 8A83              std y+2,R24
 00C8 85E1              ldi R24,21
 00CA 8883              std y+0,R24
 00CC 2DE2              ldi R18,45
 00CE 0DE2              ldi R16,45
 00D0 0E940000          xcall _circle
 00D4                   .dbline 39
 00D4           ;     shortdelay(2000);
 00D4 00ED              ldi R16,2000
 00D6 17E0              ldi R17,7
 00D8 0E940000          xcall _shortdelay
 00DC 4DC0              xjmp L6
 00DE           L5:
 00DE                   .dbline 42
 00DE           ;     
 00DE           ;     while(1)
 00DE           ;     {
 00DE                   .dbline 44
 00DE           ;         // 变化圆演示直径不断的变化由大到小再由小到大来回缩放
 00DE           ;         for (i=20;i>5;i--)
 00DE 44E1              ldi R20,20
 00E0 1EC0              xjmp L11
 00E2           L8:
 00E2                   .dbline 45
 00E2                   .dbline 46
 00E2 2224              clr R2
 00E4 2A82              std y+2,R2
 00E6 842F              mov R24,R20
 00E8 8F5F              subi R24,255    ; addi 1
 00EA 8883              std y+0,R24
 00EC 2DE2              ldi R18,45
 00EE 0DE2              ldi R16,45
 00F0 0E940000          xcall _circle
 00F4                   .dbline 47
 00F4 88E0              ldi R24,8
 00F6 8A83              std y+2,R24
 00F8 4883              std y+0,R20
 00FA 2DE2              ldi R18,45
 00FC 0DE2              ldi R16,45
 00FE 0E940000          xcall _circle
 0102                   .dbline 48
 0102 88E0              ldi R24,8
 0104 8A83              std y+2,R24
 0106 842F              mov R24,R20
 0108 8150              subi R24,1
 010A 8883              std y+0,R24
 010C 2DE2              ldi R18,45
 010E 0DE2              ldi R16,45
 0110 0E940000          xcall _circle
 0114                   .dbline 49
 0114 0CE2              ldi R16,300
 0116 11E0              ldi R17,1
 0118 0E940000          xcall _shortdelay
 011C                   .dbline 50
 011C           L9:
 011C                   .dbline 44
 011C 4A95              dec R20
 011E           L11:
 011E                   .dbline 44
 011E 85E0              ldi R24,5
 0120 8417              cp R24,R20
 0122 F8F2              brlo L8
 0124                   .dbline 52
 0124           ;         {
 0124           ;             circle(45,45,i+1,0); // 擦除外圆
 0124           ;             circle(45,45,i,8);
 0124           ;             circle(45,45,i-1,8);
 0124           ;             shortdelay(300);
 0124           ;         }
 0124           ;    
 0124           ;         shortdelay(500);
 0124 04EF              ldi R16,500
 0126 11E0              ldi R17,1
 0128 0E940000          xcall _shortdelay
 012C                   .dbline 53
 012C           ;         for (i=5;i<20;i++)
 012C 45E0              ldi R20,5
 012E 1EC0              xjmp L15
 0130           L12:
 0130                   .dbline 54
 0130                   .dbline 55
 0130 2224              clr R2
 0132 2A82              std y+2,R2
 0134 842F              mov R24,R20
 0136 8150              subi R24,1
 0138 8883              std y+0,R24
 013A 2DE2              ldi R18,45
 013C 0DE2              ldi R16,45
 013E 0E940000          xcall _circle
 0142                   .dbline 56
 0142 88E0              ldi R24,8
 0144 8A83              std y+2,R24
 0146 4883              std y+0,R20
 0148 2DE2              ldi R18,45
 014A 0DE2              ldi R16,45
 014C 0E940000          xcall _circle
 0150                   .dbline 57
 0150 88E0              ldi R24,8
 0152 8A83              std y+2,R24
 0154 842F              mov R24,R20
 0156 8F5F              subi R24,255    ; addi 1
 0158 8883              std y+0,R24
 015A 2DE2              ldi R18,45
 015C 0DE2              ldi R16,45
 015E 0E940000          xcall _circle
 0162                   .dbline 58
 0162 08EC              ldi R16,200
 0164 10E0              ldi R17,0
 0166 0E940000          xcall _shortdelay
 016A                   .dbline 59
 016A           L13:
 016A                   .dbline 53
 016A 4395              inc R20
 016C           L15:
 016C                   .dbline 53
 016C 4431              cpi R20,20
 016E 00F3              brlo L12
 0170                   .dbline 60
 0170 0CE2              ldi R16,300
 0172 11E0              ldi R17,1
 0174 0E940000          xcall _shortdelay
 0178                   .dbline 61
 0178           L6:
 0178                   .dbline 41
 0178 B2CF              xjmp L5
 017A           X0:
 017A                   .dbline -2
 017A                   .dbline 62
 017A           ;         {
 017A           ;             circle(45,45,i-1,0); // 擦除内圆
 017A           ;             circle(45,45,i,8);
 017A           ;             circle(45,45,i+1,8);
 017A           ;             shortdelay(200);
 017A           ;         }
 017A           ;         shortdelay(300);
 017A           ;     }
 017A           ; }
 017A           L1:
 017A 2596              adiw R28,5
 017C                   .dbline 0 ; func end
 017C 0895              ret
 017E                   .dbsym r i 20 c
 017E                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\NEW\AVR_T6963\mian.c
 0000           L4:
 0000                   .blkb 9
                        .area idata
 0000 7E6D796D6163687E00        .byte 126,'m,'y,'m,'a,'c,'h,126,0
                        .area data(ram, con, rel)
 0009                   .dbfile D:\NEW\AVR_T6963\mian.c
 0009           L3:
 0009                   .blkb 20
                        .area idata
 0009 543639363343207573652041544D6567  .byte 'T,54,57,54,51,'C,32,'u,'s,'e,32,'A,'T,'M,'e,'g
 0019 61313600          .byte 'a,49,54,0
                        .area data(ram, con, rel)
 001D                   .dbfile D:\NEW\AVR_T6963\mian.c
 001D           L2:
 001D                   .blkb 18
                        .area idata
 001D 7465737420666F723AD6D0CEC4B2E2CA  .byte 't,'e,'s,'t,32,'f,'o,'r,58,214,208,206,196,178,226,202
 002D D400              .byte 212,0
                        .area data(ram, con, rel)
 002F                   .dbfile D:\NEW\AVR_T6963\mian.c

⌨️ 快捷键说明

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