| Home | Products | Prices | Site Map | Order | Contact | What's New | Books | Free Files | Links | FAQ |
| Bottom of Page |
Due to the outstanding success of MCS Electronics
Alternative products, Bascom-8051 and Bascom-Avr, this BascomLT product
has been discontinued. These products are:
| BASCOM-8051 |
| BASCOM-AVR |
The following information has been left intact as it may be of interest to some users.
There is now a BASCOM mail server active.
The following URL explains how to JOIN and LEAVE.
http://www.ip.co.za/people/kalle/lists/bascom.htm
There is a demo
version of BASCOM LT.
(The syntax has very close compatibility with Bascom-8051 and Bascom-AVR
basic commands, enough to give you the feel of the Compiler, however the
code output is very different for the AVR series.)
It is a full working version which can compile up to 1024 bytes of
code.
You can write reasonable programs with that space!
Everybody may use this demo version free, but there is no support
of course, however you can ask questions on the Mail List server when using
the demo package.
If you have a technical question about this
product prior to purchase, and direct it at Dontronics, we may have to
pass it on to the Author for comment, or you can simply join the Bascom
mail server, where the Author, or one of the group, will answer your question
for the benefit of all.
| Check out my big brother: BASCOM-8051 |
| Check out my cousin: BASCOM-AVR |
Structured programming with IF-THEN-ELSE-END IF, DO-LOOP, WHILE-WEND.
Fast machine code instead of interpreted code.
Variables and labels can be as long as 32 characters.
Bit, byte and integer variables.
Compiled programs work with AT89C1051, AT89C2051, 8031, 8032, 8051, 8052, 80552, 80535 and 80537 m Processors.
Statements are 99% compatible with Microsoft’s Qbasic.
Special commands for LCD-displays en I2C IC's.
Integrated terminal emulator.
Integrated simulator for testing.
Integrated flash programmer. (hardware can be purchased separately)
Editor with statement highlighting.
Context sensitive help.
The following statements are supported :
Decision and structures
IF, THEN, ELSE, ELSEIF, END IF, DO,
LOOP, WHILE, WEND, UNTIL, EXIT DO, EXIT WHILE, FOR, NEXT, TO, DOWNTO, EXIT
FOR, ON .. GOTO/GOSUB.
Input and output
PRINT, INPUT, INKEY, PRINTHEX, INPUTHEX,
LCD, UPPERLINE, LOWERLINE,DISPLAY ON/OFF, CURSOR ON/OFF/BLINK/NOBLINK,
HOME, LOCATE, SHIFTLCD LEFT/RIGHT, SHIFTCURSOR LEFT/RIGHT, CLS.
Numeric functions
AND, OR, XOR, INC, DEC, MOD, NOT,
BCD.
I2C
I2CSTART, I2CSTOP, I2CWBYTE, I2CRBYTE,
I2CSEND and I2CRECEIVE.
Interrupt programming
ON INT0/INT1/TIMER0/TIMER1/SERIAL,
RETURN, ENABLE, DISABLE, PRIORITY SET/RESET, COUNTER, INTERRUPTS.
Bit manipulation
SET, RESET, ROTATE, BITWAIT , P1,
P3.
Variables
DIM, BYTE ( 0 tot 255 ) , INTEGER
( -32767 to 32767) and BIT ( 0 or 1 ), DEFBIT, DEFBYTE, DEFINT.
Miscellaneous
REM, ' , SWAP, END, STOP, CONST, DELAY,
WAIT, WAITMS, GOTO, GOSUB, POWERDOWN, IDLE, GETDATA, SETDATA, DECLARE,
CALL, SUB, END SUB, MAKEDEC, MAKEBCD.
Compiler directives
$INCLUDE, $NOINIT, $BAUD and $CRYSTAL.
To make a program takes just a few steps :
Mark,
You are absolutely amazing. Never, and I mean Never, have
I had such service on any piece of software.
The new beta programmer software that I received from you yesterday
is fantastic. It has solved all my programming problems. My
AT89S8252s program first time, every time. And I was very pleasantly
surprised to find support for Peter Averill's programmer now included.
I wasn't disappointed either. It effortlessly programmed my AT89C2051s
(I don't have any of the larger or smaller devices).
Thank you again for your super prompt attention.
Regards
Barry Hay
Don't forget there is now a BASCOM LT mail server active.
The following URL explains how to JOIN and LEAVE.
http://www.ip.co.za/people/kalle/lists/bascom.htm
You may just be using the demo, you can still ask questions on the mail server.
The following messages resulted in the mail server being born for Bascomlt.
Date: Mon, 20 Oct 1997 12:32:52 -0400 From: "M.C.Alberts" mcs_electronics@compuserve.com Subject: Re: Question about Bascom LT Sender: "M.C.Alberts" mcs_electronics@compuserve.com To: Don McKenzie dontronics.com, Aydogan apolat@t-online.de Hi Aydogan, > I have a Question: > I couldn't found any Information about using the serial interface > of the 89C2051. > I want to receive 7 bit 1200 baud and 8 bit 1200 baud data via the > serial interface. Please send me Informations and samples about this > problem. You can take a look at my site at the application note's section. You can find a sample on how to interface the AT89C2051 to a RS-232 port. To use 1200 baud you must use the $CRYSTAL = xxxx and $BAUD = 1200 metastatements. This way you can specify your own crystal frequency and baudrate. The actual baudrate will be displayed in the report file. The At89C2051 (and other 8051 uP's) UART doesn't support 7-bit. So only 8 bit is possible. You can download the specs of the AT89C2051 at atmels site ; http://www.atmel.com The example below shows how to use 2400 baud with 12 MHz system frequency. $baud = 2400 $crystal = 12000000 The report shows : Report : BOOLEAN Date : 10-20-1997 Time : 19:27:21 Baudrate : 2403 Frequency : 12000000 etc. 1200 baud with a 12MHz crystal exactly gives 1200 baud. You should always use both $baud and $crystal. See the helpfile for more info. I hope this helps. Best regards, Mark Alberts MCS Electronics
Date: Sat, 6 Dec 1997 16:07:46 -0500 From: "M.C.Alberts" mcs_electronics@compuserve.com Subject: Re: BASCOM LT AT89x051 To: Don McKenzie dontronics.com, Eduardo Brito eduardo@ranet.com.br Hi Eduardo, Don, > " BASCOM LT AT89x051 BASIC Compiler " supports all the peripheral of > ATMEL AT89S8252? If not, which does support? The compiler knows about the default 8051 registers and is intended for the AT89C2051. It can however generate larger files and has support for external memory. Functions that are supported in the chip such as timer2 and SPI are not supported from the software because other chips don't know these futures. You can however change re register file and add the SFR addresses and use a little ASM to support this chip. It have planned full support for this chip because it is a great chip. So if this is what you need I suggest to wait a while. If you have additional questions please let me know. Best regards, Mark Alberts
From - Thu Jan 01 07:08:01 1998 From: "M.C.Alberts" mcs_electronics@compuserve.com Subject: Re: Your order Sender: "M.C.Alberts" mcs_electronics@compuserve.com To: Don McKenzie dontronics.com, Van der Eecken Stef StefVdEecken@compuserve.com Dear Steefan, > First of all thanks for your prompt reply on your order. This > compiler/simulator > is realy perfect. Never seen such a good one... Thanks for the complement. > But I've one question about the terminal emulation under BASCOMLT. > I wrote a small program with some print instructions, compiler and > communications are setup for the correct baudrate and xtal freq I like > to use, namely, 4800 baud and 12Mhz. After compiling the program, the > report ----snip---- > 1/ What do I wrong under the Bascomlt program ??? Nothing as far as I can see. > 2/ Is there any possibility to change the parity parameters under BASCOM ? With 12 MHz not exactly 4800 baud can be generated. It is 4807 or 4793 but this is in the 5% tolerance any PC must handle. So I don't think causing the problem. You can handle diffrent XTALS and baudrates with the $BAUD and $CRYSTAL statements. You can not change the parity/stop bit and databits from BASCOM because the 8051 UART doesn't permit this. I will look into this problem but it will help if you send me the .BAS source file. In the mean time I will try it with a simple loop that keeps printing 'hello word' Best regards, Mark Alberts (Don since you have so little hours left in this year I wish you and your family a very happy and healthy new year) ===================================================================== From - Thu Jan 01 07:08:10 1998 From: "M.C.Alberts" mcs_electronics@compuserve.com Subject: BASCOM terminal problem To: Van der Eecken Stef StefVdEecken@compuserve.com, Don McKenzie dontronics.com Dear Steefan, >Thanks for quick response on my questions. Some additional information >about the PC I'm using with the BASCOMLT software : >Pentium 66Mhz, 16MB Ram, COM2 is used as communication port for >the processor board. I use the BASCOM soft for Atmel 89C2051 processor >with the evaluation board you described. Thanks for the additional info. Also included in this message a copy of the TEST.BAS software I wrote to test the P1 and P3 port. Hope this will help. I have tested it and it seems to work ok for me. Since I have the same hardware but I am running Win95 as OS, I must conclude that it is: - a problem from Win 16 - the UART of the AT89C2051 is defect - ? It tried the terminal program from Win 3.11 and it to worked fine. when I used 7 databits it didn't work.(this is logical of course) but it is strange that 7-databits works ok for you! I suggest that you try to run it on a other PC and to try an other AT89C2051. Good luck! Best regards, Mark Alberts
=============================================================== From Wien Austria, Jan-98. Date: Sun, 18 Jan 1998 20:01:05 +0100 From: Peter Stiassny print@gps.at Organization: Print-Technik To: Don McKenzie dontronics.com Subject: Re: Order update Hi Don, Thanks for the fast response, I have downloaded and installed the files and BascomLt works. Very best regards Maximilian Spousta Print-Technik =============================================================== Date: Thu, 5 Feb 98 14:07:53 -0500 From: Christopher Burian cburian@ll.mit.edu Organization: MIT Lincoln Laboratory To: mcs_electronics@compuserve.com, dontronics.com Subject: My first impressions of BASCOM LT Greetings, I purchased and downloaded BASCOM LT from Dontronics yesterday, and I want to give you my first impressions, since you asked for feedback. The main positive is how nice the IDE is to use. The editor is excellent, what with the colored text and autocorrection and all. Compiling and simulating are also very straightforward. I don't think I've ever had an easier time getting started and actually writing programs. The environment is really, really nice. Language features I missed and would like to see: Variable type float or facilities for scaling when printing (fixed point math) Strings supported with no XRAM (no matter how little space avail) Dollar sign ($) for strings ARRAYS!!!! of byte, int, and so on SELECT - CASE expressions Make CALL optional for calling subroutines Functions (DEF FNx) PEEK, POKE, XPEEK, XPOKE, CPEEK, VARPTR() Conventional FOR-NEXT-STEP Allow CLR as alternate syntax for RESET Compiler features I would like to see: Warning when type conversion that could change a value takes place Parse complex algebraic expressions Optional runtime stack checking Listing file of the assy code produced Access to full-featured macro-assembler ??? is there an "Industry Standard" OBJ file format to allow linking with separately compiled|assembled code from some popular (and|or free) 8051 tools? Library features I would like to see: 'Transparent' support for I2C EEPROM as XRAM, support other I2C peripherals I wonder if there is any way users could build libraries and add their own statements and functions... One last thing: Documentation could be significantly better. There's a bunch of different and sometimes "non-compatible" sources of info, like user manual, language reference, application notes, sample programs, and so on. I endeavored to print everything and bind it into a book at a local photocopy shop. Also, some of the documentation is weak, for instance, better coverage of "mixed-language" programming (inclusion of .ASM files) would be nice. If I do include assy function calls, do I call them with CALL or !ACALL; are their labels modified; and so forth? And the examples in the language reference should show the expected results of executing the example code. You're not the only "offender" in this regard; I see it all too often. And, the indexes should be bigger (more comprehensive). Overall, documentation is well done because it is relevant and organized and easy to understand. All in all, I like the package from what I've seen so far. I think the quality, thoroughness and utility of the compiler don't match those of the IDE, sorry to say. I've used plenty of good free- and shareware 8051 tools, albeit command line tools. I'll say the package as a whole is excellent, the compiler specifically is only fair-to-good, and the documentation is good (despite my complaints). I'm going to try to do some experiments right away. If I run into any stumbling blocks I'll write you again with a new wish list. :-) If you are going to implement any of this stuff I suggest, I'd go with numeric arrays first, then SELECT-CASE. In regards to one of the (old) letters on the Dontronics site, an 8-bit UART can almost always be used with 7-bit data. It depends on the 7-bit remote transmitter being able to put out 10 bits total, by either sending 2 stop bits, or alternatively, Mark parity, so that a framing error doesn't occur on the 8051. (This is when doing continuous burst transmissions, of course. For byte-by-byte transmissions with sufficient pauses in-between, the idle state of the line is Mark, equivalent to 2 or more stop bits.) I'm a little unclear on the use of the SM2 bit in SCON. Intel literature suggests that setting SM2=0 will cause the stop bit to be ignored to alleviate framing error, and so continuous 7N1 data could be received, but I'm not sure about this. The 7-bit remote receiver can be used with no hassles, just set the MSB of the byte being transmitted from the 8051, so that it looks like a stop bit to the receiver equiv. to 7N2 data. Is there a mailing list for BASCOM LT users? Feel free to post my letter if it's worthy of being read by others... Regards, Chris>
Date: Thu, 5 Feb 1998 17:56:25 -0500 From: "M.C.Alberts" mcs_electronics@compuserve.com Subject: My first impressions of BASCOM LT To: Christopher Burian cburian@ll.mit.edu, Don McKenzie dontronics.com Hi Chris, Thanks for your feedback. >Language features I missed and would like to see: > Variable type float or facilities for scaling when printing (fixed point math) > Strings supported with no XRAM (no matter how little space avail) > Dollar sign ($) for strings > ARRAYS!!!! of byte, int, and so on > SELECT - CASE expressions > Make CALL optional for calling subroutines > Functions (DEF FNx) > PEEK, POKE, XPEEK, XPOKE, CPEEK, VARPTR() > Conventional FOR-NEXT-STEP > Allow CLR as alternate syntax for RESET These are good suggestion that are very welcome to me. I will sure implement(most of) them in the future. >Compiler features I would like to see: > Warning when type conversion that could change a value takes place > Parse complex algebraic expressions > Optional runtime stack checking > Listing file of the assy code produced > Access to full-featured macro-assembler I will place most of these features on the wishlist too. >??? is there an "Industry Standard" OBJ file format to allow linking >with separately compiled|assembled code from some popular (and|or free) >8051 tools? I don't know about other products Object files and haven't found a standard for the 8051. I have looked for this and came up with the simple $OBJ statement. But whenf you know a good standard please provide me with it so I can implement it. >Library features I would like to see: > 'Transparent' support for I2C EEPROM as XRAM This crossed my mind too and goes to the list too. > support other I2C peripherals I don't understand what you mean ? Please explain more detailed. > I wonder if there is any way users could build libraries and add their own statements and functions... At the moment you can use $INCLUDE to include (sub)-programs. I will look into this too.(for ASM subs/functions) >One last thing: Documentation could be significantly better. There's >a bunch of different and sometimes "non-compatible" sources of info, >like user manual, language reference, application notes, sample >programs, and so on. I endeavored to print everything and bind it into >a book at a local photocopy shop. Also, some of the documentation is >weak, for instance, better coverage of "mixed-language" programming >(inclusion of .ASM files) would be nice. If I do include assy function >calls, do I call them with CALL or !ACALL; are their labels modified; >and so forth? And the examples in the language reference should show >the expected results of executing the example code. You're not the only >"offender" in this regard; I see it all too often. And, the indexes >should be bigger (more comprehensive). Overall, documentation is well >done because it is relevant and organized and easy to understand. Thanks for the suggestions and yes it can be better. I tryd to keep it to a minimum because of distribution size.(I want it to fit on 1 disk). But it seems that I must 2 disks in the future :) >All in all, I like the package from what I've seen so far. I think the >quality, thoroughness and utility of the compiler don't match those of >the IDE, sorry to say. I've used plenty of good free- and shareware >8051 tools, albeit command line tools. I'll say the package as a whole >is excellent, the compiler specifically is only fair-to-good, and the >documentation is good (despite my complaints). >I'm going to try to do some experiments right away. If I run into any >stumbling blocks I'll write you again with a new wish list. :-) >If you are going to implement any of this stuff I suggest, I'd go with >numeric arrays first, then SELECT-CASE. >In regards to one of the (old) letters on the Dontronics site, an 8-bit >UART can almost always be used with 7-bit data. It depends on the 7-bit >remote transmitter being able to put out 10 bits total, by either >sending 2 stop bits, or alternatively, Mark parity, so that a framing >error doesn't occur on the 8051. (This is when doing continuous burst >transmissions, of course. For byte-by-byte transmissions with >sufficient pauses in-between, the idle state of the line is Mark, >equivalent to 2 or more stop bits.) I'm a little unclear on the use of >the SM2 bit in SCON. Intel literature suggests that setting SM2=0 will >cause the stop bit to be ignored to alleviate framing error, and so >continuous 7N1 data could be received, but I'm not sure about this. The >7-bit remote receiver can be used with no hassles, just set the MSB of >the byte being transmitted from the 8051, so that it looks like a stop >bit to the receiver equiv. to 7N2 data. Thanks for pointing this out to me. >Is there a mailing list for BASCOM LT users? Yes I will add you to it. Thank you for taking the time to supply me with your feedback. At the moment I am working on support for the At89S8252 and after this I have planned simple floating (single) point support. I will certain implement most of your wishes since I find these good suggestions. Of course it will take some time. I designed the compiler for the AT89C2051 with only 128 bytes of RAM. I want new features to work on this chip too. There are limits of course since some additions only can work on specific chips. This affects the order of the implementation. (SELECT CASE will be done with a high prio because it doesn't take so much time) Best regards, Mark Alberts MCS Electronics =============================================================== Subject: Re: 8032 Date: Tue, 24 Feb 1998 18:37:44 -0500 From: "M.C.Alberts" mcs_electronics@compuserve.com To: Don McKenzie dontronics.com CC: bernard bernard@xs4all.nl Hi Don, Bernard, > Does it work on win 3.11 and can i compile my program > for an 8032 and 80751. Yes it works on Windows 3.1 and W95. You can compile your program for a 8032 and the TIMER2 is supported. I don't have looked at the 80751 but as long as it is compatible to the 8051/8052 the code runs on it. When the chip has specific additonal hardware you must access it via the SFR from assembly. Specific chip support is add all the time. At the moment AT89S8252 support is provided and 80535 support is under construction. > does it support movx code ? Yes. > is i2c fully suported ? I just need to save some value on an > 25c02 and 24c16. I don't know what you think of fully but you have full control of sending and receiving bytes with ack and nack. It is implemented in software and doesn't use chip specific I2C hardware(yet). I used it to store/retrieve data from an I2C EEPROM. > do you have a demo or make one. I paye * 2 if this is what i > i looking for ( a long time ). At the moment there is no demo but you can look at the docs and helpfiles which can be downloaded. > I did try the 8052AH basic compiler and it was a pitty. I don't know this compiler. > I'm planing to use the AT89c2051 because of the AD converter. > does your compiler suport it ? Not yet but my Slovenian dealer needs it for a magazine so I am about to implement this. Best regards, Mark Alberts MCS Electronics =============================================================== Hi M.C.! I wanted you to know - of all the companies, programmers, services, retailers, etc., that I deal with daily, you have provided the BEST service - both in bug-fixing and new features. Thank you - and please don't stop. I hope that your BASCOM package continues to achieve popularity, and that you are making a few dollars (or your currency) at it as well. Regards, Ed Caceres. =============================================================== Subject: BASCOM, X-Programmer Date: Tue, 4 Aug 1998 15:38:07 -0400 From: Jim Cranston jimc@reliant-cdi.com To: "Don McKenzie (E-mail)" dontronics.com CC: "Mark Alberts (E-mail)" mcselec@xs4all.nl, "Jason Kyle (E-mail)" jpkyle@xtra.co.nz Dear Don (if I may), I wanted to give you some feedback on two development products I recently purchased, one from you (BASCOM (Mark Alberts, mcselec@xs4all.nl)) and one I would encourage you to carry (X-Programmer from JPK Systems (Jason Kyle (jpkyle@xtra.co.nz)). With these two products, my compile/download/run cycle is well under a minute! Many others have lauded BASCOM, and I enthusiastically agree! The product works well, and Mark Alberts has been incredibly responsive, to the point of adding support for the X-Programmer at my request! Good product; good support; good people: it gets no better than this (actually, it does, as Mark is continuing to improve the product). The second product is JPK Systems' X-Programmer. What a wonderful device, and again, Jason is excellent to work with. For the professional developer or serious hobbyist, this is a "must-have" item because it includes full optical isolation between the programming computer and the target system. As anyone who has done it can tell you, it's slightly-higher cost than the "hobby" programmers is insignificant compared to the damage which can be done when a slipped probe shorts the 5-Volt logic supply to the stepper-motor supply, or worse, the mains (line-voltage). Documentation is excellent, devices are being added, Jason is very responsive, the programmer can stay in-system during operation, and setup time was (quite literally) about 6-Seconds. Again, I recommend it highly. Finally, of course, is Dontronics! You have lot's of useful items, a great breadth of products (except for the X-Programmer :) ) and I was very pleased (amazed, actually) at the quickness of your responses to me. (All three of these sites/items were on my last mailing to some professional associates of devices I have used and >still< recommend.) Thanks for your assistance, Jim Cranston Principal Engineer, Reliant-CDI jimc@reliant-cdi.com
Demo version to real version problems??? 27-Dec-98 >Hi Joseph,
Subject:
Re: Bascom 8051
Date:
Sun, 16 May 1999 03:02:30 +0200
From:
"M.C.Alberts" <mcselec@xs4all.nl>
Organization: MCS Electronics
Customer question:
> > I soon plan to purchase Bascom-8051, after having been quite impressed
> > with some sample applications I wrote with the Bascom LT Demo.
Since
> > one of the things I need to do often is generate precise frequencies,
> > I'd like to ask if Bascom-8051's floating point extends to the
sound
> > command. Example, an 1800 hz tone is 55.555ms - I could not
do this
> > with Bascom LT. Can the full version support this sort of
thing, or
> > will I have to still insert assembler. By the way I have
been using
> > Bascom LT demo with an AT89C2051 with great results. I'd
apprieciate
> > your input.
> > Bascom will be a great alternative to C when I need a quick small
ap.
I am glad you liked the demo.
The SOUND statement doesn't support the SINGLE type.
The SOUND statement is only intended to make a bit of noise.
The AT89S8252 can generate accurate frequencys with it's timer2.
So for the 1800 Hz tone and At89C2051, you still need a bit of ASM.
Best regards,
Mark Alberts
MCS Electronics
| What's Really HOT at Dontronics?
|
| Home | Products | Prices | Site Map | Order | Contact | What's New | Books | Free Files | Links | FAQ |
_
Copyright © 1996-2005 Dontronics
| Top of Page |