Are you planning to make a scrolling display? Or just change characters?I am actually a beginner in C. The next project I'd do is to make 8x8 matrix LED version of the same project for my wife whose birthday is 2 months away.
Are you planning to make a scrolling display? Or just change characters?I am actually a beginner in C. The next project I'd do is to make 8x8 matrix LED version of the same project for my wife whose birthday is 2 months away.
I hope he does.... Its the way I've written it!!Hello @absf ,
Nice little project you are doing! By the way, I'm pretty curious - why not use the timer and its interrupts to multiplex the digits? I did the multiplexing using the interrupt on a 2-digit display using the AVR earlier.
Yes, one column at a time. I'd try with one 8x8 matrice first. Once it is working I'd order some more from eBay.Are you planning to make a scrolling display? Or just change characters?
Everything started so fast with the glimpse of an idea one morning, to make something special for my daughter's and wife's birthdays.Hello @absf ,
Nice little project you are doing! By the way, I'm pretty curious - why not use the timer and its interrupts to multiplex the digits? I did the multiplexing using the interrupt on a 2-digit display using the AVR earlier.
No problem. If the program already have interrupt subroutines implemented, then I don't have to torture my poor brain so much to make it work.I hope he does.... Its the way I've written it!!
Hey there, so far, how does the first circuit goes now? Still showing a same number for both digits?Everything started so fast with the glimpse of an idea one morning, to make something special for my daughter's and wife's birthdays.
I doubt if I can finish the first one in time for my daughter's birthday which falls on 1st of July. I have to make the text "Happy Birthday Iris from Daddy" and now I am only displaying continuous counting hex numbers. I am not good in the indexing of a string in C. And I dont understand how to do string manipulations for PIC16Fxxx in assembly. That's why I turned to the "Evil Genius" book by Myke Preoko. So once the string displaying is working, then I could implement the interrupt mechanism. Shouldn't be too hard I guess. Just a interrupt routine for each display every 2 mS, right ?
The 8x8 matrice project still has a grace time of 2 months so I don't have to rush so badly.
Allen
Feel free to send me a message if you have any questions with the "straight C" stuff. Don't know much about programming microcontrollers, but I can write C code in my sleep.I have to make the text "Happy Birthday Iris from Daddy" and now I am only displaying continuous counting hex numbers. I am not good in the indexing of a string in C.
Yesterday morning, after finishing the hardware on strip-board. I used the UIC00B programmer from cytron to program the 16F88 by inserting F88 into the 16F628 development board SK18B.Hey there, so far, how does the first circuit goes now? Still showing a same number for both digits?

Thanks so much for help and kindness, I'll contact you when I really got stuck.Feel free to send me a message if you have any questions with the "straight C" stuff. Don't know much about programming microcontrollers, but I can write C code in my sleep.![]()
I think I have too much food at the moment and digestion is slow. I wish I have time to learn another uC C just for PIC. My concern now is how to slim down on all my uC and uP stock that I have accumulated throughout the years.Hi absf,
I have an extra licence for mikroC PRO PIC Compiler. If you are interested then email me at jayanthd2k12(at)gmail(dom(com)
I will be happy to provide you the licence. With mikroC Compiler you can quickly complete your project.
#include <pic.h>
/* c2x7seg.c
HI-TECH C compiler V9.80
roll through 16 digit on a dual 7 segment LED display
Display HEX 16 digits on 2x CA LED display.
RB6 - seg a
RB5 - seg b
RB4 - seg c
RB3 - seg d
RB2 - seg e
RB1 - seg f
RB0 - seg g
RA0 - Right 7 seg disp
RA1 - Left 7 seg disp
*/
__CONFIG (WDTDIS & PWRTEN & MCLREN & UNPROTECT & CCPRB3 & LVPDIS & XT);
//LVPDIS is needed so that RB3 will not be used by Low voltage programming to use it as I/O
//pin and also be used by CCP1 control.**
//see CONFIG word on datasheet.
// CONFIG1=2F61, CONFIG2=0003
#define _XTAL_FREQ 4000000
unsigned int i,j;
unsigned int disp_value, disp_LED;
const char LEDdigit []=
{
//abcdefg - LED segments
0b0000001, //0
0b1001111, //1
0b0010010, //2
0b0000110, //3
0b1001100, //4
0b0100100, //5
0b0100000, //6
0b0001111, //7
0b0000000, //8
0b0000100, //9
0b0001000, //"A"
0b1100000, //"b"
0b0110001, //"C"
0b1000010, //"d"
0b0110000, //"E"
0b0111000}; //"F"
void main()
{
static int bumptimer = 0; // 1-second interval timer
CMCON=7; //TURN OFF COMPARATOR
CCP1CON=0; //disable CCP1 functions ON RB0 & RB3
ANSEL=0; //TURN OFF ADC
PORTB=0b01111111; // LED segments 'off'
PORTA=0b00000001; // RA1 (tens) digit on (0)
TRISA=0b11111100; // RA1-RA0 outputs
TRISB=0b00000000; //
disp_value = 0x00; // start disp at 0x00
while (1)
{
PORTB |= 0b01111111; // blank the display (segments off)
PORTA ^= 0b00000011; // toggle digit select lines
if(PORTA & 1) // if 'tens' digit selected
PORTB = LEDdigit[disp_value/16];
else // if 'ones' digit selected
PORTB = LEDdigit[disp_value%16];
__delay_ms(2); // 2-ms on time (250-Hz refresh rate)
if(bumptimer++ == 499) // if ~1-second interval
{ bumptimer = 0; // reset interval timer and
disp_value++; // bump display value, 0x00..0xFF
} //
} //
} //
I have printed your software in hardcopy and will need a few to study it first. Tomorrow I'll go with my wife and son to another town where my daughter lives and stay there for a couple of days.@absf
Allen.... Here is the pic code! You need the font and both anim[] arrays, but I can only find one..
Its is commented so I hope you understand everything...I'm always about so any questions...
Thanks for the schematics and software in MikroC. I'd take some time to study it first. The schematic looks familiar and I think I've seen it in the EDA forum, right?See attached project which I did in mikroC PRO PIC. You can open the .c file in notepad to view the C code. Proteus 7.10 SP1 and 8.7 SP3 format simulation files are included. Also Proteus Simulation video is included.
![]()
No, it is not posted at EDABoard.com. Ofcourse I have edaboard.com account and my schematics look like them that is pin connections named like that.Thanks for the schematics and software in MikroC. I'd take some time to study it first. The schematic looks familiar and I think I've seen it in the EDA forum, right?
My friend Brian Griffin is very good in MikroC and I'd discuss with him about the learning of this language....
Thanks again for your kindness in help......
Allen
1. The final version is 8x16 and I'll try with 8x8 first.No, it is not posted at EDABoard.com. Ofcourse I have edaboard.com account and my schematics look like them that is pin connections named like that.
I just made that project today for you. I am now making 8x8 Matrix display project for you in mikroC with scrolling message. I want to know few things.
1.How many 8x8 matrix displays will you use ?
2. Do you want to use row scanning or column scanning ?
BitFont Creator GreyScale is a nice tool to create the matrix display array data.

| Thread starter | Similar threads | Forum | Replies | Date |
|---|---|---|---|---|
| D | PIC 16F88 ADC Inconcistency, Voltage Drops??? PLEASE HELP!!! | Microcontrollers | 13 | |
|
|
16F88 external Vref setup? | Microcontrollers | 5 | |
|
|
16F88 RA5, RA6, RA7 problems - PBP | Microcontrollers | 5 | |
| R | Keypad to PS2 16F88 | Microcontrollers | 15 | |
|
|
Need working asm file for 16f88 | Programming & Languages | 7 |