LED Matrix Display - Playing Nibbles

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
2,213
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Nov 9, 2008

Ofter getting my LED matrix working I decided to code up a rough version of the classic PC game Nibbles. The game has 5 levels that get increasingly faster. The game is coded so that there are no walls and it takes capturing 16 nibbles to make it to the next level. Given that the display has only 64 pixels I think that it turned out alright.

I started this project some years ago in order to learn about running matrix LED displays. The circuit uses10 io from a PIC16F628 to run 64 LEDs configured in an 8x8 LED matrix. The display is refreshed every 8ms or so giving a refresh rate of ~125Hz which is not to shabby considering the PIC is only running on the 4MHz internal oscillator. In order to prevent the PICs IO from having to drive the LEDs directly two 74HC574 latches were used to drive the rows and the columns. A 1ms interrupt is used to updated the displaygiving the main loop the responsibility of updating the game. The main loop edits a buffer of the displayed data and they the interrupt is disabled during the display RAM update process. This prevents the screen from displaying artifacts during the drawing process.

  • likes, 0 dislikes

Link to this comment:

Share to:
see all

All Comments (4)

Sign In or Sign Up now to post a comment!
  • then it will work like a TV ... I mean it scan from left to right or vice versa and after scanning one line it will jump to another line and so.....

    Thus every LED will glow with equal brightness .....

  • good attempt...

    (some tips to improve it)

    U r now displaying 8bit data all at an instant . This will make brightness difference since LEDs share current. So u just try to display 1 LED at an instant. mean just try to program it in such a way that each bit of 8bit data glows one after the other (TDM)...

    I mean,

    IF u use ""PORTD=data;""

    instead use

    ""PORTD=data&1;delay();PORTD=d­ata&2;delay();PORTD=data&4;del­ay(); PORTD=data&8;delay(); PORTD=data&16;delay();........­.PORTD=data&128;delay();""

  • hi. i am trying to learn more about this. could you help me by giving me the circuit?

    ty

  • 1st of all im frist and second  THATS BASASSSSSSSSSSSSSSS!!

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more