Carrier sense multiple access and its variants have been widely used in mobile ad hoc networks. However, most existing access mechanisms cannot guarantee quality for real-time traffic. This paper presents a distributed medium access control protocol that provides multiple priority levels for stations to compete for the wireless channel. One common channel is assumed to be shared by all stations. Stations are assumed to be able to hear each other (i.e., the network is fully connected). The channel is accessed by stations according to their priorities, and for stations with the same priority, they send frames in a round robin manner. The channel access procedure is divided into three stages: priorities classification period, ID initialization period, and transmission period. Simulation results indicate that our protocol provides high channel utilization and bounded delays for real-time frames.