I purchased a book from sq-1 called "Easy Pic'n" and expected to learn how
to program .I have read this book from cover to cover and am about to start
the process over again,but still have no clue as to how to write a
program.Precisely I have a circuit in mind and know how to build it but have
no idea as to how to put it to code or even how to equate program language to
real world events.I have designed a circuit that will read temperature of a
well at several spots to tell me weather the thermisistors that are connected
to my LM339 comparator is in the water or the air.This will give me a level
providing I know which thermisitor is which as to the inputs of the
comparator.So see I do have and idea and I can build the circuit but would
like to learn how to do it with a chip.I have many applications fro home and
work but need to get the groung level training of how to do this.I work long
hours so going to a night class is not feasible .Am I going about this he
wrong way?Is there a better book suited for what I need to know?Keep in mind
I have no clue as to how or what to type to make things work in programming.I
never wrote a line of code in my life and don't know how to equate
programming language or assembly language to real world events.I know I keep
going over the same old thing but am frustrated.Can anyone help me or get me
started in the right direction?
Take a look at the web site below.
If you like, you can email me privately and I might be able to help get
PicNPoke - Multimedia 16F84 Beginners PIC Tools.
I'm sure you are in the same spot as many electronics hobbyists who want to
learn how to use microcontrollers. I haven't read Easy Pic'n or any of the
other PIC books,but I immagine that they assume some level of understanding
of programming in general, so don't feel bad that you have read it thru and
still don't know what to do.
I think you really are making two mistakes in your approach that are
holding you back: #1) You are trying a project which is too difficult for a
first design project #2) You are starting out in the wrong language.
I can say with almost certainty that #1 is correct. If you are having a
problem understanding PIC programs in general, then you should go back to
the trusty old "LED blinker" program,the simplest PIC program that does
anything visible at all. The LED blinker program just goes thru a loop of
turning on an LED,waiting for a delay period,turning the LED off,waiting
for a delay and then starting over again,producing a continuously pulsing
LED output. Take a look at someone's LED blinker code and see if it makes
sense. If you can't find LED blinker code, I can send you a copy for the
16F84. In addition to running this on an actual PIC,you may find it helpful
to use a simulator,such as the one in MPLAB (free from Mchip), which allows
your PC to "run" pic code step by step,allowing you to see what the
registers contain,etc,at any point in your program.
I also think that #2 is probably correct as well. I am not necessarily
saying that you should get a BASIC or other type of compiler for the
PIC,what I AM saying is that you should learn how to write simple programs
in BASIC on your PC first. If you just spend a few days learning to write
simple programs in BASIC,it will help you to organize your thoughts into
the logical progression which is a necessary precursor to writing a program.
After you have written a few programs which,for example, take in two
numbers and add them and print the result, print out a message a given
number of times,etc, you then need to take things one step further,that is
to understand binary arithmetic. This is NOT hard and I would guess that an
entry level PIC programming book probably covers it to some extent. You
should at least know how binary numbers are ADDED,SUBTRACTED, and
ANDed,ORed, XORed,and shifted (these are logical operations,analogous to
what digital gates produce). This is because the entire basis for much of
PIC programming is binary math. Binary math such as this can easily be done
in BASIC on a PC.
After you have done this, I'm sure that the ideas and concepts in "Easy
PIC'n" will jump right out of the page at you and you will be able to
design your project with a minimum of frustrarion (although,some
frustration is enevitable in any project which really TEACHES you something).
Good luck and let me know if I can be of any help,
At 06:33 PM 4/28/99 EDT, you wrote:
| Sean Breheny
| Amateur Radio Callsign: KA3YXM
| Electrical Engineering Student
Save lives, please look at http://www.all.org
Personal page: http://www.people.cornell.edu/pages/shb7
cornell.edu ICQ #: 3329174 shb7
I am sure that you are in a good position. When many of us started
programming (or wanted to) we only had the library. For myself, no internet,
no email, no nothing, only books, mostly in english or german, about "how
to", written by and for programmers. I started with 6510 assembler, and it
wasn't until 3 years later i found out the exact meaning of flags (I was
only 10) . So don't be frustrated, be glad that you found us, be happy that
you finally can get some help in realtime.
And, if you have any problems, ask, ask, ask... (remember to answer to other
peoples letters if you can, this is what makes this mail list running). Oh
yes, IMHO i think that if you make you question simple, you will get more
responces. Let me say that you have somthing we (surely I) want : analog
Thanks for the response and I really didn't know how to express the problem I
was haveing to get the proper help.I have tried to get answers befor and for
the most part it is assumed that a person has some knowlege to some sort of
programming language,i have none.the second problem was that I don't know how
to get my analog ideas written in code.Example: simple switch closure, how is
that and other anolog ideas expressed in the pic chip language.
Benjamin Petersen wrote:
> Oh yes, IMHO i think that if you make you question simple, you will
> get more responses.
One little point about making the question simple. Make sure you
describe what it is you are trying to do and why, what parts are used
and how you have connected them. Include the code if you are asking
anything about code.
Questions that are *too* general frequently get ignored.
Hopefully I can give you a few words of wisdom... I'm not sure how
much experience you've had with digital electronics, but when I first
started working with microcontrollers, I found a book called "Computer
Organization and Design" (By John L. Hennessy and David A. Patterson,
Morgan Kaufmann Publishers, Inc) to be an invaluable resource. This book
assumes that the reader knows nothing about the subject, and
gradually builds up from "Beyond Numbers" to "Programming
Multiprocessors." It introduces you to the building blocks of the
building blocks of the building blocks of microprocessors and eventually
puts it all together to
show you exactly how they work. All examples throughout the book are
accompanied with low-level programs, so this should get you comfortable
with programming the PIC.
This is a pretty popular book so it shouldn't be too difficult to get a
hold of (I think it's a common textbook for CS majors.)
If you do decide to get this book and you just want to know enough to
be able to understand "Easy PICn" you just need to read through Chapter 5
("The Processor: Datapath and Control")
(And you can skip Chapter 2, "The Role of Performance" regardless of how
much you want to get out of the book.)
Hope this helps,
> This is a pretty popular book so it shouldn't be too difficult to get a
> hold of (I think it's a common textbook for CS majors.)
I might note there are now two "versions" of the text. The basic version is
in the second edition with the sub-title "The Hardware/Software Interface."
I use this text and PIC chips in my Architecture/Assembly class with
success. Excellent clarity with solid illustrations and practical examples.
However it may be a bit of overkill if you just want to learn how to program
Computer Science Department
West Virginia Wesleyan College
Buckhannon, West Virginia 26201
I don't know about the others, but I used (and still using) to initiate
newbies in microprocessors and computers programming in few steps.
1) Teaching them about binary, decimal vs. hexadecimal, so they would at
least understand the concept. Sometimes using play cards
1,2,3,4,5,6,7,8,9,10,J,Q,K,A helps them to understand that there is
something else beyond 0-9.
2) Using a big table paper towel and drawing 64 squares, number it from
zero to 63, and also in hexadecimal, it would represent the internal RAM
memory, other squares in different colors to represent accumulator,
indexes, and so on, helps them a lot to start the puzzle.
3) Create exercises as, square 05h = 83h, 06h = 12h, using the color
squares (accumulator and other) produce addition, subtraction, the use
of carry and so on, and store the result in square 12h.
4) The students learn very fast the concept of what is memory
addressing, and what is the memory contents, and data movement. The
most complex and difficult situation is when they need to understand
that sometimes a memory addressed by another memory address contents,
holds address for another memory position (tables and indexes). Somehow
it works as an indication that when they learn about this, they are 95%
able to write their own programs.
5) The use of flowchart also helps a lot. Some people just lean
programming with never heard about a programming flowchart. The
visualization process is very important, our imagination can do a better
process organization when involving visual input. I use to force them
to create flowcharts based on their experiences and exercises. In a
group of 5 students doing the same codification exercise based in a
problem description, it is very common to see different ways of coding,
but the flowchart is always the same. Somehow a flowchart is a high
level programming, and probably this could be one of the reasons why
some people choose to program in high level like C and others.
The expectancy and happiness in the face of a newbie when his(her) first
Basic "math" program works ok is something that always gave me all the
necessary strength to keep helping and teaching people. I believe that
there is nothing more gratificant for a person when he(she) realize that
he(she) is capable to do that so difficult task.
Wagner Lipnharski - UST Research Inc. - Orlando, Florida
Forum and microcontroller web site: http://www.ustr.net
Microcontrollers Survey: http://www.ustr.net/tellme.htm
Thank you I will look into this book.As I stated befor I know absolutly
noyhing about programming, I can put together a circuit but to program ahh
yes to program.I know nothing.
Thank you I will look into finding this book.
More... (looser matching)
- Last day of these posts
- In 1999
, 2000 only
- New search...