I need help in an assembly code and 8086 interface

Thread Starter

Yasser Abdelrazek

Joined May 3, 2024
7
now the instructor told us to do a project with 8086 microprocessor on proteus and hardware and the subject is : Building a BCD counter from 0 to 999: in this project an up/down counter is to be built and the output is displayed on 7-segments with three input push buttons for up counting, down counting, and reset. An assembly program must be written to implement the functionality of the counter .i have handled the design as a whole but i cant do the code to run the circuit I understand the functions of logic and jump and call and aresmatics but i cant use it in assembly prograaming for this program can someone help with it , and i want to add an eeprom to the circuit with the name AT28C256-15PU but the proteus wont let me upload the code because it doesnt identify with the memory library on proteus how can i modify it to do the circuit as a hardware


Mod: attachment deleted at TS request.
 
Last edited by a moderator:

MrChips

Joined Oct 2, 2009
31,059
You have three BCD ports going to three 4511 BCD-to-7-segment decoder/drivers. Note that while this will work, it is a very wasteful use of input-output pins. You don't need three separate ports. One BCD port will do since the 4511 has a built-in latch.

Also you can do it with a single 4511 decoder/driver if you use time-division multiplexing of the three 7-segment displays.

Having said that, you can do the counting with a 16-bit unsigned integer. Now all you have to do is write a function to convert from 16-bit binary to three BCD digits. That is your exercise for you to do. No one here will do that for you.

You can also do the counting in straight BCD arithmetic. It would be a good exercise for you to do it both ways.
 

Thread Starter

Yasser Abdelrazek

Joined May 3, 2024
7
You have three BCD ports going to three 4511 BCD-to-7-segment decoder/drivers. Note that while this will work, it is a very wasteful use of input-output pins. You don't need three separate ports. One BCD port will do since the 4511 has a built-in latch.

Also you can do it with a single 4511 decoder/driver if you use time-division multiplexing of the three 7-segment displays.

Having said that, you can do the counting with a 16-bit unsigned integer. Now all you have to do is write a function to convert from 16-bit binary to three BCD digits. That is your exercise for you to do. No one here will do that for you.

You can also do the counting in straight BCD arithmetic. It would be a good exercise for you to do it both ways.
ok and how to modify the properties of the eeprom to upload the asm code after doing it on proteus because i can upload the .bin file on proteus for eproms only like 27c256 and i need to use eeprom as hardware in real life
 
Top