1. Trang chủ
  2. » Luận Văn - Báo Cáo

điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)

48 1,4K 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 1,36 MB

Nội dung

Khi mức 1 được viết vào các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao.Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu p

Trang 1

BỘ CƠNG THƯƠNG

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP TP.HCM

KHOA CƠNG NGHỆ ĐIỆN TỬ

BỘ MÔN TỰ ĐỘNG

ĐỒ ÁN MƠN HỌC

Đề tài:

Giáo viên hướng dẫn : Th.s Trần Nguyên Bảo Trân

Sinh viên thực hiện : Nguyễn Trung Ngơn

Lê Minh Khánh Vũ

Lớp : DHDT1ATLT

Tp - Hồ Chí Minh : 03 - 2000

Trang 2

MỤC LỤC

Lời nói đầu

PHẦN A: LÝ THUYẾT

I Giới Thiệu Cấu Trúc Phần Cứng Họ MSC_51

II Khảo Sát Sơ Đồ Chân 89V51RB2/RC2/RD2

1 Sơ đồ chân 89V51RB2/RC2/RD2

2 Chức năng từng chân

III Cấu Trúc Bên Trong Của Vi Điều Khiển 89V51RB2/RC2/RD2

1 Tổ chức bộ nhớ

2 Các thanh ghi chức năng đặc biệt

3 Bộ nhớ ngoài

IV Hoạt Động Timer Của Vi Điều Khiển 89V51RB2/RC2/RD2

1 Giới thiệu

2 Các thanh ghi điều khiển timer

3 Các chế độ timer và cờ tràn

V Hoạt Động Port Nối Tiếp Của Vi Điều Khiển 89V51RB2/RC2/RD2

1 Giới thiệu

2 Các thanh ghi điều khiển và các chế độ của port nối tiếp

3 Tổ chức ngắt trong 89V51RB2/RC2/RD2

VI Tóm Tắt Tập Lệnh Của 89V51RB2/RC2/RD2

Phần B: THIẾT KẾ VÀ THI CƠNG

B.SƠ ĐỒ NGUYEN LÝ MẠCH THU

C.LƯU ĐỒ GIẢI THUẬT MẠCH PHÁT

D.LƯU ĐỒ GIẢI THUẬT MẠCH THU

III.KẾT LUẬN

IV.HƯỚNG PHÁT TRIỂN ĐỀ TÀI

TÀI LIỆU THAM KHẢO

Trang 3

LỜI CẢM TẠ

Sinh viên thực hiện xin bày tỏ lòng

cảm ơn đến thầy Trần Nguyên Bảo

Trân trên cương vị là người hướng dẫn

chính của đề tài đã tận tình giúp đỡ trong suốt quá trình thực hiện đồ án

Bên cạnh đó chúng em cũng xin bày tỏ lòng biết ơn đến các thầy cô trong trường Đại Học Công nghiệp TP.HCM đã tận tình dạy dỗ và truyền thụ những kinh nghiệm quý báu trong suốt thời gian qua

Sinh viên thực hiện

Nguyễn Trung Ngôn

Lê Minh Khánh Vũ

Trang 4

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc

PHIẾU NHẬN ĐỒ ÁN MÔN HỌC

Tên đồ án: ĐIỀU KHIỂN XE ROBOT BẰNG MẠCH THU PHÁT TÍN HIỆU RF

(DÙNG VI XỬ LÝ)

Đồ án 1

Họ tên sinh viên: NGUYỄN TRUNG NGÔN Mã số sv:08019471

LÊ MINH KHÁNH VŨ Mã số sv:08017681

Lớp : ĐHĐT1ATLT Nội dung đề tài: - Thực hiện mô hình xe Robot dùng 2 động cơ DC - Sử dụng mạch thu phát tín hiệu RF Hướng phát triển của đề tài : ………

………

………

………

Giáo viên hướng dẫn: Th.s TRẦN NGUYÊN BẢO TRÂN Ngày nhận đề tài: …….………

Ngày hoàn thành: ………

Điểm đề nghị: ……….………

Khoa Công Nghệ Điện Tử Bộ môn Điện Tử Tự Động Tp.HCM, ngày 08 tháng 08 năm 2009 Giáo viên hướng dẫn TRẦN NGUYÊN BẢO TRÂN

Trang 5

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên : Nguyễn Trung Ngơn MSSV: 08019471

Lê Minh Khánh Vũ 08017681

Tên đề tài:

ĐIỀU KHIỂN XE ROBOT BẰNG MẠCH THU PHÁT TÍN HIỆU RF (DÙNG VI XỬ LÝ)

Nhận xét của giáo viên hướng dẫn:

Ngày tháng năm 2010 Giáo viên hướng dẫn

Trang 6

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên sinh viên : Nguyễn Trung Ngơn MSSV: 08019471

Lê Minh Khánh Vũ 08017681

Tên đề tài:

ĐIỀU KHIỂN XE ROBOT BẰNG MẠCH THU PHÁT TÍN HIỆU RF (DÙNG VI XỬ LÝ)

Nhận xét của giáo viên phản biện:

Ngày tháng năm 2010 Giáo viên phản biện

Trang 7

PHAÀN A:

Trang 8

LỜI NÓI ĐẦU

Kỹ thuật vi xử lý hiện nay rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực như sản xuất công nghiệp, tự động hóa và còn nhiều lĩnh vực khác nữa

So với kỹ thuật số thì kỹ thuật vi xử lý nhỏ gọn hơn rất nhiều do nó được tích hợp lại và được lập trình để điều khiển

Với tính ưu việt của vi xử lý thì trog phạm vi đồ án nhỏ này nhóm thục hiện chỉ tiến hành việc dùng vi xử lý để điều khiển tốc độ xe robot, đây chỉ là một ứng dụng nhỏ của vi xử lý trong các ứng dụng của nó

Những kiến thức học được cộng với tài liệu tham khảo, tuy có thể hòan thành cuốn đồ án này nhưng không thể tránh khỏi nhiều thiếu sót mong thầy và các bạn đóng góp để cuốn đồ án hòan thiện hơn

Để hòan thành cuốn đồ án này nhóm đã nhận được sự chỉ bảo tận tình của thầy hướng dẫn và sự giúp đỗ nhiệt tình của bạn bè Cuối cùng nhóm xin cảm

ơn thầy hướng dẫn Trần Nguyên Bảo Trân, thầy hướng dẫn vi xử lý và các thầy cô đã dạy cho nhóm những kiến thức cơ bản để nhóm có thể hòan thành cuốn đồ án này

Sinh viên thực hiện

Nguyễn Trung Ngôn

Lê Minh Khánh Vũ

Trang 10

Bộ nhớ chương trình Flash cho phép lập trình ISP hoặc/và song song Chế độ lập trình song song được đưa ra để thích ứng với tốc độ cao, giảm thời gian và giá thành

Bộ nhớ chương trình 89V51RB2/RC2/RD2 có tính năng IAP (In-Application Programmable), cho phép cấu hình lại bộ nhớ Flash trong khi chạy ứng dụng

Các tính năng:

– CPU 80C51

– Hoạt động ở 5VDC trong tầm tần số dao động đến 40MHz

– 16/32/64 kB bộ nhớ chương trình trên chip với tính năng ISP (In-System Programming) và IAP (In-Application Programming)

– Sử dụng chế độ 12 chu kì xung nhịp (mặc định) hoặc 6 chu kỳ xung nhịp được chọn bằng phần mềm hoặc ISP

– SPI (Serial Peripheral Interface) và tăng cường UART

– 5 PCA (Programmable Counter Array) với chức năng PWM / capture/ compare 16bits

– 4 Port I/O (xuất nhập) 8 bit 3 Port có dòng lớn (16mA trên mỗi chân)

– 3 Timers/Couters 16 bit

– Watchdog Timer có thể lập trình được

Trang 11

– 8 nguồn ngắt với 4 mức độ ưu tiên.

– 2 thanh ghi DPTR

– Chế độ IEM mức thấp

– Thích hợp mức Logic của TTL và CMOS

– Phát hiện nguồn yếu

– Chế độ nguồn yếu

Hình 1.35 – Sơ đồ khối và sơ đồ chân của 89V51RB2/RC2/RD2

1.2 Chức năng của các chân

– Port 0: (P0.0 đến P0.7) có số chân từ 39 đến 32, Port xuất / nhập.

Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit Nếu được sử dụng như là một ngõ xuất thì mỗi chân có thể kéo 8 ngõ vào TTL Khi mức 1 được viết vào các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao.Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu (phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngoài Ở chế

độ này, P0 có các điện trở pullup bên trong

Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và xuất

ra các byte code khi kiểm tra chương trình Cần có các điện trở pullup bên ngoài khi thực hiện việc kiểm tra chương trình

Trang 12

– Port 1: (P1.0 đến P1.7) có số chân từ 1 đến 8, Port xuất / nhập.

Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong Các bộ đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL Khi mức 1 được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội

và có thể được dùng như là các ngõ nhập Nếu đóng vai trò là các ngõ nhập, các chân của port 1 (được kéo xuống thấp qua các điện trở bên ngoài) sẽ cấp dòng IIL do các điện trở pullup bên trong P1.5, P1.6, P1.7 có dòng điều khiển ra cao 16mA

Port 1 cũng đóng vai trò là ngõ vào của địa chỉ byte thấp ở chế độ lập trình cho ROM và kiểm tra

– P1.0 – T2 (Chân xuất / nhập): Ngõ vào đếm của Timer/ Counter 2 hoặc ngõ ra

xung (Clock out) từ Timer/ Counter 2

– P1.1 – T2EX (Chân nhập): Điều khiển hướng và khởi động timer/ Counter 2 ở

chế độ Capture/reload

– P1.2 – ECI (Chân nhập): Ngõ vào xung nhịp Tín hiệu này là nguồn xung nhịp

ngoài cho chức năng PCA

– P1.3 – CEX0 (Chân xuất / nhập): Ngõ xuất nhập (I/O) bên ngoài của

Capture/compare cho PCA Module 0

– P1.4 (Chân xuất / nhập):

+ SS: Chọn cổng phụ vào cho SPI

+ CEX1: Ngõ xuất nhập (I/O) bên ngoài của Capture/compare cho PCA Module1 – P1.5 (Chân xuất / nhập):

+ MOSI: Ngõ ra chính, ngõ vào phụ cho SPI.

+ CEX2: Ngõ xuất nhập (I/O) bên ngoài của Capture/compare cho PCA Module2 – P1.6 (Chân xuất / nhập):

+ MISO: Ngõ vào chính, ngõ ra phụ cho SPI.

+ CEX3: Ngõ xuất nhập (I/O) bên ngoài của Capture/compare cho PCA Module3.

Trang 13

– P1.7 (Chân xuất / nhập):

+ SCK: Ngõ ra chính, ngõ vào phụ cho SPI.

+ CEX4: Ngõ xuất nhập (I/O) bên ngoài của Capture/compare cho PCA Module4 – Port 2 (P2.0 đến P2.7) có số chân từ 21 đến 28, Port xuất / nhập.

Port 2 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong

Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong

Port 2 là địa chỉ byte cao của khi đọc từ bộ nhớ chương trình ngoài và khi truy cập

bộ nhớ dữ liệu ngoài dùng các địa chỉ 16 bit (MOVX @DPTR) Ở chế độ này, nó dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1

Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập trình và kiểm tra bộ nhớ ROM

– Port 3 (P3.0 đến P3.7) có số chân từ 10 đến 17, Port xuất / nhập

Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong

Port 3 cũng nhận một số tín hiệu điều khiển và một phần bit địa chỉ cao trong quá trình lập trình và kiểm tra

– P3.0 – RXD (Chân nhập): Ngõ vào của Port nối tiếp.

– P3.1 – TXD (Chân xuất): Ngõ ra của Port nối tiếp.

– P3.2 – INT0 (Chân nhập): Ngõ vào ngắt ngoài 0.

– P3.3 – INT1 (Chân nhập): Ngõ vào ngắt ngoài 1.

Trang 14

– P3.4 – T0 (Chân nhập): Ngõ vào đếm của Timer/Counter 0.

– P3.5 – T1 (Chân nhập): Ngõ vào đếm của Timer/Counter 1.

– P3.6 – WR (Chân xuất): Điều khiển ghi vào bộ nhớ dữ liệu ngoài.

– P3.7 – RD (Chân xuất): Điều khiển đọc từ bộ nhớ dữ liệu ngoài.

– PSEN (Program Store Enable): Chân 29, chân xuất / nhập.

Khi sử dụng bộ nhớ chương trình trong chip, PSEN không hoạt động (mức cao) Khi sử dụng bộ nhớ chương trình ngoài, PSEN được tích cực 2 lần trong mỗi chu kì máy, ngoại trừ sự khích hoạt PSEN được bỏ qua trong khi kết nối bộ nhớ chương trình ngoài Sự thay đổi cưỡng bức mức cao sang thấp trên PSEN trong khi ngõ vào RST đang ở mức cao trong hơn 10 chu kì máy sẽ đưa vi điều khiển vào chế độ lập trình host

từ bên ngoài

– RST (Reset): Chân 9, chân nhập.

Trong khi bộ dao động đang chạy, vi điều khiển sẽ được Reset khi đặt mức cao vào chân này trong 2 chu kỳ máy Nếu chân PSEN được điều khiển bằng cách chuyển tiếp mức cao sang thấp trong khi chân RST giữ ở mức cao thì Vi điều khiển sẽ vào chế

độ host từ bên ngoài, còn không thì Vi điều khiển sẽ vào chế độ hoạt động bình thường

– EA (External Access Enable): Chân 31, chân nhập.

Chân EA phải được kết nối với điện áp VSS khi cho phép vi điều khiển truy cập

mã từ bộ nhớ chương trình bên ngoài EA phải được đưa lên điện áp VDD khi thực thi chương trình bên trong Tuy nhiên, khóa bảo vệ level 4 sẽ vô hiệu hóa EA, chương trình thực thi chỉ chương thực hiện từ bộ nhớ chương trình bên trong Chân EA có thể chịu đựng điện áp đến 12V

– ALE/PROG (Address Latch Enable): Chân 30, chân xuất / nhập.

ALE là tín hiệu ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ ngoài Chân này cũng là ngõ nhập xung lập trình (PROG) khi lập trình Flash

Trang 15

Khi hoạt động bình thường, ALE được phát với một tỷ lệ không đổi là 1/6 tần số

bộ dao động và có thể được dùng cho các mụch đích timing và clocking bên ngoài Một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài Tuy nhiên, nếu AO được đưa lên mức 1 sẽ vô hiệu hóa chân ALE/PROG

– XTAL1 và XTAL2: chân 18 và 19

XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại dao động nghịch được cấu hình để dùng như một bộ dao động trên chip

– VDD và VSS: Chân nguồn và chân Gound của Vi điều khiển.

Quá trình tuần tự sau khi nguồn được bật, chương trình boot sẽ tự động thực thi và

cố gắng lấy tín hiệu autobaud từ máy chủ Nếu không có quá trình này xảy ra trong vòng 400ms và bit cờ SoftICE không được bật, chương trình boot sẽ tự động vào đoạn chương trình user code

1.3.2 Bộ nhớ dữ liệu

Trang 16

P89V51RB2/RC2/RD2 có 1 kB bộ nhớ RAM được chia thành 3 phần:

–128 Byte thấp (00H to 7FH) là địa chỉ truy xuất trực tiếp và gián tiếp Được chia làm 3 vùng: RAM đa chức năng, RAM định địa chỉ từng bit và các dãy thanh ghi

+ Vùng RAM đa chức năng: gồm có 80 Byte RAM Địa chỉ truy xuất từ 30H đến

7FH Mọi địa chỉ trên vùng RAM đa chức năng đều có thể truy xuất theo kiểu trực tiếp hoặc gián tiếp

+ Vùng RAM định địa chỉ bit: gồm 128 bit được định địa chỉ Địa chỉ truy xuất từ

20H đến 2FH Kiểu truy xuất dữ liệu là trực tiếp, hoặc gián tiếp hoặc theo từng bit Vùng RAM này cho phép xử lý từng bit dữ liệu riêng lẻ mà không ảnh hưởng đến các bit khác trong Byte

+ Các dãy thanh ghi: gồm 4 dãy thanh ghi, mỗi day thanh ghi chứa 8 thanh ghi

Địa chỉ truy xuất từ 00H đến 1FH Kiểu truy xuất dữ liệu là trực tiếp, gián tiếp và thanh ghi Vùng này cho phép truy xuất dữ liệu nhanh, lệnh truy xuất đơn giản và ngắn gọn Ở chế độ mặc định thì dãy thanh ghi tích cực là dãy thanh ghi 0 Có thể thay đổi dãy tích cực bằng cách thay đổi các bit chọn dãy thanh ghi RS1 và RS0 trong thanh ghi PSW Nếu chương trình chỉ sử dụng dãy thanh ghi 0 thì ta có thể sử dụng vùng nhớ từ 08H đến 1FH cho các mục đích khác Nhưng nếu trong chương trình có sử dụng các dãy thanh ghi khác thì phải cẩn thận khi sử dụng vùng nhớ này làm vùng nhớ

dữ liệu

– Thanh ghi chức năng đặc biệt (special function registers) là địa chỉ chỉ truy cập trực tiếp, có địa chỉ từ 80H đến FFH (địa chỉ các thanh ghi được trình bày trong phụ lục)

– 768 Byte RAM mở rộng (000H to 2FFH) là địa chỉ truy cập gián tiếp bằng cách dùng lệnh MOVX và xóa bằng bit EXTRAM Vùng RAM này sử dụng giống như 1 vùng RAM ngoài Chúng ta có thể kết hợp với RAM ngoài theo 2 trường hợp bằng cách sử dụng bit EXTRAM trong thanh ghi AUXR

Trang 17

Hình 1.36 – Tổ chức bộ nhớ

1.4 Một số thanh ghi (chỉ nêu những thanh ghi chưa học)

1.4.1 Thanh ghi AUXR

1.4.2 Thanh ghi AUXR1

Trang 18

DPS (Data pointer select):

– Mức 0: DPTR0 được chọn

– Mức 1: DPTR1 được chọn

Hình 1.37 – Sử dụng thanh ghi DPTR

1.4.3 Các thanh ghi và hoạt động của Bộ Timer/Counters 2

Timer 2 là bộ Timer/Counter 16 bit, có thể hoạt động ở 2 trường hợp hoặc là Timer hoặc là Counter Hai trường hợp này được thiết lập bằng bit C/T2 trong thanh ghi T2CON Timer 2 có 4 chế độ hoạt động: Capture, tự động nạp lại (Auto-reload) (đếm lên hoặc đếm xuống), Clock-out, và tạo tốc độ Baud Các chế độ hoạt động của Timer 2 được chọn theo bảng sau sử dung thanh ghi T2CON và T2MOD

1.4.3.1 Các thanh ghi

89V51RB2/RC2,RD2 sử dụng 6 thanh ghi để truy suất và điều khiển Timer 2: T2CON, T2MOD, TH2, TL2, RCAP2H, RCAP2L

1.4.3.1.1 Thanh ghi điều khiển Timer/Counter 2 T2CON

Mô tả bit của thanh ghi điều khiển Timer/Counter 2 T2CONBit Ký hiệu Mô tả

Cờ tràn của Timer 2 được set khi Timer 2 tràn và phải được xóa bằng phần mềm TF2 sẽ không được set khi bit RCLK hoặc TCLK ở mức 1 hoặc Timer 2 ở chế độ Clock-out

Trang 19

Cờ xung thu Khi RCLK = 1, UART dùng Timer 2 tạo xung thu trong chế độ 1 và 3 Khi RCLK = 0, Timer 1 được sử dụng tạo xung thu.

Cờ xung truyền Khi RCLK = 1, UART dùng Timer 2 tạo xung truyền trong chế độ 1 và 3 Khi RCLK = 0, Timer 1 được sử dụng tạo xung truyền

Cờ cho phép ngoài của Timer 2 Khi EXEN2 = 1, nếu Timer 2 không dùng làm tốc độ Baud cho Port nối tiếp thì nó cho phép lấy kết quả tức thời ở chế độ capture hoặc nạp lại thanh ghi tức thời trong chế độ reload EXEN2 = 0 sẽ bỏ qua sự kiện trên chân T2EX

2 TR2 Điều khiển bắt đầu/ dừng cho Timer 2 Mức 1 cho phép Timer 2

1.4.3.1.2 Thanh ghi T2MOD

Trang 20

Mô tả bit của thanh ghi điều khiển chế độ Timer/Counter 2 T2MOD

Bit Ký hiệu Mô tả

1 T2OE Cho phép ngõ ra Timer 2 Chỉ dùng trong chế độ Clock-out có thể

Trang 21

Hình 1.38 – Chế độ Capture của Timer/counter 2

1.4.3.2.2 Chế độ Auto-reload (đếm lên hoặc đếm xuống) (Chế độ tự động nạp lại 16 bit)

Trong chế độ này, Timer 2 có thể cấu hình là Timer hoặc Counter (sử dụng bit 2

T

C/ ) và có thể lập trình để đếm lên hoặc đếm xuống (sử dụng bit DCEN) Khi Reset, DCEN = 0 và Timer 2 mặc định là đếm lên Nếu bit DCEN được thiết lập, Timer 2 có thể đếm lên hoặc đếm xuống phụ thuộc vào trạng thái của chân T2EX

Trong chế độ này, có 2 chế độ được chọn bằng bit EXEN2 Nếu EXEN2 = 0 thì Timer 2 đếm lên đến FFFFH và thiết lập cờ tràn (overflow flag) Đồng thời thanh ghi của Timer 2 được nạp lại với giá trị 16 bit trong RCAP2L và RCAP2H Giá trị RCAP2L và RCAP2H bởi phần mềm

Hình 1.39 – Timer 2 trong chế độ Auto-reload (DCEN = 0)Tần số Auto-reload khi Timer 2 đếm lên được tính như sau:

RCAP2L)(RCAP2H,

65536

-uencySupplyFreqfrequency

reload

Trang 22

SupplyFrequency là tần số fOSC (C/T2 = 0) hoặc tần số tín hiệu trên chân T2 (

Trong hình 2.11, DCEN = 1 và Timer 2 cho phép đếm lên hoặc đếm xuống Chế

độ này chân T2EX điều khiển hướng đếm T2EX = 1 sẽ đếm lên Timer 2 sẽ tràn tại FFFFH và thiết lập cờ tràn Hoạt động ngắt sẽ xảy ra nếu cho phép ngắt Timer tràn sẽ nạp lại giá trị 16 bit trong RCAP2L và RCAP2H vào thanh ghi TH2 và TL2 T2EX =

1 sẽ đếm xuống Timer sẽ tràn dưới (underflow) khi TH2 và TL2 bằng giá trị của RCAP2L và RCAP2H Timer 2 underflow thiết lập cờ TF2 và nạp giá trị FFFFH vào thanh ghi TH2 và TL2 Cờ ngắt ngoài EXF2 được chốt khi Timer 2 underdlow hoặc overflow Bit EXF2 có thể được dùng như là bit thứ 17 nếu cần

Hình 1.40 – Timer 2 trong chế độ Auto-reload (DCEN = 1)

1.4.3.2.3 Chế độ Clock-out có thể lập trình (Programmable clock-out)

Chế độ này tạo ra xung có độ rộng 50% có thể lập trình được tại chân ngõ ra T2 (chân này co 2 chức năng) Nó có thể lập trình như sau:

– Tần số có thể thiết lập bằng Timer/Counter 2

– Ngõ ra là xung có độ rộng 50% thay đổi từ 122 Hz đến 8 MHz tại tần số hoạt động 16 MHz

Trang 23

Cấu hình Timer/Counter 2 là nguồn phát xung, bit C/T2 = 0, T20E = 1, TR2 =1

để bắt đầu hoạt động Tần số Clock-out tùy thuộc vào tần số oscillator và giá trị nạp lại của thanh ghi Capture Timer 2 (RCAP2L và RCAP2H)

RCAP2L))(RCAP2H,

(65536

x 2

FrequencyOscillator

frequency Out

Chế độ Clock-out và chế độ baud-rate không gây ra hoạt động ngắt

1.4.3.2.4 Chế độ Baud rate generator (tạo tốc độ Baud)

Hình 1.41 – Timer 2 hoạt động ở chế độ Baud rate generatorBit TCLK và / hoặc RCLK trong T2CON cho phép tạo tốc độ Baud truyền và nhận UART sử dụng Timer 1 hoặc Timer 2 Khi TCLK = 0, Timer 1 dùng để tạo tốc

độ truyền UART Khi TCLK = 1, Timer 2 dùng để tạo tốc độ truyền UART RCLK có chức năng giống như trên nhưng dùng để tạ tốc độ thu UART Với hai bit này, Port nối tiếp có thể có tốc độ truyền và nhận khác nhau bằng cách sử dụng Timer 1 và Timer 2.Chế độ Baud rate generator cũng giống như chế độ auto-reload, khi thanh ghi TH2

và TL2 tràn sẽ nạp lại giá trị 16 bit từ thanh ghi RCAP2H và RCAP2L, thanh ghi này phải được thiết lập bằng phần mềm

Tốc độ Baud được tính theo công thức:

RCAP2L))(RCAP2H,

(65536

x 32

FrequencyOscillator

RatesBaud3and1

Trang 24

Timer hoạt động ở chế độ Baud rate generator chỉ khi nào bit RCLK và / hoặc TCLK = 1 Khi thanh ghi TH2 và TL2 tràn sẽ không thiết lập TF2 và không gây ra hoạt động ngắt Vì vậy, ngắt Timer 2 không được phép khi Timer 2 ở chế độ Baud rate generator Ngoài ra, nếu EXEN2 được thiết lập, một sự chuyển tiếp từ 1 đến 0 trên chân T2EX sẽ thiết lập EXF2 nhưng không nạp lại giá trị từ (RCAP2H, RCAP2L) đến (TH2,TL2) Vì vậy, Timer 2 dùng ở chế độ Baud rate generator, T2EX có thể được dùng như một ngắt ngoài bổ xung nếu cần sử dụng.

Sơ lược về tính tốc độ Baud

Nếu Timer 2 được tạo xung bởi chân T2, tốc độ Baud là:

32

rateoverflow2

Timer rate

frate

Giá trị cần nạp vào cho thanh ghi RCAP2H và RCAP2 được tính theo công thức:

ratebaud32

f -65536RCAP2L

Ngày đăng: 02/05/2014, 14:29

HÌNH ẢNH LIÊN QUAN

Hình 1.35 – Sơ đồ khối và sơ đồ chân của 89V51RB2/RC2/RD2 - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.35 – Sơ đồ khối và sơ đồ chân của 89V51RB2/RC2/RD2 (Trang 11)
Hình 1.36 – Tổ chức bộ nhớ - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.36 – Tổ chức bộ nhớ (Trang 17)
Hình 1.37 – Sử dụng thanh ghi DPTR - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.37 – Sử dụng thanh ghi DPTR (Trang 18)
Hình 1.38 – Chế độ Capture của Timer/counter 2 - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.38 – Chế độ Capture của Timer/counter 2 (Trang 21)
Hình 1.39 – Timer 2 trong chế độ Auto-reload (DCEN = 0) Tần số Auto-reload khi Timer 2 đếm lên được tính như sau: - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.39 – Timer 2 trong chế độ Auto-reload (DCEN = 0) Tần số Auto-reload khi Timer 2 đếm lên được tính như sau: (Trang 21)
Hình 1.40 – Timer 2 trong chế độ Auto-reload (DCEN = 1) - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.40 – Timer 2 trong chế độ Auto-reload (DCEN = 1) (Trang 22)
Hình 1.41 – Timer 2 hoạt động ở chế độ Baud rate generator - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.41 – Timer 2 hoạt động ở chế độ Baud rate generator (Trang 23)
Hình 1.42 – Cấu trúc hoạt động của PCA - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.42 – Cấu trúc hoạt động của PCA (Trang 25)
Hình 1.43 – Hoạt động ngắt của PCA - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.43 – Hoạt động ngắt của PCA (Trang 27)
Hình 1.45 – PCA ở chế độ 16-bit software timer - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.45 – PCA ở chế độ 16-bit software timer (Trang 29)
Hình 1.44 – PCA ở chế độ capture - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.44 – PCA ở chế độ capture (Trang 29)
Hình 1.47 – PCA ở chế độ Pulse width modulator (PWM) - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.47 – PCA ở chế độ Pulse width modulator (PWM) (Trang 30)
Hình 1.48 – Cấu trúc ngắt của 89V51RB2/RC2/RD2 - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
Hình 1.48 – Cấu trúc ngắt của 89V51RB2/RC2/RD2 (Trang 32)
SƠ ĐỒ GIẢI THUẬT MẠCH PHÁT: - điều khiển xe robot bằng mạch thu phát tín hiệu rf (dùng vi xử lý)
SƠ ĐỒ GIẢI THUẬT MẠCH PHÁT: (Trang 43)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w