# How to move on from an 8085

#### Beef_Stroganoff

Joined Apr 22, 2021
8
Hello everyone!
I am an ECE student and I want to learn more about embedded systems, but I can't figure out what my next step should be. I have taken courses such as Embedded Systems and Microprocessors and I have gained a good understanding of 8085/8086 and ARM architecture and ASSEMBLY. Recently I decided to join a competition about a microcontroller project, but it seems like I bit more than I could chew....
I couldn't understand a thing because I have never programmed a microcontroller in C. I couldn't figure out where to begin and where to go.
That was a wake up call that I need to deepen my understanding of microcontrollers, but I don't know where to start. Do you have any suggestions as to what to do next?
How to practice my C skills, any microcontrollers that are a logical next step to an 8085/86, or any advice in general?
Thanks in advance !

#### dl324

Joined Mar 30, 2015
14,905
Welcome to AAC!
How to practice my C skills, any microcontrollers that are a logical next step to an 8085/86, or any advice in general?
Just forget what you learned about 8085/86 and move on. That's what I did.

Pick a modern microcontroller and learn as much or little as you need about the hardware to do what you want.

I started out a few years ago with a single board computer called C.H.I.P. that was based on an Allwinner ARM architecture. I learned how to use the I/O registers and then the design became obsolete because the company (NTC) went out of business. I switched to Raspberry Pi and had to relearn how to access the I/O directly. There are some things I like better about the Allwinner chip and some things I like better about the Broadcom (ARM) chips. The point is that they're all similar. Allwinner implemented a low resolution ADC where as the chips used by Raspberry Pi decided that functionality wasn't important so it has no ADC.

I started using Arduino microcontrollers about the same time I started using Pi Zero/W. I know very little about the ATMEGA328 hardware, but that doesn't stop me from being able to use it.

#### Papabravo

Joined Feb 24, 2006
18,978
I don't necessarily agree with that approach. Everything you learned about binary arithmetic, condition codes, address calculation, indexing, pointers and so forth is directly transferable from machine to machine. I do agree that you should pick a processor, get a C-compiler for it, write small programs, then look at the code generated by the compiler. You can do this in two ways:
1. Look at the assembly code listing produced by the compiler
2. Look at the code with a rudimentary debugger.
Learn to recognize standard patterns like pushing variables onto a stack, making a function call, and cleaning up the stack afterwords.

That's what I would do if I were you.

#### nsaspook

Joined Aug 27, 2009
10,109
The logical step is to just jump in. With a good understanding of 8085 hardware it shouldn't be a problem to move to other hardware platforms so what you really have is a language problem with C and likely structured programming in general. The good news is that C is a easy language for most ASM programmers to get up to speed with, the bad news is you will still be writing C programs like a ASM programmer unless you take take the time to learn C from a structured programming view-point.

https://www.eng.auburn.edu/~nelsovp...gramming for embedded system applications.pdf

#### trebla

Joined Jun 29, 2019
486
I have gained a good understanding of 8085/8086 and ARM architecture and ASSEMBLY
Then is better start from some ARM Cortex MCU, pick up some cheap development boards from STM (Nucleo or Discovery) or Texas Instruments (Launchpad for Tiva). Both companies offer a free development IDE (Cube IDE for STM, CCS IDE for TI). Or for both you can use code size limited version of Keil uVision.

#### Ian Rogers

Joined Dec 12, 2012
1,014
I remember when I moved from Intel x86 to Micro's.. I learned by playing with an Intel 8052 then moved to the XA series by Phillips. I can remember thinking as you do... I can load up a disk on the PC and play with C.... How the hell do I start with embedded controllers... Believe it or not.... Virtually no difference.. Load an IDE ( keil or whatever ) write a program.. Then write the binary to a chip... The IDE will support simple interfaces... eg. A small board with zif socket connected to the PC via USB somehow..

The big issue is now the platform has to be known... You need to read and digest the datasheet thoroughly of the micro of your choice.. If you want to write the old "hello world!" program, it would possibly be LED flickering on one of the ports.

As others have said.. The ARM may be best for you as you say you are familiar with this platform.. I believe simple steps using a small LPC device or small AVR / pic would be more prudent until you're aware of micro's..

#### trebla

Joined Jun 29, 2019
486

#### BobTPH

Joined Jun 5, 2013
5,471
Univac 1108 anyone? That was my first assembly language. This was not exactly a microcontroler...

Bob

#### Papabravo

Joined Feb 24, 2006
18,978
Neither was the 7090, with its 729 II Mag Tape drives.

#### nsaspook

Joined Aug 27, 2009
10,109
Univac 1108 anyone? That was my first assembly language. This was not exactly a microcontroler...

View attachment 236629
Bob
We had UNIVAC DTC 9000 AUTODIN terminals at the comm stations in the 70's.

My job was operational maintenance (run the diagnostic card decks and isolate issues with the control panel), not programming.

#### bassbindevil

Joined Jan 23, 2014
499
The Arduino IDE comes with plenty of example code in some flavour of C. Apart from the "traditional" Atmel-based Arduino boards (which don't give a lot of feedback other than a blinky LED and a serial terminal), other things can be programmed from the Arduino IDE, like the ESP8266 family. For a few bucks you can get a "Witty Cloud" module which combines an ESP8266, microUSB-to-serial adapter, light sensor, RGB LED and a couple of pushbuttons.

Last edited:

#### Beef_Stroganoff

Joined Apr 22, 2021
8
[/QU[/QUOTE]
Hello,

Jesus men, have you been in ice for last 30 years, and yesterday them defrosted you? No offence, but last lectures about Intel 8085 I had in 1983 year As somebody in this thred told - this knowledge is fortunately universal and does not age and is good starting poinyt to further learning.

Best Regards
Haha, it's funny cause the 8085 is 21 years older than me! Anyway that's the way our courses are structured so I don't have a say in that..

#### Beef_Stroganoff

Joined Apr 22, 2021
8
Thank you everyone for your help !
You guys seems like veteran engineers and your guidance is very valuable for someone like me who is still studying !

#### dl324

Joined Mar 30, 2015
14,905
it's funny cause the 8085 is 21 years older than me!
A lot of the good stuff is older than you . When I started working at Intel, the 8085 was still being manufactured. I didn't care for the multiplexed address and data lines so I never considered using it.

I knew a tech that breadboarded the 8086 with TTL IC's. That was a few years before they had logic simulators that were fast enough and capable of simulating an entire design.