📄 hyj.lss
字号:
4d6: 10 e0 ldi r17, 0x00 ; 0
4d8: 2f ef ldi r18, 0xFF ; 255
4da: 3f ef ldi r19, 0xFF ; 255
4dc: 45 e5 ldi r20, 0x55 ; 85
4de: 50 e0 ldi r21, 0x00 ; 0
4e0: 60 e0 ldi r22, 0x00 ; 0
4e2: 70 e0 ldi r23, 0x00 ; 0
4e4: 88 e7 ldi r24, 0x78 ; 120
4e6: 90 e0 ldi r25, 0x00 ; 0
4e8: 0e 94 a5 07 call 0xf4a ; 0xf4a <GUI_sprintf_chartobit>
delay_us(0xffff);
4ec: 8f ef ldi r24, 0xFF ; 255
4ee: 9f ef ldi r25, 0xFF ; 255
4f0: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <delay_us>
GUI_sprintf_chartobit(120,0,0xaa,0xffff,0x0000) ;
4f4: 2f ef ldi r18, 0xFF ; 255
4f6: 3f ef ldi r19, 0xFF ; 255
4f8: 4a ea ldi r20, 0xAA ; 170
4fa: 50 e0 ldi r21, 0x00 ; 0
4fc: 60 e0 ldi r22, 0x00 ; 0
4fe: 70 e0 ldi r23, 0x00 ; 0
500: 88 e7 ldi r24, 0x78 ; 120
502: 90 e0 ldi r25, 0x00 ; 0
504: 0e 94 a5 07 call 0xf4a ; 0xf4a <GUI_sprintf_chartobit>
delay_us(0xffff);
508: 8f ef ldi r24, 0xFF ; 255
50a: 9f ef ldi r25, 0xFF ; 255
50c: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <delay_us>
510: e1 cf rjmp .-62 ; 0x4d4 <main+0x60>
delay_us(0xffff);
MMC_SD_Init();//初始化spi口
delay_us(0xffff);
while(MMC_SD_Reset())//初始化SD卡 //sd card initialize
512: 0e 94 81 08 call 0x1102 ; 0x1102 <MMC_SD_Reset>
516: 89 2b or r24, r25
518: d1 f6 brne .-76 ; 0x4ce <main+0x5a>
delay_us(0xffff);
}
}
}
GUI_sprintf_chartobit(120,0,0xf0,0xffff,0x0000) ;
51a: 00 e0 ldi r16, 0x00 ; 0
51c: 10 e0 ldi r17, 0x00 ; 0
51e: 2f ef ldi r18, 0xFF ; 255
520: 3f ef ldi r19, 0xFF ; 255
522: 40 ef ldi r20, 0xF0 ; 240
524: 50 e0 ldi r21, 0x00 ; 0
526: 60 e0 ldi r22, 0x00 ; 0
528: 70 e0 ldi r23, 0x00 ; 0
52a: 88 e7 ldi r24, 0x78 ; 120
52c: 90 e0 ldi r25, 0x00 ; 0
52e: 0e 94 a5 07 call 0xf4a ; 0xf4a <GUI_sprintf_chartobit>
OSCCAL = 0xff;//最大RC振荡频率 //normal operation maximum the frequency
532: 8f ef ldi r24, 0xFF ; 255
534: 81 bf out 0x31, r24 ; 49
delay_us(0xffff);
536: 8f ef ldi r24, 0xFF ; 255
538: 9f ef ldi r25, 0xFF ; 255
53a: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <delay_us>
if(FAT_Init())//初始化文件系统 支持FAT16和FAT32 //initialize file system FAT16 and FAT32 are supported
53e: 0e 94 cc 0e call 0x1d98 ; 0x1d98 <FAT_Init>
542: 88 23 and r24, r24
544: f9 f0 breq .+62 ; 0x584 <main+0x110>
{
while(1)
{
while(1)
{
GUI_sprintf_chartobit(120,0,0x00,0xffff,0x0000) ;
546: 00 e0 ldi r16, 0x00 ; 0
548: 10 e0 ldi r17, 0x00 ; 0
54a: 2f ef ldi r18, 0xFF ; 255
54c: 3f ef ldi r19, 0xFF ; 255
54e: 40 e0 ldi r20, 0x00 ; 0
550: 50 e0 ldi r21, 0x00 ; 0
552: 60 e0 ldi r22, 0x00 ; 0
554: 70 e0 ldi r23, 0x00 ; 0
556: 88 e7 ldi r24, 0x78 ; 120
558: 90 e0 ldi r25, 0x00 ; 0
55a: 0e 94 a5 07 call 0xf4a ; 0xf4a <GUI_sprintf_chartobit>
delay_us(0xffff);
55e: 8f ef ldi r24, 0xFF ; 255
560: 9f ef ldi r25, 0xFF ; 255
562: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <delay_us>
GUI_sprintf_chartobit(120,0,0xff,0xffff,0x0000) ;
566: 2f ef ldi r18, 0xFF ; 255
568: 3f ef ldi r19, 0xFF ; 255
56a: 4f ef ldi r20, 0xFF ; 255
56c: 50 e0 ldi r21, 0x00 ; 0
56e: 60 e0 ldi r22, 0x00 ; 0
570: 70 e0 ldi r23, 0x00 ; 0
572: 88 e7 ldi r24, 0x78 ; 120
574: 90 e0 ldi r25, 0x00 ; 0
576: 0e 94 a5 07 call 0xf4a ; 0xf4a <GUI_sprintf_chartobit>
delay_us(0xffff);
57a: 8f ef ldi r24, 0xFF ; 255
57c: 9f ef ldi r25, 0xFF ; 255
57e: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <delay_us>
582: e1 cf rjmp .-62 ; 0x546 <main+0xd2>
}
}
}
SearchInit(); //搜索文件初始化
584: 0e 94 62 0e call 0x1cc4 ; 0x1cc4 <SearchInit>
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
588: 08 ec ldi r16, 0xC8 ; 200
58a: 10 e0 ldi r17, 0x00 ; 0
{
image_count ++ ;
}
else
{
image_count = 1 ;
58c: c1 e0 ldi r28, 0x01 ; 1
58e: d0 e0 ldi r29, 0x00 ; 0
}
SearchInit(); //搜索文件初始化
while(1)
{
disp_image() ;
590: 0e 94 c9 00 call 0x192 ; 0x192 <disp_image>
594: 80 e6 ldi r24, 0x60 ; 96
596: 9a ee ldi r25, 0xEA ; 234
598: f8 01 movw r30, r16
59a: 31 97 sbiw r30, 0x01 ; 1
59c: f1 f7 brne .-4 ; 0x59a <main+0x126>
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
{
// wait 1/10 ms
_delay_loop_2(((F_CPU) / 4e3) / 10);
__ticks --;
59e: 01 97 sbiw r24, 0x01 ; 1
__ticks = 1;
else if (__tmp > 65535)
{
// __ticks = requested delay in 1/10 ms
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
5a0: d9 f7 brne .-10 ; 0x598 <main+0x124>
_delay_ms(6000) ;
//Print_hz(72,30,16,"汉字显示测试",0xffff,0x0000) ;
if(image_count<image_all)
5a2: 20 91 7a 00 lds r18, 0x007A
5a6: 30 91 7b 00 lds r19, 0x007B
5aa: 80 91 7c 00 lds r24, 0x007C
5ae: 90 91 7d 00 lds r25, 0x007D
5b2: 28 17 cp r18, r24
5b4: 39 07 cpc r19, r25
5b6: 38 f4 brcc .+14 ; 0x5c6 <main+0x152>
{
image_count ++ ;
5b8: 2f 5f subi r18, 0xFF ; 255
5ba: 3f 4f sbci r19, 0xFF ; 255
5bc: 30 93 7b 00 sts 0x007B, r19
5c0: 20 93 7a 00 sts 0x007A, r18
5c4: e5 cf rjmp .-54 ; 0x590 <main+0x11c>
}
else
{
image_count = 1 ;
5c6: d0 93 7b 00 sts 0x007B, r29
5ca: c0 93 7a 00 sts 0x007A, r28
5ce: e0 cf rjmp .-64 ; 0x590 <main+0x11c>
000005d0 <delay_us>:
/***********************
1us延时函数
***********************/
void delay_us(uint16 t)
{
5d0: 08 95 ret
000005d2 <delay_ms>:
/**********************
1ms延时函数
***********************/
void delay_ms(uint16 t)
{
5d2: 08 95 ret
000005d4 <LCD_IO_Init>:
/*********************
I/O口初始化
**********************/
void LCD_IO_Init()
{
5d4: 8f ef ldi r24, 0xFF ; 255
5d6: 8a bb out 0x1a, r24 ; 26
DDRA = 0xFF;
DDRC = 0xFF;
5d8: 84 bb out 0x14, r24 ; 20
}
5da: 08 95 ret
000005dc <LCD_WriteRegister>:
/********************************
写寄存器函数
********************************/
void LCD_WriteRegister(uint8 index)
{
5dc: ab 98 cbi 0x15, 3 ; 21
LCD_RS_L ;
LCD_CS_H;
5de: ae 9a sbi 0x15, 6 ; 21
PORTA= index;
5e0: 8b bb out 0x1b, r24 ; 27
LCD_WR_L;
5e2: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H;
5e4: ac 9a sbi 0x15, 4 ; 21
}
5e6: 08 95 ret
000005e8 <LCD_WriteByte>:
/***************************
写8位数据函数
****************************/
void LCD_WriteByte(uint8 data)
{
5e8: ab 9a sbi 0x15, 3 ; 21
LCD_RS_H;
LCD_CS_H;
5ea: ae 9a sbi 0x15, 6 ; 21
DATA= data;
5ec: 8b bb out 0x1b, r24 ; 27
LCD_WR_L;
5ee: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H ;
5f0: ac 9a sbi 0x15, 4 ; 21
}
5f2: 08 95 ret
000005f4 <LCD_WriteCommand>:
/***************************************************
//写寄存器数据函数
//输入:type 数据位数: 1为16位,0为8位。
****************************************************/
void LCD_WriteCommand(uint8 type,uint8 index,uint16 val)
{
5f4: ab 98 cbi 0x15, 3 ; 21
LCD_RS_L ;
LCD_CS_H ;
5f6: ae 9a sbi 0x15, 6 ; 21
DATA= index;
5f8: 6b bb out 0x1b, r22 ; 27
LCD_WR_L;
5fa: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H ;
5fc: ac 9a sbi 0x15, 4 ; 21
delay_us(1);
LCD_RS_H;
5fe: ab 9a sbi 0x15, 3 ; 21
if(type)
600: 88 23 and r24, r24
602: 19 f0 breq .+6 ; 0x60a <LCD_WriteCommand+0x16>
{
DATA= (uint8)(val>>8);
604: 5b bb out 0x1b, r21 ; 27
LCD_WR_L;
606: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H ;
608: ac 9a sbi 0x15, 4 ; 21
}
delay_us(1);
DATA= (uint8)val;
60a: 4b bb out 0x1b, r20 ; 27
LCD_WR_L;
60c: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H ;
60e: ac 9a sbi 0x15, 4 ; 21
}
610: 08 95 ret
00000612 <LCD_WriteData>:
/***************************
//写16位数据函数
//输入: val数据
****************************/
void LCD_WriteData(uint16 val)
{
612: ab 9a sbi 0x15, 3 ; 21
LCD_RS_H;
LCD_CS_H;
614: ae 9a sbi 0x15, 6 ; 21
DATA= (uint8)(val>>8);
616: 9b bb out 0x1b, r25 ; 27
LCD_WR_L;
618: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H;
61a: ac 9a sbi 0x15, 4 ; 21
DATA= (uint8)val;
61c: 8b bb out 0x1b, r24 ; 27
LCD_WR_L;
61e: ac 98 cbi 0x15, 4 ; 21
LCD_WR_H ;
620: ac 9a sbi 0x15, 4 ; 21
}
622: 08 95 ret
00000624 <LCD_Init>:
/**********************
LCD初始化函数
***********************/
void LCD_Init()
{
624: 8f ef ldi r24, 0xFF ; 255
626: 8a bb out 0x1a, r24 ; 26
**********************/
void LCD_IO_Init()
{
DDRA = 0xFF;
DDRC = 0xFF;
628: 84 bb out 0x14, r24 ; 20
LCD初始化函数
***********************/
void LCD_Init()
{
LCD_IO_Init();
LCD_RST_L;
62a: af 98 cbi 0x15, 7 ; 21
delay_ms(10);
LCD_RST_H;
62c: af 9a sbi 0x15, 7 ; 21
写寄存器函数
********************************/
void LCD_WriteRegister(uint8 index)
{
LCD_RS_L ;
62e: ab 98 cbi 0x15, 3 ; 21
LCD_CS_H;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -