MINI-MAX/51-C2 Support & Frequently Asked Questions


[1] Are all 8051 ports available for my application ?

[2] How can I use MINI-MAX/51 or PRO-MAX/51 with Hyperterminal or other terminal programs ?

[3] Which memory model should I select in Micro C for use with MINI-MAX/51 and PRO-MAX/51 boards ?

[4] Why does download to the board fail ?

[5] Is there an extended temperature version of your boards ?

[6] Do you have an example program that shows how to access analog inputs of MINI-MAX/51-C2 ?

[7] How about USB support for MINI-MAX/51-C2 ?

[8] How can I add more data RAM to MINI-MAX/51-C2 ?

[9] Is 3.3V operation possible ?

[10] Can I use Microsoft Visual BASIC, Microsoft Visual C++, Borland C++ and similar tools to develop MINI-MAX/51 (8051) programs ?

[11] I am used to programming in C or BASIC under Windows. Is it difficult to program the MINI-MAX/51 ? How about C++ ? Java ?

[12] Can I run an operating system such as Linux or Windows on MINI-MAX/51 ?

[13] Upon reset, what is the state of 8051 ports ?

[14] Why is the download slow ?

[15] I downloaded a program to 8051 and it was not running as expected and now when I try to download another program on the same kit, it won't download and an error message saying the microcontroller board is not detected. It looks like the microcontroller is blocked. How can I solve this ?


[1] Are all 8051 ports available for my application ?

P1.5 port pin of 8051 is used by secondary (PIC) processor to change its mode. Hence P1.5 should not be used by user applications except when communicating with the secondary processor to set LCD contrast or PWM output. If P1.5 is cleared  for more than 2 seconds it will restart the whole system.

P1.6 and P1.7 are reserved for I2C Bus Clock and Data (SCL and SDA).

P3.0 and P3.1 are used for hardware serial UART. So your application can use these as long as the use is for serial UART feature ( for example, RS232 receive and transmit ) . P3.0 is driven by the RS232 transceiver chip so you can not set or reset this line in your programs. Also, you can not connect external devices to P3.0. For example, do not connect a servo controller to P3.0; it simply will not work since the RS232 transceiver is holding this line in a low or high state. Connecting external devices that output to P3.0 may damage MINI-MAX/51 board or the external device.

All other port pins are available for generic use.

[2] How can I use MINI-MAX/51 or PRO-MAX/51 with Hyperterminal or other terminal programs ?

The null modem cross cable that comes with MINI-MAX/51 and PRO-MAX/51 boards crosses RTS and CTS lines from one end of the cable to the other end. Since Hyperterminal and many other programs control the RTS line, these programs keep the boards in Program Mode. Details

[3] Which memory model should I select in Micro C for use with MINI-MAX/51 and PRO-MAX/51 boards ?

We recommend MEDIUM model which is more suitable for AT89C51ED2 microcontroller. MEDIUM model allows using the Expanded RAM ( XRAM ) for additional variables, large arrays, etc. in user programs.


[4] Why does download to the board fail ?

The MINI-MAX/51-C Downloader has been available for several years now and is a highly reliable downloader. Some customers have even reported that it works better than ATMEL's downloader.

You should only pay attention to few details to make sure that the download works:

1) Make sure that the board is powered.

2) Make sure that you are using the NULL modem cable that came with the board. Other NULL modem cables may not work. Straight through cables will NOT work.

3) Make sure that you are using the correct serial (COM) port. Some PC's have more than one serial port. Check
Tools->Options->Loader in Micro-IDE for the correct COM port. Baud rate, parity, data bits, stop bits, etc. do not make a difference for MINI-MAX/51-C Loader. All these are automatically detected by the loader. Similarly, the microcontroller type on the board is detected automatically.



4) Make sure that you use the latest software from our website. Older versions of the software may not support newer processors such as the AT89C51ED2. Both the 8051 Development System and BASCOM51 contain the latest MINI-MAX/51-C Loader.


[5] Is there an extended temperature version of your boards ?

Here is a temperature range list of the various semiconductor components that make up the MINI-MAX/51-C2. As you can see from the list, all components except the RS232 transceiver is already extended or industrial temperature grade. Please contact us if your application requires an extended or industrial temperature range of our boards.

Component
Operating Temperature Range
Microcontroller AT89C51ED2
-40 to 85 C
Secondary Microcontroller
-55 to 125 C
Regulator
-40 to 125 C
Voltage Reference
-40 to 85 C
RS232 transceiver
0 to 70 C

[6] Do you have an example program that shows how to access analog inputs of MINI-MAX/51-C2 ?

For 8051 Development System ( Micro C ), there is an example project under

\bipom\devtools\microc\examples\8051\medium\mm51cTest\MM51C2\ADC ( Medium Memory Model )

\bipom\devtools\microc\examples\8051\tiny\mm51cTest\MM51C2\ADC (Tiny Memory Model )

For BASCOM51 BASIC Compiler, there is an example project under

\bipom\devtools\bascom51\Examples\mm51cTest\MM51C2\Adc


[7] How about USB support for MINI-MAX/51-C2 ?

MINI-MAX/51 boards do not have a USB host or USB device port. Implementing USB host on small microcontrollers is difficult due to the availability of USB drivers ( such as modem, hard disk, mouse, etc. ) only for higher level operating systems such as Linux or Windows.

You can still connect to MINI-MAX/51 through your computer's USB port using our CBL-USB-COM-1 that converts USB to COM. In this case, MINI-MAX/51 appears as a COM port to your computer. The MINI-MAX/51-C downloader has been optimized to work with variety of such USB-COM interface cables.

[8] How can I add more data RAM to MINI-MAX/51-C2 ?

The program RAM of MINI-MAX/51-C2 is limited to the RAM of the microcontroller ( AT89C51ED2 ). This RAM is typically used for variables, program stack, arrays, etc. However, it is possible to expand the data RAM in 2 ways:

1) Use RAM-1 peripheral board. This board has 512 Kbytes of volatile RAM. Data in this RAM is lost when power is turned off. This RAM may be useful for temporary storage of program data, such as large arrays.

2) Use a non-volatile RAM type called FRAM. FRAM has very high endurance rate ( typically billions of writes ) and it is non-volatile. In other words, it keeps its contents even when power is turned off. FRAM is installed on the 24C04 EEPROM socket on the MINI-MAX/51-C2. It is similar to EEPROM in that it is accessed serially via the I2C bus. Unlike EEPROM, it has very high endurance and almost instantaneous write time. Hence, it is suitable for fast data logging.



[9] Is 3.3V operation possible ?

Let's analyze critical components one by one on the MINI-MAX/51-C2 board:

AT89C51ED2 on the MINI-MAX/51-C2 can operate at 3.3V. The clock speed should not exceed 40MHz to achieve this. The board has 22MHz crystal so as long as you do not switch to 6 clock mode ( double speed mode ), it will work.

PIC16F819 also operates at 3.3V.

AT24C04-10PI operates only on 5V. AT24C04-10PI-2.7 can operate on 3.3V. I will check an actual board to see which one we use. In any case, this is on a socket and can easily be replaced.

DS14C232 (RS232 Transceiver) operates only on 5 Volts. This can be replaced by ADM3202 which is pin compatible.

The regulator can be changed to a 3.3V type.

LM4040 ( the voltage reference for analog inputs ) requires 5 Volts but this is only needed if you will use the on-board analog inputs. Also, the board has jumpers to select the VCC as the voltage reference.

Please contact us if you need a 3.3V version of our 8051 boards.

Our ARM and MSP430 boards have core voltages of 3.3V.

[10] Can I use Microsoft Visual BASIC, Microsoft Visual C++, Borland C++ and similar tools to develop MINI-MAX/51 (8051) programs ?

No, these tools are for PC development; in other words, your developed program runs on your PC. In the case of 8051 development, your developed program will run on the 8051 microcontroller. 8051 is not compatible with development tools that generate binary executables for the PC. We recommend 8051-specific tools such as Micro C, SDCC, Keil and others for 8051 program development

[11] I am used to programming in C or BASIC under Windows. Is it difficult to program the MINI-MAX/51 ? How about C++ ? Java ?

Not really. C language for the 8051 is very similar to C language for the PC. 8051 C language versions typically have extra commands to control 8051 ports and registers. Also, user interface C functions, such as Windows management, is typically lacking on 8051 C Compilers. A popular C compiler for 8051 is SDCC, which is derived from GCC tools for UNIX/Windows.

If you are a Visual BASIC programmer, you should find it easy to program the 8051 using our BASCOM51 BASIC Compiler package. BASCOM51 has many standard BASIC commands in addition to 8051-specific functions for port control, registers, assembly language interface, LCD driver and others.

C++ has too much overhead and it is not recommended for small microcontrollers such as 8051

We do not know of any Java interpreters/compilers for 8051. You can program our 8051-based WebCat web server and our ARM-based WebCat+ web server in HTML, Java, Java Script or any other client side language.

[12] Can I run an operating system such as Linux or Windows on MINI-MAX/51 ?

Linux and Windows require large amounts of program and data memory and therefore can not be run on the 8051 architecture. There are real time operating systems ( RTOS ) suitable for 8051.

You can run Linux on our ARM9-based products such as MINI-MAX/ARM9 and GadgetPC.

[13] Upon reset, what is the state of 8051 ports ?

8051 ports are inputs upon reset. They are set to high logic level.

[14] Why is the download slow ?

If you are using a USB to COM converter such as CBL-USB-COM-1 from BiPOM, please change the latency timer settings of the USB to COM converter. See the document: CBL-USB-COM-1 Speed Improvements

[15] I downloaded a program to 8051 and it was not running as expected and now when I try to download another program on the same kit, it won't download and an error message saying the microcontroller board is not detected. It looks like the microcontroller is blocked. How can I solve this ?

This typically happens with incorrect firmware. If the firmware is too big and crosses the memory boundary 0xF800 or if the firmware does inadvertent manipulation of PCON register, there is a chance that the ATMEL bootloader will not work and will not allow future program downloads because the incorrect firmware is running.BiPOM provides a special Unblock utility program to unlock the ATMEL 8051. This is under Software Download section.