<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; Индикатор 7 сегментов 4 разряда на двух 74HC595]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=661</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=661&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Индикатор 7 сегментов 4 разряда на двух 74HC595».]]></description>
		<lastBuildDate>Mon, 05 Aug 2024 06:55:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Индикатор 7 сегментов 4 разряда на двух 74HC595]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10583#p10583</link>
			<description><![CDATA[<p>ds18b20</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/374c8b23b8feb1b70531a057bec9ed1d.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/374c8b23b8feb1b70531a057bec9ed1d.png" /></span> </p><br /><div class="codebox"><pre><code>#include &lt;OneWire.h&gt;            // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip

OneWire  ds(7); // Вход датчика 18b20

#define RCLK 3
#define SCLK 4
#define DIO1 2
#define DIO2 6
 
byte razr[4] = {0b1110,0b1101,0b1011,0b0111};// 0123         
byte digit[14] = {192,249,164,176,153,146,130,248,128,144,127,255,191,0b11000110}; // 0 1 2 3 4 5 6 7 8 9 dp пусто - C
int k;
byte a[4];
int i0,dp;
 
void setup(){
  Serial.begin(9600);
  noInterrupts();
  TCCR2B = 1 &lt;&lt; CS22 | 1 &lt;&lt; CS21;
  TIMSK2 = 1 &lt;&lt; OCIE2A;
  OCR2A = 150;
  interrupts();
  pinMode(RCLK, OUTPUT);  // RCLK
  pinMode(SCLK, OUTPUT);  // SCLK
  pinMode(DIO1, OUTPUT);  // DIO1
  pinMode(DIO2, OUTPUT);  // DIO2
}

 
void loop(){
  k=dsRead(0);
  delay(5000);
}

ISR(TIMER2_COMPA_vect) {
  a[0]=k/1000%10;
  a[1]=k/100%10;
  a[2]=k/10%10;
  a[3]=13;
 if(i0&gt;3){i0=0;}
 if(i0==1){dp=0x80;}else{dp=0;}// i0=1 - запятая в 1 индикаторе (0123 === 01.23)
  digitalWrite(RCLK, LOW);
    for(int i1 = 7; i1 &gt;=0; i1--){
     digitalWrite(SCLK,LOW);
     digitalWrite(DIO2, (razr[i0] &gt;&gt; i1) &amp; 1); 
     digitalWrite(DIO1, ((digit[a[i0]]-dp) &gt;&gt; i1) &amp; 1); 
     digitalWrite(SCLK,HIGH);
     } 
  digitalWrite(RCLK, HIGH);
  i0++;
} 

float dsRead(byte x) {
  byte data[2], addr[8][8], kol = 0;
  while (ds.search(addr[kol])) {  // поиск датчиков, определение адреса и кол-ва датчиков
    kol++;
  } 
  ds.reset_search();  // Сброс поиска датчика
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0x44, 0);  // Измерение температуры с переносом данных в память
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0xBE);     // Обращение памяти
  data[0] = ds.read();// Чтение памяти byte low
  data[1] = ds.read();// Чтение памяти byte high
  float value = ((data[1] &lt;&lt; 8) | data[0]) * 6.25; return (float)value; // Расчет температуры и вывод
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 05 Aug 2024 06:55:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10583#p10583</guid>
		</item>
		<item>
			<title><![CDATA[Индикатор 7 сегментов 4 разряда на двух 74HC595]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10582#p10582</link>
			<description><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=132380">http://rcl-radio.ru/?p=132380</a></p><p>Индикатор : DA56-11EWA - <span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/9d2185ea01fd3e2ce86a134bbc875151.pdf" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/9d2185ea01fd3e2ce86a134bbc875151.pdf" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/b815b49a149d7eaacb84f1e4132a338b.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/b815b49a149d7eaacb84f1e4132a338b.png" /></span> </p><br /><div class="codebox"><pre><code>/*              
                 Общий анод
--------------------------------------------------|                
Цифра|dp | G | F | E | D | C | B | A | Десятичный |
-----|---|---|---|---|---|---|---|---|------------|
  0  | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |    192     |
  1  | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |    249     |
  2  | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |    164     |
  3  | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |    176     |
  4  | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |    153     |
  5  | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |    146     |
  6  | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |    130     |
  7  | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |    248     |
  8  | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |    128     |
  9  | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |    144     |
 dp  | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |    127     |
-----*---*---*---*---*---*---*---*---*------------*
*/

#define RCLK 3
#define SCLK 4
#define DIO1 2
#define DIO2 6
 
byte razr[4] = {0b1110,0b1101,0b1011,0b0111};// 0123         
byte digit[13] = {192,249,164,176,153,146,130,248,128,144,127,255,191}; // 0 1 2 3 4 5 6 7 8 9 dp пусто -
int k;
byte a[4];
int i0,dp;
 
void setup(){
  Serial.begin(9600);
  noInterrupts();
  TCCR2B = 1 &lt;&lt; CS22 | 1 &lt;&lt; CS21;
  TIMSK2 = 1 &lt;&lt; OCIE2A;
  OCR2A = 150;
  interrupts();
  pinMode(RCLK, OUTPUT);  // RCLK
  pinMode(SCLK, OUTPUT);  // SCLK
  pinMode(DIO1, OUTPUT);  // DIO1
  pinMode(DIO2, OUTPUT);  // DIO2
}

 
void loop(){
  k++;
  delay(100);
}

ISR(TIMER2_COMPA_vect) {
  a[0]=k/1000%10;
  a[1]=k/100%10;
  a[2]=k/10%10;
  a[3]=k%10;
 if(i0&gt;3){i0=0;}
 if(i0==1){dp=0x80;}else{dp=0;}// i0=1 - запятая в 1 индикаторе (0123 === 01.23)
  digitalWrite(RCLK, LOW);
    for(int i1 = 7; i1 &gt;=0; i1--){
     digitalWrite(SCLK,LOW);
     digitalWrite(DIO2, (razr[i0] &gt;&gt; i1) &amp; 1); 
     digitalWrite(DIO1, ((digit[a[i0]]-dp) &gt;&gt; i1) &amp; 1); 
     digitalWrite(SCLK,HIGH);
     } 
  digitalWrite(RCLK, HIGH);
  i0++;
} </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 05 Aug 2024 06:09:14 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10582#p10582</guid>
		</item>
	</channel>
</rss>
