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

📄 12864.lis

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

⌨️ 快捷键说明

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