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.

How to build master slave clocks with pic micro

Status
Not open for further replies.
Thanks for replying,

I was talking to 3V0 he suggested to use PIC with in build RTC and communicate with Rs 485 or other spends on it or may be Xee bee 2.2Ghz
 
Hello,
What is J Series??
and using external RTC is better. OK I WILL THROUGHT IT!

Most of the J series but not all!!
 
Yep!! That's what I said in post #6..

I'm using the pic32 now And that has an RTCC and no battery connection AND!!!! no EEPROM... Apparently there is Flash, but you have to page write!!! Got to get my head round that!!
 
I'm using the pic32 now And that has an RTCC and no battery connection AND!!!! no EEPROM...
Hello,
The PIC32 is very upper device than pic16f877a but does not have E2PROm why and other special features?
 
The pic32 is a power house... The reason I have moved to it is purely to drive graphical screens.... It has tons of special features.... The EEPROM has indeed been defunct but the flash can be used instead.. As I use an external DS1307 which has 56 bytes of non volatile sram, so I'm not bothered...
 
Hello,
I want to know the working of it!
the internal structure to understand the basic of ASCII code pointer !
display (" aaa" )
here a is the char so, the display will use ASCII codes, i want to edit the two digit variable to display on display!
i am suck at these codes to store it in buffer and display it again
display(char *str)
{

int addr;
int z;
while(*str!=0){
addr = ((int)*str++ - 0x20);
addr *= 5;
int y=0;
for(z=0;z<5;z++){
leds[z] = Font2[addr+y];
y++;
}
 
The way that this large lookup table works( because that's what it is really) is like this..

They are declared as such :-
unsigned char Font[] = {...... lots of bytes....};

Now lets assume each ASCII character is a small bitmap with 8 rows and 8 columns...

The font is like this
font.png

To calculate the offset we use ASCII table... The letter A is at position 65 in the table.. When making the bitmaps we are only concerned with the space character onwards.. The space character is in position 32 of the ASCII table..

There for that is where we start!! If Font[0] is the start of the space character, then we need to deduct 32 from the character (0x20 in hex)... Then as each character is 8 bytes we can find the start of character 'A' by using simple arithmetic.

65 (A) - 32 ( space ) * 8 = 264... Therefore bytes Font[264] to Font[272] contain the bitmap for A..
 
yes,
I understand this but how to build a up and down counter from switch input. i have done using 7 segment now i want to build matrix based led counter for that i was thinking.!
 
yes,
I understand this but how to build a up and down counter from switch input. i have done using 7 segment now i want to build matrix based led counter for that i was thinking.!
I don't get it... You say you understand the code I have just explained..

But here you say you don't????
I want to know the working of it!
the internal structure to understand the basic of ASCII code pointer !
display (" aaa" )
here a is the char so, the display will use ASCII codes, i want to edit the two digit variable to display on display!
i am suck at these codes to store it in buffer and display it again

Now you say that you have done a counter using a 7 segment LCD / LED.... Using a matrix is no different.. In fact it is easier.... The only thing is timing.... You need to update the LED's..

4 digit counter using 7 segment LED..... update = 4 bytes... 4 cycles.

4 digit counter using 8x8 LED's ... update = 32 bytes... 32 cycles.

So instantly we see the update speed has dropped considerably... You will find that polling is just not fast enough! Sure just while displaying simple characters and numbers, the display will look reasonable, but as you increase process time for other things, it will start to get choppy.... Re-visit the code I did for you before... Using the timer interrupt!!

You can have it, I wrote it for you.. You could physically use a matrix of 16x32 using that code..
 
Hello,
If we want to write something on display display(" ");
like serial rf 2.4Ghz typed in hexpad LCD
 
I mean to say how to interface it wireless i have 2.2Ghz module from any keypad to change text on it!
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top