📄 ¿-
字号:
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 + -