Heterogeneous System Architecture (HSA) is a newly arising heterogeneous multiprocessor platform which may improve the heavy data transmission between CPU and GPU in traditional heterogeneous multiprocessor platforms through shared virtual memory. However, as other heterogeneous multiprocessor platforms, it is complex and error-prone to write HSA programs. Therefore, we design and implement a translation framework based on LLVM for automatically translating OpenACC programs, directive-based parallel programming programs, into HSA programs. The main components of the framework include an extension version of Clang, a PLIR-annotation parser, and an HAS host/kernel IR generator. The experiment result shows that the translated HSA programs generated by our OpenACC compiler achieve 7.78× speedups in average with respect to the corresponding sequential programs. Moreover, compared with the OpenMP compiler proposed by HSA foundation, our OpenACC compiler achieves 2.91× speedups in average.