Give Me Some Advice about PIC16F54
ling1995
Posts: 3
Good day~friends
Thanks for reading my post at first. Could I ask you some advice about my timer?
I am now using the chip--PIC16F54 and 74HC164 to drive nixie tube.The goal I would like to realize is making a timer with 9999 seconds. I think that it’s more accurate if using timer.But this timer doesnot produce interruption when overflowing. I have referred the datasheet of PIC16F54, however,I didn’t find anything related to the interruption. (Maybe it caused by my poor English ,and so forgive me if there are any wrongs in grammar)
Can anyone here give me some help?
Thanks a million!
Thanks for reading my post at first. Could I ask you some advice about my timer?
I am now using the chip--PIC16F54 and 74HC164 to drive nixie tube.The goal I would like to realize is making a timer with 9999 seconds. I think that it’s more accurate if using timer.But this timer doesnot produce interruption when overflowing. I have referred the datasheet of PIC16F54, however,I didn’t find anything related to the interruption. (Maybe it caused by my poor English ,and so forgive me if there are any wrongs in grammar)
Can anyone here give me some help?
Thanks a million!
Comments
This is probably better asked in a Microchip forum ?
If you search for Interrupt, and find zero hits in the PDF, that should tell you something.
Next search for Overflow and find also zero hits.
That means the PIC16F54 is close to brain-dead, with no interrupts, and no timer overflow flag - but you can set a prescaler and poll the timer value.
If you want accuracy, you will need a Crystal or TCXO clock source.
I notice the cheapest DIP MCU prize, goes to Zilog S3F8S28XZZ, less that PIC16F54-I/P, and much smarter.
Basic steps:
1) Wait for timer rollover (increment your own defined BYTE)
2) Use BYTE in #1 for a function index or state machine index
3) Jump to indexed code location from #2
4) Return back to #1 and wait for next rollover
Obviously there is more to it than this but the flow works if your indexed code can complete before the next rollover.... In special cases (for larger chunks of code) your indexed code can be a multiple of the rollover interval. In such a case the indexed code may or may not increment the index BYTE from step #1. It's also possible to increment multiple user BYTES in Step #1... i.e. one for a function index, and another for an extended counter that rolls over every 16,777,216 system clock counts.
Ling
Go to this forum.
http://www.microchip.com/forums/f516.aspx
That sub forum.
For 10F 12F 16f and 18f PIC's.
If you want to learn Parallax Basic Stamps and Propellor microcontrollers come back here.
https://en.wikipedia.org/wiki/Parallax,_Inc._(company)
You might have ended up here Googling 16F54.
That is what a Parallax Basic Stamp 1 starts out as.