1. Trang chủ
  2. » Thể loại khác

đồ án vi xử lý trong đo lường điều khiển

40 312 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 40
Dung lượng 0,98 MB

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

Nội dung

CHƯƠNG 1: GIỚI THIỆU HOẠT ĐỘNG CỦA MẠCHMạch game đố vui sử dụng ledmatrix thể hiện 2 khả năng cơ bản nhất của cácbảng điểm điện tử trong các chương trình gameshow đó là thể hiện đội nàog

Trang 1

CHƯƠNG 1: GIỚI THIỆU HOẠT ĐỘNG CỦA MẠCH

Mạch game đố vui sử dụng ledmatrix thể hiện 2 khả năng cơ bản nhất của cácbảng điểm điện tử trong các chương trình gameshow đó là thể hiện đội nàogiành được quyền trả lời và thể hiện phương án trả lời của các đội Đây cũng

là 2 chế độ hoạt động của mạch

Chế độ 1: đối với các dạng câu hỏi buộc các đội phải nhấn nút để giànhquyền trả lời Đội nào nhấn trước thì sẽ được ưu tiên đồng thời màn hình ledcủa đội đó sẽ sang lên, các đội nhấn nút sau sẽ không có tác dụng đồng nghĩavới việc kô giành được quyền trả lời

Chế độ 2: đối với các dạng câu hỏi trắc nghiệm Ở mỗi đội sẽ có 4 nútnhấn thể hiện 4 phương án trả lời A,B,C,D; các đội sẽ nhấn nút tương ứng đểchọn đáp án của mình

Lưu ý: việc chọn chế độ hoạt động của mạch (giành quyền trả lời hay trắcnghiệm) sẽ được thực hiện bởi người dẫn chương trình (MC), nhờ 2 nút nhấn

để chọn chế độ được đặt tại bàn của MC

CHƯƠNG 2: GIỚI THIỆU MỘT SỐ LINH KIỆN CHÍNH CỦA MẠCH

IC phân kênh 74154: được sử dụng để quét ledmatrix Sau đây là sơ đồ chân

và True Table của IC 74154

Trang 2

Ledmatix: được dùng để thể hiện phương án trả lời của các đội Sau đây là sơ

đồ chân của ledmatrix

1 0 8 7 6 5 4 3 2 1

Lưu ý: đây là loại led 2 màu xanh, đỏ nhưng do chỉ sử dụng các led màu đỏ

nên có môt số chân không được sử dụng.

Trang 3

Vi điều khiển 89C51: Dùng để lậptrình điều khiển cho mạch.

- Bộ nhớ chương trình bên trong: 4 KB (ROM)

- Bộ nhớ dữ liệu bên trong: 128 byte (RAM)

- Bộ nhớ chương trình bên ngoài: 64 KB (ROM)

- Bộ nhớ dữ liệu bên ngoài: 64 KB (RAM)

- 4 port xuất nhập (I/O port) 8 bit

- 2 bộ định thời 16 bit

- Mạch giao tiếp nối tiếp

- Bộ xử lý bit (thao tác trên các bit riêng lẻ)

- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit

- Nhân / Chia trong 4 us

Ngoài ra, trong họ MCS-51 còn có một số chip vi điều khiền khác có cấutrúc tương đương như:

Chip ROM trong RAM trong Bộ định thời

8031 0 KB 128 byte 2

8032 0 KB 256 byte 3

8051 4 KB PROM 128 byte 2

Trang 4

8052 8 KB PROM 256 byte 3

8751 4 KB UV-EPROM 128 byte 2

8752 8 KB UV-EPROM 256 byte 3

8951 4 KB FLASH ROM 128 byte

8952 8 KB FLASH ROM 256 byte 3

- CPU (Central Processing Unit): Đơn vị xử lý trung tâm _ tính toán và điều khiển quá trình hoạt động của hệ thống

- OSC (Oscillator): Mạch dao động _ tạo tín hiệu xung clock cung cấp chocác khối trong chip hoạt động

- Interrupt control: Điều khiển ngắt _ nhận tín hiệu ngắt từ bên ngoài(INT0\, INT1\), từ bộ định thời (TIMER0, TIMER1) và từ cổng nối tiếp(SERIAL PORT), lần lượt đưa các tín hiệu ngắt này đến CPU để xử lý

- Other registers: Các thanh ghi khác _ lưu trữ dữ liệu của các portxuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trìnhhoạt động của hệ thống

- RAM (Random Access Memory): Bộ nhớ dữ liệu trong chip _ lưu trữ các

dữ liệu

- ROM (Read Only Memory): Bộ nhớ chương trình trong chip _ lưu trữchương trình hoạt động của chip

Trang 5

- I/O ports (In/Out ports): Các port xuất/nhập _ điều khiển việc xuất nhập

dữ liệu dưới dạng song song giữa trong và ngoài chip thông qua các port P0,P1, P2, P3

- Serial port: Port nối tiếp _ điều khiển việc xuất nhập dữ liệu dưới dạngnối tiếp giữa trong và ngoài chip thông qua các chân TxD, RxD

- Timer 0, Timer 1: Bộ định thời 0, 1 _ dùng để định thời gian hoặc đếm sựkiện (đếm xung) thông qua các chân T0, T1

- Bus control: Điều khiển bus _ điều khiển hoạt động của hệ thống bus vàviệc di chuyển thông tin trên hệ thống bus

- Bus system: Hệ thống bus _ liên kết các khối trong chip lại với nhau.3.2) SƠ ĐỒ CHÂN VÀ CHỨC NĂNG CỦA IC 89C51:

Trang 6

3.2.1 Port 0 :

- Port 0 (P0.0 – P0.7) có số chân từ 32 – 39

- Port 0 có hai chức năng:

• Port xuất nhập dữ liệu (P0.0 - P0.7) _ không sử dụng bộ nhớ ngoài

• Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) _ có sử dụng

bộ nhớ ngoài

Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập dữ liệu thì phải sử dụng các

điện trở kéo lên bên ngoài.

- Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của

- Port 2 có hai chức năng:

• Port xuất nhập dữ liệu (P2.0 – P2.7) _ không sử dụng bộ nhớ ngoài

• Bus địa chỉ byte cao (A8 – A15) _ có sử dụng bộ nhớ ngoài

- Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào củađịa chỉ byte cao (A8 – A11) và các tín hiệu điều khiển

3.2.4 Port 3:

- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17

Trang 7

- Port 0 có hai chức năng:

• Port xuất nhập dữ liệu (P3.0 – P3.7) _ không sử dụng bộ nhớ ngoài hoặccác chức năng đặc biệt

• Các tín hiệu điều khiển _ có sử dụng bộ nhớ ngoài hoặc các chức năngđặc biệt

- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào củacác tín hiệu điều khiển

- Chức năng của các chân Port 3:

PSEN\ = 0 _ trong thời gian CPU tìm-nạp lệnh từ ROM ngoài

PSEN\ = 1 _ CPU sử dụng ROM trong (không sử dụng ROM ngoài)

- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nốivới chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài

• Là tín hiệu xuất, tích cực mức cao

ALE = 0 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus D0 – D7

ALE = 1 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus A0 – A7

- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vàocủa xung lập trình (PGM\)

Lưu ý: fALE =

6

fOSC → có thể dùng làm xung clock cho các mạch khác.

Trang 8

- Khi lệnh lấy dữ liệu từ RAM ngoài (MOVX) được thực hiện thì 1 xungALE bị bỏ qua.

EA\ = 0 → Chip 8051 sử dụng chương trình của ROM ngoài

EA\ = 1 →Chip 8051 sử dụng chương trình của ROM trong

- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào củađiện áp lập trình (Vpp = 12V/89xx, 21V/80xx,87xx)

Lưu ý: Chân EA\ luôn luôn phải được nối lên Vcc (sử dụng chương trình của

ROM trong) hoặc xuống Vss (sử dụng chương trình của ROM ngoài).

3.2.8 Chân XTAL1, XTAL2:

- XTAL (Crystal): tinh thể thạch anh, chân số 18-19

- Chức năng:

• Dùng để nối với thạch anh hoặc mạch dao động tạo xung clock bênngoài, cung cấp tín hiệu xung clock cho chip hoạt động

• XTAL1 → ngõ vào mạch tạo xung clock trong chip

• XTAL2 → ngõ ra mạch tạo xung clock trong chip

Lưu ý:

fTYP: tần số danh định fOSC: tần số mạch dao động trên chip

fCLK: tần số mạch dao động bên ngoài

RST = 0 → Chip 8051 hoạt động bình thường

RST = 1 → Chip 8051 được thiết lặp lại trạng thái ban đầu

Lưu ý:

Trang 9

- Bộ vi xử lý có không gian nhớ chung cho cả chương trình và dữ liệu

→ chương trình và dữ liệu nằm chung trên RAM

- Bộ vi điều khiển có không gian nhớ riêng cho dữ liệu và chương trình

→chương trình và dữ liệu nằm riêng trên ROM và RAM

Trang 10

- Tổ chức bộ nhớ của chip 8051:

Trang 12

Tổ chức nhớ trong chip 8051:

3.3.1) Bộ nhớ chương trình (ROM):

- Dùng để lưu trữ chương trình điều khiển cho chip 8051 hoạt động

- Chip 8051 có 4 KB ROM trong, địa chỉ truy xuất: 000H – FFFH

3.3.2) Bộ nhớ dữ liệu (RAM):

- Dùng để lưu trữ các dữ liệu

- Chip 8051 có 128 byte RAM trong, địa chỉ truy xuất: 00H – 7FH

- RAM trong của chip 8051 được chia ra:

• RAM đa chức năng:

Trang 13

• Các dãy thanh ghi:

→ cho phép truy xuất dữ liệu nhanh, lệnh truy xuất đơn giản và ngắn gọn

+ Lưu ý: Ở chế độ mặc định thì dãy thanh ghi tích cực (đang được sử

dụng) là dãy 0 và các thanh ghi trong dãy lần lượt có tên là R0 - R7 Cóthể thay đổi dãy tích cực (xem phần thanh ghi PSW)

3.3.4) Một số thanh ghi chức năng đặc biệt:

Trang 14

- Phép nhân 2 số 8 bit không dấu _ kết quả là số 16 bit.

• Byte cao _ chứa vào thanh ghi B

• Byte thấp _ chứa vào thanh ghi A

- Phép chia 2 số 8 bit _ thương số và số dư là số 8 bit

• Thương số _ chứa vào thanh ghi A

• Số dư _ chứa vào thanh ghi B

3.

3.4.3) Thanh ghi định thời:

Trang 15

3.4) Sơ lược về hoạt động của bộ định thời:

• Tần số: tần số xung ngõ ra bằng tần số xung ngõ vào chia cho 2N

• Giá trị: giá trị nhị phân trong các FF của bộ định thời là số đếm của cácxung clock tại ngõ vào từ khi bộ định thời bắt đầu đếm

• Tràn: xảy ra hiện tượng tràn (cờ tràn = 1) khi số đếm chuyển từ giá trịlớn nhất xuống giá trị nhỏ nhất của bộ định thời

Ví dụ: Bộ định thời 16 bit (chứa 16 FF bên trong)

*Tần số:

*Giá trị: số đếm nằm trong khoảng 0 (0000H) _ 65535 (FFFFH)

*Tràn: cờ tràn bằng 1 khi số đếm từ FFFFH chuyển xuống 0000H

Hình minh họa đơn giản hoạt động của bộ định thời 3 bit:

Trang 16

• Ứng dụng định thời gian (TIMER): bộ định thời được lập trình sao cho

sẽ tràn sau một khoảng thời gian đã qui định và khi đó cờ tràn của bộ định thời

sẽ bằng 1

• Ứng dụng đếm sự kiện (COUNTER): để xác định số lần xuất hiện củamột kích thích từ bên ngoài tới 1 chân của chip 8051 (kích thích chuyển trạngthái từ 1 xuống 0)

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

• Thanh ghi TMOD (Timer Mode Register) chứa các bit dùng để thiếtlập chế độ hoạt động cho bộ định thời 0 và bộ định thời 1

• Thanh ghi TMOD được nạp giá trị một lần tại thời điểm bắt đầu củachương trình để qui định chế độ hoạt động của các bộ định thời

Trang 17

• Cấu trúc thanh ghi TMOD:

3.4.2) Thanh ghi điều khiển định thời (TCON):

• Thanh ghi TCON (Timer Control Register) chứa các bit dùng để điềukhiển và báo trạng thái của bộ định thời 0 và bộ định thời 1

Trang 18

• Cấu trúc thanh ghi TCON:

• Số đếm: 0000H → 1FFFH nghĩa là từ 0 → 8191 Thời gian định thời:

từ 0 → (213–1)TTimer nghĩa là từ 0 → 8191TTimer

• Thanh ghi THx và TLx chứa giá trị của bộ định thời

• Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trongTHx/TLx

• Xảy ra tràn (cờ tràn TFx=1) khi số đếm chuyển từ 1FFFH sang 0000H

và việc đếm sẽ tiếp tục đếm lên từ giá trị 0000H

Trang 19

3.4.4) Chế độ định thời 16bit (Chế độ 1):

Chế độ 1 (Mode 1):

• Chế độ định thời 16 bit

• Sử dụng thanh ghi THx và TLx để tạo ra bộ định thời

• Số đếm: 0000H → FFFFH nghĩa là từ 0 → 65535 Thời gian định

thời: từ 0 → (216–1)TTimer nghĩa là từ 0 → 65535TTimer

• Thanh ghi THx và TLx chứa giá trị của bộ định thời

• Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trongTHx/TLx

• Xảy ra tràn (cờ tràn TFx=1) khi số đếm chuyển từ FFFFH sang 0000H

và việc đếm sẽ tiếp tục đếm lên từ giá trị 0000H

3.4.5) Chế độ định thời 8bit tự nạp lại (Chế độ 2):

Chế độ 2 (Mode 2):

• Chế độ định thời 8 bit tự nạp lại

• Sử dụng thanh ghi TLx để tạo ra bộ định thời

• Số đếm: 00H → FFH nghĩa là từ 0 → 255 Thời gian định thời: từ

0 → (28–1)TTimer nghĩa là từ 0 → 255TTimer

• Thanh ghi TLx chứa giá trị của bộ định thời và thanh ghi THx chứa giátrị sẽ được dùng để nạp lại cho bộ định thời

• Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trongTLx

• Xảy ra tràn (cờ tràn TFx=1) khi số đếm chuyển từ FFH sang 00H vàviệc đếm sẽ tiếp tục đếm lên từ giá trị chứa trong thanh ghi THx

Trang 20

→ Sử dụng thanh ghi TL0 để tạo ra bộ định thời.

→ Số đếm: 00H → FFH nghĩa là từ 0 → 255 Thời gian định thời: từ

0 → (28–1)TTimer nghĩa là từ 0 → 255TTimer

→ Thanh ghi TL0 chứa giá trị của bộ định thời

→ Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trongTL0

→ Xảy ra tràn (cờ tràn TF0=1) khi số đếm chuyển từ FFH sang 00H và

việc đếm sẽ tiếp tục đếm lên từ giá trị 00H

+ Bộ định thời 8 bit thứ II:

→ Sử dụng thanh ghi TH0 để tạo ra bộ định thời.

→ Số đếm: 00H → FFH nghĩa là từ 0 → 255 Thời gian định thời: từ

0 → (28–1)TTimer nghĩa là từ 0 → 255TTimer

→ Thanh ghi TH0 chứa giá trị của bộ định thời

→ Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trongTH0

→ Xảy ra tràn (cờ tràn TF1=1) khi số đếm chuyển từ FFH sang 00H và

việc đếm sẽ tiếp tục đếm lên từ giá trị 00H

Trang 21

3.4.7) Nguồn xung clock cho bộ định thời:

Nguồn xung cho bộ định thời được tạo ra từ:

• Mạch dao động trên chip → dùng cho tính năng định thời gian

• Xung kích thích bên ngoài → dùng cho tính năng đếm sự kiện

3.4.7.1) Trường hợp định thời gian:

Nếu C/T=0 thì:

• Bộ định thời được dùng để định thời gian (Timer)

• Nguồn xung clock định thời được lấy từ mạch dao động trên chip

3.4.7.2) Trường hợp đếm sự kiện:

Nếu C/T=1 thì:

• Bộ định thời được dùng để đếm sự kiện (Counter)

• Nguồn xung clock định thời được lấy từ xung kích thích bên ngoài tại haichân T0 và T1 của chip 8051

Trang 22

Lưu ý:

- Tần số kích thích tối đa cho phép tại chân T0 và T1 là 500KHz (trong

trường hợp chip 8051 dùng thạch anh 12MHz).

- Số lượng sự kiện (số xung) mà bộ định thời đếm được sẽ được chứa trong các thanh ghi THx và TLx.

- Một kích thích được gọi là một sự kiện khi xảy ra sự chuyển trạng thái từ 1 xuống 0 ở ngõ vào T0 và T1.

CHƯƠNG 4: SƠ ĐỒ KHỐI CỦA MẠCH

KHỐI HIỂN THỊ

KHỐI IC PHÂN KÊNH

KHỐI NÚT NHẤN KHỐI BÀN PHÍM MATRIX

KHỐI VI XỬ LÝ

Trang 23

CHƯƠNG 5: SƠ ĐỒ NGUYÊN LÝ

1 0 8 6 4 3 1

1 0 8 6 4 3 1

1 0 8 6 4 3 1

1 0 8 6 4 3 1

Khối ledmartix sử dụng 4 ledmatrix để hiển thị cho 4 đội chơi Sử dụng Port

2 của 89C51 để xuất mã và Port 1 nối vào IC phân kênh để quét led hiển thị Các transistor Ạ1015 được sử dụng để kéo dòng

Trang 25

S W 6

Khối bàn phím Matrix sử dụng 16 nút nhấn để thể hiện phương án trả lời của các đội Sự dụng chương trình quét phím để kiểm tra xem nút nào đươợ nhấn

S W 1

R 6 R

R 4 R

S W 2

S W 6

S W 3

R 2 R

S W 5

Trang 26

J 1

C O N 8

1 2 3 4 5 6 7 8

V C C

J 4

C O N 8

1 2 3 4 5 6 7 8

C 2

U 1

8 9 5 2

1 2 3 4 5 6 7 8

C 1

Trang 27

CHƯƠNG 6: LƯU ĐỒ GIẢI THUẬT

6.1 LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH CHÍNH

CHẠY CHƯƠNG TRÌNH TRẮC NGHIỆM

KIỂM TRA NÚT TRẢ LỜI

CHẠY CHƯƠNG TRÌNH

TRẢ LỜI

MAIN

KIỂM TRA NÚT TRẮC NGHIỆM

Trang 28

6.2.LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH TRẢ LỜI

Trang 29

6.3.LƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH TRẮC NGHIỆM

TRẮC NGHIỆM

GỌI CHƯƠNG TRÌNH QUÉT PHÍM

C=1 (CÓ PHÍM NHẤN)

KIỂM TRA PHÍM NÀO ĐƯỢC NHẤN

HIỆN THỊ ĐÁP ÁN RA LEDMATRIX

Trang 39

KẾT LUẬN:

Đề tài “mạch game đố vui sử dụng ledmatrix” đã giúp chúng em có những trảinghiệm vô cùng quý giá, chúng em có dịp ôn lại những kiến thức đã học, đồngthời tích lũy thêm cho mình môt số kiến thức, kỹ năng mới về lập trình vi xử

lý Tuy nhiên do khả năng và thời gian có hạn nên đề tài khi hoàn thành vẫncòn găp một số hạn chế nhất định như:

• Sử dụng quá nhiều Bus nên làm cho mạch trở nên rườm rà, mất đi tínhthẩm mỹ

• Các ký tự xuất hiện trên led xảy ra hiện tượng nhấp nháy do chỉ quétđơn lẻ từng led một

Hướng khắc phục:

• Hạn chế số dây Bus sử dụng trên mạch

• Lập trính cho vi xử lý quét đồng thời cả 4 ledmatrix

Hướng phát triển của đề tài:

• Các ledmatrix có thể hiển thị điểm số của các đội

Trang 40

DANH MỤC TÀI LIỆU THAM KHẢO:

“Giáo trình vi xử lý” trường Đại Học Công Nghiệp TPHCM

“Giáo trình thực hành vi xử lý” trường Đại Học Công Nghiệp TPHCM

Ngày đăng: 03/01/2016, 16:47

HÌNH ẢNH LIÊN QUAN

Hình minh họa đơn giản hoạt động của bộ định thời 3 bit: - đồ án vi xử lý trong đo lường điều khiển
Hình minh họa đơn giản hoạt động của bộ định thời 3 bit: (Trang 15)
CHƯƠNG 4: SƠ ĐỒ KHỐI CỦA MẠCH - đồ án vi xử lý trong đo lường điều khiển
4 SƠ ĐỒ KHỐI CỦA MẠCH (Trang 22)
CHƯƠNG 5: SƠ ĐỒ NGUYÊN LÝ - đồ án vi xử lý trong đo lường điều khiển
5 SƠ ĐỒ NGUYÊN LÝ (Trang 23)

TỪ KHÓA LIÊN QUAN

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

w