Vi điều khiển - P5

18 386 2
Tài liệu đã được kiểm tra trùng lặp
Vi điều khiển - P5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo trình vi điều khiển được biên soạn nhằm cung cấp cho sinh viên kiến thức về họ vi điều khiển , cách thức lập trình điều khiển, nạp chương trình và thiết kế phần cứng điều khiển...

1NỘI DUNG1. Giới thiệu2. Sơ đồ khối và chân3. Tổ chức bộ nhớ4. Các thanh ghi chức năng đặc biệt5. Dao động và hoạt động reset6. Tập lệnh7. Các mode định địa chỉ8. Lập trình IO9. Tạo trễ10.Lập trình Timer/Counter11.Giao tiếp nối tiếpGiao tiếp nối tiếp12.Lập trình ngắt13.Lập trình hợp ngữ 11. Giao tiếp nối tiếpSerial Communication 311-1. Giới thiệu 4•Port nối tiếp hoạt động song công (full duplex), nghĩa là có khả năng thu và phát đồng thời•Sử dụng 2 thanh ghi chức năng đặc biệt SBUF (địa chỉ byte là 99H) & SCON (địa chỉ byte là 98H) để truy xuất port nối tiếp•Việc ghi lên SBUF sẽ nạp dữ liệu để phát, và việc đọc SBUF sẽ truy xuất dữ liệu đã nhận được  thực ra có 2 SBUF riêng rẽ•SCON chứa các bit trạng thái và điều khiển, thanh này được định địa chỉ bit•Tần số hoạt động của port nối tiếp hay còn gọi là tốc độ baud (baud rate) có thể cố định hoặc thay đổi 5Clk SBUF Q(write only)SBUF(read only)D Shift RegisterClkBaud rate clock(phát)Baud rate clock(thu)TXD(P3.1)8051 internal busRXD(P3.0) 611-2. Thanh khi điều khiển port nối tiếpSM1, SM0: chọn chế độ của port nối tiếpSM2: cho phép truyền thông đa xử lýREN: cho phép thu, phải được set để nhận các ký tựTB8: bit thứ 9 được phát ở chế độ 2 & 3RB8: bit thứ 9 nhận đượcTI: cờ ngắt phát, được set ngay sau khi kết thúc việc phát 1 ký tự; được xóa bởi phần mềmRI: cờ ngắt thu, được set ngay sau khi kết thúc việc thu 1 ký tự; được xóa bởi phần mềmSM0 SM1 SM2 REN RB8TB8 RITISCON 711-3. Các chế độ hoạt độngSM0 SM1 Mode Mô tả Tốc độ baud0 0 0 Thanh ghi dịchCố định (fOSC/12)0 1 1 UART 8-bit Thay đổi (thiết lập bởi bộ định thời) 1 0 2 UART 9-bit Cố định (fOSC/12 hoặc fOSC/64)1 1 3 UART 9-bit Thay đổi (thiết lập bởi bộ định thời) 811-3-1. Thanh ghi dịch 8-bit (mode 0)•Khi phát và thu dữ liệu 8-bit, bit LSB được phát hoặc thu trước tiên•Tốc độ baud cố định = fOSC/12•Chân RxD dùng cho cả việc thu phát dữ liệu trong khi TxD dùng làm chân xuất clock dich bit•Phát: –Ghi vào SBUF–Dữ liệu được dịch ra ngoài trên chân RxD–Xung clock dịch bit được gửi ra trên chân RxD–Mỗi bit hợp lệ truyền đi trên RxD trong 1 chu kỳ máy 9•Thu:–Chỉ được khởi động khi REN = 1 & RI = 0, nghĩa là phải set REN = 1 ở thời điểm bắt đầu chương trình & xóa RI để bắt đầu công việc thu dữ liệu–Dữ liệu được dịch vào chân RxD bởi xung clock dịch bit (tác động sườn lên)•1 Ứng dụng của mode 0:–Mở rộng thêm các ngõ ra cho 80518051TxD(P3.1)RxD(P3.0)ClockShift RegsiterData8 ngõ ra mở rộng 1011-3-2. UART 8-bit có tốc độ baud thay đổi (mode 1)•UART là bộ thu phát dữ liệu nối tiếp với mỗi ký tự dữ liệu được đứng trước bởi 1 bit start và đứng sau bởi 1 bit stop. Thỉnh thoảng 1 bit parity được chèn vào.•Hoạt động chủ yếu của UART là biến dữ liệu phát từ // thành nt và biến dữ liệu thu từ nt thành //•Cờ ngắt phát TI được set bằng 1 ngay khi bit stop xuất hiện trên TxDD0 D1 D2 D3 D4 D5 D6 D7Start bitStop bit1 / baud rateTI (ready for more data)TxDTI [...]... thanh ghi chức năng đặc biệt SBUF (địa chỉ byte là 99H) & SCON (địa chỉ byte là 98H) để truy xuất port nối tiếp • Vi c ghi lên SBUF sẽ nạp dữ liệu để phát, và vi c đọc SBUF sẽ truy xuất dữ liệu đã nhận được  thực ra có 2 SBUF riêng rẽ • SCON chứa các bit trạng thái và điều khiển, thanh này được định địa chỉ bit • Tần số hoạt động của port nối tiếp hay còn gọi là tốc độ baud (baud rate) có... phải set REN = 1 ở thời điểm bắt đầu chương trình & xóa RI để bắt đầu công vi c thu dữ liệu – Dữ liệu được dịch vào chân RxD bởi xung clock dịch bit (tác động sườn lên) • 1 Ứng dụng của mode 0: – Mở rộng thêm các ngõ ra cho 8051 8051 TxD(P3.1) RxD(P3.0) Clock Shift Regsiter Data 8 ngõ ra mở rộng 10 1 1-3 -2 . UART 8-bit có tốc độ baud thay đổi (mode 1) • UART là bộ thu phát dữ liệu nối tiếp với... mềm CTC nhận 1 ký tự qua port nối tiếp như sau: INCHAR: JNB RI, $ CLR RI MOV A, SBUF RET CTC phát 1 ký tự qua port nt: OUTCHAR: JNB TI, $ CLR TI MOV SBUF, A RET 14 1 1-5 . Tốc độ baud của port nối tiếp ÷12 On-chip OSC Baud rate clock ÷64 On-chip OSC Baud rate clock ÷32 SMOD=0 SMOD=1 ÷32 Timer 1 overflow Baud rate clock ÷16 SMOD=0 SMOD=1 Mode 0 Mode 2 Mode 1 & 3 ... D7 Start bit Stop bit 1 / baud rate TI (ready for more data) TxD TI 12 1 1-4 . Khởi động và truy xuất các thanh ghi • Cho phép nhận: REN trong SCON phải được set bởi phần mềm để cho phép nhận ký tự SETB REN Hoặc MOV SCON, #xxx1xxxxB • Thêm vào bit chẵn lẻ: bit P trong PSW được set hoặc xóa ở mỗi chu kỳ máy để thiết lập vi c kiểm tra chẵn cho 8 bit chứa trong A MOV C, P ; đưa bit kiểm tra chẵn . thời) 1 0 2 UART 9-bit Cố định (fOSC/12 hoặc fOSC/64)1 1 3 UART 9-bit Thay đổi (thiết lập bởi bộ định thời) 81 1-3 -1 . Thanh ghi dịch 8-bit (mode 0)•Khi. số9600 12 1 -7 (F9H) 8929 ~7%1200 12 0 -2 6 (E6H) 1202 0,16%19200 11,0592 1 -3 (FDH) 19200 0%9600 11,0592 0 -3 (FDH) 9600 0%4800 11,0592 0 -6 (FAH) 4800

Ngày đăng: 15/10/2012, 11:09

Tài liệu cùng người dùng

Tài liệu liên quan