Chapter 19 74HC595 & LED Matrix
e xcept KeyboardInterrupt:
destroy()
The first “for” cycle in the “while” cycle is used to display a static smile. Display column information from left
to right, one column by one column, totally 8 columns. Repeat 500 times to ensure display time enough.
for j in range(0,500):# Repeat enough times to display the smiling face a period
of time
x=0x80
for i in range(0,8):
GPIO. output(latchPin,GPIO.LOW)
shiftOut(dataPin,clockPin,MSBFIRST,pic[i])#first shift data of line
information to first stage 74HC959
shiftOut(dataPin,clockPin,MSBFIRST,~x)#then shift data of column
information to first stage 74HC959
GPIO. output(latchPin,GPIO.HIGH)# Output data of two stage 74HC595 at the
same time.
time. sleep(0.001)# display the next column
x>>=1
The second “for” cycle is used to display scrolling characters "0-F", totally 18*8=144 columns. Display the 0-
8 column, 1-9 column, 2-10 column...... 138-144 column in turn to achieve scrolling effect. The display of
each frame is repeated a certain number of times, and the more times the number of repetitions, the longer
the single frame display, the slower the rolling.
for k in range(0,len(data)-8):#len(data) total number of “O-F” columns.
for j in range(0,20):# times of repeated displaying LEDMatrix in every frame,
the bigger the “j”, the longer the display time
x= 0x80 # Set the column information to start from the first column
for i in range(k,k+8):
GPIO. output(latchPin,GPIO.LOW)
shiftOut(dataPin,clockPin,MSBFIRST,data[i])
shiftOut(dataPin,clockPin,MSBFIRST,~x)
GPIO. output(latchPin,GPIO.HIGH)
time. sleep(0.001)
x>>=1