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

📄 ¿-

📁 atmega128串行操作lcd12864
💻
📖 第 1 页 / 共 3 页
字号:
 00D8 1998              cbi 0x3,1
 00DA                   .dbline 78
 00DA           L32:
 00DA                   .dbline 79
 00DA           ; delay_us(1);
 00DA 01E0              ldi R16,1
 00DC 10E0              ldi R17,0
 00DE A5DF              xcall _delay_us
 00E0                   .dbline 80
 00E0           ;  SCLK_SET;//时钟总线拉高,数据传送给显示屏
 00E0 159A              sbi 0x2,5
 00E2                   .dbline 80
 00E2 1D9A              sbi 0x3,5
 00E4                   .dbline 81
 00E4           ;  delay_us(3);
 00E4 03E0              ldi R16,3
 00E6 10E0              ldi R17,0
 00E8 A0DF              xcall _delay_us
 00EA                   .dbline 82
 00EA           ;  SCLK_CLE;
 00EA 159A              sbi 0x2,5
 00EC                   .dbline 82
 00EC 1D98              cbi 0x3,5
 00EE                   .dbline 83
 00EE           ;  delay_us(3);
 00EE 03E0              ldi R16,3
 00F0 10E0              ldi R17,0
 00F2 9BDF              xcall _delay_us
 00F4                   .dbline 84
 00F4           ;  command=command<<1;//高位先发
 00F4 440F              lsl R20
 00F6                   .dbline 85
 00F6           ; }
 00F6           L28:
 00F6                   .dbline 73
 00F6 6395              inc R22
 00F8           L30:
 00F8                   .dbline 73
 00F8 6830              cpi R22,8
 00FA 30F3              brlo L27
 00FC           X7:
 00FC                   .dbline 86
 00FC           ; command=CMD<<4;
 00FC 4A2D              mov R20,R10
 00FE 4F70              andi R20,#0x0F
 0100 4295              swap R20
 0102                   .dbline 87
 0102           ; for(i=0;i<8;i++)//把数据送到线上去
 0102 6627              clr R22
 0104 18C0              xjmp L36
 0106           L33:
 0106                   .dbline 88
 0106           ; { SCLK_CLE;
 0106                   .dbline 88
 0106 159A              sbi 0x2,5
 0108                   .dbline 88
 0108 1D98              cbi 0x3,5
 010A                   .dbline 89
 010A           ;   if(command&0x80)
 010A 47FF              sbrs R20,7
 010C 03C0              rjmp L37
 010E           X8:
 010E                   .dbline 90
 010E           ;     {SID_SET;}
 010E                   .dbline 90
 010E 119A              sbi 0x2,1
 0110                   .dbline 90
 0110 199A              sbi 0x3,1
 0112                   .dbline 90
 0112 02C0              xjmp L38
 0114           L37:
 0114                   .dbline 92
 0114           ;   else
 0114           ;       {SID_CLE;}
 0114                   .dbline 92
 0114 119A              sbi 0x2,1
 0116                   .dbline 92
 0116 1998              cbi 0x3,1
 0118                   .dbline 92
 0118           L38:
 0118                   .dbline 93
 0118           ; delay_us(1);
 0118 01E0              ldi R16,1
 011A 10E0              ldi R17,0
 011C 86DF              xcall _delay_us
 011E                   .dbline 94
 011E           ;  SCLK_SET;//时钟总线拉高,数据传送给显示屏
 011E 159A              sbi 0x2,5
 0120                   .dbline 94
 0120 1D9A              sbi 0x3,5
 0122                   .dbline 95
 0122           ;  delay_us(1);
 0122 01E0              ldi R16,1
 0124 10E0              ldi R17,0
 0126 81DF              xcall _delay_us
 0128                   .dbline 96
 0128           ;  SCLK_CLE;
 0128 159A              sbi 0x2,5
 012A                   .dbline 96
 012A 1D98              cbi 0x3,5
 012C                   .dbline 97
 012C           ;  delay_us(3);
 012C 03E0              ldi R16,3
 012E 10E0              ldi R17,0
 0130 7CDF              xcall _delay_us
 0132                   .dbline 98
 0132           ;  command=command<<1;//高位先发
 0132 440F              lsl R20
 0134                   .dbline 99
 0134           ; }
 0134           L34:
 0134                   .dbline 87
 0134 6395              inc R22
 0136           L36:
 0136                   .dbline 87
 0136 6830              cpi R22,8
 0138 30F3              brlo L33
 013A           X9:
 013A                   .dbline -2
 013A           L20:
 013A                   .dbline 0 ; func end
 013A 0C940000          xjmp pop_xgsetF00C
 013E                   .dbsym r i 22 c
 013E                   .dbsym r command 20 c
 013E                   .dbsym r CMD 10 c
 013E                   .dbend
 013E                   .dbfunc e Write_one_char _Write_one_char fV
 013E           ;              i -> R22
 013E           ;           date -> R20
 013E           ;            dat -> R10
                        .even
 013E           _Write_one_char::
 013E 0E940000          xcall push_xgsetF00C
 0142 A02E              mov R10,R16
 0144                   .dbline -1
 0144                   .dbline 104
 0144           ; }
 0144           ; 
 0144           ; //发送一个字符
 0144           ; void Write_one_char(unsigned char dat)
 0144           ; {
 0144                   .dbline 106
 0144           ; uchar date,i;
 0144           ; date=0xfa;
 0144 4AEF              ldi R20,250
 0146                   .dbline 108
 0146           ; 
 0146           ; for(i=0;i<8;i++)//把数据送到线上去
 0146 6627              clr R22
 0148 18C0              xjmp L43
 014A           L40:
 014A                   .dbline 109
 014A           ; { SCLK_CLE;
 014A                   .dbline 109
 014A 159A              sbi 0x2,5
 014C                   .dbline 109
 014C 1D98              cbi 0x3,5
 014E                   .dbline 110
 014E           ;   if(date&0x80)
 014E 47FF              sbrs R20,7
 0150 03C0              rjmp L44
 0152           X10:
 0152                   .dbline 111
 0152           ;     {SID_SET;}
 0152                   .dbline 111
 0152 119A              sbi 0x2,1
 0154                   .dbline 111
 0154 199A              sbi 0x3,1
 0156                   .dbline 111
 0156 02C0              xjmp L45
 0158           L44:
 0158                   .dbline 113
 0158           ;   else
 0158           ;       {SID_CLE;}
 0158                   .dbline 113
 0158 119A              sbi 0x2,1
 015A                   .dbline 113
 015A 1998              cbi 0x3,1
 015C                   .dbline 113
 015C           L45:
 015C                   .dbline 114
 015C           ; delay_us(1);
 015C 01E0              ldi R16,1
 015E 10E0              ldi R17,0
 0160 64DF              xcall _delay_us
 0162                   .dbline 115
 0162           ;  SCLK_SET;//时钟总线拉高,数据传送给显示屏
 0162 159A              sbi 0x2,5
 0164                   .dbline 115
 0164 1D9A              sbi 0x3,5
 0166                   .dbline 116
 0166           ;  delay_us(3);
 0166 03E0              ldi R16,3
 0168 10E0              ldi R17,0
 016A 5FDF              xcall _delay_us
 016C                   .dbline 117
 016C           ;  SCLK_CLE;
 016C 159A              sbi 0x2,5
 016E                   .dbline 117
 016E 1D98              cbi 0x3,5
 0170                   .dbline 118
 0170           ;  delay_us(3);
 0170 03E0              ldi R16,3
 0172 10E0              ldi R17,0
 0174 5ADF              xcall _delay_us
 0176                   .dbline 119
 0176           ;  date=date<<1;//高位先发
 0176 440F              lsl R20
 0178                   .dbline 120
 0178           ; }
 0178           L41:
 0178                   .dbline 108
 0178 6395              inc R22
 017A           L43:
 017A                   .dbline 108
 017A 6830              cpi R22,8
 017C 30F3              brlo L40
 017E           X11:
 017E                   .dbline 121
 017E           ; date=dat&0xf0;
 017E 4A2D              mov R20,R10
 0180 407F              andi R20,240
 0182                   .dbline 122
 0182           ; for(i=0;i<8;i++)//把数据送到线上去
 0182 6627              clr R22
 0184 18C0              xjmp L49
 0186           L46:
 0186                   .dbline 123
 0186           ; {
 0186                   .dbline 124
 0186           ;   SCLK_CLE;
 0186 159A              sbi 0x2,5
 0188                   .dbline 124
 0188 1D98              cbi 0x3,5
 018A                   .dbline 125
 018A           ;   if(date&0x80)
 018A 47FF              sbrs R20,7
 018C 03C0              rjmp L50
 018E           X12:
 018E                   .dbline 126
 018E           ;     {SID_SET;}
 018E                   .dbline 126
 018E 119A              sbi 0x2,1
 0190                   .dbline 126
 0190 199A              sbi 0x3,1
 0192                   .dbline 126
 0192 02C0              xjmp L51
 0194           L50:
 0194                   .dbline 128
 0194           ;   else
 0194           ;       {SID_CLE;}
 0194                   .dbline 128
 0194 119A              sbi 0x2,1
 0196                   .dbline 128
 0196 1998              cbi 0x3,1
 0198                   .dbline 128
 0198           L51:
 0198                   .dbline 129
 0198           ; delay_us(1);
 0198 01E0              ldi R16,1
 019A 10E0              ldi R17,0
 019C 46DF              xcall _delay_us
 019E                   .dbline 130
 019E           ;  SCLK_SET;//时钟总线拉高,数据传送给显示屏
 019E 159A              sbi 0x2,5
 01A0                   .dbline 130
 01A0 1D9A              sbi 0x3,5
 01A2                   .dbline 131
 01A2           ;  delay_us(3);
 01A2 03E0              ldi R16,3
 01A4 10E0              ldi R17,0
 01A6 41DF              xcall _delay_us
 01A8                   .dbline 132
 01A8           ;  SCLK_CLE;
 01A8 159A              sbi 0x2,5
 01AA                   .dbline 132
 01AA 1D98              cbi 0x3,5
 01AC                   .dbline 133
 01AC           ;  delay_us(3);
 01AC 03E0              ldi R16,3
 01AE 10E0              ldi R17,0
 01B0 3CDF              xcall _delay_us
 01B2                   .dbline 134
 01B2           ;  date=date<<1;//高位先发
 01B2 440F              lsl R20
 01B4                   .dbline 135
 01B4           ; }
 01B4           L47:
 01B4                   .dbline 122
 01B4 6395              inc R22
 01B6           L49:
 01B6                   .dbline 122
 01B6 6830              cpi R22,8
 01B8 30F3              brlo L46
 01BA           X13:
 01BA                   .dbline 136
 01BA           ; date=dat<<4;
 01BA 4A2D              mov R20,R10
 01BC 4F70              andi R20,#0x0F
 01BE 4295              swap R20
 01C0                   .dbline 137
 01C0           ; for(i=0;i<8;i++)//把数据送到线上去
 01C0 6627              clr R22
 01C2 18C0              xjmp L55
 01C4           L52:
 01C4                   .dbline 138
 01C4           ; { SCLK_CLE;
 01C4                   .dbline 138
 01C4 159A              sbi 0x2,5
 01C6                   .dbline 138
 01C6 1D98              cbi 0x3,5
 01C8                   .dbline 139
 01C8           ;   if(date&0x80)
 01C8 47FF              sbrs R20,7
 01CA 03C0              rjmp L56
 01CC           X14:
 01CC                   .dbline 140
 01CC           ;     {SID_SET;}
 01CC                   .dbline 140
 01CC 119A              sbi 0x2,1

⌨️ 快捷键说明

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