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

Thiết kê mô hình đo gia tốc của một vật chuyển động tịnh tiến

32 381 0

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

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

Nội dung

- Bộ UART, có chức năng truyền nhận nối tiếp.3 bộ Timer/Counter 16 bit thực hiệnchức năng định thời và đếm sự kiện.Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.Bộ lậ

Trang 1

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA ĐIỆN TỬ

Đồ án môn: VI ĐIỀU KHIỂN

Đề tài: Thiết kê mô hình đo gia tốc của một vật chuyển

động tịnh tiến

Giáo viên hướng dẫn : VŨ THỊ THU HƯƠNG

Sinh viên thực hiện:

Lớp: CNKT Điện Tử 3 Khóa 4

Hà Nội 04-2012

Trang 2

LỜI NÓI ĐẦU

Ngày nay cùng với sự phát triển của cá ngành khoa hoc kỹ thuật, mà KT Điện

tử đóng vai trò quan trọng trong các lĩnh vực khoa học kỹ thuận, quản lý, công nghiệp tự động hóa, thông tin liên lạc… do đó chúng ta phải nắm bắt và vận dụng

nó một cách có hiệu quả nhằm góp phần vào sự phát triển của khoa học kỹ thuật thế giới nói chung và khoa học kỹ thuật điện tử nói riêng

Xuất phát từ nhu cầu thực tế của các doanh nghiệp việc đo gia tốc là rất cầnthiết trong các thiết bị như xe máy, ô tô, tàu hỏa, tàu thủy, máy bay…hay máy mócđộng cơ thiết bị công nghiệp, một thiết bị khá quan trọng trong các sản phẩm nghành công nghiệp nặng Từ thực tế đó góp phần giúp người vận hành có thêm chút thông tin quan trọng

Do đó trong khuôn khổ đề tài này chúng em thiết kế bộ đo gia tốc hiển thị trên LCD

Mặc dù chúng em rất cố gắng để hoàn thành đồ án này, nhưng không tránh khỏi những thiếu sót mong quý thầy cô có những ý kiến giảng giải quý giá Chúng

em mong được đón nhận những ý kiến đóng góp của thầy cô Cuối cùng xin chân thành cảm ơn quý thầy cô và các bạn sinh viên

Chúng em xin trân thành cảm ơn!

Nhóm sinh viên

Trang 3

MỤC LỤC

PHẦN I: GIỚI THIỆU KHÁI QUÁT 4

A/ PHÂN TÍCH BÀI TOÁN 4

B/ GIỚI THIỆU LINH KIỆN TRONG MẠCH 4

1, IC AT89S52 4

1.1 Cấu tạo IC 5

1.2 Các chân chức năng của IC8051 7

1.3 Phần cứng tối thiểu để một chip AT89S52 8

1.4 Cấu tạo và chức năng các khối của AT89S52 8

PHẦN II THIẾT KẾ MẠCH GHÉP NỐI 23

A Thiết kế phần cứng 23

B Mạch in 24

C Nguyên lý hoạt động của mạch 24

D Thiết kế phần mềm 24

1.Một số lệnh cho LCD cần nhớ 24

2 Code chương trình 25

PHẦN III: KẾT LUẬN 31

Tài liệu tham khảo 31

Trang 4

PHẦN I: GIỚI THIỆU KHÁI QUÁT

A/ PHÂN TÍCH BÀI TOÁN

Bài toán đặt ra là thiết kế một bộ đo gia tốc của vật chuyển động, vì thế phảicó:

 Cảm biến để nhận biết vật đi qua

 Khối sử lý trung tâm 89S52

 Khối hiển thị LCD

 Sơ đồ khối của hệ thống được minh hoạ theo hình sau:

B/ GIỚI THIỆU LINH KIỆN TRONG MẠCH

Trang 5

Hình 1: Hình dạng thực tế IC 89S52

 Sơ đồ chân:

1.1 Cấu tạo IC

CPU( CPU centra lprocessing unit):

- 8- bit data bus; 16- bit address bus; không gian địa chỉ 64Kbyte

- Thanh ghi tích lũy A;

- Thanh ghi tích lũy phụ B;

- Đơn vị logic học (ALU);

Trang 6

- Thanh ghi từ trạng thái chương trình;

- Bốn băng thanh ghi;

- Con trỏ ngăn xếp

 Bộ nhớ (Memory):

- Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash, ghi xóa hàng nghìn lần

- Bộ nhớ dữ liệu( dạng SRAM) gồm 256 byte (chứa ngăn xếp – Stack)

- Vùng thanh ghi có chức năng đặc biệt SFR (Special Funtion Register)

- Bộ UART, có chức năng truyền nhận nối tiếp.3 bộ Timer/Counter 16 bit thực hiệnchức năng định thời và đếm sự kiện.Khối điều khiển ngắt với 2 nguồn ngắt ngoài

và 4 nguồn ngắt trong.Bộ lập trình (ghi chương trình lên Flash ROM) cho phépngười sử dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạpchuyên dụng.4 cổng xuất nhập song song 2 chiều 8- bit với 32 chân

Trang 7

Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác Port1

có thể xuất nhập theo bit và theo byte

 Port 2( P2.0=>P2.7)

Port 2 ngoài chức năng là cổng vào/ra như Port 0 và Port 1, Port 2 còn là byte cao củabus địa chỉ khi sử dụng bộ nhớ ngoài

 Port 3( P3.0=>P3.7)

Trang 8

Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thểnhư sau:

 Chân /PSEN (pin 29): là chân điều khiển đọc chương trình ở bộ nhớ ngoài

 Chân ALE (pin 30): 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 vi mạchchốt bên ngoài như 7473

1.2 Các chân chức năng của IC8051

 Chân /EA (pin 31): Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớtrong hay ngoài EA=1 thì thực hiện chương trình trong ROM nội EA=0 thựchiện ở RAM ngoài

 RST( Reset: pin 9): Ngõ vào reset trên chân số 9 khi RST=1 (là ngắt cứng có mức

ưu tiên cao nhất) thì bộ vi điều khiển sẽ được khởi động lại thiết lập ban đầu

 XTAL1, XTAL2 (pin 18, 19): Hai chân này được nối song song với thạch anh tần

số max=33 Mhz Để tạo dao động cho bộ vi điều khiển

 Vcc,GND: cung cấp nguồn nuôi cho bộ vi điều khiển cấp qua chân 20 và 40

Trang 9

1.3 Cấu tạo và chức năng các khối của AT89S52

Đơn vị xử lý trung tâm CPU:

Bộ nhớ:

- Bộ nhớ chương trình và bộ nhớ dữ liệu có không gian địa chỉ riêng biêt

- Bộ nhớ chương trình có địa chỉ từ 0x0000 đến 0xFFFF (64Kbyte) Người sửdụng có thể thiết kế để chip hoạt động với bộ nhớ chương trình tích hợp sẵntrên chip bằng cách nối tín hiệu EA (31) lên Vcc, hoặc hoạt động với bộ nhớchương trình bên ngoài bằng cách nối tín hiệu EA (31) xuống GND Thôngthường , tín hiệu EA được nối cố định lên Vcc hoặc GND nên chỉ chạy vớimột trong hai loại bộ nhớ chương trình

- Bộ nhớ chương trình dùng để chứa mã chương trình hướng dẫn CPU thựchiện một nhiệm vụ nào đó AT89S52 có bộ nhớ chương trình 8Kbyte dạngFlash, không bị mất dữ liệu khi ngừng cung cấp nguồn nuôi.Bộ nhớ chươngtrình bên ngoài có dung lượng tối đa là 64Kbyte

- Bộ nhớ dữ liệu dùng để chứa dữ liệu (bao gồm các tham số, các biến tạmthời…) AT89S52 có 256byte bộ nhớ dữ liệu dạng SRAM, mất dữ liệu khi cắtnguồn nuôi Ngoài ra có thể ghép nối với bộ nhớ SRAM bên ngoài với dung

Trang 10

lượng tối đa la 64Kbyte RAM ngoài và RAM trong có thể cùng được sử dụngtrong cùng một thiết kế.

- Vùng thanh ghi có chức năng đặc biệt: SFR (special function register)

Cổng vào ra song song (Parallel I/O Port)

- AT89S52 có 4 cổng vào ra song song, tên lần lượt là P0, P1, P2, P3 Mỗi cổng có

8 tín hiệu (nên còn gọi là cổng 8- bit), mỗi tín hiệu gọi là một bit và có tên la Px.y.Trong đó x là số thứ tự của cổng (0→3), y là số thứ tự của bit ( 0→7)

- Hầu hết các cổng đều tích hợp, kiêm nhiệm thêm một số tính năng nào đó (ví dụ:ngắt ngoài, cổng truyền thông nối tiếp, đầu vào đếm sự kiện ) Trong phần lớntrường hợp, khi sử dụng các tính năng kiêm nhiệm, người dùng không nên sửdụng cổng đó ở chức năng vào/ra thong thường nữa Ngoại vi on- chip sẽ nắmquyền điều khiển mức logic tại cổng đó

Trang 11

- Tất cả các cổng đều là cổng hai chiều (bi-directional), tức là có thể dùng làm cổngvào hoặc cổng ra.

- Cổng vào dùng để đọc dữ liệu từ bên ngoài, cổng ra dùng để điều khiển ngoại vibên ngoài

- Chiều vào/ ra là độc lập giữa các cổng, thậm chí độc lập giữa các bit trong cùngmột cổng

- Sau khi reset, tất cả các cổng đều là cổng vào

- Các thanh ghi SFR liên quan: mỗi cổng liên quan đến một thanh ghi chức năngđặc biệt 8-bit (SFR) có tên trùng với tên của cổng, lần lượt là P0, P1, P2, P3

- Trước khi sử dụng cổng, phải cấu hình hướng vào/ra cho cổng

- Để cấu hình cổng vào (input port), người dùng phải ghi giá trị logic “1” lên bittrong thanh ghi SFR tương ứng Sau đó có thể đọc mức logic tại cổng bằng cáchđọc thanh ghi cổng (SFR) tương ứng

- Để cấu hình làm cổng ra (output port), người dùng không phải thực hiện them bất

kỳ thao tác nào Đơn giản, chỉ cần ghi mức logic mong muốn vào thanh ghi cổngtương ứng

- Đặc tính điện: Mức logic 0: U<= 0.45V; I= 1.6mA

Mức logic 1: U>= 2.4V; I= 60µA

Cổng Vào Ra Nối Tiếp(Serial Port)

- 8051 có 1 cổng vào ra nối tiếp(UART)

- Tín hiệu liên quan:RxD(P3.0, chân số 10) va TxD(P3.1, chân số 11)

- Dữ liệu đi và về hoàn toàn độc lập với nhau, do đó có thể truyền nhận đồng thời,

và cổng nối tiếp có đặc tính như vâyj được gọi là song công(Full duplex)

Các thanh ghi liên quan:

Dữ liệu nhận về thong qua RxD, tới 1 thanh ghi chức năng đặc biệt(8-bit) tên làSBUF

Trang 12

Dữ liệu truyền thong qua TxD, từ 1 thanh ghi chức năng đặc biệt(8-bit) cũng tên

là SBUF

Thanh ghi điều khiển SCON:

SM0-SM1

 0-0=mode0:chế độ đồng bộ 8 bit,clock =1/12 Fosc

 0-1=mode1:chế độ dị bộ 8-bit, clock thay đổi được tùy ý

 1-0=mode2:chế độ dị bộ 9-bit,clock= 1/64 Fosc hoặc 1/32 Fosc

 1-1=mode3:chế độ dị bộ 9-bit,clock thay đổi được tùy ý

SM2:bit cho phép chế độ gioa tiếp đa vi xử lý(multimicroprocessor),mode 2 hoặc

mode3.Trong các chế độ thong thường,SM2=0

REN:bit cho phép nhận dữ liệu nếu ghi vào đó giá trị logic 1.Giá trị logic 0 tại bit

này sẽ”khóa cổng “ với các dự lieuj gửi đến

TB8:bit dữ liệu thứ 9 phát đi trong các chế độ truyền nhận 9-bit(mode 2 và 3) RB8: bit dữ liệu thứ 9 nhận về trong các chế độ truyền nhận 9-bit(mode 2 và 3) TI:cờ báo ngắt truyền ,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay 9 bit tùy chế

độ) đã được truyền xong Cờ này không tự động xóa về 0 khi chương trình phục

vụ ngắt thực hiện.User phải xóa bằng lệnh

RI:cờ báo ngắt nhận,khi =1 báo hiệu rằng 1 khung dữ liệu (8 hay 9-bit tùy chế

độ) đã được nhận về đầy đủ,Cờ này không tự động xóa về 0 khi chương trìnhphục vụ ngắt thực hiện.User phải xóa bằng lệnh

Với cổng nối tiếp các bit dữ liệu được truyền lần lượt trên cùng 1 đường tín hiệuthay vì truyền cùng một lúc trên các đường tín hiệu khác nhau.Thông thường thì việctruyền dữ liệu bằng cổng nối tiếp phải tuân theo một cơ chế, một giao thức hay mộtnguyen tắc nhất định Có thể kể ra một số giao thức như SPI,I2C,SCI

Cổng nối tiếp có 2 kiểu truyền dữ liệu chính:

Truyền đồng bộ(synchronous):thiết bị truyền và nhận đều dung chung một xungnhịp (clock)

Trang 13

Truyền dị bộ(asynchronous):thiết bị truyền và thiết bị nhận sử dụng hai nguồnxung nhịp riêng Tuy nhiên hai nguồn xung này không đươc khác nhau quá nhiềuXung nhịp là yếu tố không thể thiếu trong truyền dữ liệu nối tiếp và nó có vai tròxác định giá trị của bit dữ liệu

Cổng nối tiếp có thể có một trong các tính năng sau:

Đơn công: thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu

Bán song công:thiết bị có thể truyền và nhận dữ liệu nhưng tại một thời điểm cóthể làm 1 trong 2 việc đó

Song công:thiết bị có thể truyền và nhận dữ liệu đồng thời

Ngắt (Interrupts)

Ngắt là những yêu cầu do ngoại vi (là các phần cứng tích hợp trên IC hoặc các tácđộng từ bên ngoài) guwit tới CPU nhằm đòi hỏi những đáp ứng nhất định Mục đíchcủa việc thiết kế cơ chế ngắt trong vi xử lý nhằm tiết kiệm thời gian cho CPU Tronghầu hết các trường hợp, vi xử lý cần pahir thực hiện nhiều nhiệm vụ trong thời gianrất ngắn và liên tục Để đáp ứng kịp thợi với các sự kiện cần xử lý, CPU có thể tiếnhành thăm dò (polling) liên tục các sự kiện để xem khi nào chúng xảy ra thì xử lý,đáp ứng lại.Tuy nhiên nếu làm như vậy thì lãng phí rất nhiều thời gian của CPU trongkhi còn có rất nhiều nhiệm vụ khác đang chờ được thực hiện, ngoài ra CPU không thểthăm dò liên tục nhiều sự kiện trong cùng một lúc được Người ta tạo ra ngắt để CPUkhông phải thăm dò liên tục một hay nhiều sự kiện đó Bằng cách ghép các sự kiệncần đáp ứng với các cơ chế ngắt khác nhau, khi một sự kiện nào đó xảy ra, phần cứngphụ trách ngắt tích hợp trên CPU sẽ tự động báo cho CPU biết rằng sự kiện đã xảy ra.CPU dừng công việc đang làm lại ( nhưng phải thực hiện xong lệnh đang thực hiện,

dù mới chỉ ở giai đoạn tìm nạp mã lệnh), và chuyển sang xử lý xong sự kiện gây ngắt,CPU sẽ tiếp tục quay lại lam tiếp công việc đang dang dở (nhờ hoạt động của ngănxếp) Nói đến ngắt không thể không nói đến mức ưu tiên của các loại ngắt khác nhau

Có 2 loại mức ưu tiên ngắt cơ bản là ưu tiên giữa các ngắt xảy ra đồng thời và ưu tiêngiữa các ngắt xảy ra khác thời điểm, chen vào nhau Trong cả hai trường hợp, ngắt có

ưu tiên cao hơn sẽ luôn được phục vụ ngay lập tức

Trang 14

AT89S52 có 6 nguyên nhân gây ngắt:

Tên ngắt Nguyên nhân gây ra

ngắt

Địa chỉ vector ngắt

Mức độ

ưu tiên cứng

Trang 15

khung dữ liệu đầy đủ (SCON)

Ngắt

timer/counter2

Timer/Counter2 đếm tràntrên hoặc tín hiệu T2EX thay đổi mức logic 1→0

(T2CON)

Các cờ báo ngắt do INT0, INT1, Timer 0, Timer 1 bị xóa khi CPU xử lýchương trình ngắt Còn cờ ngắt của cổng nối tiếp và ngắt do Timer 2 không tựđộng xóa, người dùng phải xóa bằng phần mềm

Thanh ghi cho phép ngắt IE (Interrupt Enable):

EA: bít cho phép hoặc cấm tất cả các ngắt Để cho phép một ngắt thì bít tương ứng

với ngắt đó và bít EA phải được đặt bằng 1 Nếu EA=0 tất cả các ngắt đều bị cấm

ET2: bít cho phép ngắtt do Timer 2.

ES: bít cho phép ngắt truyền thong nối tiếp.

ET1: bít cho phép ngắtt do Timer 1.

EX1: bít cho phép ngắt ngoài INT1.

ET0: bít cho phép ngắtt do Timer 0.

EX0: bít cho phép ngắt ngoài INT0.

Mức ưu tiên của ngắt là chỉ số giúp CPU phân xử xem sẽ xử lý ngắt nào trước khihai hay nhiều ngắt đồng thời xảy ra, hoặc sẽ dừng việc xử lý một ngắt lại hay khôngkhi bị một ngắt khác chen vào Khi xảy ra ngắt đồng thời,CPU sẽ phân xử theo trình

tự ưu tiên cứng liệt kê ở bảng trên Khi một ngắt xảy ra chen vào quá trình xử lý dang

dở của một ngắt khác, CPU sẽ phân xử theo mức độ ưu tiên quy định bởi người dùngthông qua thanh ghi đặt mức ưu tiên ngắt IP

Thanh ghi ưu tiên ngắt IP (Interrupt Priority):

Trang 16

MSB LSB

PT2: bít ưu tiên ngắt do timer 2.

PS: bít ưu tiên ngắt truyền thông nối tiếp.

PT1: bít ưu tiên ngắt do timer 1.

PX1: bít ưu tiên ngắt ngoài INT1.

PT0: bít ưu tiên ngắt do timer 0.

PX0: bit ưu tiên ngắt ngoài INT0.

Bộ định thời/ Bộ đếm (Timers/ Counters)

Timer/Counter là các ngoại vi có chức năng đếm xung nhịp (clock)

Khi đếm xung nhịp bên trong chip gọi là bộ đinh thời hay timer

Khi đếm xung nhịp bên ngoài chip đưa và gọi là bộ đếm sự kiện hay counter

Mỗi xung nhịp xuất hiện them, giá trị của timer/counter sẽ tự động tăng thêm 1

Khi timer/counter đếm vượt quá giá trị giới hạn mà nó có thể biểu diễn, giá trị đếm sẽ

tự động xóa về 0 và đếm lại từ đầu Sự kiện này được gọi là tràn trên (overflow)

Giá trị lớn nhất tùy thuộc vào chế độ hoạt động

Khi dừng đếm, giá trị đếm của timer/counter vẫn giữ nguyên, trừ khi mất nguồn nuôi,reset hay người dùng chủ định xóa bằng lệnh

Khi được cho phép đếm, timer/counter sẽ đếm từ giá trị hiện đang giữ

AT89S52 có 3 timer/counter 16bit lần lượt là timer/counter 0, timer/counter 1,timer/counter 2

Các timer đều có ngắt:

Timer 0 có ngắt do tràn

Timer 1 có ngắt do tràn

Timer 2 có ngắt do tràn hoặc do sự kiện capture

Các thanh ghi liên quan:

Trang 17

Thanh ghi dữ liệu (hay thanh ghi giá trị đếm): TH0, TL0 (Timer0) TH1, TL1 (Timer1) TH2, TL2 (Timer2) đều là các thanh ghi 8 bit.

Thanh ghi điều khiển TMOD (Sử dụng cho timer/counter 0 và timer/counter 1):

- GATE: bit quy định yếu tố cho phép timer/counter đếm hay dừng Nếu GATE=0,

timer/counter sẽ đếm hay dừng phụ thuộc vào trạng thái bit TRx (thanh ghi TCON).Nếu GATE=1, timer/counter sẽ đếm nếu bit TRx=1 (thanh ghi TCON) và tín hiệungắt ngoài INTx ở mức cao Trong trường hợp này, nếu TRx-0 hoặc tín hiệu ngắtngoài INTx ở mức thấp, timer/counter sẽ dừng đếm

- C/T: bit lựa chọn xung nhịp đưa vào đếm Nếu C/T = 0, xung nhịp đưa vào đếm

chính là xung nhịp của CPU (lúc này gọi là bộ định thời – timer) Nếu C/T = 1,xung nhịp đưa vào đếm là xung nhịp lấy từ bên ngoài vào qua tín hiệu T0 và T1(lúc này gọi là bộ đếm sự kiện – counter)

- M1:M0

0:0 = Mode 0: timer/counter 13bit ghép bởi <5bit thấp TL>:<thanh ghi TH>

0:1 = Mode 1: timer/counter 16bit ghép bởi <thanh ghi TH>:<thanh ghi TL>

1:0 = Mode 2: timer/counter 8bit, đếm bằng TL,khi tràn tự động nạp TH vào TL.

1:1 = Mode 3: TL0 là timer/counter 8bit, sử dụng các bit điều khiển của timer0.TH0 là

timer 8bit, sử dụng các bit điều khiển của timer 1 Timer 1 không hoạt động ở chế độ này.

Thanh ghi TCON (Sử dụng cho timer/counter 0 và timer/counter 1):

Ngày đăng: 22/11/2015, 23:22

HÌNH ẢNH LIÊN QUAN

Hình 1: Hình dạng thực tế IC 89S52 - Thiết kê mô hình đo gia tốc của một vật chuyển động tịnh tiến
Hình 1 Hình dạng thực tế IC 89S52 (Trang 5)

TỪ KHÓA LIÊN QUAN

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