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

📄 1602六线接法练习.lis

📁 iccavr下
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module _1602六线接法练习.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\M16开发板实验教程\icc-avr\lcd1602test/1602.h
 0000                   .dbfunc e LCD_init _LCD_init fV
                        .even
 0000           _LCD_init::
 0000                   .dbline -1
 0000                   .dbline 30
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #include "1602.h"
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000           ;      LCD_init();                     //initialize lcd1602
 0000           ;      while(1)
 0000           ;        {
 0000           ;                clear();                   //clear lcd1602
 0000           ;                delay_nms(10);
 0000           ;          LCD_write_string(0,0," ATmega 16 BOARD");    //write the string on the first 
 0000           ;                                                                                         //line at the first address
 0000           ;          LCD_write_string(1,1,"  dushibiao ");
 0000           ;          delay_nms(5000);
 0000           ;                clear();
 0000           ;                delay_nms(10);
 0000           ;          LCD_write_string(0,0,"Stduy follow me");
 0000           ;          LCD_write_string(0,1,"You will secceed");
 0000           ;          delay_nms(5000);
 0000           ;        }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000                   .dbline 31
 0000           ; }
 0000 8AB3              in R24,0x1a
 0002 806F              ori R24,240
 0004 8ABB              out 0x1a,R24
 0006                   .dbline 32
 0006           ; }
 0006 D39A              sbi 0x1a,3
 0008                   .dbline 33
 0008           ; }
 0008 D29A              sbi 0x1a,2
 000A                   .dbline 34
 000A           ; }
 000A 0FE0              ldi R16,15
 000C 10E0              ldi R17,0
 000E 0E940000          xcall _delay_nms
 0012                   .dbline 35
 0012           ; }
 0012 2227              clr R18
 0014 3327              clr R19
 0016 08E2              ldi R16,40
 0018 10E0              ldi R17,0
 001A 46D0              xcall _LCD_write_char
 001C                   .dbline 36
 001C           ; }
 001C 0FE0              ldi R16,15
 001E 10E0              ldi R17,0
 0020 0E940000          xcall _delay_nms
 0024                   .dbline 37
 0024           ; }
 0024 2227              clr R18
 0026 3327              clr R19
 0028 0CE0              ldi R16,12
 002A 10E0              ldi R17,0
 002C 3DD0              xcall _LCD_write_char
 002E                   .dbline 38
 002E           ; }
 002E 0FE0              ldi R16,15
 0030 10E0              ldi R17,0
 0032 0E940000          xcall _delay_nms
 0036                   .dbline 39
 0036           ; }
 0036 2227              clr R18
 0038 3327              clr R19
 003A 01E0              ldi R16,1
 003C 10E0              ldi R17,0
 003E 34D0              xcall _LCD_write_char
 0040                   .dbline -2
 0040           L1:
 0040                   .dbline 0 ; func end
 0040 0895              ret
 0042                   .dbend
 0042                   .dbfunc e LCD_write_string _LCD_write_string fV
 0042           ;              s -> R20,R21
 0042           ;              Y -> R10
 0042           ;              X -> R22
                        .even
 0042           _LCD_write_string::
 0042 0E940000          xcall push_gset3
 0046 A22E              mov R10,R18
 0048 602F              mov R22,R16
 004A 4E81              ldd R20,y+6
 004C 5F81              ldd R21,y+7
 004E                   .dbline -1
 004E                   .dbline 49
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E           ; }
 004E                   .dbline 50
 004E           ; }
 004E 2A2D              mov R18,R10
 0050 062F              mov R16,R22
 0052 10D0              xcall _LCD_set_xy
 0054 08C0              xjmp L4
 0056           L3:
 0056                   .dbline 53
 0056                   .dbline 54
 0056 FA01              movw R30,R20
 0058 2081              ldd R18,z+0
 005A 3327              clr R19
 005C 0027              clr R16
 005E 1127              clr R17
 0060 23D0              xcall _LCD_write_char
 0062                   .dbline 55
 0062 4F5F              subi R20,255  ; offset = 1
 0064 5F4F              sbci R21,255
 0066                   .dbline 56
 0066           L4:
 0066                   .dbline 52
 0066           ; }
 0066           ; }
 0066 FA01              movw R30,R20
 0068 2080              ldd R2,z+0
 006A 2220              tst R2
 006C A1F7              brne L3
 006E                   .dbline -2
 006E           L2:
 006E 0E940000          xcall pop_gset3
 0072                   .dbline 0 ; func end
 0072 0895              ret
 0074                   .dbsym r s 20 pc
 0074                   .dbsym r Y 10 c
 0074                   .dbsym r X 22 c
 0074                   .dbend
 0074                   .dbfunc e LCD_set_xy _LCD_set_xy fV
 0074           ;        address -> R20
 0074           ;              y -> R20
 0074           ;              x -> R22
                        .even
 0074           _LCD_set_xy::
 0074 0E940000          xcall push_gset2
 0078 422F              mov R20,R18
 007A 602F              mov R22,R16
 007C                   .dbline -1
 007C                   .dbline 65
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C           ; }
 007C                   .dbline 67
 007C           ; }
 007C           ; }
 007C 4423              tst R20
 007E 19F4              brne L7
 0080                   .dbline 67
 0080 462F              mov R20,R22
 0082 4058              subi R20,128    ; addi 128
 0084 02C0              xjmp L8
 0086           L7:
 0086                   .dbline 69
 0086           ; }
 0086           ; }
 0086 462F              mov R20,R22
 0088 4054              subi R20,64    ; addi 192
 008A           L8:
 008A                   .dbline 70
 008A           ; }
 008A 2227              clr R18
 008C 3327              clr R19
 008E 042F              mov R16,R20
 0090 1127              clr R17
 0092 0AD0              xcall _LCD_write_char
 0094                   .dbline -2
 0094           L6:
 0094 0E940000          xcall pop_gset2
 0098                   .dbline 0 ; func end
 0098 0895              ret
 009A                   .dbsym r address 20 c
 009A                   .dbsym r y 20 c
 009A                   .dbsym r x 22 c
 009A                   .dbend
 009A                   .dbfunc e LCD_en_write _LCD_en_write fV
                        .even
 009A           _LCD_en_write::
 009A                   .dbline -1
 009A                   .dbline 76
 009A           ; }
 009A           ; }
 009A           ; }
 009A           ; }
 009A           ; }
 009A           ; }
 009A                   .dbline 77
 009A           ; }
 009A DB9A              sbi 0x1b,3
 009C                   .dbline 78
 009C           ; }
 009C 05E0              ldi R16,5
 009E 10E0              ldi R17,0
 00A0 0E940000          xcall _delay_nus
 00A4                   .dbline 79
 00A4           ; }
 00A4 DB98              cbi 0x1b,3
 00A6                   .dbline -2
 00A6           L9:
 00A6                   .dbline 0 ; func end
 00A6 0895              ret
 00A8                   .dbend
 00A8                   .dbfunc e LCD_write_char _LCD_write_char fV
 00A8           ;      data_temp -> R22,R23
 00A8           ;   command_temp -> R20,R21
 00A8           ;           data -> R12,R13
 00A8           ;        command -> R10,R11
                        .even
 00A8           _LCD_write_char::
 00A8 0E940000          xcall push_gset4
 00AC 6901              movw R12,R18
 00AE 5801              movw R10,R16
 00B0                   .dbline -1
 00B0                   .dbline 88
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0           ; }
 00B0                   .dbline 90
 00B0           ; }
 00B0           ; }
 00B0 A501              movw R20,R10
 00B2                   .dbline 91
 00B2           ; }
 00B2 B601              movw R22,R12
 00B4                   .dbline 92
 00B4           ; }
 00B4 09E1              ldi R16,25
 00B6 10E0              ldi R17,0
 00B8 0E940000          xcall _delay_nus
 00BC                   .dbline 93
 00BC           ; }
 00BC 4030              cpi R20,0
 00BE 4507              cpc R20,R21
 00C0 11F5              brne L11
 00C2           X0:
 00C2                   .dbline 94
 00C2           ; }
 00C2                   .dbline 95
 00C2           ; }
 00C2 DA9A              sbi 0x1b,2
 00C4                   .dbline 96
 00C4           ; }
 00C4 8BB3              in R24,0x1b
 00C6 8F70              andi R24,15
 00C8 8BBB              out 0x1b,R24
 00CA                   .dbline 97

⌨️ 快捷键说明

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