Shift Register/Serial to Parallel dengan 74HC595

Tulisan ini dibuat dengan merujuk dari artikel, bagi yang ingin mengetahui secara utuh dari tulisan tersebut dianjurkan untuk merujuk langsung. Pada tulisan ini saya buat dengan menambahkan apa yang telah saya praktikkan mengenai Shift Register 74HC595.
Animasi
[youtube=http://youtu.be/Z5iFTBJWz68]
Skema Pin 74HC595
595
Diagram clock pada Chip 74HC595

Dari diagram di atas, dapat dibuat urutan logika sebagai berikut:

  1. Membuat clock

coding AVR dengan menggunakan CodeVision adalah sebagai berikut:
[sourcecode]</pre>
<blockquote>/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 11/29/2012
Author : Rohmadi
Company : Produk Inovatif
Comments:
Chip type : ATtiny2313
AVR Core Clock frequency: 20.000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <tiny2313.h>
#include <delay.h>
#define SHCP PORTD.0
#define DS PORTD.1
#define STCP PORTD.2
#define MR PORTD.3
#define OE PORTD.4
// Declare your global variables here
void tunda(void)
{
delay_ms(100);
}
void main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Port D initialization
// Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0x7F;
while (1)
{
// Place your code here
int i;
//–1
SHCP=0; DS=0; STCP=0; MR=1; OE=0; tunda();
//–2
SHCP=1; tunda();
//–3
SHCP=0; MR=0; tunda();
//–4
SHCP=1; tunda();
//—5
SHCP=0; DS=1; MR=1; tunda();
//—6
SHCP=1; tunda();
//—7
DS=0;
for(i=0;i<9;i++)
{
SHCP=0; STCP=1; tunda();
SHCP=1; STCP=0; tunda();
}
//–24
SHCP=1; OE=1; tunda();
//–25
SHCP=0; DS=1; tunda();
//–26
SHCP=1; tunda();
//–27
SHCP=0; DS=0; STCP=1; tunda();
//–28
SHCP=1; STCP=0; OE=0;
//–29
SHCP=0; tunda();
//–30
SHCP=1; tunda();
}
}
<pre>[/sourcecode]
Berikut adalah hasilnya:
[youtube=http://youtu.be/zBr-XbVFW40]
[youtube=http://youtu.be/D2Dotf6nlKg]
Demikian, semoga bermanfaat.
Rohmadi

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *