8051 / 8052 Simulator

Started by KetilO, December 23, 2011, 01:09:09 PM

Previous topic - Next topic

KetilO

After trying several free simulators found on the internet I decided to make my own to meet all my requirements.

o Must run at microcontroller speed. With a decent computer I am able to run simulations on a 24MHz 8052 without lagging.
o Must handle interrupts. All timer and external interrupts of the 8051 are handled. Remaining is TI, RI and timer 2 interrups for the 8052.
o Must have an addin interface so I can create and simulate my own hardware.
  LCD display, push buttons, 4x4 keyboard, memory mapped I/O and RS232 terminal already created.
o Project support so that I dont need to setup the simulator / hardware every time I use it.

A 24 hour clock and a 8 digit floating point calculator demo is included.

Screenshot:


KetilO

dedndave

very cool, Ketil   :U
a great learning aide - and fun to play with, too   :P

KetilO

New Upload

Whats New
---------------
o Fixed a few bugs.
o Added Schematics tab.
  Use PgUp and PgDn to zoom. Drawing uses SimCad file.
o Added clock generator addin.
  Uses a prescaled ALE signal. Can among others be used to generate events at a frequency of 2MHz down to 61Hz (24MHZ MCU).
o Added a 1MHz frewuency counter demo.

Screenshot:


KetilO

KetilO

New upload:
---------------
o Added description tab.
o Added 74HC590 addin. It is an 8 bit ripple counter with register and tri state outputs.
o Added MCP3208 addin. 12 bit 8 channel ADC.
o Added 60MHz frequency counter demo using 74HC590.
o Added ADC demo using MCP3208.

KetilO

KetilO

New upload:
---------------
o Added graphic LCD (240x128 dots) using T6963C controller.
o Added graphic LCD demo.

Source code can be found here:
https://fbedit.svn.sourceforge.net/svnroot/fbedit/Sim52/

Screenshot:


KetilO

KetilO

Uploaded Version 1.0.0.2

Whats new:

o Added some of the features of timer 2 (as a timer or event counter, includimg interrupts)
o Fixed core bug where selecting register bank (PSW.RS1 and PSW.RS0) did not work.
o Fixed core bug where jmp @A+DPTR did not work.

KetilO

KetilO

I have been playing a little with Basic52 and it seem to work well.
Only modification I needed to do is the auto baudrate detection. It had to be commented out.

If you want to play with it, here is the most recent code I could find on internet.

KetilO