?? tc_clock.lis
字號:
008C 10E0 ldi R17,0
008E B8DF xcall _delayUS
0090 .dbline 213
0090 ; LCDDIL;
0090 9798 cbi 0x12,7
0092 .dbline 214
0092 ; delayUS(2);
0092 02E0 ldi R16,2
0094 10E0 ldi R17,0
0096 B4DF xcall _delayUS
0098 .dbline 215
0098 ; LCDENH;
0098 969A sbi 0x12,6
009A .dbline 216
009A ; delayUS(2);
009A 02E0 ldi R16,2
009C 10E0 ldi R17,0
009E B0DF xcall _delayUS
00A0 .dbline 217
00A0 ; PORTC=com;
00A0 45BB out 0x15,R20
00A2 .dbline 218
00A2 ; delayUS(2);
00A2 02E0 ldi R16,2
00A4 10E0 ldi R17,0
00A6 ACDF xcall _delayUS
00A8 .dbline 219
00A8 ; LCDENL;
00A8 9698 cbi 0x12,6
00AA .dbline -2
00AA L16:
00AA 0E940000 xcall pop_gset1
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym r com 20 c
00B0 .dbend
00B0 .dbfunc e LCD_WRITE_ADD_CHAR _LCD_WRITE_ADD_CHAR fV
00B0 ; i -> R20
00B0 ; p -> R22
00B0 ; y -> R10
00B0 ; x -> R12
.even
00B0 _LCD_WRITE_ADD_CHAR::
00B0 0E940000 xcall push_gset4
00B4 A22E mov R10,R18
00B6 C02E mov R12,R16
00B8 6885 ldd R22,y+8
00BA .dbline -1
00BA .dbline 228
00BA ; }
00BA ; /*******************************************
00BA ; *函數名稱:LCD_WRITE_ADD_CHAR(uchar x,y ,uchar *p)
00BA ; *函數功能:在坐標xy處寫入西文字符
00BA ; *入口參數:x,y 寫入字符的坐標, *p字符編碼表的首地址
00BA ; *出口參數:無
00BA ; **********************************************/
00BA ; void LCD_WRITE_ADD_CHAR(uchar x, uchar y, uchar p)
00BA ; {
00BA .dbline 230
00BA ; uchar i;
00BA ; x=0xb8+x*2;
00BA 82E0 ldi R24,2
00BC 8C9D mul R24,R12
00BE 802D mov R24,R0
00C0 8854 subi R24,72 ; addi 184
00C2 C82E mov R12,R24
00C4 .dbline 231
00C4 ; y=0x40+y*8;
00C4 88E0 ldi R24,8
00C6 8A9D mul R24,R10
00C8 802D mov R24,R0
00CA 805C subi R24,192 ; addi 64
00CC A82E mov R10,R24
00CE .dbline 232
00CE ; LCD_WRITE_COM(x); //x為行
00CE 0C2D mov R16,R12
00D0 D8DF xcall _LCD_WRITE_COM
00D2 .dbline 233
00D2 ; LCD_WRITE_COM(y); // y為列
00D2 0A2D mov R16,R10
00D4 D6DF xcall _LCD_WRITE_COM
00D6 .dbline 234
00D6 ; for(i=0;i<8;i++)
00D6 4427 clr R20
00D8 0EC0 xjmp L21
00DA L18:
00DA .dbline 235
00DA .dbline 236
00DA 80E1 ldi R24,16
00DC 869F mul R24,R22
00DE 1001 movw R2,R0
00E0 80E0 ldi R24,<_table
00E2 90E0 ldi R25,>_table
00E4 280E add R2,R24
00E6 391E adc R3,R25
00E8 E42F mov R30,R20
00EA FF27 clr R31
00EC E20D add R30,R2
00EE F31D adc R31,R3
00F0 0491 lpm R16,Z
00F2 B0DF xcall _LCD_WRITE_DAT
00F4 .dbline 237
00F4 L19:
00F4 .dbline 234
00F4 4395 inc R20
00F6 L21:
00F6 .dbline 234
00F6 4830 cpi R20,8
00F8 80F3 brlo L18
00FA .dbline 238
00FA ; {
00FA ; LCD_WRITE_DAT(table[p][i]); //西文字母的上半部分,由8行點構成(每行有8個點)
00FA ; }
00FA ; LCD_WRITE_COM(x+1);
00FA 0C2D mov R16,R12
00FC 0F5F subi R16,255 ; addi 1
00FE C1DF xcall _LCD_WRITE_COM
0100 .dbline 239
0100 ; LCD_WRITE_COM(y);
0100 0A2D mov R16,R10
0102 BFDF xcall _LCD_WRITE_COM
0104 .dbline 240
0104 ; for(i=0;i<8;i++) //寫入西文字母的下半部分
0104 4427 clr R20
0106 0FC0 xjmp L25
0108 L22:
0108 .dbline 241
0108 .dbline 242
0108 80E1 ldi R24,16
010A 869F mul R24,R22
010C 1001 movw R2,R0
010E 80E0 ldi R24,<_table
0110 90E0 ldi R25,>_table
0112 280E add R2,R24
0114 391E adc R3,R25
0116 E42F mov R30,R20
0118 FF27 clr R31
011A 3896 adiw R30,8
011C E20D add R30,R2
011E F31D adc R31,R3
0120 0491 lpm R16,Z
0122 98DF xcall _LCD_WRITE_DAT
0124 .dbline 243
0124 L23:
0124 .dbline 240
0124 4395 inc R20
0126 L25:
0126 .dbline 240
0126 4830 cpi R20,8
0128 78F3 brlo L22
012A .dbline -2
012A L17:
012A 0E940000 xcall pop_gset4
012E .dbline 0 ; func end
012E 0895 ret
0130 .dbsym r i 20 c
0130 .dbsym r p 22 c
0130 .dbsym r y 10 c
0130 .dbsym r x 12 c
0130 .dbend
0130 .dbfunc e LCD_WRITE_ADD_CHINESE _LCD_WRITE_ADD_CHINESE fV
0130 ; i -> R20
0130 ; p -> R22
0130 ; y -> R10
0130 ; x -> R12
.even
0130 _LCD_WRITE_ADD_CHINESE::
0130 0E940000 xcall push_gset4
0134 A22E mov R10,R18
0136 C02E mov R12,R16
0138 6885 ldd R22,y+8
013A .dbline -1
013A .dbline 246
013A ; {
013A ; LCD_WRITE_DAT(table[p][8+i]);
013A ; }
013A ; }
013A ; void LCD_WRITE_ADD_CHINESE(uchar x,uchar y,uchar p)
013A ; {
013A .dbline 248
013A ; uchar i;
013A ; x=0xb8+x*2;
013A 82E0 ldi R24,2
013C 8C9D mul R24,R12
013E 802D mov R24,R0
0140 8854 subi R24,72 ; addi 184
0142 C82E mov R12,R24
0144 .dbline 249
0144 ; y=0x40+y*8;
0144 88E0 ldi R24,8
0146 8A9D mul R24,R10
0148 802D mov R24,R0
014A 805C subi R24,192 ; addi 64
014C A82E mov R10,R24
014E .dbline 250
014E ; LCD_WRITE_COM(x);
014E 0C2D mov R16,R12
0150 98DF xcall _LCD_WRITE_COM
0152 .dbline 251
0152 ; LCD_WRITE_COM(y);
0152 0A2D mov R16,R10
0154 96DF xcall _LCD_WRITE_COM
0156 .dbline 252
0156 ; for(i=0;i<16;i++)
0156 4427 clr R20
0158 11C0 xjmp L30
015A L27:
015A .dbline 253
015A .dbline 254
015A 82E0 ldi R24,2
015C 869F mul R24,R22
015E 102D mov R17,R0
0160 00E1 ldi R16,16
0162 0102 muls R16,R17
0164 80E0 ldi R24,<_Tab_Chinesepoem
0166 90E0 ldi R25,>_Tab_Chinesepoem
0168 1001 movw R2,R0
016A 280E add R2,R24
016C 391E adc R3,R25
016E E42F mov R30,R20
0170 FF27 clr R31
0172 E20D add R30,R2
0174 F31D adc R31,R3
0176 0491 lpm R16,Z
0178 6DDF xcall _LCD_WRITE_DAT
017A .dbline 255
017A L28:
017A .dbline 252
017A 4395 inc R20
017C L30:
017C .dbline 252
017C 4031 cpi R20,16
017E 68F3 brlo L27
0180 .dbline 256
0180 ; {
0180 ; LCD_WRITE_DAT(Tab_Chinesepoem[2*p][i]);
0180 ; }
0180 ; LCD_WRITE_COM(x+1);
0180 0C2D mov R16,R12
0182 0F5F subi R16,255 ; addi 1
0184 7EDF xcall _LCD_WRITE_COM
0186 .dbline 257
0186 ; LCD_WRITE_COM(y);
0186 0A2D mov R16,R10
0188 7CDF xcall _LCD_WRITE_COM
018A .dbline 258
018A ; for(i=0;i<16;i++)
018A 4427 clr R20
018C 11C0 xjmp L34
018E L31:
018E .dbline 259
018E .dbline 260
018E 82E0 ldi R24,2
0190 869F mul R24,R22
0192 102D mov R17,R0
0194 00E1 ldi R16,16
0196 0102 muls R16,R17
0198 80E0 ldi R24,<_Tab_Chinesepoem+16
019A 90E0 ldi R25,>_Tab_Chinesepoem+16
019C 1001 movw R2,R0
019E 280E add R2,R24
01A0 391E adc R3,R25
01A2 E42F mov R30,R20
01A4 FF27 clr R31
01A6 E20D add R30,R2
01A8 F31D adc R31,R3
01AA 0491 lpm R16,Z
01AC 53DF xcall _LCD_WRITE_DAT
01AE .dbline 261
01AE L32:
01AE .dbline 258
01AE 4395 inc R20
01B0 L34:
01B0 .dbline 258
01B0 4031 cpi R20,16
01B2 68F3 brlo L31
01B4 .dbline -2
01B4 L26:
01B4 0E940000 xcall pop_gset4
01B8 .dbline 0 ; func end
01B8 0895 ret
01BA .dbsym r i 20 c
01BA .dbsym r p 22 c
01BA .dbsym r y 10 c
01BA .dbsym r x 12 c
01BA .dbend
01BA .dbfunc e LCD_WRITE_PICTURE _LCD_WRITE_PICTURE fV
01BA ; a -> <dead>
01BA ; k -> R20
01BA ; i -> R22
01BA ; j -> R10
.even
01BA _LCD_WRITE_PICTURE::
01BA 0E940000 xcall push_gset3
01BE .dbline -1
01BE .dbline 274
01BE ; {
01BE ; LCD_WRITE_DAT(Tab_Chinesepoem[2*p+1][i]);
01BE ; }
01BE ; }
01BE ;
01BE ; /********************************************************
01BE ; *函數名稱:LCD_WRITE_PICTURE()
01BE ; *函數功能:在LCD液晶屏上顯示圖片‘南華大學電氣工程學院’
01BE ; *函數引用了字模軟件生成的字模表Tab_pic2[][16]
01BE ; *其取模方式為 :從第一列開始向下取8個點作為一個字節
01B
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -