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

📄 12864串口.lis

📁 avr基础程序大全
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00A0 D1DF              xcall _wr_bit
 00A2                   .dbline 68
 00A2           ;       
 00A2           ;       wr_bit(4,0x00);                                 //写入4个0
 00A2 2227              clr R18
 00A4 04E0              ldi R16,4
 00A6 CEDF              xcall _wr_bit
 00A8                   .dbline 70
 00A8           ;       
 00A8           ;       wr_bit(4,(b<<4));                               //写入数据的低4位
 00A8 242F              mov R18,R20
 00AA 2F70              andi R18,#0x0F
 00AC 2295              swap R18
 00AE 04E0              ldi R16,4
 00B0 C9DF              xcall _wr_bit
 00B2                   .dbline 72
 00B2           ;       
 00B2           ;       wr_bit(4,0x00);                                 //写入4个0
 00B2 2227              clr R18
 00B4 04E0              ldi R16,4
 00B6 C6DF              xcall _wr_bit
 00B8                   .dbline 74
 00B8           ; 
 00B8           ;       set_sid;                                          
 00B8 AE9A              sbi 0x15,6
 00BA                   .dbline -2
 00BA           L22:
 00BA                   .dbline 0 ; func end
 00BA 4991              ld R20,y+
 00BC A990              ld R10,y+
 00BE 0895              ret
 00C0                   .dbsym r b 20 c
 00C0                   .dbsym r a 10 c
 00C0                   .dbend
 00C0                   .dbfunc e lcd12864_init _lcd12864_init fV
                        .even
 00C0           _lcd12864_init::
 00C0                   .dbline -1
 00C0                   .dbline 77
 00C0           ; }
 00C0           ; void lcd12864_init()
 00C0           ; {
 00C0                   .dbline 78
 00C0           ;       delay_ms(50);
 00C0 02E3              ldi R16,50
 00C2 10E0              ldi R17,0
 00C4 ABDF              xcall _delay_ms
 00C6                   .dbline 79
 00C6           ;       delay_ms(100);
 00C6 04E6              ldi R16,100
 00C8 10E0              ldi R17,0
 00CA A8DF              xcall _delay_ms
 00CC                   .dbline 80
 00CC           ;       delay_ms(200);
 00CC 08EC              ldi R16,200
 00CE 10E0              ldi R17,0
 00D0 A5DF              xcall _delay_ms
 00D2                   .dbline 82
 00D2           ;       
 00D2           ;       write_shuju(0,0x30);                    //设置数据方式:8位
 00D2 20E3              ldi R18,48
 00D4 0027              clr R16
 00D6 CBDF              xcall _write_shuju
 00D8                   .dbline 83
 00D8           ;       delay_us(200);
 00D8 08EC              ldi R16,200
 00DA 10E0              ldi R17,0
 00DC 97DF              xcall _delay_us
 00DE                   .dbline 84
 00DE           ;       write_shuju(0,0x30);                    //设置数据方式:8位
 00DE 20E3              ldi R18,48
 00E0 0027              clr R16
 00E2 C5DF              xcall _write_shuju
 00E4                   .dbline 85
 00E4           ;       delay_us(80);
 00E4 00E5              ldi R16,80
 00E6 10E0              ldi R17,0
 00E8 91DF              xcall _delay_us
 00EA                   .dbline 86
 00EA           ;       write_shuju(0,0x0C);                    //开显示
 00EA 2CE0              ldi R18,12
 00EC 0027              clr R16
 00EE BFDF              xcall _write_shuju
 00F0                   .dbline 87
 00F0           ;       delay_us(80);
 00F0 00E5              ldi R16,80
 00F2 10E0              ldi R17,0
 00F4 8BDF              xcall _delay_us
 00F6                   .dbline 88
 00F6           ;       write_shuju(0,0x40);                    //开显示
 00F6 20E4              ldi R18,64
 00F8 0027              clr R16
 00FA B9DF              xcall _write_shuju
 00FC                   .dbline 89
 00FC           ;       delay_us(200);
 00FC 08EC              ldi R16,200
 00FE 10E0              ldi R17,0
 0100 85DF              xcall _delay_us
 0102                   .dbline 90
 0102           ;       write_shuju(0,0x01);                    //清屏
 0102 21E0              ldi R18,1
 0104 0027              clr R16
 0106 B3DF              xcall _write_shuju
 0108                   .dbline 91
 0108           ;       delay_ms(200);
 0108 08EC              ldi R16,200
 010A 10E0              ldi R17,0
 010C                   .dbline -2
 010C           L25:
 010C                   .dbline 0 ; func end
 010C 87CF              xjmp _delay_ms
 010E                   .dbend
 010E                   .dbfunc e write_hz _write_hz fV
 010E           ;              s -> R20,R21
                        .even
 010E           _write_hz::
 010E 4A93              st -y,R20
 0110 5A93              st -y,R21
 0112 A801              movw R20,R16
 0114                   .dbline -1
 0114                   .dbline 94
 0114           ; }
 0114           ; void write_hz(char *s)
 0114           ;    {
 0114 06C0              xjmp L28
 0116           L27:
 0116                   .dbline 96
 0116           ;       while(*s)
 0116           ;           {
 0116                   .dbline 97
 0116           ;               write_shuju(1,*s);
 0116 FA01              movw R30,R20
 0118 2081              ldd R18,z+0
 011A 01E0              ldi R16,1
 011C A8DF              xcall _write_shuju
 011E                   .dbline 98
 011E           ;               s++;
 011E 4F5F              subi R20,255  ; offset = 1
 0120 5F4F              sbci R21,255
 0122                   .dbline 99
 0122           ;               }
 0122           L28:
 0122                   .dbline 95
 0122 FA01              movw R30,R20
 0124 2080              ldd R2,z+0
 0126 2220              tst R2
 0128 B1F7              brne L27
 012A           X6:
 012A                   .dbline -2
 012A           L26:
 012A                   .dbline 0 ; func end
 012A 5991              ld R21,y+
 012C 4991              ld R20,y+
 012E 0895              ret
 0130                   .dbsym r s 20 pc
 0130                   .dbend
 0130                   .dbfunc e locate _locate fV
 0130           ;              y -> R20
 0130           ;              x -> R10
                        .even
 0130           _locate::
 0130 0E940000          xcall push_xgsetF00C
 0134 422F              mov R20,R18
 0136 A02E              mov R10,R16
 0138                   .dbline -1
 0138                   .dbline 102
 0138           ; }
 0138           ; void locate(uchar x,uchar y)
 0138           ; {
 0138                   .dbline 103
 0138           ;       switch(x)
 0138 6A2D              mov R22,R10
 013A 7727              clr R23
 013C 6130              cpi R22,1
 013E E0E0              ldi R30,0
 0140 7E07              cpc R23,R30
 0142 69F0              breq L34
 0144           X7:
 0144 6230              cpi R22,2
 0146 E0E0              ldi R30,0
 0148 7E07              cpc R23,R30
 014A 79F0              breq L35
 014C           X8:
 014C 6330              cpi R22,3
 014E E0E0              ldi R30,0
 0150 7E07              cpc R23,R30
 0152 89F0              breq L36
 0154           X9:
 0154 6430              cpi R22,4
 0156 E0E0              ldi R30,0
 0158 7E07              cpc R23,R30
 015A 99F0              breq L37
 015C           X10:
 015C 17C0              xjmp L32
 015E           L34:
 015E                   .dbline 105
 015E           ;               {
 015E           ;               case 1:write_shuju(0,(0x80+y-1)); break;
 015E 242F              mov R18,R20
 0160 2058              subi R18,128    ; addi 128
 0162 2150              subi R18,1
 0164 0027              clr R16
 0166 83DF              xcall _write_shuju
 0168                   .dbline 105
 0168 11C0              xjmp L32
 016A           L35:
 016A                   .dbline 106
 016A           ;               case 2:write_shuju(0,(0x90+y-1));break;
 016A 242F              mov R18,R20
 016C 2057              subi R18,112    ; addi 144
 016E 2150              subi R18,1
 0170 0027              clr R16
 0172 7DDF              xcall _write_shuju
 0174                   .dbline 106
 0174 0BC0              xjmp L32
 0176           L36:
 0176                   .dbline 107
 0176           ;               case 3:write_shuju(0,(0x88+y-1));break; 
 0176 242F              mov R18,R20
 0178 2857              subi R18,120    ; addi 136
 017A 2150              subi R18,1
 017C 0027              clr R16
 017E 77DF              xcall _write_shuju
 0180                   .dbline 107
 0180 05C0              xjmp L32
 0182           L37:
 0182                   .dbline 108
 0182           ;               case 4:write_shuju(0,(0x98+y-1));break;
 0182 242F              mov R18,R20
 0184 2856              subi R18,104    ; addi 152
 0186 2150              subi R18,1
 0188 0027              clr R16
 018A 71DF              xcall _write_shuju
 018C                   .dbline 108
 018C                   .dbline 109
 018C           ;               default:break;           
 018C           L32:
 018C                   .dbline -2
 018C           L30:
 018C                   .dbline 0 ; func end
 018C 0C940000          xjmp pop_xgsetF00C
 0190                   .dbsym r y 20 c
 0190                   .dbsym r x 10 c
 0190                   .dbend
 0190                   .dbfunc e cls _cls fV
                        .even
 0190           _cls::
 0190                   .dbline -1
 0190                   .dbline 113
 0190           ;               }
 0190           ; }
 0190           ; void cls()
 0190           ; {
 0190                   .dbline 114
 0190           ;       delay_us(200);
 0190 08EC              ldi R16,200
 0192 10E0              ldi R17,0
 0194 3BDF              xcall _delay_us
 0196                   .dbline 115
 0196           ;       write_shuju(0,0x01);                    //清屏
 0196 21E0              ldi R18,1
 0198 0027              clr R16
 019A 69DF              xcall _write_shuju
 019C                   .dbline 116
 019C           ;       delay_ms(20);
 019C 04E1              ldi R16,20
 019E 10E0              ldi R17,0
 01A0                   .dbline -2
 01A0           L38:
 01A0                   .dbline 0 ; func end
 01A0 3DCF              xjmp _delay_ms
 01A2                   .dbend
 01A2                   .dbfunc e mega16_adc _mega16_adc fi
 01A2           ;         addata -> R10,R11

⌨️ 快捷键说明

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