473,804 Members | 3,229 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Alterative to Basic for microcontroller


I'm an Electronics student in college and I'm currently working on a
project. I was given a circuit diagram for my project, from which I had to
design a printed circuit board to be sent off and manufactured. I got my
printed circuit board back and populated it with components.
On my circuit board, I have a chip holder for a Basic STAMP
microcontroller . To those unfamiliar with it, the Basic STAMP is a
microcontroller which has an onboard Basic interpretter. What you do is
hook the Basic STAMP up to a PC via a COM port and send programs to it to
be executed on the circuit board.
Anyway, when it came to programming the chip, I was frustrated with
using Basic; the reason I was frustrated is that I am already experienced
with C and C++, and so had no interest in learning another language from
scratch, and also because Basic is the cripple of programming languages.

I want to write a program in C to be executed on my circuit board. My
initial thoughts were that I had two choices:

1) Somehow overide the Basic interpreter on the chip and supply it with my
own machine code to be executed (for this I would need a C compiler that
will produce machine code to be run on the Basic stamp).

2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.

Choice 2 would be my preference but I haven't found any such chip so
far. Would anyone here know of any such chip? As for Choice 1, I haven't a
clue how I would go about doing that so could anyone please offer some
advice?

I enquired around my college as to how I should go about this, and one
lecturer told me that there's a Java STAMP chip which is pin-compatiable
with the Basic STAMP. I thought this was great as the common features of C
and Java are almost identical... until I realised that Java doesn't have
pointers, ugh!

So any ideas on how I can write a program in C to be executed on my
circuit board which is set up to handle a Basic STAMP chip?

And just as an aside, why would anyone stick an interpreter on a
microcontroller when they can just compile the program on a PC and send the
machine code to the microcontroller . . . ?

--

Simon Walsh
Apr 23 '07 #1
6 3148

"Simon Walsh" <p@q.rwrote in message
news:mp******** ***********@new s.indigo.ie...
>
I'm an Electronics student in college and I'm currently working on a
project. I was given a circuit diagram for my project, from which I had to
design a printed circuit board to be sent off and manufactured. I got my
printed circuit board back and populated it with components.
On my circuit board, I have a chip holder for a Basic STAMP
microcontroller . To those unfamiliar with it, the Basic STAMP is a
microcontroller which has an onboard Basic interpretter. What you do is
hook the Basic STAMP up to a PC via a COM port and send programs to it to
be executed on the circuit board.
Anyway, when it came to programming the chip, I was frustrated with
using Basic; the reason I was frustrated is that I am already experienced
with C and C++, and so had no interest in learning another language from
scratch, and also because Basic is the cripple of programming languages.

I want to write a program in C to be executed on my circuit board. My
initial thoughts were that I had two choices:

1) Somehow overide the Basic interpreter on the chip and supply it with my
own machine code to be executed (for this I would need a C compiler that
will produce machine code to be run on the Basic stamp).

2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.

Choice 2 would be my preference but I haven't found any such chip so
far. Would anyone here know of any such chip? As for Choice 1, I haven't a
clue how I would go about doing that so could anyone please offer some
advice?

I enquired around my college as to how I should go about this, and one
lecturer told me that there's a Java STAMP chip which is pin-compatiable
with the Basic STAMP. I thought this was great as the common features of C
and Java are almost identical... until I realised that Java doesn't have
pointers, ugh!

So any ideas on how I can write a program in C to be executed on my
circuit board which is set up to handle a Basic STAMP chip?

And just as an aside, why would anyone stick an interpreter on a
microcontroller when they can just compile the program on a PC and send
the
machine code to the microcontroller . . . ?
Just write a C compiler / interpreter in BASIC, and Bob's your uncle.
--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

Apr 23 '07 #2
Simon Walsh wrote:
And just as an aside, why would anyone stick an interpreter on a
microcontroller when they can just compile the program on a PC and send the
machine code to the microcontroller . . . ?
STAMPs started life back when OTP (one time programmable) uC were the
norm, and so you could not actually do what you state.

STAMPs were a quite clever way to get 'soft' in to the software.

With todays Flash uC, with on-chip debug blocks, there is certainly
less need for a STAMP type approach.

-jg
Apr 23 '07 #3
Simon Walsh wrote:
2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.
Basic Stamp one was released in 1992.

I think it was 1995 when mEL released their first basic compiler that
was stamp compatible.

Today, you can use virtually any PIC chip with Basic, C, or many other
choices.

see:
http://www.dontronics-shop.com/home.php?cat=301
for a range of software that is available for PICs

Don...

--
Don McKenzie
E-Mail Contact Page: http://www.dontronics.com/e-mail.html

Crystal clear, super bright OLED LCD (128x128) for your microcontroller .
Simple serial RX/TX interface. Many memory sizes.
http://www.dontronics-shop.com/produ...roductid=16460

No More Damn Spam: http://www.wizard-of-oz.com
Apr 23 '07 #4
On Mon, 23 Apr 2007 19:02:42 GMT, Simon Walsh <p@q.rwrote:
>
I'm an Electronics student in college and I'm currently working on a
project. I was given a circuit diagram for my project, from which I had to
design a printed circuit board to be sent off and manufactured. I got my
printed circuit board back and populated it with components.
On my circuit board, I have a chip holder for a Basic STAMP
microcontrolle r. To those unfamiliar with it, the Basic STAMP is a
microcontrolle r which has an onboard Basic interpretter. What you do is
hook the Basic STAMP up to a PC via a COM port and send programs to it to
be executed on the circuit board.
Anyway, when it came to programming the chip, I was frustrated with
using Basic; the reason I was frustrated is that I am already experienced
with C and C++, and so had no interest in learning another language from
scratch, and also because Basic is the cripple of programming languages.

I want to write a program in C to be executed on my circuit board. My
initial thoughts were that I had two choices:

1) Somehow overide the Basic interpreter on the chip and supply it with my
own machine code to be executed (for this I would need a C compiler that
will produce machine code to be run on the Basic stamp).

2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.
I use a MicroChip pic and IDE. Put it on a dughter board with some
header pins that will plug intoo the Stamp socket. It woudl'nt be hard
to do.
Choice 2 would be my preference but I haven't found any such chip so
far. Would anyone here know of any such chip? As for Choice 1, I haven't a
clue how I would go about doing that so could anyone please offer some
advice?

I enquired around my college as to how I should go about this, and one
lecturer told me that there's a Java STAMP chip which is pin-compatiable
with the Basic STAMP. I thought this was great as the common features of C
and Java are almost identical... until I realised that Java doesn't have
pointers, ugh!

So any ideas on how I can write a program in C to be executed on my
circuit board which is set up to handle a Basic STAMP chip?

And just as an aside, why would anyone stick an interpreter on a
microcontrolle r when they can just compile the program on a PC and send the
machine code to the microcontroller . . . ?
Apr 23 '07 #5
Simon Walsh wrote:
I'm an Electronics student in college and I'm currently working on a
project. I was given a circuit diagram for my project, from which I had to
design a printed circuit board to be sent off and manufactured. I got my
printed circuit board back and populated it with components.
On my circuit board, I have a chip holder for a Basic STAMP
microcontroller . To those unfamiliar with it, the Basic STAMP is a
microcontroller which has an onboard Basic interpretter. What you do is
hook the Basic STAMP up to a PC via a COM port and send programs to it to
be executed on the circuit board.
Anyway, when it came to programming the chip, I was frustrated with
using Basic; the reason I was frustrated is that I am already experienced
with C and C++, and so had no interest in learning another language from
scratch, and also because Basic is the cripple of programming languages.

I want to write a program in C to be executed on my circuit board. My
initial thoughts were that I had two choices:

1) Somehow overide the Basic interpreter on the chip and supply it with my
own machine code to be executed (for this I would need a C compiler that
will produce machine code to be run on the Basic stamp).

2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.

Choice 2 would be my preference but I haven't found any such chip so
far. Would anyone here know of any such chip? As for Choice 1, I haven't a
clue how I would go about doing that so could anyone please offer some
advice?

I enquired around my college as to how I should go about this, and one
lecturer told me that there's a Java STAMP chip which is pin-compatiable
with the Basic STAMP. I thought this was great as the common features of C
and Java are almost identical... until I realised that Java doesn't have
pointers, ugh!

So any ideas on how I can write a program in C to be executed on my
circuit board which is set up to handle a Basic STAMP chip?

And just as an aside, why would anyone stick an interpreter on a
microcontroller when they can just compile the program on a PC and send the
machine code to the microcontroller . . . ?
I am fairly sure the CPU is a Microchip PIC16. You can get a limited
free compiler from Hi-tech. You will of course need to learn the
details of the Chip. Either way it is not a PC it will not Run C++.
The resources are very limited compared to a PC size CPU.
Apr 24 '07 #6

"Simon Walsh" <p@q.rwrote in message
news:mp******** ***********@new s.indigo.ie...
>
I'm an Electronics student in college and I'm currently working on a
project. I was given a circuit diagram for my project, from which I had to
design a printed circuit board to be sent off and manufactured. I got my
printed circuit board back and populated it with components.
On my circuit board, I have a chip holder for a Basic STAMP
microcontroller . To those unfamiliar with it, the Basic STAMP is a
microcontroller which has an onboard Basic interpretter. What you do is
hook the Basic STAMP up to a PC via a COM port and send programs to it to
be executed on the circuit board.
Anyway, when it came to programming the chip, I was frustrated with
using Basic; the reason I was frustrated is that I am already experienced
with C and C++, and so had no interest in learning another language from
scratch, and also because Basic is the cripple of programming languages.

I want to write a program in C to be executed on my circuit board. My
initial thoughts were that I had two choices:

1) Somehow overide the Basic interpreter on the chip and supply it with my
own machine code to be executed (for this I would need a C compiler that
will produce machine code to be run on the Basic stamp).

2) Find a chip which has the same pin layout as the Basic STAMP and use
that instead.

Choice 2 would be my preference but I haven't found any such chip so
far. Would anyone here know of any such chip? As for Choice 1, I haven't a
clue how I would go about doing that so could anyone please offer some
advice?

I enquired around my college as to how I should go about this, and one
lecturer told me that there's a Java STAMP chip which is pin-compatiable
with the Basic STAMP. I thought this was great as the common features of C
and Java are almost identical... until I realised that Java doesn't have
pointers, ugh!

So any ideas on how I can write a program in C to be executed on my
circuit board which is set up to handle a Basic STAMP chip?

And just as an aside, why would anyone stick an interpreter on a
microcontroller when they can just compile the program on a PC and send
the
machine code to the microcontroller . . . ?

--

Simon Walsh
Pick a micro with a free c compiler.

Pic from microchip.com pic18f,pic24f and pic30f

microchip provide free student versions of their compilers for 18f,24f and
30f.
The pic16f only has the free limited version c compiler from hitec.
Pics were used in the earlier basic stamp models - I think(may be wrong)
that the latest ones are using scenix pic compatable micros
(run a lot faster up to 75MHz but no hardware peripherals).
avr from atmel www.atmel.com/avr
winavr or avrgcc(linux or mac) are ports of gcc for avr
http://winavr.sourceforge.net/

digikey have a special on avr stk500 + jtage ice2 for US$150
or stk500 + avr dragon for US$49
http://www.digikey.com/scripts/dksea...KIT&dkcid=1971

There is a basic compiler for avr's from mcselec.com bascom avr
lite version is a free demo
http://www.mcselec.com/index.php?opt...d=208&Itemid=1

Smiley electronics make a good beginners book/kit on c for avr's using the
avr butterfly board
<http://www.smileymicro s.com/index.php?modul e=pagemaster&PA GE_user_op=view _page&PAGE_id=2 6&MMN_position= 2:2>

get the free starter pdf http://www.smileymicros.com/QuickStartGuide.pdf

Another good website for avrs is www.avrfreaks.net

Both pics and avr's are fairly simple to learn and use.
16f has 35 assembler instructions, 18f approx 115 ,
avr's approx 115

Olimex make cheap pic and avr boards, sparkfun.com sells them
pic boards
http://www.sparkfun.com/commerce/cat....php?cPath=2_9

avr boards
http://www.sparkfun.com/commerce/cat...php?cPath=2_10

Also futurlec.com have some cheap boards but can take a while to ship your
order
and their boards are not that well documented for beginners.
http://www.futurlec.com/Boards.shtml
There is also the msp430 chips from TI
<http://focus.ti.com/mcu/docs/mcuprodoverview .tsp?sectionId= 95&tabId=140&fa milyId=342&DCMP =MCU_other&HQS= Other+IL+msp430 >

They also have a gcc port available.
http://mspgcc.sourceforge.net/

sparkfun.com also sell some boards
http://www.sparkfun.com/commerce/cat...php?cPath=2_11

Alex
Apr 25 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
2484
by: Thomas Baier | last post by:
Hi there, I've got a little problem while working on a bootloader for a C164 microcontroller. The microcontroller gets the data over the serial port. I've already implemented some functions that transmit some vmc and hex files to the controller while there is a OS running on it. But now I'd like to transmit my one bootstrap loader and I've got some problems with the serial communication in C. Here's my code to configure the serial...
25
680
by: Jhon | last post by:
Hi every one, I got very basic question, here i go: Say i have 11001 11010 bits which are infact 10 bits. Now i want to address every bit so if it is zero i would add one and if it is one then i would be adding zero. Folks say it manchester coding. Please note that left hand side just accept a single bit for every operation.
1
2443
by: atefe | last post by:
hello i want to transmit data from microcontroller to pc via FT245BM (usb fifo i.c.). i need visual basic codes for receiving data . would you mind helping me? thanks alot.
2
1281
by: bobthejazzer | last post by:
To start this message off, I want to relay the fact that I am for no reason a proffesional programmer. In saying this, I am here to learn and I do not want any one to think strangly about any weird, dumb ex. questions that I may have. I resently perchased and flash based, microcontroller programmer system, software along with hardware, beter known as the PIC 1 programmer made by Microcontroller. I am open to any help and advice anyone might...
3
1809
by: Martin Wells | last post by:
I'm doing an embedded systems college project this year. I making a portable device that will take input in the form of simple switches, and give output in the form of LED's. I haven't yet decided whether I'll use C or C++, but could someone please suggest to me a microcontroller and compiler combination that might be useful? Martin
16
2089
by: Martin Wells | last post by:
I'm doing an embedded systems college project this year. I'm making a portable device that will take input in the form of simple switches, and give output in the form of LED's. Can you please suggest a decent microcontroller and C compiler combination? Martin
1
1627
by: Beginner KS | last post by:
Hi, I want to design a form in the VB2005(visual studio 2005) to receive data(temperature measurement result) from microcontroller(which is CPLD coolrunner II) after received the data then it will be display the temperature result on the computer screen. First, the data will transmit from CPLD, then it will send by MAX232 to RS232 and then display it on computer screen. I need help, how to make a form and code for the serial data-in from CPLD....
2
1240
by: confus3d | last post by:
I was wondering if there are alterative xml messaing instead of SOAP, if their are what are the advantages / disadvantages ?
33
1705
by: =?ISO-8859-1?Q?Tom=E1s_=D3_h=C9ilidhe?= | last post by:
I'll try to summarise this as best I can, as my last thread wasn't very to-the-point: The C Standard says the following two things: * int is the natural integer type for the system. * int must be at least 16-Bit. Now the problem here is that these two criteria conflict if the natural type for the system is in fact 8-Bit, which is the case with
0
9708
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10588
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10324
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9161
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7623
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6857
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5527
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3827
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2998
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.