Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

"Shift1 System" drives LCD from 1 PIC pin

Status
Not open for further replies.
Thanks mneary that's an interesting suggestion and one I hadn't thought about.

There are a couple of issues, a diode with no resistor is probably exceeding the PIC pin current spec so it should probably have a low resistor in series with the diode. Although with a 2.2nF cap it may not damage the PIC just using the diode alone. These high current spikes may cause capacitance issues too if there is a long cable connecting the LCD to the shift1 display.

Another issue is that a 0 bit relies on the / clock occuring at the shift register while the cap voltage still remains low, because it takes time for the cap to charge back up. Using the diode means the voltage on the data pin will rise very quickly, there is a possibility that this may cause corruption of the 0 bits. This might be unlikely as the shift register clocks very fast, 10's of nS, but it's possible.

The recovery times I chose have big safety margins built in, as do the bit 0 and latch low pulse times. I tested it with much shorter times and it still operates the LCD reliably, but this was never meant to be a high speed single wire transfer system!

Even with the very safe long pulse times shown in my diagrams it still sends a char to LCD in 3 mS to 3.5 mS, and will write 300+ chars to the LCD per second.

The tradeoff that was chosen was to have very high data reliability, very simple parts, and kindof decent speed. ;)
 
Not to be anal or anything but it would be a "peta" counter.
1 followed by 15 zeros :p

BTW both of you generate excellent drawings.

Well technically it'1 10 times that, as it is 16 nines, and an extra count of zero so it's 10 thousand trillion whatever that works out to. (Same way that 2 digits = 100).

Thanks for the compliment but I don't think my drawings will ever be as good as Mike's beautiful works of art. Interacting with him is making me lift my game though. :)
 
problem with Shift 1

Hello Roman,
I made your SH1_Temp. Unfortunately the LCD is not working stabile. After I switch on the unit, the display shows more or les the correct Data (Temp, HEAT, Set )
After 5 to 10 Sec. the Data on the LCD disappear and I have to switch of and on the unit. It seems a timing problem with the RS and RT. (DATA and Latsch: I checked the values 1,5k and 33k also the 2n2 C. all is ok. I changed also to a different LCD but always an unstable display. Could you help me??
Many thanks.

Dieter
 
There's tons of these been built with no problems.


Did you use a 74HC595 chip for the shift register? Or a different type? Also please note that if you built it on a plug-in breadboard the capacitance of the breadboard tracks/wiring may be causing a problem. On the proper PCB and using my code nobody has reported a problem. I have built a few pieces of test equipment and even used some very old LCDs, all without problem.

If the data on the LCD disappears you may have some power glitch that is resetting the PIC or the LCD, try putting a cap on the PIC power pins close to the PIC and at the LCD power pins close to the LCD.
 
problem with Shift 1 solved

Dear Roman,

many thanks for your quick replay . I put a lot of C's around the IC's and the LCD as well. Now it is working fine. Thanks :eek:)

best regards

Dieter
 
Good to hear it is fixed!

If you are using your own hardware (that might have longer wires etc) it can also be a good idea to use larger caps, ie replace the 2n2 caps with 3n9 or 6n8 caps, then slow down the timing of the pulses sent to suit. This takes a little longer to send chars (which does not usually matter), but it does allow use on hardware that has messy or really long wires, or if using a plug-in breadboard etc.

Generally it's not so critical for wire length, I've had test setups with wires a foot long and no problems. But wiring capacitance or noise coupling can be a problem (ie breadboards). If you do have long wires it's important to put the R and C parts close to the shift register pins, and ideally the shift register close to the LCD. The long wires can be from the micro to the shift register.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top