I'm guessing you didn't mean for the size of the matrix and the period to be equal, so let's assume that the matrix is k-by-k. For any such matrix, the eigenvalues must be nth roots of unity. Then you can construct families of such matrices by picking k different nth roots of unity, and then conjugating this by any invertible matrix. To be more explicit, pick k different numbers of the form $\omega_j = \exp(2 \pi i a_j/n)$ where each a_{j} is an integer between 0 and n-1 of your choice, for j=1,...,k. Then form the matrix $\Lambda$ whose diagonal elements are $\Lambda_{jj} = \omega_j$, and pick an arbitrary invertible matrix $S$ and form $S \Lambda S^{-1}$.