My microprocessor project is almost done!

PurdueRy

Lifer
Nov 12, 2004
13,837
4
0
I asked a while back if anyone knew how to interface a keyboard to an LCD. Unfortunately no one really did using just PS/2. Well, after many many hours of work its finally starting to come together. The video is dark to show the characters better but what is in this is a box that has a PS/2 port on it, an LCD, 2 knobs for controlling brightness/contrast, and two buttons. A speaker can be hooked into the box for sound.

The box is standalone so it just runs its program when plugged in. Anyway, here's the video if you want to check it out. I am pretty proud of it.

Yes I suck at typing
 

AgaBoogaBoo

Lifer
Feb 16, 2003
26,108
5
81
I like the sound effects, and yes, you suck at typing. (That doesn't mean I'm any better ;))
 

ProviaFan

Lifer
Mar 17, 2001
14,993
1
0
Neat project! I'm "enjoying" ECE201/207 right now; that certainly looks a lot more interesting and at least somewhat more useful. :cool:

Edit to make sarcasm more obvious
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
I've got ECE 380 next semester, I wonder if we'll do anything like that.
 

PurdueRy

Lifer
Nov 12, 2004
13,837
4
0
Originally posted by: nkgreen
I've got ECE 380 next semester, I wonder if we'll do anything like that.

I don't know what your class involves but this project was kinda cool because it was entirely up to us what we used and what we did with it. Picking out parts and getting them to work together on your own makes it more rewarding when its all over.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
Originally posted by: PurdueRy
Originally posted by: nkgreen
I've got ECE 380 next semester, I wonder if we'll do anything like that.

I don't know what your class involves but this project was kinda cool because it was entirely up to us what we used and what we did with it. Picking out parts and getting them to work together on your own makes it more rewarding when its all over.
That does sound fun. I think ours is digital logic, so I'm not quite sure what that is...

 

So

Lifer
Jul 2, 2001
25,923
17
81
Beautiful. PurdueRY, check out my blog, I'm using a micro controller to drive a nixie display. I feel your pain on the whole project.
 

So

Lifer
Jul 2, 2001
25,923
17
81
Also, what language did you write that in? C? And did you use some sort of driver for the sound or did you manually write a tone generator?
 

PurdueRy

Lifer
Nov 12, 2004
13,837
4
0
Originally posted by: So
Also, what language did you write that in? C? And did you use some sort of driver for the sound or did you manually write a tone generator?

I wrote it in pure assembly code and hand wrote the tone generator.

I will have to see what your project is like :thumbsup: :)
 

So

Lifer
Jul 2, 2001
25,923
17
81
Originally posted by: PurdueRy
Originally posted by: So
Also, what language did you write that in? C? And did you use some sort of driver for the sound or did you manually write a tone generator?

I wrote it in pure assembly code and hand wrote the tone generator.

I will have to see what your project is like :thumbsup: :)

Ouch. I wrote a lot of code in assembly this semester (including a stand alone tone generator ) and it was always a PITA. My hat is off to you.

I've been using at Atmel's 89C series CPUs mostly (instruction compatible with 8051).

Now, the character LCD... did you write your own driver for that or was there an assembly one on hand? Because the timing for that seems like it might be tricky (I've only used C for character LCDs before so I could be wrong).
 

Colt45

Lifer
Apr 18, 2001
19,720
1
0
I was working on a similar project but i kind of forgot about it :-/

PS/2 keyboard + 4x20 LCD as a crappy serial terminal, so i can control the linux box from the garage. haha :)
 

PurdueRy

Lifer
Nov 12, 2004
13,837
4
0
Originally posted by: So
Originally posted by: PurdueRy
Originally posted by: So
Also, what language did you write that in? C? And did you use some sort of driver for the sound or did you manually write a tone generator?

I wrote it in pure assembly code and hand wrote the tone generator.

I will have to see what your project is like :thumbsup: :)

Ouch. I wrote a lot of code in assembly this semester (including a stand alone tone generator ) and it was always a PITA. My hat is off to you.

I've been using at Atmel's 89C series CPUs mostly (instruction compatible with 8051).

Now, the character LCD... did you write your own driver for that or was there an assembly one on hand? Because the timing for that seems like it might be tricky (I've only used C for character LCDs before so I could be wrong).

The character LCD is serial. I used the Serial communications interface built in peripheral to send out hex codes to the LCD. Pretty simple to control once you get the hang of it. The only part that sucks it trying to deal with the fact that the "cursor" is constantly updating different parts of the screen. Getting it in the place you want it at all times is pretty tricky.
 

So

Lifer
Jul 2, 2001
25,923
17
81
Originally posted by: PurdueRy
Originally posted by: So
Originally posted by: PurdueRy
Originally posted by: So
Also, what language did you write that in? C? And did you use some sort of driver for the sound or did you manually write a tone generator?

I wrote it in pure assembly code and hand wrote the tone generator.

I will have to see what your project is like :thumbsup: :)

Ouch. I wrote a lot of code in assembly this semester (including a stand alone tone generator ) and it was always a PITA. My hat is off to you.

I've been using at Atmel's 89C series CPUs mostly (instruction compatible with 8051).

Now, the character LCD... did you write your own driver for that or was there an assembly one on hand? Because the timing for that seems like it might be tricky (I've only used C for character LCDs before so I could be wrong).

The character LCD is serial. I used the Serial communications interface built in peripheral to send out hex codes to the LCD. Pretty simple to control once you get the hang of it. The only part that sucks it trying to deal with the fact that the "cursor" is constantly updating different parts of the screen. Getting it in the place you want it at all times is pretty tricky.

Ah! Okay, I've used parallel LCDs in the past. Yeah, a serial LCD shouldn't be bad at all. Nevertheless, still damn impressive.