[SOLVED]What was your first micro programming experience?

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
The PIC is a much older device that you might think -
As far as I know the ARM controller is latest microcontroller. I have read previous discussions. Architecture of ARM is much more difficult than the 8051& PIC microcontroller.

Is ARM micro being used more than the PIC micro in projects now a days?
 

djsfantasi

Joined Apr 11, 2010
9,163
My first microcomputer was an Arduino Mega2560. I used it to replace a compiled Basic program on a laptop.
It interfaced to a network interface card/shield, an ultrasonic distance sensor, an external servo controller, a sound board/shield, a custom audio to servo controller, and an SD card shield.
The program was 1,000 lines of code which was implemented as an interpreter for a custom, proprietary computer language. It controlled the operation of an animatronic.
 

Ian0

Joined Aug 7, 2020
9,816
As far as I know the ARM controller is latest microcontroller. I have read previous discussions. Architecture of ARM is much more difficult than the 8051& PIC microcontroller.

Is ARM micro being used more than the PIC micro in projects now a days?
You'll find the ARM Cortex M0 looks very much, from a programming point of view, like an Atmel AT device. The RISC design means that the architecture is simple. The extra complexity comes from better peripherals, and lots of ways of shutting various bits of it down to save power.
The ARM isn't that new - designed in 1985 in Cambridge by Steve Furber and Brian (now Sophie) Wilson at Acorn Computers, who had done all their previous work using 6502s. It's only in the last few years that ARM cores have become widely used in cheap microcontrollers.
32-bit wide data is a big advantage over anything else at the price, the RISC instruction set makes assembly programming really easy, and C compilers are available for those who need a high-level language, and those who insist on doing simple tasks with a high-level language.
 

geekoftheweek

Joined Oct 6, 2013
1,216
My first was a PIC18F2321 connected to a PC through the parallel port. It worked most of the time, but on occasion it just wouldn't do what I wanted it to do. After some poking around online I read about some BIOS problems with Compaq that may have been causing my issues. All it really did was was put a byte on the data lines which the PIC would read when the strobe line went low. If line feed was low it was an address byte, it high it was a data byte. The PIC would then pull the ACK pin low to signal the PC it read the byte. Sending data the other way was a little more involved, but it did work. The project never amounted to much, but it did form a lot of the basic learning / troubleshooting methods I still use today. After finding out about I2C in video ports everything became much easier.
 

Papabravo

Joined Feb 24, 2006
21,225
The PIC is a much older device that you might think - it started life as a support chip for a General Instruments processor back in 1976 - it stands for "peripheral interface controller" - and was originally fabricated in NMOS.
They even had mask programmable ROMs in those days.
 

nsaspook

Joined Aug 27, 2009
13,272
I remember when they said that pcbs were a thing of the past an wire-wrapping was the proper modern way to connect things up.
I worked on the military's Harris mini-supercomputers in the 80's as a forward deployed (Subic Navy Base) equipment engineer for the Navy. The backplanes for the machines AN/UYK-62(v) were all wire-wrap with wire jumpers for board configuration and interrupts. I had a system where one of the ships local techs tried to fix a 50A 5V power supply problem and fried the backplane. What a field service nightmare.
 

dcbingaman

Joined Jun 30, 2021
1,065
Writing 6502 code for a Commodore PET, assembling it by hand and entering it as hexadecimal (back in 1980). I was astonished how fast it ran compared to a high-level language (which, at that time, was BASIC)
Same here, 6502 for Commodore along with BASIC. Accounting programs for a Construction Company. Back when I was a teenager. But I did have an assembler so I was not restricted to entering it all in hexadecimal.
 

GetDeviceInfo

Joined Jun 7, 2009
2,196
6502 for me. Programming roms with dip switches. Initially ptp soldering, but jumped into pcb quickly. My first software purchase was IBM MASM. Armed with PC schematics, bios listing, and early dos, I disappeared for a number of years. Luckily I was able to pull myself away and rejoin society.
 

Irving

Joined Jan 30, 2016
3,885
Ah, wirewrapping... was a big thing once and preferred to making a PCB (even when we had PCB fabrication in house!). My Z80 and later an 8086-based home computers were all wirewrapped on double-height 160 x 223mm Eurocards and a wirewrapped backplane with those horrible 3-row DIN connectors in a 6U case in a 19" rack, which at one time, before I got married, had pride of place in my bedroom. It was a good thing they were used on so many MOD projects they were all issued FOC from the stores!
 

Irving

Joined Jan 30, 2016
3,885
Me. Another one who cut its teeth with the 1802.
Wow, I never knew it was that popular.

When I got a tube of 5 in 1979 as a 20y old Junior engineer, I was told "Don't break them, they're very expensive and the only ones currently outside the US" and a tatty photocopied datasheet. No other support, and RCA apparently had no one in the UK who knew anything about them. I was on my own... no Internet, no forums, and I got given them because I was the only engineer in a bunch of radio and antenna specialists that could spell "microprocessor" :D:DMaybe the ceramic package and the radiation-hardening had some bearing on the matter???
 

sagor

Joined Mar 10, 2019
909
For me, Altair 8080 computer, programming a simple boot loader via front toggle switches. Also ended up programming a BIOS "monitor" program that allowed entering data via a RS-232 terminal. Once I had that working, programmed a Shugart SA-400 disk interface to read or write a single sector on a 5-1/4" SSSD floppy (180kb). Once I had that working, I could program and save operating code and eventually programmed in CP/M, byte by byte via a terminal from a hex printout dump of CP/M. CP/M was crafty, they self modified their code when it ran, to change an instruction in the early loading section.
 

KeithWalker

Joined Jul 10, 2017
3,092
One of my very early machine language experiences turned into a bit of a comedy act. In the mid 80s I was given the task of writing a program for a PC to run weigh scales at a salt mine. I wrote the program in C using the datasheet from the hardware and the DOS manual. When the hardware finally arrived, the program could not access the scale through the serial port. After a lot of testing and head scratching, I found that the serial port driver in DOS did not work the way it was specified in the manual. I modified the machine language in the DOS boot and got it working the way it should. The project was a success.
As an afterthought I decided to let Microsoft know about their problem. I called their technical support line and tried to explain but found to my surprise that none of the telephone support people knew what DOS was - not even the "high tec" guys. They said that they could pass on the information but first they would need my credit card number. I tried to explain that it was them that had the problem, not me and that I was trying to give them some free help. I guess that was not in their consultants instruction manual so I finally hung up on them in disgust!
 

ErnieM

Joined Apr 24, 2011
8,377
Way back in the spring of 1970 someone came into my math class to announce they had a summer school class on computer programming where I could actually use a computer! I was in, did pretty good learning my first language Focal, typing it into a KSR teletype, storage on paper tape, running on a PDP/8L with the 8K word core memory expansion box. A few years later we upgraded the computer (as it ran 3 other schools remotely) to some HP thing with disk drives (20K of storage per user!) doing Basic on video displays.

College was a step backwards doing PL/1 on an IBM360 using... punch cards. Around '79 I got an 1802 board, hex keypad, 2 digit hex display, 256 bytes of volatile storage. Good toy used in a class project.

First ever micro was something by Microchip in the pre-ICSP days where you had to apply 13 volts to the thing and a byte of data per program step. MPLAB did the assembly work. One time programmable unless you bought the expensive one with the clear quartz lid for the UV eraser.

I did have a PIC-KIT 1 (yes Virginia, there was a PIC-KIT ONE) that I did hack to do ICSP on project boards.

Today I of course have a PC, several tablets, smart phone, and a plethora of Raspberry Pi's. One Pi for general stuff, one in my 3D printer running Octoprint, one at work running an ESS controller, and just now setting one up inside a recreation of the PiDP-8/I that runs the blinky lights (though you can run the old programs too on its emulator), plus using it for a network file server, plus an ad blocker.

The PIC is a much older device that you might think - it started life as a support chip for a General Instruments processor back in 1976 - it stands for "peripheral interface controller" - and was originally fabricated in NMOS.
The General Instruments PIC was also the controller inside the original Simon game. It took all 512 instructions to make it work. A friend from college got me a chip (40 pin DIP AFAIR) and the data sheet. I took it, two seven segments, 4 switches and a battery clip and wired it up and the dang thing worked!
 
Top