- Vote on answer
- posted
18 years ago
PICs
- posted
18 years ago
Could someone recommend to me a book, web site, or other information source (maybe an earlier s.e.b. thread?) on getting started with the basics of the PIC microcontrollers? I have a basic understanding of electronics, but my formal education in it was a E. Servicing (TV/radio) course back in 1980-81. That is an eternity ago, and I have not worked in the field in 20 years. I am a journeyman machinist now. My job now includes installing electronic die protection systems for progressive dies. We use various types of sensors to detect the status of the strip through the die, using the protection system to stop the press if something is not right.
I provide the above information just for background, so you will know where I'm coming from. Electronics is becoming more prevalent all the time in industry, and it's time to brush up. The PICs may or may not be applicable to this area of work, but either way I feel I need to get to know them. Where do I start?
Nels
- Vote on answer
- posted
18 years ago
Look at
Brian
- Vote on answer
- posted
18 years ago
In addition to the sites listed elsewhere, you can go directly to the source:
There is an area on the website devoted to documentation, generally called 'appnotes'. These describe one feature or another of the chips, or present completed designs that can be used or modified as desired.
There are other microcontrollers than PICs, with different architectures. The PIC architecture is a bit clumsy in comparison to most others, but PICs are also very cheap, support lots of features, and there are C compilers available for them, so architecture isn't as important.
Others manufacturers include
- Vote on answer
- posted
18 years ago
"Nelson Johnsrud" schreef in bericht news:dYzYe.2259$ snipped-for-privacy@newshog.newsread.com...
I use to point to
petrus bitbyter
- Vote on answer
- posted
18 years ago
Some excellent advice, as I expected from this astute group. The 16F84 seems to be a good starting point from what I have been reading so far. I have a breadboarding kit here for test circuit work. Now I just need to get a development board or programmer kit to get started.
Thanks for the help so far. I'm sure I will have more questions as I get into it.
Nels
- Vote on answer
- posted
18 years ago
Are 16F84 programs forward-compatible? ISTR hearing once that there were some changes made and some of the older chips have some kind of incompatibility. I guess the point is, If a beginner starts with a 16F84(A), if he then "graduates" to, say, the 16F689, are all of his skills still applicable?
And will a 16F84(A) programmer program the more recent chips? I've been looking at PICs for awhile now, and the 16F627 looks interesting - Mouser has them in a PDIP for $1.65. It's also 18 pins, so you can use the same socket. :-)
I do like that schematic that guy posted of an ATmega16:
Thanks, Rich
- Vote on answer
- posted
18 years ago
-- Don McKenzie E-Mail Contact Page: http://www.e-dotcom.com/ecp.php?un=Dontronics
- Vote on answer
- posted
18 years ago
"Nelson Johnsrud" schreef in bericht news:e4VYe.2282$ snipped-for-privacy@newshog.newsread.com...
The PIC16F84 has been *the* PIC for starters several years. You can find numerous designs with it on the net. However, it's obsolete now. FAIK the original PIC16F84 has been discontinued but the A-version is still available. Microchip advises to use successors like the PIC16F628. They're more powerfull and cheaper.
petrus bitbyter
- Vote on answer
- posted
18 years ago
Rich,
There are a lot of PIC types out there and they all have their own pros and cons. Nevertheless once you master one of them the others are no big problem.
Recently I got a program written for the PIC16C54. This one can be considered obsolete as Microchip advises to use a newer type. I could not get the chip (and if I had one, I had no programmer for it,) so I tried a PIC16F628. It proved to be pin-compatible, its architecture was downward compatible and the assembler codes were also the same. I had to change some things in the source. I had to change the object PIC, I had to change the user RAM addresses and I had to modify an I/O port specification. The first is obvious, the second has to do with the larger RAM space and the latter was a slip of the original programmer. He had programmed all pins of an I/O port as outputs, knowing that one pin was input-only and was not affected. Alas, the newer PIC had that pin also available for output and the pin was programmed accordingly. Once that "problems" were solved, the 16F628 could be programmed and it does its job now.
I know for sure that Microchip has at least six different programming algoritms. I build a simple programmer (and bought the firmware) that programs al the chips I want to use, except for the new PIC10F200. As the programming specifications are available from Microchip, I build a parallel port programmer for that. (Which is very simple, the programming software takes more time especially the user interface and the file handling.) Similar programmer can be found at
As for Atmel, I simply don't know. I have too little experience with it.
petrus bitbyter
- Vote on answer
- posted
18 years ago
I did see the 16F628 referenced on a couple of sites (including the one you recommended), along with the 16F877 and the 18F452. I guess I will steer in that direction then.
I saw this on eBay today:
Nels
- Vote on answer
- posted
18 years ago
Nels, I'm even older than you (degreed in 73!) and started work with PICs this year. All I did was persuade employer to buy a programmer for £100, although a homemade one would probably work as well. I chose the 16F877 to use, it seemed to have most stuff inside, and was 40 pin dip so my poor old eyes (all say aah) could see it and solder it. Pored over the many pages of datasheet downloaded from Microchip, downloaded the MPLAB IDE, and was pleasantly surprised by the ease and success of use. Only problems were things like A4 being open/low drive not hi/lo, but all that _was_ in the datasheet, I just had to read it properly. And not clocking faster than should (20MHz if RC,5MHz ext clk). We did get a couple of development boards, but I found that a plug-in/wire proto board was easier. hope you have as much success and fun as I did. cheers, Neil
- Vote on answer
- posted
18 years ago
AVRs require 6 wires 2 data 1 clock, 1 ground, plus a reset signal to put the chip into programming mode and one to sense the operating voltage
if you know the operating voltage of the chip only 5 wires are needed
(for this reason the Atmel specifieds a 6-pin programming port, one pin for sensing the Vcc, and another for asserting the reset signal) with that setup the device can operate with the programmer attached and programmin is entirely under computer control, which is handy.
with this hardware the flash ROM and EEPROM can be both read and writen.
the resistors shown in the schematic (on chip pins 6,7,8) are optional if those pins are used for no other purpose.
I guess it'd be possible to program an AVR blindly using a 3 wire interface, but then the programming software would be unable to probe the chip type, or verify the upload etc, and manual intervention would be needed to start and stop the programming process (by activating/deactivating reset).
Bye. Jasen
- Vote on answer
- posted
18 years ago
Thanks for the encouragement, Neil. May I ask which programmer you decided to use? I can build one as well, but the thought of a "starter kit" appeals to me, since I am starting from scratch.
Nels
- Vote on answer
- posted
17 years ago
I chose the one from Elnec called PicProg+ which seems to able to program most PICs and has an in-circuit-programming connector as well. Although I haven't tried in-circuit stuff. I think it was aroung £120 or so. One advantage was that they accepted my work credit card so thingse easier. The software can be downloaded as well as on the supplied mini-CD, and was so simple that even I could get it going. The 16F877 is flash based, so can be reprogrammed lots of times - useful if your code has mistakes (as if!). Let me know if you'd like a copy of the code I wrote - pretty noddy stuff which connected some monitor & relay cards to a switch & led panel. email is anything -at- chatfield dott me dott uk (hope that's intelligible). cheers Neil