Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Hi, I'm new here and have a couple of questions :) [pic]

Status
Not open for further replies.

Ólafur

Newbie level 3
Joined
Jul 20, 2006
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,309
first of all; great forums you got here... I'll try to contribute at least as much as I'm getting here...

I'm 23yo e.engineering student from Reykjavík Univercity and I'm designing a small but usefull robot in my summer vacation..

I havnt finished my industrial computer class but I cant wait for it so I come here to seek help:D

So, what I'm trying to figure out is:
1) When I'm sending new assignments to a 16f877a, does it automaticly save the assignment in a memory (when it is allready busy) or do I have to program it into the pic so it saves incoming assignments in predetermined locations?? (like if its busy, give memory locations 000-???? for the first assignment in que... Or would I have to save it in the comuter untill the pic has finished?)

2) When sending those assignments to the robot, am I sending pure assembly code to it??

3) what are 'the best' pic programmers out there.... preferably something that could program most of the most popular pics out there...?


thanks in advance...
 

Re: Hi, I'm new here and have a couple of questions :) [pic

Hola,

What do you mean with "assignments".:?: Instructions:?:

If so, you have to distinguish between the instructions forming part of the program itself, already "burnt" in the program memory and the instructions that you could send to that micro via an exterior link like RS232 port, among many different possible.

Sorry if you know that already.:!:

What's your level of experience in all this?
 

Re: Hi, I'm new here and have a couple of questions :) [pic

A 16F877A PIC microcontroller can store a program in its program memory (Flash), this is done via a programmer circuit, but it has the capability of store a small program called bootloader that once started can receive more blocks of programs (routines) via serial port and add or change the original program in the flash memory in order to perform new tasks.

A PIC also has some RAM memory (volatile) and EEPROM memory (permanent and erasable) to help you in the programming. Another way is to use the eeprom memory to store some commands (tokens) to your robot like a interpreted programming language.
 

Re: Hi, I'm new here and have a couple of questions :) [pic

my level aint high on this subject exactly, but digital electronics are like my mother language...

ok, what I want to do is for example make the robot lift an arm on a commant from a pc that is transfered wirelessly to a reciever in the robot... It will be on a standby untill it recieves instructions from the pc and will stop when it has finished... preatty basic stuff.

I allready got a good idea on how everything will work, but routes to do it are a litle more blurry, ...

are there good example application database or something that is good to read and study for a deeper knowledge that someone could point me out?

thanks

:D
 

Re: Hi, I'm new here and have a couple of questions :) [pic

You never assembly code to the robot.

You will need to write a program for the 16F877A. You can do this in assembly,
C, or even Forth.

The 16F877A receives commands (UART via RX pin) from the radio receiver. By commands I mean high level things like turn left or stop. What these are and how to make them work are up to you. It is part of your program.

The part of the program that gets the command from the radio can be interrupt driven. It will get the command and store in in a command buffer for execution by another part of you program. That way the robot can get command even if the processor is busy.

I use an ICD2 for programing because it also allows for in circuit debugging of the program.

Start simple.
Program the 16F877A to blink an LED.
Get the radio link up.
Program the 16F877A to blink an LED when it gets a command from the radio.
Program the 16F877A operate a stepper motor.
etc.

In general a simple robot program has two parts.

The first is interupt driven. The only thing it does is watch for commands
and then put them in a command buffer.

The second part is a loop that checks the command buffer and executes the commands. It also checks sensors and acts based on their value.

You need to look at what others are doing. Search the web for robot projects using PIC processors.
 

Re: Hi, I'm new here and have a couple of questions :) [pic

In MC you can do what ever you want. I am sure of this
You should start with definign your system specification
then map it to hardware implemntation
then you will be able to define the tasks required from the MC
Then you will be in task to program it.

If you could tell us your system specs
We can go through this step by step :)
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top