Debugging Routine / Bitstream Visualization

shows 16 bit binary output on a dot matrix LCD

Table of Contents [Toc]

Project Resources
   Available Microchip PIC Assembler Source Code

Concept   [Toc] [Top]

This test application demonstrates the usage of the LCD assembler module file m_lcdb16.asm on a PIC 16F84. This module file is suitable for displaying binary information on a dot matrix LCD. Together with the module file m_lcd.asm, it works with LCD controllers such as Hitachi HD44780 (PDF data sheet, 389 kB), Samsung KS0073 (PDF data sheet, 673 kB), and compatibles.

The program initializes the LCD display to 4 bit transfer mode, clears two 8 bit registers (LO, HI) for the 16 bit counter, and displays every counter step as binary value on the LCD display.

Shows the implementation and functionality of the modules m_wait.asm, m_lcd.asm, and m_lcdb16.asm on the PIC16F84. For the Samsung KS0073 controller type, the constant 'LCDTYPE' must be set to 0x1 to include also the extended function set features for configuration. If this does not help, see also the FAQ section concerning LCD communication issues.

LCD display
shows the use of the bitstream visualization module m_lcdb16.asm


PCB test board for PIC16C84/PIC16F84
with attached dot matrix LCD display on PortB


Specifications   [Toc] [Top]

Processor: Microchip PIC 16F84
Clock Frequency: 4 MHz crystal (XT mode)
Throughput: 1 MIPS
Code Size of entire Program: approx. 146 instruction words
LCD Transmission Mode: 4 Bit on D4 - D7 (MSB), uses high nibble of the LCD port
LCD Connections: 7 wires (4 Data, 3 Command)
Total LCD Connections: 10 wires (4 Data, 3 Command, 1 Vdd, 1 GND, 1 Contrast)
Required Hardware: HD44780 compatible dot matrix LCD (2x16, 2x20 or 2x40 characters)


Project Resources   [Toc] [Top]

Available Microchip PIC Assembler Source Code   [Toc] [Top]

Main File HEX Files
Download assembler source code:

Download Hex File:

- used module m_lcd.asm for building HEX-file with portB as LCD port
LCD port connections:
 B0: not used, still available for INTB
 B1: D4
 B2: D5
 B3: D6
 B4: D7
 B5: E
 B6: R/W
 B7: RS

The above program needs additional include files (modules) to get successfully assembled: m_bank.asm, m_wait.asm, m_lcd.asm, m_lcdb16.asm


Last updated: 05.01.2005

[Toc] [Top]

If you see only this page in your browser window,
click here
to get the entire site.