Bonjour,
Le a de bâton prend un accent circonflexe car cet accent remplace un "s".
Avant que le mot bâton existe, il y avait le mot bastonnade qui est un mot de la même famille et lui prennait un"s". Donc le a de bâton prend un "^" car le "s" de bastonnade a disparu et s'est transformé en "^" sur le a c'est valable pour plein d'autres mots.
Mot de la même famille que bâton : batonnier, bâtonnet, baston, bastonnade.