{"id":132443,"date":"2024-08-15T23:07:23","date_gmt":"2024-08-15T17:07:23","guid":{"rendered":"http:\/\/rcl-radio.ru\/?p=132443"},"modified":"2025-05-08T18:18:07","modified_gmt":"2025-05-08T12:18:07","slug":"attiny13-4-%d1%85-%d1%80%d0%b0%d0%b7%d1%80%d1%8f%d0%b4%d0%bd%d1%8b%d0%b9-7-%d1%81%d0%b5%d0%b3%d0%bc%d0%b5%d0%bd%d1%82%d0%bd%d1%8b%d0%b9-%d0%b8%d0%bd%d0%b4%d0%b8%d0%ba%d0%b0%d1%82%d0%be%d1%80-%d0%bd","status":"publish","type":"post","link":"http:\/\/rcl-radio.ru\/?p=132443","title":{"rendered":"ATtiny13 + 4-\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0439 7-\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u0439 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 MAX7219 0,56&#8242;"},"content":{"rendered":"<p>\u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 ATtiny13 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0438 \u0434\u0435\u0448\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0440\u0435\u0434\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Arduino IDE \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c.<\/p>\n<p>\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ATtiny13 \u0432 \u0441\u0440\u0435\u0434\u0435 Arduino \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 <a href=\"http:\/\/rcl-radio.ru\/?p=98729\">http:\/\/rcl-radio.ru\/?p=98729<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2021\/04\/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-%D0%BE%D1%82-2021-04-06-221621.png\" \/><\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 ATtiny13 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 4-\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u043c 7-\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u043c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c (<b>BTE<\/b><b>21<\/b>&#8212;<b>30<\/b>) \u043d\u0430 MAX7219 0,56&#8242;.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-18-46.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132444\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-18-46.png\" alt=\"\" width=\"719\" height=\"262\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-18-46.png 719w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-18-46-500x182.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-18-46-200x73.png 200w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/a><\/p>\n<p>MAX7219 \u2013 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432\u043e\u0441\u044c\u043c\u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c. \u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u043e\u0441\u0435\u043c\u044c\u044e \u0441\u0435\u043c\u0438\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u043c\u0438 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0441 \u0442\u043e\u0447\u043a\u043e\u0439, \u043b\u0438\u0431\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e 64 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 \u0432 LED \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0441 \u043e\u0431\u0449\u0438\u043c \u043a\u0430\u0442\u043e\u0434\u043e\u043c.<\/p>\n<div id=\"marketWidget\"><\/div>\n<p>\u0414\u0440\u0430\u0439\u0432\u0435\u0440 MAX7219 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0442\u0440\u0435\u0445\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0448\u0438\u043d\u0435 Microwire (3-Wire). \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0443\u044e \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u0438 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u0441\u0435\u0433\u043e \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430.<\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0438\u0437 &#8212; <a href=\"http:\/\/rcl-radio.ru\/?p=98749\">http:\/\/rcl-radio.ru\/?p=98749<\/a>.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-29-05.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132445\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-29-05.png\" alt=\"\" width=\"710\" height=\"221\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-29-05.png 710w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-29-05-500x156.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-29-05-200x62.png 200w\" sizes=\"auto, (max-width: 710px) 100vw, 710px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-31-02.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132446\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-31-02.png\" alt=\"\" width=\"703\" height=\"250\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-31-02.png 703w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-31-02-500x178.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-31-02-200x71.png 200w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/a><\/p>\n<p><strong>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u043a\u0435\u0442\u0447<\/strong><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-42-19.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132448\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-42-19.png\" alt=\"\" width=\"661\" height=\"220\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-42-19.png 661w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-42-19-500x166.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-42-19-200x67.png 200w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/a><\/p>\n<p>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u043a\u0435\u0442\u0447 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 (\u043e\u0442\u0441\u0447\u0435\u0442 \u0441\u0435\u043a\u0443\u043d\u0434).<\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> <span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> <span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0<span style=\"color: #000000;\">PB2<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">0xF0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0437\u0430\u043f\u044f\u0442\u0430\u044f<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<\/pre>\n<div id=\"marketWidget\"><\/div>\n<p><strong>\u0422\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440 DS18B20<\/strong><\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0434\u0430\u0442\u0447\u0438\u043a DS18B20 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-49-17.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132450\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-49-17.png\" alt=\"\" width=\"679\" height=\"191\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-49-17.png 679w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-49-17-500x141.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-49-17-200x56.png 200w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-50-11.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132451\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-50-11.png\" alt=\"\" width=\"449\" height=\"178\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-50-11.png 449w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-50-11-200x79.png 200w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/a><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0<span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0<span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0<span style=\"color: #000000;\">PB2<\/span> \u00a0\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">TEMP<\/span> <span style=\"color: #000000;\">PB4<\/span> \u00a0\u00a0\u00a0\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">minus<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">temp<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">read_temp<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #434f54;\">-<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">0xf0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<span style=\"color: #434f54;\">\/\/\/\/ DS18B20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">480<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">60<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">420<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">therm_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">60<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">14<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">45<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">&gt;&gt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">n<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #00979c;\">byte<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">therm_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span><span style=\"color: #434f54;\">&amp;<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #434f54;\">&gt;&gt;=<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">read_temp<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">temper<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xCC<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x44<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #434f54;\">!<\/span><span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xCC<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xBE<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">temper<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">]<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">8<\/span> <span style=\"color: #434f54;\">|<\/span> <span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">16<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span> \u00a0\r\n<\/pre>\n<p><strong>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u0447\u0430\u0441\u044b \u043d\u0430 DS3231<\/strong><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132452\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png\" alt=\"\" width=\"686\" height=\"207\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png 686w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47-500x151.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47-200x60.png 200w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-53-07.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132453\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-53-07.png\" alt=\"\" width=\"488\" height=\"179\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-53-07.png 488w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-53-07-200x73.png 200w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><\/p>\n<p>\u0412\u0440\u0435\u043c\u044f \u0432 \u0447\u0430\u0441\u0430\u0445 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code>\/\/ set_time(24,3,8,15,9,55,0);\/\/ \u0433\u043e\u0434 00-99, \u0414\u041d 1-7 (1=\u0412\u0421), \u043c\u0435\u0441\u044f\u0446 1-12, \u0434\u0430\u0442\u0430 1-31, \u0447\u0430\u0441 0-23, \u043c\u0438\u043d\u0443\u0442\u044b 0-59, \u0441\u0435\u043a\u0443\u043d\u0434\u044b 0-59        <\/code><\/pre>\n<p>\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0441\u043a\u0435\u0442\u0447, \u0434\u0430\u043b\u0435\u0435 \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0441\u043a\u0435\u0442\u0447.<\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0<span style=\"color: #5e6d03;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0<span style=\"color: #5e6d03;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0<span style=\"color: #5e6d03;\">PB2<\/span> \u00a0\r\n\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #00979c;\">SDA<\/span> \u00a0<span style=\"color: #5e6d03;\">PB3<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #00979c;\">SCL<\/span> \u00a0<span style=\"color: #5e6d03;\">PB4<\/span>\r\n \u00a0\u00a0\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">dp<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #5e6d03;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 <\/span>\r\n \u00a0<span style=\"color: #434f54;\">\/\/ set_time(24,3,8,15,9,55,0);\/\/ \u0433\u043e\u0434 00-99, \u0414\u041d 1-7 (1=\u0412\u0421), \u043c\u0435\u0441\u044f\u0446 1-12, \u0434\u0430\u0442\u0430 1-31, \u0447\u0430\u0441 0-23, \u043c\u0438\u043d\u0443\u0442\u044b 0-59, \u0441\u0435\u043a\u0443\u043d\u0434\u044b 0-59 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #d35400;\">min<\/span> <span style=\"color: #434f54;\">=<\/span> \u00a0<span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x70<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">*<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">hour<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x70<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">*<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">hour<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n <span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">hour<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">0xf0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">hour<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #d35400;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">500<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">&gt;<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">i2c_bit<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">i2c_bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i2c_bit<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&amp;<\/span><span style=\"color: #000000;\">0x80<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&lt;&lt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i2c_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">a<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #5e6d03;\">if<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #434f54;\">!<\/span><span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">!=<\/span><span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&lt;&lt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">a<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">b<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">b<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0<span style=\"color: #00979c;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> \u00a0<span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #00979c;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010001<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">i2c_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">set_time<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">days<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">hours<\/span> <span style=\"color: #434f54;\">,<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">minute<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">second<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">second<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x00<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">second<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">second<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">minute<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x01<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">minute<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">minute<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">hours<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x02<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">hours<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">hours<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">days<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x03<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">days<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">datas<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x04<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">monts<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x05<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">years<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x06<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\r\n\r\n<\/pre>\n<div id=\"marketWidget\"><\/div>\n<p><strong>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u0447\u0430\u0441\u044b \u043d\u0430 DS3231 + \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440<\/strong><\/p>\n<p>\u0427\u0430\u0441\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0434\u0430\u0442\u0447\u0438\u043a \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0441\u043a\u0435\u0442\u0447 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f, \u043d\u043e \u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-132452 aligncenter\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png\" alt=\"\" width=\"686\" height=\"207\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47.png 686w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47-500x151.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-52-47-200x60.png 200w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132454\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png\" alt=\"\" width=\"488\" height=\"179\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png 488w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09-200x73.png 200w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0<span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0<span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0<span style=\"color: #000000;\">PB2<\/span> \u00a0\r\n\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">SDA<\/span> \u00a0<span style=\"color: #000000;\">PB3<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">SCL<\/span> \u00a0<span style=\"color: #000000;\">PB4<\/span>\r\n \u00a0\u00a0\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">dp<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 <\/span>\r\n \u00a0<span style=\"color: #434f54;\">\/\/ set_time(24,3,8,15,9,55,0);\/\/ \u0433\u043e\u0434 00-99, \u0414\u041d 1-7 (1=\u0412\u0421), \u043c\u0435\u0441\u044f\u0446 1-12, \u0434\u0430\u0442\u0430 1-31, \u0447\u0430\u0441 0-23, \u043c\u0438\u043d\u0443\u0442\u044b 0-59, \u0441\u0435\u043a\u0443\u043d\u0434\u044b 0-59 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">sec<\/span> <span style=\"color: #434f54;\">=<\/span> \u00a0<span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x70<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">*<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #d35400;\">min<\/span> <span style=\"color: #434f54;\">=<\/span> \u00a0<span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x70<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">*<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #d35400;\">hour<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0x70<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">*<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">temper<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x11<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">100<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x12<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">0b11000000<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">6<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">25<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span> <span style=\"color: #000000;\">;<\/span>\r\n\r\n <span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">sec<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">50<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">hour<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">hour<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">0xf0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">hour<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n <span style=\"color: #000000;\">}<\/span>\r\n <span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temper<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temper<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">0xf0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temper<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">500<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">&gt;<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">dp<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">i2c_bit<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">i2c_bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i2c_bit<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&amp;<\/span><span style=\"color: #000000;\">0x80<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&lt;&lt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i2c_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">a<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #5e6d03;\">if<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #434f54;\">!<\/span><span style=\"color: #000000;\">i2c_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">!=<\/span><span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #434f54;\">&lt;&lt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">a<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">b<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">b<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> \u00a0<span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SCL<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">SDA<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">ds_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010001<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">i2c_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_start<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0b11010000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">i2c_stop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">set_time<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">days<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">hours<\/span> <span style=\"color: #434f54;\">,<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #d35400;\">minute<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #d35400;\">second<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">second<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x00<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">second<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #d35400;\">second<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">minute<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x01<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">minute<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #d35400;\">minute<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">hours<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x02<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">hours<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">hours<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">days<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x03<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">days<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">datas<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x04<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">datas<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">monts<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x05<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">monts<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">years<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">255<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">ds_write<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x06<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">years<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\r\n\r\n<\/pre>\n<p><strong>ATtiny13+DHT11+DS18B20 &#8212; \u043c\u0438\u043d\u0438 \u043f\u043e\u0433\u043e\u0434\u043d\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f<\/strong><\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0430, \u044d\u0442\u043e \u0434\u0430\u0442\u0447\u0438\u043a \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b DS18B20, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043d\u0430 \u0443\u043b\u0438\u0446\u0435 \u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u00a0 DHT11 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0432 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438.<\/p>\n<p>\u0412\u044b\u0432\u043e\u0434 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u0436\u0434\u044b\u0435 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 33.3333%;\"><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132454\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png\" alt=\"\" width=\"488\" height=\"179\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09.png 488w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-22-58-09-200x73.png 200w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><\/td>\n<td style=\"width: 33.3333%;\"><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-02-57.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132455\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-02-57.png\" alt=\"\" width=\"488\" height=\"179\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-02-57.png 488w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-02-57-200x73.png 200w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><\/td>\n<td style=\"width: 33.3333%;\"><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-03-37.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132456\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-03-37.png\" alt=\"\" width=\"488\" height=\"179\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-03-37.png 488w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-03-37-200x73.png 200w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-05-53.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132457\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-05-53.png\" alt=\"\" width=\"681\" height=\"229\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-05-53.png 681w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-05-53-500x168.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-15-23-05-53-200x67.png 200w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0<span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0<span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0<span style=\"color: #000000;\">PB2<\/span> \u00a0\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">TEMP<\/span> <span style=\"color: #000000;\">PB4<\/span> \u00a0\u00a0\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DHT<\/span> \u00a0<span style=\"color: #000000;\">PB3<\/span> \r\n\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">minus<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">temp<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">read_temp<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #434f54;\">-<\/span><span style=\"color: #000000;\">temp<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">minus<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">+<\/span><span style=\"color: #000000;\">0xf0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">temp<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\r\n \u00a0\r\n \u00a0<span style=\"color: #000000;\">dht_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">12<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">15<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n\r\n \u00a0\u00a0\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<span style=\"color: #434f54;\">\/\/\/\/ DS18B20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">480<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">60<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">420<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">therm_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">60<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">14<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">TEMP<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">45<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #d35400;\">bit<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">&gt;&gt;=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">n<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #00979c;\">byte<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">therm_write_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span><span style=\"color: #434f54;\">&amp;<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #434f54;\">&gt;&gt;=<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">read_temp<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">uint8_t<\/span> <span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">temper<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xCC<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x44<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #434f54;\">!<\/span><span style=\"color: #000000;\">therm_read_bit<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xCC<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_write_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0xBE<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">therm_read_byte<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">therm_reset<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">temper<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">]<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">8<\/span> <span style=\"color: #434f54;\">|<\/span> <span style=\"color: #000000;\">temperature<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">16<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">dht_read<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">i1<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">]<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">18<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">40<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span> <span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">80<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&lt;<\/span> <span style=\"color: #000000;\">5<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">]<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">i1<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i1<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">8<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i1<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #434f54;\">!<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">_delay_us<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">30<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">data_dht<\/span><span style=\"color: #000000;\">[<\/span><span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">]<\/span> <span style=\"color: #434f54;\">|=<\/span> <span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">7<\/span><span style=\"color: #434f54;\">-<\/span><span style=\"color: #000000;\">i1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span> <span style=\"color: #434f54;\">&lt;&lt;<\/span> <span style=\"color: #000000;\">DHT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \u00a0\r\n<span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #5e6d03;\">return<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n\r\n<\/pre>\n<div id=\"marketWidget\"><\/div>\n<p><strong>\u0421\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440<\/strong><\/p>\n<p>\u0421\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0441\u0447\u0435\u0442\u0430 \u043e\u0442 0,0 \u0441\u0435\u043a \u0434\u043e 999,9 \u0441\u0435\u043a\u0443\u043d\u0434. \u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440\u0430, \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u043c \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0447\u0435\u0442\u0430, \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u0435\u0449\u0435 \u0440\u0430\u0437, \u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0441\u0431\u0440\u043e\u0441 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0441\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440\u0430.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132460\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12.png\" alt=\"\" width=\"797\" height=\"253\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12.png 797w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12-500x159.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12-200x63.png 200w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-09-12-768x244.png 768w\" sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-13-59.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132462\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-13-59.png\" alt=\"\" width=\"487\" height=\"206\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-13-59.png 487w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-13-59-200x85.png 200w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><\/a><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB2<\/span> \r\n\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">BUTTON<\/span> <span style=\"color: #000000;\">PB4<\/span> \r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">BUTTON<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #00979c;\">LOW<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">BUTTON<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #00979c;\">LOW<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">BUTTON<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #00979c;\">LOW<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">&gt;<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">0xF0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<\/pre>\n<p><strong><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-32-48.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-132463 alignright\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-32-48.png\" alt=\"\" width=\"147\" height=\"136\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-32-48.png 306w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-32-48-200x185.png 200w\" sizes=\"auto, (max-width: 147px) 100vw, 147px\" \/><\/a>\u0422\u0430\u0439\u043c\u0435\u0440 \u0441 \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u043c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043e\u0442\u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/strong><\/p>\n<p>\u0422\u0430\u0439\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043c\u0435\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1, 2, 5, 7, 10, 15 , 20, 30, 45, 60 \u0438 90 \u043c\u0438\u043d\u0443\u0442. \u041d\u043e \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0445 \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435. \u0422\u0430\u0439\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u0434\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0434\u0440\u0443\u0433\u0430\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430. \u0412 \u0442\u0430\u0439\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0437\u0443\u043c\u043c\u0435\u0440 (\u043f\u0440\u0438 \u043f\u043e\u0434\u0430\u0447\u0435 GND \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u0445\u043e\u0434 \u0437\u0432\u0443\u0447\u0438\u0442 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u0434\u0430\u0435\u0442 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043e\u0442\u0441\u0447\u0435\u0442\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-23.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132464\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-23.png\" alt=\"\" width=\"438\" height=\"196\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-23.png 438w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-23-200x89.png 200w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-41.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132465\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-41.png\" alt=\"\" width=\"438\" height=\"196\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-41.png 438w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-33-41-200x89.png 200w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132468\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21.png\" alt=\"\" width=\"904\" height=\"269\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21.png 904w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21-500x149.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21-200x60.png 200w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2024\/08\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2024-08-16-19-40-21-768x229.png 768w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/a><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ MAX7219<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">DIN<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB0<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CLK<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB1<\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">CS<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PB2<\/span> \r\n\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">BUTTON_1<\/span> <span style=\"color: #000000;\">PB4<\/span> \u00a0<span style=\"color: #434f54;\">\/\/ start\/stop <\/span>\r\n<span style=\"color: #5e6d03;\">#define<\/span> <span style=\"color: #000000;\">BUTTON_2<\/span> <span style=\"color: #000000;\">PB3<\/span> \u00a0<span style=\"color: #434f54;\">\/\/ set time<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">set<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">,<\/span><span style=\"color: #000000;\">sec<\/span><span style=\"color: #000000;\">;<\/span>\r\n<span style=\"color: #00979c;\">bool<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #000000;\">;<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">avr<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">io<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n<span style=\"color: #5e6d03;\">#include<\/span> <span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">util<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #d35400;\">delay<\/span><span style=\"color: #434f54;\">.<\/span><span style=\"color: #000000;\">h<\/span><span style=\"color: #434f54;\">&gt;<\/span>\r\n\r\n<span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">main<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">void<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n \u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">|<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0F<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0442\u0435\u0441\u0442 \u0432\u044b\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0C<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0432\u043a\u043b. \u0438\u043d\u0434\u0438\u043a.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0A<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u044f\u0440\u043a\u043e\u0441\u0442\u044c<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x09<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">0xFF<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043a\u043b.<\/span>\r\n \u00a0\u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">0x0B<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #434f54;\">\/\/ \u043a\u043e\u043b-\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span>\r\n \r\n<span style=\"color: #5e6d03;\">while<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">BUTTON_2<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #00979c;\">LOW<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">set<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">set<\/span><span style=\"color: #434f54;\">&gt;<\/span><span style=\"color: #000000;\">11<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">set<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">switch<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">set<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">300<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">900<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1500<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">2100<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">3000<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">5<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">3600<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">6<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">4500<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">6000<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">8<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">9000<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">9<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">13500<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">18000<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">case<\/span> <span style=\"color: #000000;\">11<\/span><span style=\"color: #434f54;\">:<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">27000<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">break<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">PINB<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #00979c;\">LOW<\/span> <span style=\"color: #434f54;\">&amp;&amp;<\/span> <span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">100<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">==<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">start<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">=<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">&lt;<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">n<\/span><span style=\"color: #434f54;\">++<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span><span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span><span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0<span style=\"color: #000000;\">DDRB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">BUTTON_1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span><span style=\"color: #000000;\">}<\/span>\r\n\r\n \u00a0<span style=\"color: #d35400;\">min<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">300<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">sec<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">ccc<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">-<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">*<\/span><span style=\"color: #000000;\">600<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">2<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #d35400;\">min<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span> <span style=\"color: #434f54;\">+<\/span> <span style=\"color: #000000;\">0xF0<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">3<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">sec<\/span><span style=\"color: #434f54;\">\/<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">4<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #000000;\">sec<\/span><span style=\"color: #434f54;\">%<\/span><span style=\"color: #000000;\">10<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">_delay_ms<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">200<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span>\r\n<span style=\"color: #000000;\">}<\/span>\r\n\r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #000000;\">WriteBit16<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">reg<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">byte<\/span> <span style=\"color: #000000;\">data<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span> \u00a0\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">reg<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">int<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">=<\/span> <span style=\"color: #000000;\">7<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span> <span style=\"color: #434f54;\">&gt;=<\/span> <span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #434f54;\">--<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">data<\/span> <span style=\"color: #434f54;\">&gt;&gt;<\/span> <span style=\"color: #000000;\">i<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">&amp;<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #434f54;\">==<\/span> <span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03;\">else<\/span><span style=\"color: #000000;\">{<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">}<\/span>\r\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">|=<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CS<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">CLK<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span><span style=\"color: #000000;\">PORTB<\/span> <span style=\"color: #434f54;\">&amp;=<\/span><span style=\"color: #434f54;\">~<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #434f54;\">&lt;&lt;<\/span><span style=\"color: #000000;\">DIN<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span>\r\n \u00a0<span style=\"color: #000000;\">}<\/span> \u00a0\r\n\r\n<\/pre>\n<p>\u0424\u043e\u0440\u0443\u043c &#8212; <a href=\"http:\/\/forum.rcl-radio.ru\/viewtopic.php?id=663\">http:\/\/forum.rcl-radio.ru\/viewtopic.php?id=663<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 ATtiny13 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0438 \u0434\u0435\u0448\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0440\u0435\u0434\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Arduino IDE \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ATtiny13 \u0432 \u0441\u0440\u0435\u0434\u0435 Arduino \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 http:\/\/rcl-radio.ru\/?p=98729. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 ATtiny13 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 4-\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u043c 7-\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u043c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c (BTE21&#8212;30) \u043d\u0430 MAX7219 0,56&#8242;. MAX7219 \u2013 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432\u043e\u0441\u044c\u043c\u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0433\u043e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":132446,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[239,24,21],"tags":[],"class_list":["post-132443","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-24","category-21"],"views":3605,"_links":{"self":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/132443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=132443"}],"version-history":[{"count":7,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/132443\/revisions"}],"predecessor-version":[{"id":133873,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/132443\/revisions\/133873"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/media\/132446"}],"wp:attachment":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=132443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=132443"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=132443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}