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

BAO CAO DO AN VDK DINH+KHUONG

29 470 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 29
Dung lượng 1,87 MB

Nội dung

xdcvbnm,.

Trang 1

PHẦN 1: SƠ LƯỢC VỀ MCU PHILIPS P89V51Rx2

Đối với đa số sinh viên đều biết đến vi điều khiển gắn liền với dòng

chip của hãng Atmel như: AVR, 89c51, 89s52

Cùng với sự phát triển và nhu cầu về ứng dụng vi điều khiển ngày một cao các dòng chip mới ra đời, nhiều tính năng và dễ dàng hơn cho người lập trình Trong số đó phải kể đến dòng chip hãng Phillip với các MCU như P89V51RD2, P89V51RC2, P89V5RB2…

Để giới thiệu về dòng chip này xin lấy MCU P89V51RD2 làm điển hình

1/ Khái quát tính năng:

+ Khái quát:

ϒ P89V51RD2 là vi điều khiển 80C51 có 64kB Flash và

1024bytes<1kB> bộ nhớ dữ liệu RAM

ϒ Tính năng đặc biệt của P89V61RD2 là ở chế độ hoạt động mode x2 Người thiết kế có thể chọn chạy ứng dụng của mình ở chế độ này để nâng đôi tốc độ khi hoạt động ở cùng tần số dao động<một chu kì máy=6 chu kì xung nhịp> Tốc độ thông thường của 80c51 là 12 xung nhịp trong 1 chu kì máy

ϒ 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

Chức năng ISP cho phép ta nạp chương trình trực tiếp vào chip ngay trên mạch ứng dụng

ϒ P89V51RD2 còn có chức năng IAP (In_Application Program) cho phép bộ nhớ chương trình Flash có thể được cấu hình lại trong khi ứng dụng đang chạy

ϒ PCA (Program counter array) với chức năng PWM/capture/compare 16bits

ϒ 4 cổng xuất nhập

ϒ 3 Timers/Couters 16bits

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

ϒ 8 nguồn ngắt với 4 mức ưu tiên ngắt Nó cũng có ngắt ngoài, timer, nối tiếp như 89x, ngoài ra còn có ngắt bởi PCA, UART/SPI

ϒ 2 thanh ghi DPTR

Trang 2

Có thể khái quát bằng sơ đồ khối :

Hình 1: Sơ đồ khối MCU P89V51RD2

2/ Khái quát về phần cứng :

Sơ đồ chân

:

Trang 3

2.1/ Sơ qua về các chân của vi điều khiển:

- Port 0, Port 1, Port 2, Port 3: Như cấu trúc 8051 kinh điển

- P1.0 / T2: Ngõ vào Counter cho Timer/Counter 2 hoặc ngõ ra cho Counter/Timer 2

- P1.1 / T2EX: Điều khiển hướng và cạnh kích chức năng Capture cho timer/Counter 2

- P1.2 / ECI: 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: ngõ vào xung nhịp cho chức năng Capture/Compare modul 0

- P1.4:

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

o CEX1: ngõ vào xung nhịp cho chức năng Capture/Compare modul 1

-P S E N : Cho phép dùng bộ nhớ chương trình ngoài Khi MCU

sử dụng bộ nhớ chương trình trong chip, P S E N không tích cực Khi

sử dụng bộ nhớ chương trình ngoài, P S E N thường ở mức tích cực 2 lần trong mỗi chu kì máy Sự chuyển mức cao sang thấp ↓ trên P S E

N cưỡng bức từ bên ngoài khi ngõ vào RST đang ở mức cao trong hơn 10 chu kì máy sẽ đưa MCU vào chế độ lập trình host từ bên

ngoài

- RST: Khi nguồn dao động đang hoạt động, mức cao trên chân RST

trong ít nhất 2 chu kì máy sẽ Reset lại hệ thống Nếu chân P S EN

chuyển mức ↓ trong khi RST vẫn còn ở mức cao, MCU sẽ vào chế độ lập trình host từ bên ngoài, nếu không, sẽ hoạt động bình

thường

- E A : Cho phép sử dụng bộ nhớ chương trình ngoài

o E A =’0’ Bộ nhớ ngoài

o E A =’1’ Bộ nhớ trong chip

- ALE/ PROG : Cho phép khóa địa chỉ<Như 8051 cổ điển> ngoài ra,

chân này còn được dùng để đưa vào chế độ lập trình FLASH

2.2/ Tổ chức bộ nhớ:

MCU P89V51RD2 có 2 vùng không gian địa chỉ riêng biệt: vùng lưu

Trang 4

2.2.1/ Lựa chọn bank bộ nhớ chương trình flash:

Có 2 vùng bộ nhớ nội flash trong MCU, Block 0 có 64kB và được tổ chức thành 512 sector, mỗi sector chứa 128 Bytes Block 1 chứa chương trình ISP/IAP và được kích hoạt khi chọn kết hợp bit reset mềm

(SWR)<FCF.1> và bit chọn bank (BSEL) <FCF.0> Sự kết hợp này được thể hiện trong bảng dưới đây :

Nếu chế độ IAP/ISP được enable thì đoạn bootcode được đặt ở 8kB đầu tiê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ó autobaud 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 được người dùng lập trình

2.2.2/ Thực thi đoạn code Reset nguồn sau khi bật nguồn: <Power-on

reset code execution>

Khi mới cấp điện vào MCU, tất cả các port đều ở trạng thái bất kì nào

đó tới khi oscillator bắt đầu hoạt động và quá trình reset kéo tất cả các pin lên mức cao Quá trình bật nguồn mà không đi đôi với việc Reset MCU hợp

lý sẽ dẫn tới tình trạng ta không biết MCU thực thi lệnh ở vùng nhớ nào Điều đó có thể dẫn đến mã lệnh trong flash bị thay đổi Reset hệ thống trong khi chương trình đang hoạt động sẽ không có ảnh hưởng tới RAM của

MCU, tuy nhiên, nội dung của vùng nhớ RAM trên chip trong quá trình bật nguồn là các giá trị ngẫu nhiên

Khi bắt đầu mở nguồn, chân RST phải được giữ ở mức cao một

khoảng thời gian đủ cho oscillator khởi động <thường là vài mili giây đối với dao động ở tần số thấp>, thêm nữa, để quá trình reset là hợp lệ, cần giữ mức cao ít nhất 2 chu kì máy Các giá trị trở và tụ được chọn trên hình 3:

Trang 5

Hình 3: Mạch Reset hợp lệ Nói một cách dễ hiểu, để quá trình Reset là hợp lệ, ta nên mắc mạch

RC như hình3 Khi dùng ở chức năng ISP/ICP, cần thêm một Push button kéo lên nguồn như hình5 Quá trình Reset ngoài<chỉ nhấn nút RESET> và POR là có tác dụng như nhau

Hình 4: Mạch MCU P89V51RD2 khi sử dụng ISP

Quá trình Reset ngoài và reset khi bật nguồn sẽ làm cho các bit SWR

và BSEL mang giá trị 0 MCU sẽ thực thi đoạn bootcode tại 8kB đầu tiên (block 1) và cố gắng lấy tín hiệu autobaud, trong khoảng 400ms ko nhận được tín hiệu autobaud và cờ solfICE không tích cực MCU chuyển sang thực thi user code cùng địa chỉ (block 0),tức là thực hiện quá trình solfware reset Ngoài ra còn có các chế độ reset khác : Brown-out reset, Watchdog reset

Trạng thái của bit SWR và BSEL sau các kiểu reset được thể hiện trong bảng sau:

Trang 6

2.3/ Bộ nhớ RAM và các thanh ghi chức năng đặc biệt (SFRs):

MCU P89V51RB2/RC2/RD2 có RAM của bộ nhớ nội 1kB và có khả năng giao tiếp bộ nhớ ngoài lên tới 64kB

Có 4 đặc điểm đáng lưu ý về bộ nhớ nội là :

1 128 bytes thấp của RAM (00-7Fh) có byte được định địa chỉ trực tiếp hoặc không trực tiếp

2 128 bytes cao hơn (80h-FFh) được định địa chỉ không trực tiếp

3 Chỉ các thanh ghi chức năng đặc biệt (80h-FFh) được định địa chỉ trực tiếp

4 768 bytes của Expanded Ram (000h-2FFh) được định địa chỉ

không trực tiếp bởi lệnh MOVX và việc xóa bit EXTRAM

128 bytes cao của RAM có cùng địa chỉ với SFRs, RAM phải truy cập gián tiếp Vùng không gian RAM và SFRs là phân biệt về mặt vật lý ngay cả khi chúng có cùng địa chỉ logic

Hình 5: Cấu trúc bộ nhớ nội

Trang 7

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

Trang 10

3/ Mô tả chức năng :

Trong phần khái quát tính năng tôi đã đề cập đến các tính năng của MCU Phillip Ở phần này xin được đi sâu hơn ở tính năng : Tạo tốc độ baud UART và các chức năng PCA

3.1/ Tạo tốc độ baud UART :

Bit TCLK và/hoặc RCLK trong thanh ghi T2CON cho phép chọn

nguồn sinh tốc độ Baud UART truyền phát từ timer1 hoặc 2:

SCON: SM0-SM1 quyết định mode UART tốc độ baud

TI: cờ ngắt truyền phát

RI: cờ ngắt thu nhận

REN: cho phép thu

SM2= ‘1’ UART mode 2 và 3, cho phép truyền thông đa xử lý

Khi TCLK = 0, Timer 1 là nguồn sinh tốc độ Baud, Khi TCLK = 1, Timer 2 là nguồn sinh tốc độ Baud

Ở đây ta xét đến trường hợp Timer 2 được dung làm nguồn sinh tốc độ baud Nếu Timer 2 ở chế độ ‘counter’ ( C/T2 = 1) thì tốc độ baud ở mode UART 1

và 3 được tính theo công thức :

Mode 1 & 3 baud rate = Timer 2 over flow/ 16

Trong trường hợp timer 2 ở chế độ ‘timer’ thì tốc độ baud được tính theo công thức:

Oscillator Frequency Baud rate = -

(16 x (65536 – (RCAP2H RCAP2L)))

Với RCAP2H - RCAP2L là giá trị integer 16bit không dấu

Trang 11

Hình 6: Timer 2 ở chế độ sinh tốc độ baud

Ta có bảng thống kê một số giá trị tốc độ baud tương ứng với các giá trị

trong RCAP2L và RCAP2H :

Trang 12

3.2/ Chức năng PCA :

Chức năng nổi bật của P89V51RD2 là có 5 kênh PCA, các thanh ghi chịu tác động: CMOD, CCON, CCAPMn

Hình 7: Hệ thống các ngắt của PCA

a Thanh ghi chức năng đặc biệt CMOD:

Có thể can thiệp vào từng bit, chức năng các bit được thể hiện trong bảng :

PCA là Timer 16bit đặc biệt, gồm 5 modul Mỗi modul có thể lập

trình để vận hành 1 trong 4 chế độ: capturecạnh lên/xuống, timer, ngõ ra tốc

độ cao, hay PWM Timer PCA thể vận hành nhờ các nguồn xung nhịp:

½OscFreq ; 1/6OscFreq; tốc độ tràn của timer 0; hay từ ngõ vào trên chân ECI(P1.2) Nguồn xung nhịp của PCA được chọn nhờ các bit CPS1-CPS0 trên thanh ghi đa dụng CMOD

Trang 13

b Thanh ghi chức năng đặc biệt CCON:

c Thanh ghi chức năng so sánh/capture cho các modul PCA: CCAPMn

d Các chế độ hoạt động của PCA :

Trang 14

+ Chế độ Capture :

Phải có ít nhất 1 bit trong CAPP hoặc CAPN được bật; sự chuyển mức CEX sẽ thành ngõ vào Capture cho modul này.Khi có sự chuyển mức hợp lệ trên CEX, phần cứng của modul PCA sẽ tự nạp các giá trị thanh ghi Timer/Counter của PCA (CH và CL) vào các thanh ghi Capture modul PCA

đó <CCAPnL, CCAPnH> Xem hình vẽ dưới để thấy rõ hơn chức năng đấy

Hình 8: Chế độ Capture của PCA

Trang 15

+ Chức năng PWM của PCA :

Chức năng PWM này có độ phân giải 8 bit, tức là ta được 256 mức chia <tương đối mịn với áp 24V thì mỗi mức sẽ được 24/256≈94mV>

Trang 16

Phần 2: DỤNG VI ĐIÊU KHIÊN TRONG ĐIỀU KHIỂN

ĐỘNG CƠ DC BẰNG SÓNG HỒNG NGOẠI

Với những ưu điểm của mình và nhu cầu của đời sống mà phạm vi ứng dụng của VI ĐIỀU KHIỂN ngày càng rộng rãi Điều khiển động cơ là một trong những ứng dụng đặc trưng của vi điều khiển Với đề tài này chúng tôi rất mong được sự ủng hộ của thầy cô và các bạn sinh viên

1.1/ Giới thiệu sơ lược về hồng ngoại:

1.1.1/ Hồng ngoại là gì ?

Hồng ngoại là sự bức xạ năng lượng với tần số thấp hơn tần số mà mắt ta nhìn thấy Vì vậy chúng ta không thể nhìn thấy nó được Tuy nhiên như chúng ta đều biết mặc dù không “nhìn” thấy tần số âm thanh nhưng chúng ta biết rằng nó tồn tại và tai ta có thể nghe thấy chúng

Ta không thể nhìn thấy hay nghe thấy hồng ngoại nhưng ta có thể cảm thấy

nó từ sự cảm ứng nhiệt trên da Khi bạn đưa tay tới gần ngọn lửa hoặc những vật nóng , bạn sẽ cảm thấy nhiệt dù bạn không nhìn thấy Bạn nhìn thấy ngọn lửa là bởi vì nó phát ra nhiều loại bức xạ mắt ta có thể nhìn thấy, đồng thời nó cũng phát ra hồng ngoại mà ta chỉ có thể cảm nhận qua da

1.1.2/ Hồng ngoại trong điện tử:

Hồng ngoại thật thú vị, bởi vì nó được tạo ra 1 cách dễ dàng và không bị ảnh hưởng bởi nhiễu điện từ do đó nó được sử dụng một cách rộng rãi và tiện lợi trong thông tin và điều khiển Tuy nhiên nó không hoàn hảo, nhiều nguồn sáng khác nhau có thể phát ra hồng ngoại và có thể gây nhiễu đến thông tin này Mặt trời là một ví dụ, nó phát ra một khoảng phổ rất rộng trong đó có phổ hồng ngoại Việc sử dụng hồng ngoại trong các thiết bị điều khiển từ xa TV/VCR và nhiều ứng dụng khác cũng một phần là do các Diode phát và thu hồng ngoại rất rẻ và sẵn có trên thị trường

Như đã nói ở trên, nhiều thứ có thể tạo ra hồng ngoại, bất kỳ thứ gì bức xạ nhiệt đều có khả năng đó Bao gồm cơ thể chúng ta, đèn, lò vi sóng, chà sát tay bạn vào nhau, thâm chí cả nước nóng nữa Vì vậy để cho phép sự truyền thông hiệu quả sử dụng hồng ngoại và tránh những tín hiệu nhiễu không

Trang 17

nhưng bạn có thể dễ dàng nhận ra 1 chiếc máy bay bởi ánh sáng nhấp nháy của nó Ánh sáng nhấp nháy này cũng có thể coi là một “khoá” , một kiểu

mã hoá đối với chúng ta

Tương tụ như máy bay trong bầu trời đêm ,TV của chúng ta cũng có thể nhận hàng trăm nguồn hồng ngoại li ti từ cơ thể chúng ta, những chiếc đèn xung quanh thậm chí là một tách trà nóng Một cách để tránh những nguồn hồng ngoại khác nhau là tạo ra một khoá Do đó, điều khiển từ xa dùng để điều biến hồng ngoại của nó tại một tần số nào đó Đầu thu hồng ngoại ở TV/VCR sẽ đi theo tần số này mà lờ đi các hồng ngoại khác nhận được Khoảng tần số hay sử dụng là 3060KHz , tốt nhất là khoảng từ 3638KHz Hồng ngoại phát ra từ các diode hồng ngoại theo các xung nhịp với tần số 36000 lần một giây phát ra các mức logic “0” và “1”

Để tạo ra tần số 36 Khz là việc đơn giản, cái khó ở đây là thu và nhận dạng

nó Đó là lý do tại sao nhiều công ty sản xuất ra thiết bị thu hồng ngoại bao gồm những bộ lọc, mạch giải mã và sửa dạng đầu ra Một xung vuông chu

kỳ xấp xỉ 27µs đưa vào cực bazơ của Transistor có thể điều khiển 1 LED hồng ngoại để truyền đi

Bạn có thể bật hoặc tắt tần số này tại đầu phát , đầu thu sẽ chỉ ra khi nào đầu phát là bật hay tắt

Trang 18

Những bộ giải điều chế có mức logic đảo tại đầu ra khi có một gói hồng ngoại được gửi, đầu ra ở mức tích cực thấp ,tương đương mức logic 1

Để tránh việc một điều khiển từ xa Philip có thể thay đổi kênh của một TV Panasonic , người ta sử dụng các cách mã hoá khác nhau cho cùng một khoảng tần số đó Chúng sử dụng các kiểu tổ hợp bít khác nhau để mã hoá việc truyền dữ liệu và tránh nhiễu

1.1.3/ Điều khiển TV SONY :

Sony sử dụng loại mã hóa độ rộng bít, đây là kiểu mã hoá đơn giản cho việc giải mã

Hãy xem xét khoảng thời gian nhỏ T cỡ 600µs Mỗi bit truyền đi là sự kết hợp của -T+T cho bít “0” và -T+2T cho bít ”1” Vì vậy bit 0 có chiều dài 1200µs và bit 1 có chiều dài 1800µs

Mức lên (+T) trong tín hiệu trên có nghĩa là hồng ngoại được truyền đi , mức xuống (-T) nghĩa là không có

Các nhà sản xuất tăng cường hiệu quả truyền tín hiệu bằng cách mở rộng 1 chút khoảng thời gian sóng mang 36 KHz tích cực và rút ngắn khoảng thời gian kia Như vậy tín hiệu tử REMOTE SONY có dạng sóng như sau:

Trang 19

Mỗi lần khi 1 tín hiệu hồng ngoại được truyền đi nó được mã hóa thành 12 bit và Header (cũng có thể xem là Start bit)

_ Phần Header được truyền đi đầu tiên và có độ rộng 3T hay 1800us _ Tiếp theo là 12 bit được điều chế như sau:

500µs im lặng + 700µs hồng ngoại = bit 0 500µs im lặng +1300µs hồng ngoại = bit 1 Bit đầu tiên sau bit START là bit LSB, ta đặt tên nó là bit B0, bit cuối cùng

Trang 20

Để thu và giải mã được tín hiệu từ REMOTE SONY, thực tế ta không cần thu toàn bộ 12 bit mã hoá Ta chỉ cần thu 7 bit COMMAND và có thể bỏ qua 5bit địa chỉ, bởi với cùng một điều khiển thì tất cả các nút bấm đều phát ra

mã địa chỉ như nhau, chỉ khác nhau mã lệnh Mã địa chỉ được SONY sử dụng để phân biệt giữa các MODEL REMOTE SONY khác nhau

2/ Thuật toán thu nhận tín hiệu hồng ngoại:

Để thu 7 bit mã lệnh ta có thuật toán sau:

1 Thiết lập thanh ghi A = 01000000B

2 Khởi đầu bằng cách chờ tín hiệu xuống – Đây sẽ là bit START

3 Chờ cho tín hiệu lên - Đây là khởi đầu của bit

4 Chờ tín hiệu đi xuống

5 Chờ khoảng 750-950µs

6 Đo mức tín hiệu

7 Nếu mức tín hiệu là mức cao (UP) –Bit nhận được là bit 0

- Thiết lập bit nhớ C = 0 (bit mã lệnh thu được)

- Quay phải có nhớ A, như vậy C sẽ được gửi vào MSB của A, LSB của A gửi vào C

- Ban đầu, A = 01000000B thì sau khi quay ta có C = 0 và MSB của A là bit đầu tiên của mã lệnh

- Như vậy sau 7 lần quay thì C = 1 và 7 bít bên trái của A sẽ chứa mã lệnh

- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 4

8 Nếu mức tín hiệu là mức thấp (DOWN) – Bit nhận được là 1

- Thiết lập Bit nhớ C = 1 (bit mã lệnh thu được)

- Quay phải có nhớ A

- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 3

9 7 bit mã lệnh chứa trong 7 bit trái của A : A = D6D5D4D3D2D1D00

- Quay phải A được 7 bít phải của A chứa mã lệnh :

A = 0D6D5D4D3D2D1D0

Ngày đăng: 10/09/2013, 20:45

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ khối MCU P89V51RD2 - BAO CAO DO AN VDK DINH+KHUONG
Hình 1 Sơ đồ khối MCU P89V51RD2 (Trang 2)
được thể hiện trong bảng dưới đây : - BAO CAO DO AN VDK DINH+KHUONG
c thể hiện trong bảng dưới đây : (Trang 4)
Hình 3: Mạch Reset hợp lệ - BAO CAO DO AN VDK DINH+KHUONG
Hình 3 Mạch Reset hợp lệ (Trang 5)
Hình 4: Mạch MCU P89V51RD2 khi sử dụng ISP - BAO CAO DO AN VDK DINH+KHUONG
Hình 4 Mạch MCU P89V51RD2 khi sử dụng ISP (Trang 5)
Hình 5: Cấu trúc bộ nhớ nội - BAO CAO DO AN VDK DINH+KHUONG
Hình 5 Cấu trúc bộ nhớ nội (Trang 6)
Hình 6: Timer 2ở chế độ sinh tốc độ baud - BAO CAO DO AN VDK DINH+KHUONG
Hình 6 Timer 2ở chế độ sinh tốc độ baud (Trang 11)
Ta có bảng thống kê một số giá trị tốc độ baud tương ứng với các giá trị - BAO CAO DO AN VDK DINH+KHUONG
a có bảng thống kê một số giá trị tốc độ baud tương ứng với các giá trị (Trang 11)
Hình 7: Hệ thống các ngắt của PCA a.Thanh ghi chức năng đặc bi ệ t CMOD:  - BAO CAO DO AN VDK DINH+KHUONG
Hình 7 Hệ thống các ngắt của PCA a.Thanh ghi chức năng đặc bi ệ t CMOD: (Trang 12)
đó &lt;CCAPnL, CCAPnH&gt;. Xem hình vẽ dưới để thấy rõ hơn chức năng đấy. - BAO CAO DO AN VDK DINH+KHUONG
lt ;CCAPnL, CCAPnH&gt;. Xem hình vẽ dưới để thấy rõ hơn chức năng đấy (Trang 14)
Hình 9: Chế độ PWM của PCA. - BAO CAO DO AN VDK DINH+KHUONG
Hình 9 Chế độ PWM của PCA (Trang 15)

TỪ KHÓA LIÊN QUAN

w