Professional Documents
Culture Documents
Experiment – 7
Aim of the Experiment:
Implementation of logical as well as circular bit shifter and binary bit flipper using Serial to
Parallel Shift Register (74HC595).
Objective:
Components/Equipment Required:
Code:
Objective 1
int latchpin=5;
int clockpin=6;
int datapin=4;
int dt=1000;
byte l1=0b10101010;
byte l2=0b01010101;
void setup() {
Serial.begin(9600);
pinMode(latchpin,OUTPUT);
pinMode(datapin,OUTPUT);
pinMode(clockpin,OUTPUT);
}
void loop() {
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,l1);
digitalWrite(latchpin,HIGH);
delay(dt);
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,l2);
digitalWrite(latchpin,HIGH);
delay(dt);
}
Objective 2
int latchpin=5;
int clockpin=6;
int datapin=4;
int dt=1000;
byte l1=0b10101010;
byte l2=0b01010101;
void setup() {
Serial.begin(9600);
pinMode(latchpin,OUTPUT);
pinMode(datapin,OUTPUT);
pinMode(clockpin,OUTPUT);
}
void loop() {
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,l1);
digitalWrite(latchpin,HIGH);
delay(dt);
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,l2);
digitalWrite(latchpin,HIGH);
delay(dt);
}
byte myByte=0b00000001;
void setup() {
Serial.begin(9600);
pinMode(latchpin,OUTPUT);
pinMode(datapin,OUTPUT);
pinMode(clockpin,OUTPUT);
}
void loop() {
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,myByte);
digitalWrite(latchpin,HIGH);
delay(dt);
myByte = myByte*2;
}
Objective 4
int latchpin=5;
int clockpin=6;
int datapin=4;
int dt=1000;
byte myByte=0b10000000;
void setup() {
Serial.begin(9600);
pinMode(latchpin,OUTPUT);
pinMode(datapin,OUTPUT);
pinMode(clockpin,OUTPUT);
}
void loop() {
digitalWrite(latchpin,LOW);
shiftOut(datapin,clockpin,LSBFIRST,myByte);
digitalWrite(latchpin,HIGH);
delay(dt);
myByte = myByte/2;
}
Objective 5
int tiltPin=2;
int tiltVal;
int redPin=7;
int greenPin=6;
void setup() {
// put your setup code here, to run once:
pinMode(tiltPin,INPUT);
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
digitalWrite(tiltPin,HIGH);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
tiltVal=digitalRead(tiltPin);
Objective 1
Objective 2
Objective 3
Objective 5
Objective 6