Address bus is used by a microprocessor to identify the storage location in the memory where the next data can be found or the next instruction is to be executed.
Data bus is used to transfer data from one unit to another unit of the computer system. Microprocessor can read data from the memory or write data to the memory. So, the data bus is bidirectional.