<?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; PT6523 — ЖКИ драйвер (Arduino)]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=634</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=634&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «PT6523 — ЖКИ драйвер (Arduino)».]]></description>
		<lastBuildDate>Fri, 26 Apr 2024 06:17:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[PT6523 — ЖКИ драйвер (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10195#p10195</link>
			<description><![CDATA[<p><a href="http://rcl-radio.ru/wp-content/uploads/2024/04/PT6523.pdf">http://rcl-radio.ru/wp-content/uploads/ … PT6523.pdf</a></p><br /><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/04/9d4b6e7cd43ed86832ff16e2441caefd.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/04/9d4b6e7cd43ed86832ff16e2441caefd.png" /></span> </p><div class="codebox"><pre><code>#define DELAY 200

#define CE  3
#define CL  4
#define DI  2

unsigned long t=0b10000000000000000000000000000000;// 32 bit
unsigned long t1=0b1000000000000000000000000000;   // 28 bit

void setup() {
  Serial.begin(9600);
  pinMode(CE, OUTPUT);
  pinMode(CL, OUTPUT);
  pinMode(DI, OUTPUT);
  digitalWrite(CE,LOW);
  digitalWrite(CL,LOW);
  delay(200);
      //  1                             32
//byte_1  00000000000000000000000000000000
      //  33                            64
//byte_2  00000000000000000000000000000000
      //  65                            96
//byte_3  00000000000000000000000000000000
      //  97                           128
//byte_4  00000000000000000000000000000000
      //  129                      156
//byte_5  0000000000000000000000000000

}

void loop() {
 write_byte(0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0B1111111111111111111111111111,0b0000);
  delay(5000);

  for(int j=0;j&lt;=31;j++){
    write_byte(t&gt;&gt;j,0,0,0,0,0b0000);
    Serial.print(t&gt;&gt;j,BIN); Serial.print(&quot;  bit &quot;); Serial.println(j+1);
    delay(DELAY);
    }
  for(int j=0;j&lt;=31;j++){  
    write_byte(0,t&gt;&gt;j,0,0,0,0b0000);
    Serial.print(t&gt;&gt;j,BIN); Serial.print(&quot;  bit &quot;); Serial.println(j+33);
    delay(DELAY);
    }
  for(int j=0;j&lt;=31;j++){  
    write_byte(0,0,t&gt;&gt;j,0,0,0b0000);
    Serial.print(t&gt;&gt;j,BIN); Serial.print(&quot;  bit &quot;); Serial.println(j+65);
    delay(DELAY);
    }  
  for(int j=0;j&lt;=31;j++){  
    write_byte(0,0,0,t&gt;&gt;j,0,0b0000);
    Serial.print(t&gt;&gt;j,BIN); Serial.print(&quot;  bit &quot;); Serial.println(j+97);
    delay(DELAY);
    }   
  for(int j=0;j&lt;=27;j++){  
    write_byte(0,0,0,0,t&gt;&gt;j,0b0000);
    Serial.print(t1&gt;&gt;j,BIN); Serial.print(&quot;  bit &quot;); Serial.println(j+129);
    delay(DELAY);
    }         
}

void write_byte( unsigned long b0, unsigned long b1, unsigned long b2, unsigned long b3, unsigned long b4, byte contr){
  /// addr 8 bit
     digitalWrite(CE,LOW);delayMicroseconds(10);
   for(int i = 0; i &lt;= 7; i++){
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (0x41 &gt;&gt; i) &amp; 1); 
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(CE,HIGH);delayMicroseconds(10);

// data 156 bit
  // 1-24 seg
     for(int i = 31;i &gt;= 0; i--){ 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (b0 &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 

     for(int i = 31;i &gt;= 0; i--){ 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (b1 &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 

     for(int i = 31;i &gt;= 0; i--){ 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (b2 &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 

     for(int i = 31;i &gt;= 0; i--){ 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (b3 &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 

     for(int i = 27;i &gt;= 0; i--){ 
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (b4 &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 
    
// control data 4 bit     
for(int i = 3; i &gt;= 0; i--){
     digitalWrite(CL,LOW);delayMicroseconds(10);
     digitalWrite(DI, (contr &gt;&gt; i) &amp; 1);
     digitalWrite(CL,HIGH);delayMicroseconds(10);
     } 
     digitalWrite(CE,LOW);
     digitalWrite(CL,LOW);
     delay(1);
  }  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 26 Apr 2024 06:17:42 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10195#p10195</guid>
		</item>
	</channel>
</rss>
