Như đã nói, tốc độ baud cố định ở các chế độ 0 và 2. Trong chế độ 0 nó luôn luôn là tần số dao động trên chip được chia cho 12 . Thông thường thạch anh ấn định tần số dao động trên chip của 8051/8031 nhưng cũng có thể sử dụng nguồn xung nhịp khác. Giả sử với tần số dao động danh định là 12 MHz, tìm tốc độ baud chế độ 0 là 1 MHz.
1264 64 32 32 16 Dao động Xung nhịp
trên chip tốc độ baud
a. Chế độ 0
Dao động SMOD=0 Xung nhịp
trên chip tốc độ baud
SMOD=1
b. Chế độ 2
Dao động Xung nhịp
trên chip SMOD=0 tốc độ baud
SMOD=1 c. Chế độ 1 và 3.
Hình10. Các nguồn tạo xung nhịp cho port nối tiếp.
Mặc nhiên, sau khi reset hệ thống, tốc độ baud chế độ là 2 tần số bộ dao động chia cho 64. Tốc độ baud cũng ảnh hưởng bởi 1 bit trong thanh ghi điều khiển nguồn cung cấp (PCON). Bit 7 của PCON là bit SMOD. Đặt bit sMOD lên một làm gấp đôi tốc độ baud trong chế độ 1,2 và 3. Trong chế độ 2, tốc độ baud có thể bị gấp đôi từ giá trị mặc nhiên của 1/64 tần số dao động (SMOD=0) đến 1/32 tần số dao động (SMOD=1)
Vì PCON không được định địa chỉ theo bit, nên để đặt bit SMOD lên 1 cần phải theo các lệnh sau:
MOV A,PCON lấy giá trị hiện thời của PCON SETB ACC.7 đặt bit 7 (SMOD) lên 1
MOV PCON,A ghi giá trị ngược về PCON
Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của timer 1. Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm cho 32 (hay 16 nếu SMOD=1) trước khi cung cấp xung nhịp tốc độ baud cho port nối tiếp.