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

ĐO vận tốc TRUNG BÌNH của một vật CHƯYỂN ĐỘNG TỊNH TIẾN

33 836 4

Đ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 33
Dung lượng 598,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thanh ghi tích lũy B ,dùng cho phép nhân và phép chia Đơn vị logic học ALU : Arithmetic Logical Unit Thanh ghi từ trạng thái chương trình PSw : Program Status Word Bốn băng thanh ghi

Trang 2

LỜI NÓI ĐẦU Bước sang thế kỷ XXI, thế giới và Việt nam đều khẳngđịnh có 04 lĩnh vực khoa học được gọi là lĩnh vực công

nghệ cao, đó là: Công nghệ điện tử; Công nghệ Vật liệu

mới; Công nghệ sinh học và Công nghệ năng lượng mới Ngành Công nghệ Điện tử ở đây thực chất được hiểu

bao gồm từ công nghệ Nano, Kỹ thuật điện tử, Kỹ thuậtmáy tính, Điện tử viễn thông và Điều khiển Tự động Mộttrong những yếu tố tạo ra những tiền đề đó là ngành Côngnghệ kỹ thuật Điện Tử -Tự Động Hoá.Việc áp dụng hợp lýcác thành tựu của điều khiển tự động và máy vi tính vàosản xuất sẽ mang lại lợi ích to lớn về nhiều mặt

Môn học vi xử lý là một trong ứng dụng to lớn đó, với

sự ra đời của các bộ vi xử lý nói chung, các bộ vi điều

khiển nói riêng đã tạo ra một bước ngoặt lớn trong việc thiết kế các hệ thống xử lý thông tin, đo lường điều khiển

và truyền thông…

Được sự hướng dẫn nhiệt tình của cô giáo nhóm

em đã nghiên cứu thành công và đã hoàn thành xong nội dung đề tài đồ án môn học vi điều khiển:

Trang 3

PHẦN I : GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU

KHIỂN

Bộ vi điều khiển viết tắt là Micro-controller,là mạch tích hợp trên một chip có thể lập trình được,dùng để điều khiển hoạt động của một hệ thống.Theo các tập lệnh của người lập trình , bộ vi điều khiển tiến hành đọc,lưu trữ

thông tin,đo thời gian và tiến hành đóng mở một cơ cấu nàođó

Trong các thiết bị điện và điện và điện tử dân dụng,các

bộ vi điều khiển,điều khiển hoạt đọng của TV,máy giặt,đầuđọc laser,điện thoại,lò viba….Trong hệ thống sản xuất tự động,bộ vi điều khiển được sử dụng trong Robot,dây truyền

tự động.Các hệ thống càng “thông minh” thì vai trò của hệ

vi điều khiển càng quan trọng

Hiện nay các bộ vi điều khiển 8 bit đứng đầu là họ

8051 có số lượng lớn nhất các nhà cung cấp đa dạng (nhiềunguồn ).Nhà cung cấp có nghĩa là nhà sản xuất bên cạnh nhà sáng chế của bộ vi điều khiển Trong trường hợp 8051 thì nhà sản xuất là Intel , nhưng hiện nay có rất nhiều hãng sản xuất nó (cũng như trước kia đã sản xuất).8051 là một

bộ sử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit

Trang 4

dữ liệu tại một thời điểm.Dữ liệu lớn hơn 8 bit được chia rathành các dữ liệu 8 bit để cho xử lý.8051 có tất cả 4 cổng vào – ra I/O mỗi cổng rộng

Thanh ghi tích lũy A

3216

Trang 5

Thanh ghi tích lũy B ,dùng cho phép nhân và phép

chia

Đơn vị logic học (ALU : Arithmetic Logical Unit)

Thanh ghi từ trạng thái chương trình (PSw :

Program Status Word)

Bốn băng thanh ghi

Con trỏ ngăn xếp

Tranmistter) có chứ năng truyền nhận nối tiếp ,

AT89S52 có thể giao tiếp với cổng nối tiếp của máy

tính thông qua bộ UART

thời và đếm sự kiện

động của của CPU khi nó bị treo bởi một nguyên nhân nào

gian 98*TOSC (TOSC = 1/FOSC) và AT89S52 sẽ được reset Khi WDT hoạt động , ngoại trừ Reset phần cứng và Reset cho WDT tràn thì không có cách nào để cấm được WDT , vì vậy khi sử dụng WDT thì

các đợn mã của chương trình phải được đặt trong các khe thời gian giữa các lần WDT được khởi tạo lại

Trang 6

 Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4

nguồn ngắt trong

người sử dụng có thể nạp các chương trình cho chíp màkhông cần đến bộ nạp chuyên dụng

Sơ đồ chân , chức năng của các chân của AT89S52

CHỨC NĂNG CÁC CHÂN CỦA HỌ 8051

Port 0 gồm 8 chân,ngoài chức năng

với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ…

1 Port 1 (P1.0 – P1.7) : có chức năng xuất nhập theo bit

và theo byte.Bên cạnh đó 3 chân P1.5 , P1.6 , P1.7

Trang 7

được dùng để nạp ROM theo chuẩn ISP , 2 chân P1.0

và P1.1 được dùng cho bộ Timer 2

2 Port 2 : là cổng vào/ra còn là byte cao của bus địa chỉ khi sử dụng bộn nhớ ngoài

3 port 3 : ngoài chức năng xuất nhập còn có chức năng riêng

Dữ liệu nhận choport nối tiếp4

port nối tiếp

Trang 8

lệnh để được giải mã.khi thực hiện chương trình ROMnội thì /PSEN ở mức cao

6 Chân ALE (Address Latch Enable) : ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển.Tín hiệu ALE được dùng để cho phép vimachj chốt bên ngoài hư 74373,74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ/dữ liệu (Port 0)

7.Chân /EA(External Access) : tín hiệu cho phép chọn bộnhớ chương trình là bộ nhớ trong hay ngoài vi điều

khiển.Nếu /EA ở mức cao (nối với VCC),thì vi điều khiển thi hành n chương trình trong ROM nội.Nếu /EA ở mức thấp(vi điều khiển thi hành chương trình bộ nhớ ngoài

8 XTAL1,XTAL2 áp từ 4V đến 5,5V được cấp qua chân

40 và 20.: AT89S52 có một bộ dao động trên chíp , nó thường được nối với bộ dao động thạch anh có tần số lớnnhất là 33MHz,thông thường là 12MHz

9.VCCnối GND)thì,GND : AT89S52 có dải điện dùng nguồn một chiều

Trang 9

Cấu trúc bên trong của

AT89S52

T 1 T0

Điều khiển ngắt

Các thanh ghi khác

256 byte RAM MRO

nội

Timer 2Timer 1Timer 0

CPU

Oscillator Điều khiển bus Các port I/O Port nối tiếp

Port ngồi tiếp

Timer 0 Timer 1 Timer 2

INT0 INT1

EA RST PSEN

ALE

P0 P2 P1 P3 TxD RxD

T2

EX TE RN AL

Trang 10

II/KHẢO SÁT CÁC KHỐI NHỚ BÊN TRONG

AT89S52

Bộ nhớ bên trong của AT89S52 bao gồm 8k ROM và

256 byte RAM.RAM bao gồm nhiều thành phần : phần lưu trữ đa dụng , phần lưu trữ địa chỉ hóa từng bit,các bank thanh ghi và các thanh ghi chức năng đặc biệt

Trang 11

AT89S52 có bộ nhớ theo cấu trúc Harvard : có những vùng nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong AT89S52 nhưng AT89S52 vẫn có thể kết nối với 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu mở rộng

Bộ nhớ dữ liệu : Ram bên trongAT89S52 được phân chia như sau :

_ Các bank thanh ghi có địa chỉ từ 00H đến 1FH

_ Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH _ Ram đa dụng từ 30H đến 7FH

_ Các thanh ghi chức năng đặc biệt từ 80H đến FFHAT89S52 có 21 thanh ghi chức năng ở vùng trên của RAM nội từ địa chỉ 80H đến FFH

Thanh ghi trạng thái chương trình : thanh ghi trạng thái của chương trình ở địa chỉ DOH chứa các bit như sau :

00=bank 0 ; địa chỉ 00H _

07H01=bank 1 ; địa chỉ 08H _

0FH10=bank 2 ; địa chỉ 10H _

1FH11=bank 3 ; địa chỉ 18H _

1FH

Trang 12

PSW.1 _ D1H Dự trữ

Các thanh ghi port xuất nhập : Các port của AT89S52 bao

gồm port 0 ở địa chỉ 90H,port 2 ở địa chỉ A0H,và port 3 ở địa chỉ B0H.Tất cả các port này đều có thể truy xuất từng bit nên rất thuận tiện cho khả năng giao tiếp

Các thanh ghi Timer : AT89S52 có chứa 2 bộ định

thời/đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện.Timer 0 ở địa chỉ 8AH(TL0 : byte thấp) và

8DH(TH1 : byte cao).Việc khởi động timer được set bởi Timer Mode(TMOD) ở địa chỉ 89H và thanh ghi điều khiểntimer(TCON) ở địa chỉ 88H,chỉ có TCON được địa chỉ hóa từng bit

Các thanh ghi port nối tiếp : AT89S52 chứa một port nối

tiếp dành cho việc trao đổi thông tin với các thiết bị nối tiếpnhư máy tính,modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF)

ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu

nhận.Khi truyền dữ liệu thì đọc SBUF.Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON ở địa chỉ 98H

mức ưu tiên.Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE)

ở địa chỉ A8H,cả 2 thanh ghi được địa chỉ hóa từng bit

V C C

Trang 13

AT89S52 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ , sau đó xuống mức thấp để nó bắt đầu làm việc RST có thể được kick bằng tay bởi một nút bấm thông thường.

Mạch tạo dao động :

AT89S52 có một bộ chia tần số bên trong chip,bộ này sẽ cung cấp xung clock cho các khối trên chip từ nguồn dao động bên ngoài qua 2 chân XTAL1 và XTAL2

III/HOẠT ĐỘNG ĐỊNH THỜI CỦA AT89S52

Các bộ định thời (Timer) được sử dụng rộng rãi trong các ứng dụng đo lường và điều khiển.Vi điều khiển

AT89S52 có 3 bộ định thời 16 bit trong đó 2 bộ timer 0 và

1 có 4 chế độ hoạt động,timer 2 có 3 chế độ hoạt

động.Các bộ định thời dùng để định khoảng thời gian(hẹn giờ),đếm sự kiện xảy ra bên ngoài bộ vi điều khiển hoặc tạotốc độ baud cho công nối tiếp của vi điều khiển

Trang 14

Trong các ứng dụng định hoảng thời gian,timer được lập trình sao cho sẽ tràn sau một khoảng thời gian và thiết lập cờ tràn bằng 1.Cờ tràn được sử dụng bởi chương trình

để thực hiện một hành động tương ứng như kiểm tra trạng thái của các ngõ vào hoặc gửi các sự kiện cho các ngõ ra Đếm sự kiện dùng để xác định số lần xảy ra của một sựkiện.Trong ứng dụng này người ta tìm cách quy các sự kiệnthành sự chuyển mức từ 1 xuống 0 trên cá chân T0 hoặc T1hoặc T2 để dùng các timer tương ứng đếm các sự kiện đó

*/CÁC THANH GHI CỦA BỘ ĐỊNH THỜI

Các thanh ghi của Timer 0 và Timer 1

Thanh ghi chế độ định thời(TMOD)

Thanh ghi TMOD chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0 và Timer 1

Thanh ghi TMOD

7 6 5 4 3 2 1

thời chỉ hoạt động trong khi INT1 ở mức cao

1=đếm sự kiện0=định thời trong 1 khoảng thời gian

Trang 15

3 GATE0 Bit điều khiển cổng cho bộ định thời 0

cho bộ định thời 0

0

Thanh ghi điều khiển Timer (TCON)

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 0 và Timer 1

TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0

TCON Điều khiển bộ định thời

được set bởi phần cứng khi cótràn,được xóa bởi phần mềm,hoặcbởi phần cứng khi bộ vi xử lý trỏ

đến trình phục vụ ngắt

định thời 1.Bit này được set hay

Trang 16

xóa bằng phần mềm để điều khiển

bộ định thời hoạt động hay ngưng

định thời

cạnh).Cờ này được set bởi phầncứng khi có cạnh âm (cuống) xuấthiện trên chan INT1,được xóa bởiphần mềm,hoặc phần cứng khiCPU trỏ đến trình phục vụ ngắt

cạnh).Cờ này được set bởi phầncứng khi có cạnh âm (cuống) xuấthiện trên chan INT1,được xóa bởiphần mềm,hoặc phần cứng khiCPU trỏ đến trình phục vụ ngắt

cạnh hoặc mức).Cờ này được sethay xóa bởi phần mềm khi xảy racạnh âm hoặc mức thấp ở chân

Trang 17

1 Chế độ 0 : là chế độ định thời 13 bit , chế độ này

tương thích với các bộ vi điều khiển trước đó , trong các ứng dụng hiện nay chế độ này không còn thích hợp

Trong chế độ này bộ định thời dùng 13 bit(8 bit cua

TH và 5 bit cao của TL) để chứa giá trị đếm ,3 bit thấpcủa TL không được sử dụng

2 Chế độ 1 : Trong chế độ này , bộ timer dùng cả 2

thanh ghi TH và TL để chứa giá trị đếm , vì vậy chế

độ này còn được gọi là chế độ định thời 16 bit Bit MSB sẽ là bit D7 của TH còn bit LSB là D0 của TL

3 Chế độn 2 : Trong chế độ 2 , bộ định thời dùng TL để chứa giá trị đếm và TH để chứa giá trị nạp lại vì vậy chế độ này còn gọi là chế độ tự nạp lại 8 bit.Sau khi đếm 255 sẽ xảy ra tràn,khi đó TF được đặt bằng 1 đồng thời giá trị của timer tự động được nạp lại bằng nội dung của TH

4 Chế độ 3 : Trong chế độ 3 , Timer 0 được tách thành 2

bộ Timer hoạt động độc lập , chế độ này sẽ cung cấp cho bộ vi điều khiển thêm một Timer nữa

Bộ timer thứ nhất với nguồn xung clock được lấy từ

bộ chia tần trên chip hoặc từ bộ tạo xung bên ngoài qua chân T0 tùy thộc vào giá trị của bit C/T0.Việc điều khiển hoạt động của bộ thứ nhất do bit GATE , bit TR0 và mức logic trên chân INT0 (giống chế độ 0 , 1 ,2).Giá trị đếm củaTimer được chứa trong TL0 , khi xảy ra tràn cờ TF0 được đặt bằng một và gây ngắt do Timer 0 (nếu được đặt)

Bộ Timer thứ hai với nguồn xung clock lấy từ bộ chia tần trên chip Việc hoạt động của bộ thứ hai chỉ là việc đặt giá trị của bit TR0.Giá trị đếm của Timer được chứa trong

Trang 18

TH0,khi xảy ra tràn cờ TF1 được đặt bằng một và gây ra

ngắt do Timer 1 (nếu được đặt)

Khi Timer 0 được tách thành 2 Timer 8 bit thì Timer 1 vẫn có thể hoạt động bình thường ở các chế độ 0 , 1 , 2 ,tuy nhiên khi xảy ra tràn cờ TF1 không được thiết lập bằng một.NHư vậy trong trường hợp này Timer 1 chỉ có thể sử dụng cho những ứng dụng không cần đến ngắt (TF1 = 1),chẳng

hạn như tốc độ baud cho port nối tiếp

IV/Tổ chức ngắt ở AT89S52

AT89S52 chỉ có 6 nguồn ngắt:

- Ngắt ngoài đến từ chân #INT0

- Ngắt ngoài đến từ chân #INT1

- Ngắt ngoài do bộ Timer 0

- Ngắt ngoài do bộ Timer 0

- Ngắt ngoài do bộ Timer 0

- Ngắt do Port nối tiếp

Bảng tóm tắt các ngắt trong AT89S52 như sau:

Vector ngắt

khi có tín hiệutích cực theokiểu đã chọn ởchân P3.2

Trang 19

2 Timer0 Ngắt tràn

timer0 khi giátrị timer0 tràn

từ giá trị max vềgiá trị min

khi có tín hiệutích cực theokiểu đã chọn ởchân P3.3

Trang 20

Mỗi ngắt được dành cho một vector ngắt kéo dài 8byte.

Về mặt lý thuyết, nếu chương trình đủ ngắn, mã tạo rachứa đủ trong 8 byte, người lập trình hoàn toàn có thể đặtphần chương trình xử lý ngắt ngay tại vector ngắt Tuynhiên trong hầu hết các trường hợp, chương trình xử lýngắt có dung lượng mã tạo ra lớn hơn 8byte nên tại vectorngắt, ta chỉ đặt lệnh nhảy tới chương trình xử lý ngắt nằm ởvùng nhớ khác Nếu không làm vậy, mã chương trình xử

lý ngắt này sẽ lấn sang, đè vào vector ngắt kế cận

Mô tả

bộ

Trang 21

khác Cờ ngắt hoạt động độc lập với việc cho phép ngắt, điều đó có nghĩa là cờ ngắt sẽ tự động đặt lên bằng 1 khi

có sự kiện gây ngắt xảy ra, bất kể sự kiện đó có được chophép ngắt hay không Do vậy, trước khi cho phép một

ngắt, ta nên xóa cờ của ngắt đó để đảm bảo sau khi cho phép, các sự kiện gây ngắt trong quá khứ không thể gây ngắt nữa Ví dụ trước khi cho phép ngắt timer0 mà timer

0 đã chạy và tràn (dù là tràn một hay nhiều lần) thì cờ TF0 sẽ bằng 1, nếu sau đó ta cho phép ngắt timer0 thì sẽ gây ra ngắt ngay do cờ tràn đang bằng 1 (sự kiện tràn gâyngắt trong trường hợp này là tràn trong quá khứ, không phải sự kiện ta quan tâm đếTF0 trước khi cho phép ngắttn) Vì vậy hãy xóa cờ ràn timer0 Ngoại trừ cờ của của gắt nối tiếp và cờ của ngắt timer2, các cờ ngắt khác đều

tự động được xóa khi CPU thực hiện chương trình ngắt Nói đến ngắt không thể không nói đến mức ưu tiên của ngắt Mức ưu tiên của ngắt ở đây có thể được hiểu là sự phân bậc, quyết định xử lý ngắt nào khi hai hay nhiều ngắt xảy ra

1.Ngắt ngoài (External Interrupt)

Như đã nói ở trên, AT89S52 có 2 ngắt ngoài là INT0 vàINT1 Ngắt ngoài được hiểu là ngắt được gây ra bởi sự kiệnmức lôgic 0 (mức điện áp thấp, gần 0V) hoặc sườn xuống (sự chuyển mức điện áp từ mức cao về mức thấp) xảy ra ở chân ngắt tương ứng (P3.2 với ngắt ngoài 0 và P3.3 với ngắtngoài 1) Việc lựa chọn kiểu ngắt được thực hiện bằng các

Trang 22

bit IT (Interrupt Type) nằm trong thanh ghi TCON Đây là thanh ghi điều khiển timer nhưng 4 bit LSB (bit0 3) được dùng cho các ngắt ngoài.

7 6 5 4 3 2 1 0

Khi bit ITx = 1 thì ngắt ngoài tương ứng được chọn kiểu

là ngắt theo sườn xuống, ngược lại nếu bit ITx = 0 thì ngắt ngoài tương ứng được sẽ có kiểu ngắt là ngắt theo mức thấp.Các bit IE là các bit cờ ngắt ngoài, chỉ có tác dụng trong trường hợp kiểu ngắt được chọn là ngắt theo sườn xuống

Khi kiểu ngắt theo sườn xuống được chọn thì ngắt sẽ xảy ra duy nhất một lần khi có sườn xuống của tín hiệu, sau đó khi tín hiệu ở mức thấp, hoặc có sườn lên, hoặc ở mức cao thì cũng không có ngắt xảy ra nữa cho đến khi có sườn xuống tiếp theo Cờ ngắt IE sẽ dựng lên khi có sườn xuống và tự động bị xóa khi CPU bắt đầu xử lý ngắt

Khi kiểu ngắt theo mức thấp được chọn thì ngắt sẽ xảy

ra bất cứ khi nào tín hiệu tại chân ngắt ở mức thấp Nếu sau khi xử lý xong ngắt mà tín hiệu vẫn ở mức thấp thì lại ngắt tiếp, cứ như vậy cho đến khi xử lý xong ngắt lần thứ n , tín hiệu đã lên mức cao rồi thì thôi không ngắt nữa Cờ ngắt

IE trong trường hợp này không có ý nghĩa gì cả

Thông thường kiểu ngắt hay được chọn là ngắt theo sườnxuống

2.Ngăt do các timer

AT89S52 có 3 Timer là Timer 0 và Timer 1 và

Ngày đăng: 04/10/2014, 08:55

HÌNH ẢNH LIÊN QUAN

Bảng đặc tính của 8051 đầu tiên - ĐO vận tốc TRUNG BÌNH của một vật CHƯYỂN ĐỘNG TỊNH TIẾN
ng đặc tính của 8051 đầu tiên (Trang 4)
Sơ đồ chân , chức năng của các chân của  AT89S52 - ĐO vận tốc TRUNG BÌNH của một vật CHƯYỂN ĐỘNG TỊNH TIẾN
Sơ đồ ch ân , chức năng của các chân của AT89S52 (Trang 6)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w