Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Microcontroller Articles
Page 31 of 33
Need for DMA data transfer
The microcomputer system basically consists of three blocksThe microprocessorThe memories of microprocessor like EPROM and RAM andThe I/O ports by which they are connected.The possible data transfers are indicated below.Between the memory and microprocessor data transfer occurs by using the LDA and STA instructions.Between microprocessor and I/O ports also data transfer occurs by the help of two instructions IN and OUT.Through DMA data transfer, data is transferred between the Input Output ports and the memory.If the data transfer which is used for reading from the memory location is 3456H and then writing to output port number is 50H which takes ...
Read MoreProgramming the 8257
We know from the study of the description of 8257 that it consists of 40 pins and the condition when it works in Slave Mode and Master mode. From the microprocessor point of view, the I/O port is a chip which is used exclusively for DMA control application and is not used for interfacing I/O devices for the purpose of data transfer with the processor. This chip is only used to control the DMA data transfer for four I/O ports. For every I/O port there exists a corresponding DMA channel. This chip provides all the features which are needed for ...
Read MoreAddress registers of 8257
Every DMA channel consists an address register and a count register. These registers are 16-bits wide in length. In each 16 bits there are four ARs marked as AR3-0. Apart from four CRs there are control and status registers also. They are separate 8-bit registers, but have the same address. Here the processor can only write in the control register but we can read in the status register. Fig. Programmer's view at a glance of Intel 8257.We can select any one of the above registers by the address of the four pins marked as A3-0 of 8257. The processor used here writes to ...
Read MoreCount registers of 8257
We have four Counters, ranging from CR3-0, which consists of 16 bits each. At the time when the CR becomes access to the processor which is 16-bits wide, the Least Significant and the Most Significant Byte of the register are accessed in an alternate manner, which starts with the Least Significant Byte. Also, the M/L* flip-flop helps here. The information about the number of bytes which are to be transferred using DMA are contained in the Counter Registers, which is decremented by 1 for every byte in the DMA data transfer. When the Counter Register becomes 0, the last DMA ...
Read MoreControl register of 8257
The processor, in active state writes to the Control register of 8257 to configure its working purpose. To find out the status of 8257, the processor reads status register of the processor. The control register is of length 8-bits which is only read by the processor but not read. It is only selected when CS* is 0, A3-0 is 1000, and IOW* is 0.Intel calls the control register 8257 normally the mode set register by as it sets the mode of operation of 8257.AULD1 = Enable auto load0 = Disable auto loadTCS1 = Stop DMA transfer if TC reached0 = ...
Read MoreStatus register of 8257
The status register is of length 8-bits wide. The processor can only read but not write and it is only selected when CS* is 0, A3-0 is 1000, and IOR* is 0.About the present state of 8257 the information about the status is provided. The five blocks are important others are marked 0 since they are not in use.UD1 = Update in progress0 = Update not in progressTCn1 = TC reached for Channel n (n = 0–3)0 = TC not yet reached for Channel nFig: Interpretation of the contents of the status registerThe read operation of the status register is ...
Read More8085 program to convert gray to binary
Now let us see a program of Intel 8085 Microprocessor. This program will convert gray code to binary code.Problem StatementWrite an assembly language program for 8085 to convert gray code to binary code. The data is stored at address 8200H & store the result at memory location 8201H.DiscussionHere we are loading the number from memory and in each step we are performing right shift, and XOR the intermediate result with the previous one. Thus we are getting the result. In the following demonstration you can get the logic.C 1110 1011 (A) (EBH) 07H 0111 ...
Read More8085 program to search a number in an array of n numbers
In this program we will see how to search an element in an array of bytes using 8085.Problem StatementWrite 8085 Assembly language program to search a key value in an array of data using linear search technique.DiscussionIn this program the data are stored at location 8002H to 8007H. The 8000H is containing the size of the block, and 8001H is holding the key value to search. After executing this program, it will return the address of the data where the item is found and store the address at location 9000H and9001H. If the item is not found, it will return ...
Read More8085 Assembly language program to find largest number in an array
In this program we will see how to find the largest number from a block of bytes using 8085.Problem StatementWrite 8085 Assembly language program to find the largest number from a block of bytes.DiscussionIn this program the data are stored at location 8001H onwards. The 8000H is containing the size of the block. After executing this program, it will return the largest number and store it at location 9000H.Logic is simple, we are taking the first number at register B to start the job. In each iteration we are getting the number from memory and storing it into register A. ...
Read More8085 Program to convert HEX to BCD
In this program we will see how to convert binary numbers to its BCD equivalent.Problem StatementA binary number is store dat location 800H. Convert the number into its BCD equivalent and store it to the memory location 8050H.DiscussionHere we are taking a number from the memory, and initializing it as a counter. Now in each step of this counter we are incrementing the number by 1, and adjust the decimal value. By this process we are finding the BCD value of binary number or hexadecimal number.We can use INRinstruction to increment the counter in this case but this instruction will ...
Read More