Question

In: Electrical Engineering

Design a 8086 microprocessor base system that manage 1Mbyte of memory and can handle serial and...

Design a 8086 microprocessor base system that manage 1Mbyte of memory and can handle serial and parallel communication, a keyboard, a screen, a printer and a USB connection that handle high capacity secondary memory. Show all the connections needed and use all the necessary family chips needed to handle the I/O Systems. Show the memory map needed and the necessary I/O drivers. Use an interrupt manage chip to handle the I/O devices to be connected.

Solutions

Expert Solution

Device communication is done in two ways:

parallel and

serial.

In the parallel mode, information exchange is quick and uses more number of lines. This mode is useful for short range information exchange.

Be that as it may, Serial correspondence utilizes just a single or two information lines to exchange information and is by and large utilized for long separation correspondence. In serial correspondence the information is sent as one piece at any given moment.

My saying is to portrays the interfacing of miniaturized scale controller (Atmega32) with a PC by means of serial port, RS232. In any case, at display my PC system(DDR3 upheld) does not have any serial port(DB9). Along these lines, I am endeavoring to impart MCU through a USB to UART Serial Converter breakout board. There are numerous USB to UART Serial Converters are accessible, for example, cp2102/4, pl2303, FT232RL, CH340G and so forth. I have picked pL2303 bcz. of accessibility and cost.

Stage 1: PL2303 (USB TO UART TTL CONVERTER) DETAILS

The PL-2303 works as a scaffold between one USB port and one standard RS232 Serial port. The two vast on-chip cradles oblige information spill out of two distinct transports. The USB mass write information is embraced for most extreme information exchange. Programmed handshake is upheld at the Serial port. With these, a considerably higher baud rate can be accomplished contrasted with the heritage UART controller.

This gadget is additionally consistent with USB control administration and remote wakeup plot. Just least power is devoured from the host amid Suspend. By coordinating all the capacity in a SSOP-28 bundle, this chip is appropriate for link inserting. Clients just guide the link into PC or center's USB port, and after that they can associate with any RS-232 gadgets.

PL2303 - FATURES

Completely consistent with USB Specification v1.1 and USB CDC v1.1

? Backings RS232 Serial interface

? Backings programmed handshake mode

? Backings Remote wake-up and control administration

? 256-bytes cushion each for upstream and downstream information stream

? Backings default ROM or outside EEPROM for gadget arrangement

? On-chip USB handset

? On-chip precious stone oscillator running at 12MHz

? Backings Windows 98/SE, ME, 2000, XP, Windows CE3.0, CE .NET, Linux, and Mac OS

? Intended for Windows XP/2000 Certified Logo Drivers

? USB-IF Logo Compliant with TID 10240590

? 28-Pin SSOP bundle

Stage 2: Serial Communication Using RS-232

Information Communication:

Correspondence between/among frameworks physically or remotely.

Sorts of Data Communication

Point-to-point Communication (RS-232)

Transport based Communication (I^2C,SPI,PCI,PCI-EXPRESS, USB, SATA)

Speed Rates

RS-232 < I^2C < SPI < PCI < PCI-EXPRESS < USB < SATA

PC serial port:

Serial correspondence implies exchanging a solitary piece at any given moment. We can interface a mouse, a modem, a printer, a plotter, another PC, dongles, and so on. Be that as it may, its utilization (both programming and equipment) is a mystery to clients. In any case, it isn't hard to see how to interface gadgets to it and how to program it.

RS-232 is a standard correspondence convention for connecting PC and its fringe gadgets to permit serial information trade. In straightforward terms RS232 characterizes the voltage for the way utilized for information trade between the gadgets. It determines regular voltage and flag level, basic stick wire setup and least, measure of control signals. As said over this standard was planned with determination for electromagnetically teletypewriter and modem framework

Serial Data Transmission Types:

Simplex mode: Sender - - >Receiver(T) one-path (as, sensor information)

Half Duplex mode: Sender<=============>Receiver(T/R), once at once (as, radio-framework)

Full Duplex mode: Sender<=============>Receiver (T&R), two path all the while (as, phone)

Issue:

IT didn't characterize components, for example, -

>>character encoding,

>>framing of characters,

>>error discovery conventions and so on

that are basic highlights when information exchange happens between a PC and a printer. Without which it couldn't be received to exchange information between a PC and a printer.

Arrangement:

A solitary incorporated circuit called as UART known as all inclusive nonconcurrent recipient/transmitter is utilized as a part of conjunction with RS232.

PC is equipped for serial transmission at up to 115,200 bps (step size of 8.68 microseconds!). Ordinary rates are 300 bps, 1200 bps, 2400 bps and 9600 bps, up to 115,200 bps

The Physical Transmission:

The RS232C port of PC utilizes voltages:

>>MARK/LOW is motioned by - 3 V to - 5 V and speaks to a coherent one(1).

>>SPACE/HIGH is motioned by +3 V to +5V and speaks to a coherent zero(0).

>>Three lines (RX, TX and GND) are in any event required..

RxD (Received information):

The RxD stick is the Data Receive stick. This is where the collector gets information.

TxD (Transmitted information):

The TxD stick is the Data Transmit stick. This is the stick through which information is transmitted to the beneficiary.

Handshaking

Computerized procedure of setting correspondence parameters

Parameters are:-

exchange rate

equality

indeed

odd

hinders

Ex-Modem, Printers

Associates heterogeneous frameworks over a correspondence channel.

Stage 3: Connection and Coding

Projects:

Simply associate as indicated by the graph.

Devices required:

WinAvr 2008

Cygwin

- - -

Same code can keep running on avrstudio moreover.

lcd_io.h

#ifndef LCD_IO_H<br>#define LCD_IO_H</p><p>#include

#include </p><p>/*######################################################################################################*/

/* CONFIGURATION BLOCK STARTS HERE. Change these definitions to adjust setting */

/*######################################################################################################*</p><p>***********************************************************************************************/

/* GLOBAL (settings depicted here are applyied all over the place) */

/***********************************************************************************************/

/*/#ifndef F_CPU

#define F_CPU 8000000/* CPU CLOCK FREQUENCY */

#endif</p><p>/* 6=6 PIN I/O, 2=2 PIN I/O, 3=I2C, 7=multi lcd */

#define LCD_IO_MODE 6</p><p>/* 1 = Auto line nourish, 0 = no Auto line encourage */

#define LCD_AUTO_LINE_FEED 0</p><p>/* THE TYPICAL TIME THE LCD NEEDS TO COMPLETE A COMMAND */

#define LCD_DELAY_TIME_US 100</p><p>/* THE E PULSE WIDTH IN MICROSECONDS (Timing is accurate)*/

#define LCD_E_PULSE_WIDTH_US 1</p><p>/* The decimal point accentuation check scorch */

#define LCD_DECIMAL_POINT '.'</p><p>/* WAYS TO REDUCE CODE SIZE BY NOT COMPILING UNWANTED FUNCTIONS OR CODE

* PORTIONS */

/* 1=function accessible, 0=not accessible. */

#define LCD_PUT_I_NEEDED 1

#define LCD_PUTS_NEEDED 1

#define LCD_PUTS_P_NEEDED 1

#define LCD_PUTS_E_NEEDED 1

#define LCD_PUTC_CGRAM_NEEDED 1

#define LCD_CLRLINE_NEEDED 1

#define LCD_GETXY_NEEDED 0

/* 1=limit, mistake and control scorches checking handicapped. Likewise auto line nourish off.

* For specialists as it were! */

#define LCD_SAVE_MORE_CODE_SPACE 0/*********************************************************************/

/* START OF SELECTED MODE CONFIGURATION BLOCK */

/************************************************************************************************************************************************/

/* START OF MODE 6 CONFIGURATION BLOCK */

#if LCD_IO_MODE == 6

/***************************************************************************/

/*

Design OF BELOW LINES ONLY NECESSARY IF YOU SELECTED MODE 6 IN GLOBAL

SETTINGS If you intend to utilize only one port for all pins then simply alter

"LCD_PORT" else you should determine the port of every lcd flag. the

port(s) must have the capacity to work as yield. It can be any mix! PUT

YOUR LCD PORT LETTER HERE USING CAPITAL LETTER (A,B,C,D...etc)

*/

#define LCD_CHARS_PER_LINE 16/* obvious roasts per lcd line */

#define LCD_LINES 2/* obvious lines ** 1=the DDR's utilized are spared and reestablished */

#define LCD_MULTIPLEX_ENABLE 0

/* 0=use postponement, 1=read occupied banner and information (7 pins required) */

#define LCD_READ_REQUIRED 0/*

This empowers the reinforcement capacities that reinforcement and reestablish the lcd show.

LCD_LINES X LCD_CHARS_PER_LINE bytes are required (That implies 80 bytes for a 4

x 20 lcd show). 0=lcd screen reinforcement area is eeprom, 1=lcd screen

reinforcement area is smash.

In the event that you have to reinforcement less, utilize the lcd_getc work. When utilizing the

lcd_getc() work the Address Counter (AC) is auto augmented or

decremented as indicated by the ENTRY MODE chose amid introduction, just

like the lcd_putc() work works, so while completing a successive read, there

is no compelling reason to reposition the cursor each time a read is performed. The

reinforcement and reestablish settings are substantial just if LCD_READ_REQUIRED == 1

*/

#define LCD_BACKUP_REQUIRED 0

#define LCD_BACKUP_LOCATION 0

#define LCD_PORT C

#define LCD_DATA4_PORT D/* port for information 0 stick */

#define LCD_D4_PIN 7/* AVR port stick number */

#define LCD_DATA5_PORT D/* port for information 1 stick */

#define LCD_D5_PIN 6/* AVR port stick number */

#define LCD_DATA6_PORT D/* port for information 2 stick */

#define LCD_D6_PIN 5/* AVR port stick number */

#define LCD_DATA7_PORT B/* port for information 3 stick */

#define LCD_D7_PIN 3/* AVR port stick number */

#define LCD_RS_SIGNAL_PORT B/* port for RS line */

#define LCD_RS_PIN 1/* AVR port stick number */

#define LCD_E_SIGNAL_PORT B/* port for Enable line */

#define LCD_E_PIN 2/* AVR port stick number */

/* YOU NEED TO EDIT "LCD_RW_SIGNAL_PORT" AND "LCD_RW_PIN" ONLY IF * "LCD_READ_REQUIRED == 1" */

#if LCD_READ_REQUIRED == 0

#define LCD_RW_SIGNAL_PORT LCD_PORT/* port for R/W line */

#define LCD_RW_PIN 6/* AVR port stick number */

#endif

#endif/* #if LCD_IO_MODE == 6 */

/**************************************************************************/

/* END OF 6 PIN CONFIGURATION BLOCK */

/***************************************************************************########################################################################*/

/* CONFIGURATION BLOCK ENDS HERE. */

/*########################################################################** you shouldn't have to transform anything beneath this line ***************************************************************************/

/* HD44780 DDRAM PARAMETERS */

/**************************************************************************/#define LCD_LINE_LENGTH 0x40/* inward line length */

#define LCD_START_LINE1 0x00/* DDRAM address of first roast of

line 1 */

#define LCD_START_LINE2 0x40/* DDRAM address of first scorch of

line 2 */

#define LCD_START_LINE3 0x14/* DDRAM address of first scorch of

line 3 */

#define LCD_START_LINE4 0x54/* DDRAM address of first scorch of

line 4 **************************************************************/

/* INSTRUCTION REGISTER BIT POSITIONS AND COMBINATIONS */

/*************************************************************/

#define LCD_CLR 0/* DB0: clear show */

#define LCD_HOME 1/* DB1: come back to home position */

#define LCD_ENTRY_MODE 2/* DB2: set section mode */

#define LCD_ENTRY_INC 1/* DB1: 1=increment, 0=decrement */

#define LCD_ENTRY_SHIFT 0/* DB2: 1=display move on */

#define LCD_ON 3/* DB3: turn lcd/cursor on */

#define LCD_ON_DISPLAY 2/* DB2: turn show on */

#define LCD_ON_CURSOR 1/* DB1: turn cursor on */

#define LCD_ON_BLINK 0/* DB0: squinting cursor ? */

#define LCD_MOVE 4/* DB4: move cursor/show */

#define LCD_MOVE_DISP 3/* DB3: move show (0-> cursor) ? */

#define LCD_MOVE_RIGHT 2/* DB2: move right (0-> left) ? */

#define LCD_FUNCTION 5/* DB5: work set */

#define LCD_FUNCTION_8BIT 4/* DB4: set 8BIT mode (0->4BIT mode)

*/

#define LCD_FUNCTION_2LINES 3/* DB3: two lines (0->one line) */

#define LCD_FUNCTION_10DOTS 2/* DB2: 5x10 textual style (0->5x7 textual style) */#define LCD_CGRAM 6/* DB6: set CG RAM address */

#define LCD_DDRAM 7/* DB7: set DD RAM address */</p><p>#define LCD_BUSY 7/* DB7: LCD is occupied ** work set: set interface information length and number of show lines */

#define LCD_FUNCTION_4BIT_1LINE 0x20/* 4-bit interface, single line, 5x7

dabs */

#define LCD_FUNCTION_4BIT_2LINES 0x28/* 4-bit interface, double line, 5x7

dabs */

#define LCD_FUNCTION_8BIT_1LINE 0x30/* 8-bit interface, single line, 5x7

dabs */

#define LCD_FUNCTION_8BIT_2LINES 0x38/* 8-bit interface, double line, 5x7

dabs *</p><p>* Lcd default mode utilized as a part of this driver */

#define LCD_MODE_DEFAULT ((1</********************************************************************************************************/

/* LCD COMMANDS (CAN BE USED WITH "lcd_command(cmd);") */

/********************************************************************************************************/

/* set passage mode: show move on/off, dec/inc cursor move heading */

#define LCD_ENTRY_DEC 0x04/* show move off, dec cursor move dir */

#define LCD_ENTRY_DEC_SHIFT 0x05/* show move on, dec cursor move dir */

#define LCD_ENTRY_INC_ 0x06/* show move off, inc cursor move dir */

#define LCD_ENTRY_INC_SHIFT 0x07/* show move on, inc cursor move dir ** show on/off, cursor on/off, flickering burn at cursor position */

#define LCD_DISP_OFF 0x08/* show off */

#define LCD_DISP_ON 0x0C/* show on, cursor off */

#define LCD_DISP_ON_BLINK 0x0D/* show on, cursor off, flicker burn */

#define LCD_DISP_ON_CURSOR 0x0E/* show on, cursor on */

#define LCD_DISP_ON_CURSOR_BLINK 0x0F/* show on, cursor on, flicker burn */

#define LCD_CLEAR_SCREEN (1<</* move cursor/move show */

#define LCD_MOVE_CURSOR_LEFT 0x10/* move cursor left (decrement) */

#define LCD_MOVE_CURSOR_RIGHT 0x14/* move cursor right (increase) */

#define LCD_MOVE_DISP_LEFT 0x18/* move show left */

#define LCD_MOVE_DISP_RIGHT 0x1C/* move d


Related Solutions

Draw the figure for memory segments with 8086 microprocessor software model. Explain the logical address structure...
Draw the figure for memory segments with 8086 microprocessor software model. Explain the logical address structure used for each segment (Explain which registers are used in logical address presentation of each segment; segment address : offset address).
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor 8087, a parallel connector, a serial connector, ADC and DAC connector for data conversion, a 16 byte seven segment display, a 64-key matrix keyboard, a USB connector thru a DMA for high speed data transfer. A special connector to connect a printer. The system must have an interrupt controller to handle all the I/O interface. The main memory size will be 1 Mbyte. Show...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor 8087, a parallel connector, a serial connector, ADC and DAC connector for data conversion, a 16 byte seven segment display, a 64-key matrix keyboard, a USB connector thru a DMA for high speed data transfer. A special connector to connect a printer. The system must have an interrupt controller to handle all the I/O interface. The main memory size will be 1 Mbyte. Show...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor 8087, a parallel connector, a serial connector, ADC and DAC connector for data conversion, a 16 byte seven segment display, a 64-key matrix keyboard, a USB connector thru a DMA for high speed data transfer. A special connector to connect a printer. The system must have an interrupt controller to handle all the I/O interface. The main memory size will be 1 Mbyte. Show...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor...
Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor 8087, a parallel connector, a serial connector, ADC and DAC connector for data conversion, a 16 byte seven segment display, a 64-key matrix keyboard, a USB connector thru a DMA for high speed data transfer. A special connector to connect a printer. The system must have an interrupt controller to handle all the I/O interface. The main memory size will be 1 Mbyte. Show...
WHAT IS THE PSEUDOCODE OF THE FOLLOWING PROBLEM? Design a microcomputer system using a uP 8086...
WHAT IS THE PSEUDOCODE OF THE FOLLOWING PROBLEM? Design a microcomputer system using a uP 8086 10 Mhz. This system must have a Coprocessor 8087, a parallel connector, a serial connector, ADC and DAC connector for data conversion, a 16 byte seven segment display, a 64-key matrix keyboard, a USB connector thru a DMA for high speed data transfer. A special connector to connect a printer. The system must have an interrupt controller to handle all the I/O interface. The...
Design a Spatial Decision Support System (SDSS) to manage forest fires.
Design a Spatial Decision Support System (SDSS) to manage forest fires.
Discuss the modern design of Accounting Information System ( AIS) with Data base ?
Discuss the modern design of Accounting Information System ( AIS) with Data base ?
The L&L bank can handle up to 30 customers who have savings accounts. Design and implement...
The L&L bank can handle up to 30 customers who have savings accounts. Design and implement a program that manages the accounts. Keep track of key information and let each customer make deposits and withdrawals. Produce error messages for invalid transactions. Hint: You may want to base your accounts on the Account class from chapter 5. Also provide a method to add 3 percent interest to all accounts whenever the method is invoked. This is the account class in chapter...
Define value chain and discuss how companies can design and manage their value chain to create...
Define value chain and discuss how companies can design and manage their value chain to create values for their companies.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT