TỐC ĐỘ BAUD CỦA PORT NỐI TIẾP : - Tài Liệu Text - 123doc

  1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >
TỐC ĐỘ BAUD CỦA PORT NỐI TIẾP :

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (422.28 KB, 106 trang )

GVHD: NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN NGỌC TOÀNBit SM2 không có tác dụng trong mode 0 và trong mode 1 nó có thể được dùng để kiểm tra sự thích hợp của bit Stop. Trong sự thu mode 1, nếuSM2 = 0 thì sự ngắt thu sẽ không tích cực trừ khi bit Stop thích hợp được thu.

6. TỐC ĐỘ BAUD CỦA PORT NỐI TIẾP :

Tốc độ Baud của Port nối tiếp cố đònh ở mode 0 và mode 2. Trong mode 0 nó luôn luôn là tần số dao động trên Chip chia cho 12. Thông thườngthạch anh 12 MHz lái dao động trên Chip 8051 nên tốc độ Baud của mode 0 là 1MHz.On Chip Oscillator BaudRate ClockMODE 0Bằng sự mặc nhiên sau khi reset hệ thống, tốc độ Baud mode 2 là tần số dao động chia cho 64, tốc độ Baud cũng bò ảnh hưởng bởi bit SMOD củathanh ghi PCON.Việc set bit SMOD sẽ tăng gấp đôi tốc độ Baud trong các mode1,2 và 3. Trong mode 2, tốc độ Baud có thể được gấp đôi từ giá trò mặc đònh 164 tầnsốChip ứng SMOD = 0 lên đến 132 tần số dao động trên Chip ứng với SMOD =1.SMOD = 0 On Chip OscillatorBaud Rate ClockSMOD = 1MODE 2Bởi thanh ghi PCON không có bit đònh vò, nên để set bit SMOD mà không thay đổi các bit khác của thanh ghi PCON thì đòi hỏi phải có 1 hoạtđộng “đọc bổ sung ghi”.Các lệnh sau đây set bit SMOD : MOV A, PCON: Nhập vào A giá trò hiện hành của PCON SETB ACC, 7: Set bit 7 cuûa ACC bit SMOD MOV PCON, A: Ghi giá trò trở về PCON mà SMOD đã được set.÷ 12÷ 64÷ 32GVHD: NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN NGỌC TOÀNCác tốc độ Baud trong mode 1 và mode 3 của 8051 được xác đònh bởi tốc độ tràn của Timer 1. Bởi vì Timer hoạt động ở tần số cao liên tục nên trànxa hơn nữa được chia cho 32 chia cho 16 nếu SMOD = 1 trươc khi cung cấp xung clock tốc độ Baud đến Port nối tiếp. Tốc độ Baud ở mode 1 và 3 của8051 được xác đònh bởi tốc độ tràn của Timer 1 hoặc Timer 2, hoặc caû 2.SMOD = 0 On Chip OscillatorBaud Rate ClockSMOD = 1MODE 1 and MODE 3 6.1 Dùng Timer 1 giống như sự đếm tốc độ Baud :Muốn sinh ra tốc độ Baud, ta khởi gán TMOD ở mode tự động nạp 8 bit mode 2 của Timer và đặt giá trò Reload đúng vào byte cao của thanh ghiTimer 1 TH1 để sinh ra tốc độ tràn chính xác cho tốc độ Baud. Có những tốc độ Baud rất chậm ta dùng mode 16 bit là mode 1 của Timer, nhưng ta phảikhởi gán sau mỗi sự tràn cho TL1TH1 trong thủ tục phục vụ ngắt ISR.Hoạt động khác được đếm giờ bởi việc dùng Timer 1 ngoài là T1 P3.5. công thức chung để xác đònh tốc độ Baud trong mode 1 và mode 3 là :BAUD RATE = TIMER 1 OVERFLOW RAT32 Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 120032 =38,4KHz. Nếu thạch anh 12 MHz lái dao động trên Chip, thì Timer 1 được đếm giờ ở tốc độ của tần số 1 MHz. Bời vì Timer phải tràn ở tốc độ tần số38,4 KHz và Timer đếm giờ ở tốc độ của tần số 1 MHz, nên một sự tràn được yêu cầu với 1000 : 38,4 = 26,04 clock làm tròn 26. Bởi vì các Timer đếm lênvà tràn trên sự chuyển đổi từ FFH → 00H của bộ đếm, nên 26 sự đếm thấp dưới 0 là giá trò Reload cần nạp cho TH1 giá trò đúng là - 26. Ta dùng lệnhMOV TH1, 26.Ví dụ sau khởi động Port nối tiếp hoạt động giống như UART 8 bit ở tốc độ Baud 2400, dùng Timer 1 để cung cấp sự đếm giờ tốc độ Baud :MOV SCON, 01010010B : Port nối tiếp mode 1.MOV TMOD, 20: Timer 1 mode 2÷ 32÷ 16GVHD: NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN NGỌC TOÀNMOV TH1, -13: Nạp vào bộ đếm tốc độ 2400 Baud. SETBTR1 : Start Timer 1.Trong SCON coù SM0SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp thu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởiviệc cho biết thanh ghi đếm rỗng. TMOD có M1M0 = 10 để đặt Timer 1 vào mode tự động nạp 8 bit. Việc set bit TR1 để mở máy chạy Timer. Tốc độBaud 2400 sẽ cho ta tốc độ tràn Timer 1 là 240032 = 76,8 KHz đồng thời Timer 1 được đếm giờ ở tốc độ của tần số 1000 KHz ứng với thạch anh 12MHz sẽ cho số xung Clock sau mỗi sự tràn là 1000 : 76,8 = 13,02 lấy tròn 13. Vậy - 13 là giá trò cần nạp vào TH1 để có tốc độ Baud là 2400 Baud.Sau đây là bảng tóm tắt tốc độ Baud phổ biến ứng với 2 loại thạch anh 12 MHz và 11, 059 MHz :Baud Rate CrytalFrequency SMOD TH1 ReloadValue Actua BaudRate Error9600 12MHz1 - 7 F9H8923 72400 12MHz 0 -13 F9H 2404 0,161200 12MHz 0 -26 F9H 1202 019200 11,059MHz 1-3 F9H19200 9600 11,059MHz0 -3 F9H9600 2400 11,059MHz0 -12 F9H2400 1200 11,059MHz0 -24 F9H1200Baud rate sumary. IV. HOẠT ĐỘNG TIMER CỦA 8051 :

1. GIỚI THIỆU :

Xem Thêm

Tài liệu liên quan

  • KỸ THUẬT VI ĐIỀU KHIỂN ỨNG DỤNG VI ĐIỀU KHIỂN HỌ 8051KỸ THUẬT VI ĐIỀU KHIỂN ỨNG DỤNG VI ĐIỀU KHIỂN HỌ 8051
    • 106
    • 886
    • 0
Tải bản đầy đủ (.pdf) (106 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(422.28 KB) - KỸ THUẬT VI ĐIỀU KHIỂN ỨNG DỤNG VI ĐIỀU KHIỂN HỌ 8051-106 (trang) Tải bản đầy đủ ngay ×

Từ khóa » Tốc độ Baud 9600