Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

can be achieved.

*/

void

_delay_loop_1(uint8_t __count)

{

__asm__ volatile (

f4: 81 e2 ldi r24, 0x21 ; 33

f6: 8a 95 dec r24

f8: f1 f7 brne.-4 ; 0xf6 <__stack+0x17>

fa:ret

000000fc <display_init>:

return rtc_data; // выход из функции

}

// WH1602B

// display_init - функция инициализации дисплея

void display_init(void)

{

fc: 0f 93 push r16

fe: 1f 93 push r17

milliseconds can be achieved.

*/

void

_delay_loop_2(uint16_t __count)

{

__asm__ volatile (

100: 08 e8 ldi r16, 0x88 ; 136

102: 13 e1 ldi r17, 0x13 ; 19

104: c8 01 movw r24, r16

106:sbiw r24, 0x01 ; 1

108: f1 f7 brne.-4 ; 0x106 <display_init+0xa>

_delay_ms(20); // время установления питания

display_write_byte(0, 1, 0x3); // установка разрядности 8 бит

10a: 80 e0 ldi r24, 0x00 ; 0

10c: 61 e0 ldi r22, 0x01 ; 1

10e: 43 e0 ldi r20, 0x03 ; 3

110: d8 df rcall.-80 ; 0xc2 <display_write_byte>

display_write_byte(0, 1, 0x3); // установка разрядности 8 бит

112: 80 e0 ldi r24, 0x00 ; 0

114: 61 e0 ldi r22, 0x01 ; 1

116: 43 e0 ldi r20, 0x03 ; 3

118: d4 df rcall.-88 ; 0xc2 <display_write_byte>

display_write_byte(0, 1, 0x3); // установка разрядности 8 бит

11a: 80 e0 ldi r24, 0x00 ; 0

11c: 61 e0 ldi r22, 0x01 ; 1

11e: 43 e0 ldi r20, 0x03 ; 3

120: d0 df rcall.-96 ; 0xc2 <display_write_byte>

display_write_byte(0, 1, 0x2); // установка разрядности 4 бит

122: 80 e0 ldi r24, 0x00 ; 0

124: 61 e0 ldi r22, 0x01 ; 1

126: 42 e0 ldi r20, 0x02 ; 2

128: cc df rcall.-104 ; 0xc2 <display_write_byte>

display_write_byte(0, 0, 0x28); // установка параметров

12a: 80 e0 ldi r24, 0x00 ; 0

12c: 60 e0 ldi r22, 0x00 ; 0

12e: 48 e2 ldi r20, 0x28 ; 40

130: c8 df rcall.-112 ; 0xc2 <display_write_byte>

display_write_byte(0, 0, 0x8); // выключение дисплея

132: 80 e0 ldi r24, 0x00 ; 0

134: 60 e0 ldi r22, 0x00 ; 0

136: 48 e0 ldi r20, 0x08 ; 8

138: c4 df rcall.-120 ; 0xc2 <display_write_byte>

display_write_byte(0, 0, 0x1); // очистка дисплея

13a: 80 e0 ldi r24, 0x00 ; 0

13c: 60 e0 ldi r22, 0x00 ; 0

13e: 41 e0 ldi r20, 0x01 ; 1

140: c0 df rcall.-128 ; 0xc2 <display_write_byte>

142: c8 01 movw r24, r16

144:sbiw r24, 0x01 ; 1

146: f1 f7 brne.-4 ; 0x144 <display_init+0x48>

_delay_ms(20); // время выполнения операции

display_write_byte(0, 0, 0x6); // установка режима ввода данных

148: 80 e0 ldi r24, 0x00 ; 0

14a: 60 e0 ldi r22, 0x00 ; 0

14c: 46 e0 ldi r20, 0x06 ; 6

14e: b9 df rcall.-142 ; 0xc2 <display_write_byte>

display_write_byte(0, 0, 0xC); // включение дисплея

150: 80 e0 ldi r24, 0x00 ; 0

152: 60 e0 ldi r22, 0x00 ; 0

154: 4c e0 ldi r20, 0x0C ; 12

156: b5 df rcall.-150 ; 0xc2 <display_write_byte>

}

158: 1f 91 pop r17

15a: 0f 91 pop r16

15c:ret

0000015e <display_write_strong>:

}

// display_write_strong - функция записи строки в дисплей

// display_data[] = 0xXX -> строка данных

// size = x -> количество символов в строке

void display_write_strong(uint8_t display_data[], uint8_t size)

{

15e: 0f 93 push r16

160: 1f 93 push r17

162: cf 93 push r28

164: df 93 push r29

166: 06 2f mov r16, r22

168: ec 01 movw r28, r24

16a: 10 e0 ldi r17, 0x00 ; 0

16c: 05 c0 rjmp.+10 ; 0x178 <display_write_strong+0x1a>

uint8_t i; // промежуточный счетчик символов

for(i=0; i<size; ++i)

{

display_write_byte(1, 0, display_data[i]); // запись строки данных

16e: 81 e0 ldi r24, 0x01 ; 1

170: 60 e0 ldi r22, 0x00 ; 0

172:ld r20, Y+

174: a6 df rcall.-180 ; 0xc2 <display_write_byte>

// display_data[] = 0xXX -> строка данных

// size = x -> количество символов в строке

void display_write_strong(uint8_t display_data[], uint8_t size)

{

uint8_t i; // промежуточный счетчик символов

for(i=0; i<size; ++i)

176: 1f 5f subi r17, 0xFF ; 255

178:cp r17, r16

17a: c8 f3 brcs.-14 ; 0x16e <display_write_strong+0x10>

{

display_write_byte(1, 0, display_data[i]); // запись строки данных

}

}

17c: df 91 pop r29

17e: cf 91 pop r28

180: 1f 91 pop r17

182: 0f 91 pop r16

184:ret

<display_write_bcd>:

data=rtc_read_byte(SECONDS_READ); // чтение данных секунд

display_write_bcd(data); // запись данных

}

// display_write_bcd - функция разделения числа BCD

void display_write_bcd(uint8_t display_data)

{

186: 1f 93 push r17

188: 18 2f mov r17, r24

uint8_t buffer; // промежуточный буффер данных

buffer=display_data; // копирование данных

display_data=display_data>>4; // сдвиг вправо

display_data=display_data & 0xF; // выделение младшего полубайта

18a: 48 2f mov r20, r24

18c:swap r20

18e: 4f 70 andi r20, 0x0F ; 15

display_data=display_data | 0x30; // составление слова для записи в дисплей

display_write_byte(1, 0, display_data); // запись данных

190:ori r20, 0x30 ; 48

192: 81 e0 ldi r24, 0x01 ; 1

194: 60 e0 ldi r22, 0x00 ; 0

196: 95 df rcall.-214 ; 0xc2 <display_write_byte>

display_data=buffer; // копирование данных

display_data=display_data & 0xF; // выделение младшего полубайта

198: 1f 70 andi r17, 0x0F ; 15

display_data=display_data | 0x30; // составление слова для записи в дисплей

display_write_byte(1, 0, display_data); // запись данных

19a:ori r17, 0x30 ; 48

19c: 81 e0 ldi r24, 0x01 ; 1

19e: 60 e0 ldi r22, 0x00 ; 0

1a0: 41 2f mov r20, r17

1a2: 8f df rcall.-226 ; 0xc2 <display_write_byte>

1a4: 1f 91 pop r17

1a6:ret

000001a8 <display_write_time>:

display_write_byte(1, 0, display_data[i]); // запись строки данных

}

}

// display_write_time - функция записи времени и даты в дисплей

void display_write_time(void)

{

1a8: ef 92 push r14

1aa: ff 92 push r15

1ac: 0f 93 push r16

1ae: 1f 93 push r17

uint8_t data; // данные

display_write_byte(0, 0, 0x2); // курсор в левую позицию

1b0: 80 e0 ldi r24, 0x00 ; 0

1b2: 60 e0 ldi r22, 0x00 ; 0

1b4: 42 e0 ldi r20, 0x02 ; 2

1b6: 85 df rcall.-246 ; 0xc2 <display_write_byte>

display_write_strong(" ", 4); // запись 4 пробелов (выравнивание даты)

1b8: 00 e6 ldi r16, 0x60 ; 96

1ba: 10 e0 ldi r17, 0x00 ; 0

1bc: c8 01 movw r24, r16

1be: 64 e0 ldi r22, 0x04 ; 4

1c0: ce df rcall.-100 ; 0x15e <display_write_strong>

data=rtc_read_byte(DATE_READ); // чтение данных дня месяца

1c2: 84 e0 ldi r24, 0x04 ; 4

1c4: 77 df rcall.-274 ; 0xb4 <rtc_read_byte>

display_write_bcd(data); // запись данных

1c6: df df rcall.-66 ; 0x186 <display_write_bcd>

display_write_strong(".", 1); // запись разделителя

1c8: 85 e6 ldi r24, 0x65 ; 101

1ca: e8 2e mov r14, r24

1cc: 80 e0 ldi r24, 0x00 ; 0

1ce: f8 2e mov r15, r24

1d0: c7 01 movw r24, r14

1d2: 61 e0 ldi r22, 0x01 ; 1

1d4: c4 df rcall.-120 ; 0x15e <display_write_strong>

data=rtc_read_byte(MONTH_READ); // чтение данных месяца

1d6: 85 e0 ldi r24, 0x05 ; 5

1d8: 6d df rcall.-294 ; 0xb4 <rtc_read_byte>

display_write_bcd(data); // запись данных

1da: d5 df rcall.-86 ; 0x186 <display_write_bcd>

display_write_strong(".", 1); // запись разделителя

1dc: c7 01 movw r24, r14

1de: 61 e0 ldi r22, 0x01 ; 1

1e0: be df rcall.-132 ; 0x15e <display_write_strong>

data=rtc_read_byte(YEAR_READ); // чтение данных года

1e2: 86 e0 ldi r24, 0x06 ; 6

1e4: 67 df rcall.-306 ; 0xb4 <rtc_read_byte>

display_write_bcd(data); // запись данных

1e6: cf df rcall.-98 ; 0x186 <display_write_bcd>

display_write_byte(0, 0, 0xC0); // переход на другую строку

1e8: 80 e0 ldi r24, 0x00 ; 0

1ea: 60 e0 ldi r22, 0x00 ; 0

1ec: 40 ec ldi r20, 0xC0 ; 192

1ee: 69 df rcall.-302 ; 0xc2 <display_write_byte>

display_write_strong(" ", 4); // запись 4 пробелов (выравнивание времени)

1f0: c8 01 movw r24, r16

1f2: 64 e0 ldi r22, 0x04 ; 4

1f4: b4 df rcall.-152 ; 0x15e <display_write_strong>

data=rtc_read_byte(HOURS_READ); // чтение данных часов

1f6: 82 e0 ldi r24, 0x02 ; 2

1f8: 5d df rcall.-326 ; 0xb4 <rtc_read_byte>

display_write_bcd(data); // запись данных

1fa: c5 df rcall.-118 ; 0x186 <display_write_bcd>

display_write_strong(":", 1); // запись разделителя

1fc: 07 e6 ldi r16, 0x67 ; 103

1fe: 10 e0 ldi r17, 0x00 ; 0

200: c8 01 movw r24, r16

202: 61 e0 ldi r22, 0x01 ; 1

204: ac df rcall.-168 ; 0x15e <display_write_strong>

data=rtc_read_byte(MINUTES_READ); // чтение данных минут

206: 81 e0 ldi r24, 0x01 ; 1

208: 55 df rcall.-342 ; 0xb4 <rtc_read_byte>

display_write_bcd(data); // запись данных

20a: bd df rcall.-134 ; 0x186 <display_write_bcd>

display_write_strong(":", 1); // запись разделителя

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7