Microprocessor Program: Shifting Two 1's on Ports C & B

  • Thread starter Thread starter phsyics_197
  • Start date Start date
AI Thread Summary
The program aims to create a shifting pattern of two 1's across Ports C and B, generating a visual LED animation. The specified sequence involves sending eight distinct patterns to the ports, followed by a reverse sequence, and repeating this cycle indefinitely. Each pattern corresponds to a specific arrangement of LED states, where "O" indicates an LED is on (1) and a blank indicates it is off (0). The user seeks assistance in understanding the program's logic and requests a flowchart to help visualize the steps needed to implement the program. The goal is to successfully drive the port pins to achieve the desired LED animation.
phsyics_197
Messages
11
Reaction score
0

Homework Statement



Write a program that shifts two 1's from left to right and back as output of Ports C & B
by sending the patterns shown below to PORTC & PORTB in the following order: Pattern 1,
2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, ... and repeat the cycle indefinitely.

Homework Equations





The Attempt at a Solution



When the program is run, the LED's should look like:

PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
Pattern 1: ( )( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( )
Pattern 2: ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) (O) (O) ( ) ( ) ( ) ( ) ( ) ( )
Pattern 3: ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( )
Pattern 4: ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( )
Pattern 5: ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( )
Pattern 6: ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( )
Pattern 7: ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( )
Pattern 8: (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O)

I am having trouble with creating this program because I do not fully understand how it works. I was wondering if someone could at least help me out with a "Flow chart" by explaining step-by-step instructions, and then from there, maybe, I could actually write the program.

Thanks.
 
Physics news on Phys.org
Your program will generate data that will drive the port pins of the two 8-bit data ports (B and C) as specified in your question, resulting in an "animation" of the LED array.

This assignment is mildly cool, so I hope you figure it out.

Maybe the alignment is confusing you so I straightened it out:

I take it "(O)" means the LED is on and that this happens when a "1" is written to the corresponding port pin.


Code:
           PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
Pattern 1: ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( )
Pattern 2: ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) (O) (O) ( ) ( ) ( ) ( ) ( ) ( )
Pattern 3: ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( )
Pattern 4: ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( )
Pattern 5: ( ) ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( ) ( )
Pattern 6: ( ) ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( ) ( )
Pattern 7: ( ) (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O) ( )
Pattern 8: (O) (O) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (O) (O)
 

Similar threads

Replies
7
Views
4K
Replies
169
Views
236K
Replies
1
Views
28K
Replies
2
Views
9K
Back
Top