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

📄 co0511.lis

📁 用m128调试CO0511液晶的源代码!
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 011C                   .dbline 330
 011C 01E0              ldi R16,1
 011E CADF              xcall _set_sclk
 0120                   .dbline 331
 0120 AA0C              lsl R10
 0122                   .dbline 332
 0122           L49:
 0122                   .dbline 322
 0122 6150              subi R22,1
 0124 7040              sbci R23,0
 0126                   .dbline 322
 0126 2224              clr R2
 0128 3324              clr R3
 012A 2616              cp R2,R22
 012C 3706              cpc R3,R23
 012E 54F3              brlt L48
 0130                   .dbline -2
 0130                   .dbline 333
 0130           ; set_sclk(1);
 0130           ; s=s<<1;
 0130           ; }
 0130           ; }
 0130           L47:
 0130 0E940000          xcall pop_gset3
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbsym r temp 20 c
 0136                   .dbsym r i 22 I
 0136                   .dbsym r s 10 c
 0136                   .dbsym r dat 20 c
 0136                   .dbend
 0136                   .dbfunc e w_com _w_com fV
 0136           ;            com -> R20
                        .even
 0136           _w_com::
 0136 0E940000          xcall push_gset1
 013A 402F              mov R20,R16
 013C                   .dbline -1
 013C                   .dbline 338
 013C           ; /*************************************************/
 013C           ; //写命令,串行模式
 013C           ; /*************************************************/
 013C           ; void w_com(unsigned char com)
 013C           ; {
 013C                   .dbline 339
 013C           ; set_a0(0);
 013C 0027              clr R16
 013E B2DF              xcall _set_a0
 0140                   .dbline 340
 0140           ; set_cs(0);
 0140 0027              clr R16
 0142 A0DF              xcall _set_cs
 0144                   .dbline 341
 0144           ; data_send(com);
 0144 042F              mov R16,R20
 0146 D6DF              xcall _data_send
 0148                   .dbline -2
 0148                   .dbline 342
 0148           ; }
 0148           L54:
 0148 0E940000          xcall pop_gset1
 014C                   .dbline 0 ; func end
 014C 0895              ret
 014E                   .dbsym r com 20 c
 014E                   .dbend
 014E                   .dbfunc e w_data _w_data fV
 014E           ;            dat -> R20
                        .even
 014E           _w_data::
 014E 0E940000          xcall push_gset1
 0152 402F              mov R20,R16
 0154                   .dbline -1
 0154                   .dbline 347
 0154           ; /*************************************************/
 0154           ; //写数据,串行模式
 0154           ; /*************************************************/
 0154           ; void w_data(unsigned char dat)
 0154           ; {
 0154                   .dbline 348
 0154           ; set_a0(1);
 0154 01E0              ldi R16,1
 0156 A6DF              xcall _set_a0
 0158                   .dbline 349
 0158           ; set_cs(0);
 0158 0027              clr R16
 015A 94DF              xcall _set_cs
 015C                   .dbline 350
 015C           ; data_send(dat);
 015C 042F              mov R16,R20
 015E CADF              xcall _data_send
 0160                   .dbline -2
 0160                   .dbline 351
 0160           ; }
 0160           L55:
 0160 0E940000          xcall pop_gset1
 0164                   .dbline 0 ; func end
 0164 0895              ret
 0166                   .dbsym r dat 20 c
 0166                   .dbend
 0166                   .dbfunc e clrram _clrram fV
 0166           ;           page -> R20
 0166           ;              i -> R22
 0166           ;              j -> R10
                        .even
 0166           _clrram::
 0166 0E940000          xcall push_gset3
 016A                   .dbline -1
 016A                   .dbline 356
 016A           ; /*************************************************/
 016A           ; //清DDRAM
 016A           ; /************************************************/
 016A           ; void clrram (void)
 016A           ; { uchar i,j,page;
 016A                   .dbline 357
 016A           ;   page=0xb0;
 016A 40EB              ldi R20,176
 016C                   .dbline 358
 016C           ;   for(i=0;i<8;i++)
 016C 6627              clr R22
 016E 10C0              xjmp L60
 0170           L57:
 0170                   .dbline 359
 0170           ;   {
 0170                   .dbline 360
 0170           ;   w_com(page);   /*设置页*/
 0170 042F              mov R16,R20
 0172 E1DF              xcall _w_com
 0174                   .dbline 361
 0174           ;   w_com(0x10);   /*设置列号*/
 0174 00E1              ldi R16,16
 0176 DFDF              xcall _w_com
 0178                   .dbline 362
 0178           ;   w_com(0x00);
 0178 0027              clr R16
 017A DDDF              xcall _w_com
 017C                   .dbline 363
 017C           ;   for(j=0;j<128;j++)
 017C AA24              clr R10
 017E 03C0              xjmp L64
 0180           L61:
 0180                   .dbline 364
 0180                   .dbline 365
 0180 0027              clr R16
 0182 E5DF              xcall _w_data
 0184                   .dbline 366
 0184           L62:
 0184                   .dbline 363
 0184 A394              inc R10
 0186           L64:
 0186                   .dbline 363
 0186 8A2D              mov R24,R10
 0188 8038              cpi R24,128
 018A D0F3              brlo L61
 018C                   .dbline 367
 018C 4395              inc R20
 018E                   .dbline 368
 018E           L58:
 018E                   .dbline 358
 018E 6395              inc R22
 0190           L60:
 0190                   .dbline 358
 0190 6830              cpi R22,8
 0192 70F3              brlo L57
 0194                   .dbline -2
 0194                   .dbline 369
 0194           ;   {
 0194           ;   w_data(0x00);
 0194           ;   }
 0194           ;   page++;
 0194           ;   }
 0194           ; }
 0194           L56:
 0194 0E940000          xcall pop_gset3
 0198                   .dbline 0 ; func end
 0198 0895              ret
 019A                   .dbsym r page 20 c
 019A                   .dbsym r i 22 c
 019A                   .dbsym r j 10 c
 019A                   .dbend
 019A                   .dbfunc e init_lcd _init_lcd fV
 019A           ;              i -> R20
                        .even
 019A           _init_lcd::
 019A 0E940000          xcall push_gset1
 019E                   .dbline -1
 019E                   .dbline 374
 019E           ; /************************************************/
 019E           ; //液晶初始化
 019E           ; /************************************************/
 019E           ; void init_lcd (void)
 019E           ; {
 019E                   .dbline 375
 019E           ;   uchar i=0;
 019E 4427              clr R20
 01A0                   .dbline 376
 01A0           ;   set_res(0);
 01A0 0027              clr R16
 01A2 78DF              xcall _set_res
 01A4                   .dbline 377
 01A4           ;   delay_nms(100);
 01A4 04E6              ldi R16,100
 01A6 10E0              ldi R17,0
 01A8 46DF              xcall _delay_nms
 01AA                   .dbline 378
 01AA           ;   set_res(1);
 01AA 01E0              ldi R16,1
 01AC 73DF              xcall _set_res
 01AE                   .dbline 379
 01AE           ;   delay_nms(100);          /*复位液晶*/
 01AE 04E6              ldi R16,100
 01B0 10E0              ldi R17,0
 01B2 41DF              xcall _delay_nms
 01B4                   .dbline 380
 01B4           ;   w_com(0xae);  /*Display ON/OFF 0xae:OFF 0xaf:ON*/
 01B4 0EEA              ldi R16,174
 01B6 BFDF              xcall _w_com
 01B8                   .dbline 381
 01B8           ;   w_com(0xa2);  /*LCD bias set 0xa2:1/9 0xa3:1/7*/
 01B8 02EA              ldi R16,162
 01BA BDDF              xcall _w_com
 01BC                   .dbline 382
 01BC           ;   w_com(0xa0);  /*ADC select 0xa0:0-127 0xa1:127-0*/
 01BC 00EA              ldi R16,160
 01BE BBDF              xcall _w_com
 01C0                   .dbline 383
 01C0           ;   w_com(0xc8);
 01C0 08EC              ldi R16,200
 01C2 B9DF              xcall _w_com
 01C4                   .dbline 384
 01C4           ;   w_com(0xa6);  /*Display 0xa6:normal 0xa7:reverse*/
 01C4 06EA              ldi R16,166
 01C6 B7DF              xcall _w_com
 01C8                   .dbline 385
 01C8           ;   w_com(0x2a);  /* V0 Voltage Regulator Internal Resistor Ration Set*/
 01C8 0AE2              ldi R16,42
 01CA B5DF              xcall _w_com
 01CC                   .dbline 386
 01CC           ;   w_com(0x81);  /*Electronic Volume*/
 01CC 01E8              ldi R16,129
 01CE B3DF              xcall _w_com
 01D0                   .dbline 387
 01D0           ;   w_com(0x2a);
 01D0 0AE2              ldi R16,42
 01D2 B1DF              xcall _w_com
 01D4                   .dbline 388
 01D4           ;   w_com(0x2f);  /*power control*/
 01D4 0FE2              ldi R16,47
 01D6 AFDF              xcall _w_com
 01D8                   .dbline 389
 01D8           ;   delay_nms(100);
 01D8 04E6              ldi R16,100
 01DA 10E0              ldi R17,0
 01DC 2CDF              xcall _delay_nms
 01DE                   .dbline -2
 01DE                   .dbline 390
 01DE           ; }
 01DE           L65:
 01DE 0E940000          xcall pop_gset1
 01E2                   .dbline 0 ; func end
 01E2 0895              ret
 01E4                   .dbsym r i 20 c
 01E4                   .dbend
 01E4                   .dbfunc e img_disp _img_disp fV
 01E4           ;           page -> R20
 01E4           ;              i -> R22
 01E4           ;              j -> R12
 01E4           ;          point -> R10,R11
                        .even
 01E4           _img_disp::
 01E4 0E940000          xcall push_gset4
 01E8 5801              movw R10,R16
 01EA                   .dbline -1
 01EA                   .dbline 395
 01EA           ; /**********************************************/
 01EA           ; //图形显示
 01EA           ; /*********************************************/
 01EA           ; void img_disp(const uchar *point)
 01EA           ; { uchar i,j,page;
 01EA                   .dbline 396
 01EA           ;   page=0xb7;
 01EA 47EB              ldi R20,183
 01EC                   .dbline 397
 01EC           ;   w_com(0xaf);
 01EC 0FEA              ldi R16,175
 01EE A3DF              xcall _w_com
 01F0                   .dbline 398
 01F0           ;   for(i=0;i<8;i++)
 01F0 6627              clr R22
 01F2 15C0              xjmp L70
 01F4           L67:
 01F4                   .dbline 399
 01F4           ;   {
 01F4                   .dbline 400
 01F4           ;   w_com(page);   /*设置页*/
 01F4 042F              mov R16,R20
 01F6 9FDF              xcall _w_com
 01F8                   .dbline 401
 01F8           ;   w_com(0x10);   /*设置列号*/
 01F8 00E1              ldi R16,16
 01FA 9DDF              xcall _w_com
 01FC                   .dbline 402
 01FC           ;   w_com(0x10);
 01FC 00E1              ldi R16,16
 01FE 9BDF              xcall _w_com
 0200                   .dbline 403
 0200           ;   for(j=0;j<128;j++)
 0200 CC24              clr R12
 0202 08C0              xjmp L74
 0204           L71:
 0204                   .dbline 404
 0204                   .dbline 405
 0204 1501              movw R2,R10
 0206 C101              movw R24,R2
 0208 0196              adiw R24,1
 020A 5C01              movw R10,R24
 020C F101              movw R30,R2
 020E 0491              lpm R16,Z
 0210 9EDF              xcall _w_data
 0212                 

⌨️ 快捷键说明

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