klaudiosinani / microcomputer-assembly

Microcomputer programs in 8085, 8086 & AVR assembly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Microcomputer Assembly

Microcomputer programs in 8085, 8086 & AVR assembly

Description

The repository is home to the coding assignments of the 2017 Microcomputers Lab course @ Electrical & Computer Engineering - National Technical University of Athens.

8086/85 programs have been coded, debugged and tested using the appropriate 8086/85 emulators. AVR programs have been coded, debugged and tested on actual AVR Microcomputers.

Contents

8085 Assembly

Assignment 1

1A - LED Binary Milliseconds Timer

Simple milliseconds timer, presenting time in binary form using LED lights as output.

1B - LED Lighting Manipulator

Manipulating the on/off time interval of LED lights through switches.

1C - LED Interrupts Counter

Simple interrupts counter, MSB switch dependent, using LED lights as output.

Assignment 2

2A - LED Simulated Moving Train

A plain LED train simulator, where train direction is interrupt dependent.

2B - Button Code Reader

Displaying the ASCII value of a pressed key, using 7 segment displays.

2C - Interactive Binary to Decimal Conversion

Taking switch-based binary input, and displaying its corresponding decimal value, using 7 segment displays.

Assignment 3

3A - Message Manipulator

On demand clockwise or counterclockwise rolling of a string message, printed on 7 segment displays.

8086 Assembly

Assignment 4

4A - Binary Fractions to Decimal

Converting keyboard originated 9-bit, 2's complement, binary fractions to decimal numbers, using 7 segment displays for visual feedback.

4B - Hexadecimal to Decimal

Simple converter of a 3-digit hexadecimal number, to its corresponding decimal value, using 7 segment displays for visual feedback.

4C - String Characters Sorting

Sorting by character type, a user defined input of a 16 characters long string, consisted only of numbers, spaces, capital & lower case letters.

Assignment 5

5A - File Manipulation

Reading the content of a text file, rotating it clockwise, by a user given amount of character slots and finally storing the outcome to a new text file.

AVR Assembly

Assignment 6

6A - Running LED

A sequentially moving LED light between the PA0-PA7 LED ports.

6B - Switches Dependent LED Lighting Manipulator

Setting the LEDs on/off time interval using the I = x * 100 msec formula, where I is the total time LEDs are switched on/off and x the hexadecimal value provided by the user, through the PB0-PB3 dip switches.

6C - Interactive LED Navigation

A simple C program, allowing the user to navigate clockwise or counterclockwise any switched on LED light, pressing the appropriate keys, by one or two LED slots at a time.

Assignment 7

7A - Mono Interrupts Counter

A simple, PD0 dip switch dependent, interrupts counting program, displaying the binary outcome through the PA7-PA0 LED lights.

7B - Dual Interrupts Counter

An extension to the Mono Interrupts Counter, serving also the INT1 interrupts, as well as displaying through the 4 LSB PORTC LEDs the binary number created using the PORTB dip switches.

7C - Automated Room Lighting

By pressing the appropriate push buttons, the user is able to set the room lighting on or off using different time intervals.

Assignment 8

8A - IC Simulator

A hypothetical integrated circuit program, where OR, AND and XOR logic gates are simulated using dip switches as logical input and LEDs as logical output.

8B - Boolean Functions

Simulating the following logic functions using dip switches as input and LEDs as output.

F0 = (AB + BC + CD + DΕ)’ , F1 = ABCD + D'E', F2 = F0 + F1

8C - Electronic Lock

The user through the keypad, types a sequence of numbers and letter, and in the case that the given input matches his predefined password, the LEDs start lighting on/off, thus indicating that there was a correct matching.

Assignment 9

9A - Keypad Mirror

Displaying the last pressed key to the LCD screen.

9B - Alarm Simulator

Setting a simulated alarm on, whenever the user types, within a 4 seconds time span, an incorrect password. In addition, LEDs are switching constantly on/off and an appropriate message is displayed to the LCD screen. Defusing the alarm is only possible by typing the correct, user predefined, password.

9C - Binary to Decimal

Converting a binary number to decimal and then displaying its decimal value to the LCD screen.

9D - Digital Stopwatch

By constantly pressing the PA0 key the user sets on the stopwatch, which can count up to one hour. The LCD screen is always displaying the time running, and the user is able to stop and resume the stopwatch on demand, as well as resetting it.

Links

Team

License

MIT

About

Microcomputer programs in 8085, 8086 & AVR assembly

License:MIT License


Languages

Language:Assembly 96.1%Language:C 3.9%