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

📄 lcd.lis

📁 avr mega16 驱动lcd1602显示屏
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0076                   .dbline 91
 0076           ;   wcom(0x38);
 0076 08E3              ldi R16,56
 0078 DBDF              xcall _wcom
 007A                   .dbline 92
 007A           ;   delay(5000);
 007A 08E8              ldi R16,5000
 007C 13E1              ldi R17,19
 007E C0DF              xcall _delay
 0080                   .dbline 93
 0080           ;   wcom(0x38);
 0080 08E3              ldi R16,56
 0082 D6DF              xcall _wcom
 0084                   .dbline -2
 0084           L10:
 0084                   .dbline 0 ; func end
 0084 0895              ret
 0086                   .dbend
 0086                   .dbfunc e lcdinit _lcdinit fV
                        .even
 0086           _lcdinit::
 0086                   .dbline -1
 0086                   .dbline 102
 0086           ;  }
 0086           ; 
 0086           ; /*------------------------------------------------------------------
 0086           ; lcdinit       :LCM1602初始化
 0086           ; 输入参数      :无
 0086           ; 输出参数      :无
 0086           ; -------------------------------------------------------------------*/
 0086           ; void lcdinit(void)
 0086           ; {
 0086                   .dbline 103
 0086           ;   wcom(0x01);           //清屏
 0086 01E0              ldi R16,1
 0088 D3DF              xcall _wcom
 008A                   .dbline 104
 008A           ;   wcom(0x3c);           //显示开关控制:8bit,2行显示,5x7
 008A 0CE3              ldi R16,60
 008C D1DF              xcall _wcom
 008E                   .dbline 105
 008E           ;   wcom(0x0c);           //光标开,闪烁关
 008E 0CE0              ldi R16,12
 0090 CFDF              xcall _wcom
 0092                   .dbline 106
 0092           ;   wcom(0x06);           //输入方式,增量方式,不移动
 0092 06E0              ldi R16,6
 0094 CDDF              xcall _wcom
 0096                   .dbline -2
 0096           L11:
 0096                   .dbline 0 ; func end
 0096 0895              ret
 0098                   .dbend
 0098                   .dbfunc e disp_string _disp_string fV
 0098           ;           data -> R20,R21
                        .even
 0098           _disp_string::
 0098 0E940000          xcall push_gset1
 009C A801              movw R20,R16
 009E                   .dbline -1
 009E                   .dbline 115
 009E           ;  }
 009E           ; 
 009E           ; /*-----------------------------------------------------------------
 009E           ; disp_string   :显示一字符串函数
 009E           ; 输入参数 data :字符串指针
 009E           ; 输出参数      :无
 009E           ; ------------------------------------------------------------------*/
 009E           ; void disp_string( unsigned char *data )
 009E           ; {
 009E 05C0              xjmp L14
 00A0           L13:
 00A0                   .dbline 116
 00A0                   .dbline 116
 00A0 FA01              movw R30,R20
 00A2 0081              ldd R16,z+0
 00A4 D0DF              xcall _wdat
 00A6                   .dbline 116
 00A6 4F5F              subi R20,255  ; offset = 1
 00A8 5F4F              sbci R21,255
 00AA                   .dbline 116
 00AA           L14:
 00AA                   .dbline 116
 00AA           ;   while(*data!=0) {wdat(*data);data++;}
 00AA FA01              movw R30,R20
 00AC 2080              ldd R2,z+0
 00AE 2220              tst R2
 00B0 B9F7              brne L13
 00B2                   .dbline -2
 00B2           L12:
 00B2 0E940000          xcall pop_gset1
 00B6                   .dbline 0 ; func end
 00B6 0895              ret
 00B8                   .dbsym r data 20 pc
 00B8                   .dbend
 00B8                   .dbfunc e main _main fV
                        .even
 00B8           _main::
 00B8                   .dbline -1
 00B8                   .dbline 128
 00B8           ;  }
 00B8           ; 
 00B8           ;                                            //设置显示坐标:X 0~39,Y:0~1
 00B8           ; #define setxy(x,y) wcom(((x)|((y)<<6))|0x80) 
 00B8           ; 
 00B8           ; /*--------------------------------------------------------------
 00B8           ; main       :主函数
 00B8           ; 输入参数   :无
 00B8           ; 输出参数   :无
 00B8           ; --------------------------------------------------------------*/
 00B8           ; void main()
 00B8           ; {
 00B8                   .dbline 129
 00B8           ;   DDRD=0xff;
 00B8 8FEF              ldi R24,255
 00BA 81BB              out 0x11,R24
 00BC                   .dbline 130
 00BC           ;   DDRB=0xff;
 00BC 87BB              out 0x17,R24
 00BE                   .dbline 131
 00BE           ;   LCM1602Reset();
 00BE CEDF              xcall _LCM1602Reset
 00C0                   .dbline 132
 00C0           ;   lcdinit();
 00C0 E2DF              xcall _lcdinit
 00C2                   .dbline 133
 00C2           ;   setxy(0,0);
 00C2 00E8              ldi R16,128
 00C4 B5DF              xcall _wcom
 00C6                   .dbline 134
 00C6           ;   disp_string("Easy Learning..");
 00C6 00E0              ldi R16,<L17
 00C8 10E0              ldi R17,>L17
 00CA E6DF              xcall _disp_string
 00CC                   .dbline 135
 00CC           ;   setxy(2,1);
 00CC 02EC              ldi R16,194
 00CE B0DF              xcall _wcom
 00D0                   .dbline 136
 00D0           ;   disp_string("Avr Studio! ");
 00D0 00E0              ldi R16,<L18
 00D2 10E0              ldi R17,>L18
 00D4 E1DF              xcall _disp_string
 00D6 31C0              xjmp L20
 00D8           L19:
 00D8                   .dbline 139
 00D8                   .dbline 140
 00D8 08E0              ldi R16,8
 00DA AADF              xcall _wcom
 00DC                   .dbline 141
 00DC 08EE              ldi R16,65000
 00DE 1DEF              ldi R17,253
 00E0 8FDF              xcall _delay
 00E2                   .dbline 142
 00E2 08EE              ldi R16,65000
 00E4 1DEF              ldi R17,253
 00E6 8CDF              xcall _delay
 00E8                   .dbline 143
 00E8 08EE              ldi R16,65000
 00EA 1DEF              ldi R17,253
 00EC 89DF              xcall _delay
 00EE                   .dbline 144
 00EE 08EE              ldi R16,65000
 00F0 1DEF              ldi R17,253
 00F2 86DF              xcall _delay
 00F4                   .dbline 145
 00F4 08EE              ldi R16,65000
 00F6 1DEF              ldi R17,253
 00F8 83DF              xcall _delay
 00FA                   .dbline 146
 00FA 08EE              ldi R16,65000
 00FC 1DEF              ldi R17,253
 00FE 80DF              xcall _delay
 0100                   .dbline 147
 0100 08EE              ldi R16,65000
 0102 1DEF              ldi R17,253
 0104 7DDF              xcall _delay
 0106                   .dbline 148
 0106 08EE              ldi R16,65000
 0108 1DEF              ldi R17,253
 010A 7ADF              xcall _delay
 010C                   .dbline 150
 010C 0CE0              ldi R16,12
 010E 90DF              xcall _wcom
 0110                   .dbline 151
 0110 08EE              ldi R16,65000
 0112 1DEF              ldi R17,253
 0114 75DF              xcall _delay
 0116                   .dbline 152
 0116 08EE              ldi R16,65000
 0118 1DEF              ldi R17,253
 011A 72DF              xcall _delay
 011C                   .dbline 153
 011C 08EE              ldi R16,65000
 011E 1DEF              ldi R17,253
 0120 6FDF              xcall _delay
 0122                   .dbline 154
 0122 08EE              ldi R16,65000
 0124 1DEF              ldi R17,253
 0126 6CDF              xcall _delay
 0128                   .dbline 155
 0128 08EE              ldi R16,65000
 012A 1DEF              ldi R17,253
 012C 69DF              xcall _delay
 012E                   .dbline 156
 012E 08EE              ldi R16,65000
 0130 1DEF              ldi R17,253
 0132 66DF              xcall _delay
 0134                   .dbline 157
 0134 08EE              ldi R16,65000
 0136 1DEF              ldi R17,253
 0138 63DF              xcall _delay
 013A                   .dbline 158
 013A           L20:
 013A                   .dbline 138
 013A CECF              xjmp L19
 013C           X1:
 013C                   .dbline -2
 013C           L16:
 013C                   .dbline 0 ; func end
 013C 0895              ret
 013E                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile C:\bak\YM200\lcd1602\lcd.c
 0000           L18:
 0000                   .blkb 13
                        .area idata
 0000 4176722053747564696F212000        .byte 'A,'v,'r,32,'S,'t,'u,'d,'i,'o,33,32,0
                        .area data(ram, con, rel)
 000D                   .dbfile C:\bak\YM200\lcd1602\lcd.c
 000D           L17:
 000D                   .blkb 16
                        .area idata
 000D 45617379204C6561726E696E672E2E00  .byte 'E,'a,'s,'y,32,'L,'e,'a,'r,'n,'i,'n,'g,46,46,0
                        .area data(ram, con, rel)
 001D                   .dbfile C:\bak\YM200\lcd1602\lcd.c

⌨️ 快捷键说明

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