AVR to LCD


Posted on Feb 7, 2014

If you can`t see any characters displayed on the LCD (and you`ve checked that the hardware and software are working) turn the LCD Contrast pot until you can see the characters. To load an 8 bit character or LCD command into the 74HC164 shift register, the code shifts the byte out bit by bit through PORTB bit 6, (LCDDat) clocking the 74HC164 clockby toggling PORTB


AVR to LCD
Click here to download the full size of the above Circuit.

bit 7 (LCDClk) for each bit. The data is latched on the rising edge of the clock, so the data bit on the port should be set first. Once the byte has been loaded into the shift register (and is now appearing on the LCD Data bus pins) the code selects the LCD register (either data or command) by setting the LCDDat pin low or high. Since the LCDClk pin is not being toggled, the 74HC164 ignores this data. Once RS is set, the code toggles the LCD E clock (LCDE, PORTB pin 5) and the LCD reads the data on its data bus. The LCD will ignore all data on its data bus until its E clock is pulsed high, similar tothe Enable clock on many old 6800 and 6502 peripheral chips. The AT90S2313 doesn`t have a fully functional SPI bus, but some other AVR parts do. You can use the SPI port on these devices to communicate with this circuit - with the appropriate changes in code. The HD44780 is a particularly slow device, so even though command and character bytes have to go through a serialization routine first, it`s still a good thing to add a delay between bytes sent. The code assumes a 10MHZ AT90S2313 part; change the timing delays accordingly for different CPU clocks. I used Andyrate (which is no longer available) to calculate the timing values for the 8 bit timer used in the Delay routine. Kevin Rosenberg has AVRCalc, which can be used instead to generate the timer values.




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    Motorcycle Alarm II
    Electrostatic Loudspeakers project
    CRT and Power Supply for Oscilloscope
    Vocal Zapper
    Electronic lock using the 4022 octal counter
    Op Amp Regulator
    Differential Current Sensing Inside H Bridge
    Transmitter - Received AM radio
    modulation
    DESKTOP 386SX PC AS DAQ (Data AQuisitor)
    Single 10 Shunt Fed Hartley Oscillator for 80 meter CW
    Light Bus speed detecting circuit diagrams



    Top