1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG

20 247 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 20
Dung lượng 3,16 MB

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

Nội dung

 Sau đây là chức năng của một số phím đặc biệt  Các phím hiển thị số từ số 0 đến số 9 dùng để hiển thị số bình thường trên Led 7 đoạn..  Các phím thông số của bình GAS sau khi bấm sẽ

Trang 1

ChươngI:

Thiết kế phần mạch thi công

1) Sơ đồ khối của bàn phím:

Sơ đồ khối bàn phím

i Khối phím bấm:

 Phần cứng:

Khối phím bấm bao gồm 48 phím được nối với bộ xử lý trung tâm (vi xử

lý) qua 2 dây bus (dây bus 6 và dây bus 8) theo phương pháp quét phím ma trận (6x8)

 Sau đây là chức năng của một số phím đặc biệt

 Các phím hiển thị số từ số 0 đến số 9 dùng để hiển thị số bình thường

trên Led 7 đoạn Những số này hiển thị số liệu của các thông số

 Các phím thông số của bình GAS sau khi bấm sẽ được hiển thị trên

LED ma trận dưới dạng các ký hiệu đã được qui ước trước

 Các phím đặc biệt bao gồm:

- Phím end để kết thúc nhập một binh gas sau khi nhấn phím này

Trên bang Led matrận sẽ hiện ra OK

- Phím CHECK dùng kiểm tra lại các thông số của một bình GAS đang

Phím bấm

Bộ sử lý trung tâm

Trang 2

nhập trước khi truyền các thông số này về máy tính trung tâm Cách sử dụng phím này như sau : đầu tiên nhấn phím CHECK sau đó muốn kiểm tra thông số nào thì bấm phím thể hiện thông số đó Lúc đó trên Led matrận sẽ hiển thị ký tự của thông số đó, Led 7 đoạn hiển thị số liệu của thông số đó Muốn thoát khỏi chế độ kiểm tra ta nhấn CHECK thêm một lần nữa Nếu muốn kiểm tra thông số của bình đã nhập trước đó thì gõ sêri tương ứng sau đó nhấn CHECK

- Phím (-) dùng để tạo khoảng trống trên bảng Led 7 đoạn dùng

trong việc nhập các số liệu của các thông số như thông số ngày tháng năm nhập: 24 - 4 - 02

- Phím RESET dùng để bắt đầu cho việc nhập một bình GAS mới Sau

khi nhấn phím này, Các ô nhớ dùng để lưu trữ và các ô nhó bufer sẽ được xóa hết

- Phím CA dùng để xóa hoàn toàn bảng Led hiển thị

- Phím CE dùng để xóa một ký tự đang nhập

- Phím enter dung để truyền số liệu về máy tính Sau khi nhấn phím

này toàn bộ các số liệu lưu trữ tong các ô nhớ sẽ được truyền về máy tính

- Phím OK dùng để báo hiệu các thông số phụ đạt yêu cầu

- Phím NOTOK ngược lại với phím OK

- Khi nhập số liệu nếu có sự trùng lặp số seri sẽ có bảng thông báo:

ER 1 Nếu muốn nhập số mới nhấn New khi đó dữ liệu mới sẽ tự động thay thế dữ liệu cũ

ii Khối hiển thị LED

 Sơ đồ mạch : Bảng Led gồm 8 con Led để sát nhau dung để hiển thị

các số liệu nhập vào từ bàn phím, hay các số liệu từ máy tính truyền xuống

Hiển thị LED có thể sử dụng một trong hai phương pháp : quét hoặc là chốt Ơû đây chọn phương pháp quét, bởi vì dùng phương pháp chốt trong trường hợp này không kinh tế lắm (cần 7x8 = 56 điện trở 330 và 8 IC chốt hay giải mã BCD) Dĩ nhiên, khi ta được mặt này thì phải

chịu mặt kia, đó là về mặt lập trình gặp nhiều khó khăn hơn : cần đảm bảo đúng một khoảng

thời gian cố định (cỡ 1ms) thì phải quét led

Việc truy xuất một led thông qua 2 bước : chọn led cần xuất và sau đó xuất dữ liệu ra Vì vậy trong thiết kế dùng 2 IC chốt : một cho chọn led (U13) và một cho dữ liệu (U14) Tín hiệu truy xuất là sự kết hợp của WR và tín hiệu chọn vùng địa chỉ qua cổng NOR dẫn đến chân chốt

- led ma trận:

- Bảng Led ma trận gồm 2 led ghép lại dùng để hiển thị những thông số nhập từ bàn phím Led matrận này hoạt động theo nguyên tắc quét từng cột Led Ơû đây em sử dung 2 con IC 74573 để chọn cột Led và một con dùng để xuất dữ liệu Hai cột cách nhau sáng cách nhau 2ms

- Ngoài ra còn có một số led đơn dùng để báo hiệu như báo nguồn báo lỗi đường truyền

Trang 3

iii Khối xử lý trung tâm

 Sơ đồ mạch: Phần xữ lý trung tâm là một vi xử lý AT89C51 được nối

với các thiết bị ngoại vi :

Đóng vai trò bộ điều khiển trung tâm, chịu trách nhiệm về tất cả các hoạt động của mạch Board mạch cung cấp một công cụ để có thể điều khiển theo bất cứ phương pháp nào, miễn là có giải thuật và viết chương trình nạp cho AT89C51

 Chân EA được nối đến một switch và điện trở 4.7K cho phép tùy chọn nối lên +5V hay nối xuống GND, điều này tương ứng với việc AT89C51 sẽ thực thi chương trình bên trong bộ nhớ nội hay chương trình bên ngoài RAM

 Bộ dao động gồm thạch anh X1 và 2 tụ C1, C2 được nối đến chân XTAL1 và XTAL2 Xung clock cho các hoạt động bên trong của AT89C51 sẽ có tần số bằng tần số của thạch anh chia cho 12 Thông thường, người ta hay dùng thạch anh 12MHz để tần số xung clock là 1MHz, tương ứng với một chu kỳ máy tốn 1ms nên rất dễ tạo một timer thời gian thực

chính xác Tuy nhiên trong mạch lại dùng thạch anh 11,059MHz là để tạo baudrate

ta phải dùng một timer (thường là timer1) và tốc độ tràn của nó sẽ tạo ra baudrate Khi đó, ta có công thức:

BAUDRATE = TỐC ĐỘ TRÀN TIMER1 ¸ 12

Ví dụ, giả sử ta muốn có tốc độ 1200 baud thì tính như sau :

1200 = tốc độ tràn timer1 ¸ 12

Þ tốc độ tràn timer1 = 1200x32 = 38,4KHz Nếu thạch anh có tần số 12MHz thì timer1 được clock với tần số 1MHz hay 1000KHz Để có tốc độ tràn là 38,4KHz thì timer1 phải tràn sau mỗi 1000 ¸ 38,4 = 26,04 xung clock (làm tròn là 26) Do timer đếm lên và sẽ tràn khi chuyển từ FFh sang 00h, cần phải nạp số -26 vào timer và thế là baudrate được tạo ra

Như ta đã thấy, trong phép tính trên có làm tròn, điều này dẫn đến sai số trong baudrate tạo ra Từ đó ta cần phải tìm thạch anh có tần số sau cho baudrate tạo ra không có sai số để việc truyền thông đảm bảo chính xác Qua các phép tính thì thạch anh 11,059MHz cho baudrate rất chính xác Bảng sau sẽ cho thấy sự so sánh sai số khi dùng thạch anh 12MHz và thạch anh 11,059MHz trong một số baudrate thông dụng :

BAUDR

ATE

TẦN SỐ THẠCH ANH

SM OD

GIÁ TRỊ NẠP

BAUDR ATE THỰC SỰ

SAI SỐ

Trang 4

J 7

8 H E A D E R

1 2 3 4 5 6 7 8

V C C

D 5

D 3

U 5

A T 8 9 C 5 1

9

1 8

1 9

2 9

3 0

3 1

1 2 3 4 5 6 7 8

2 1

2 2

2 3

2 4

2 5

2 6

2 7

2 8

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

3 9

3 8

3 7

3 6

3 5

3 4

3 3

3 2

R S T

X T A L 2

X T A L 1 A L E / P R O GP S E N

E A / V P P

P 1 0

P 1 1

P 1 2

P 1 3

P 1 4

P 1 5

P 1 6

P 1 7

P 2 0 / A 8

P 2 1 / A 9

P 2 2 / A 1 0

P 2 3 / A 1 1

P 2 4 / A 1 2

P 2 5 / A 1 3

P 2 6 / A 1 4

P 2 7 / A 1 5

P 3 0 / R X D

P 3 1 / T X D

P 3 2 / I N T 0

P 3 3 / I N T 1

P 3 4 / T 0

P 3 5 / T 1

P 3 6 / W R

P 3 7 / R D

P 0 0 / A D 0

P 0 1 / A D 1

P 0 2 / A D 2

P 0 3 / A D 3

P 0 4 / A D 4

P 0 5 / A D 5

P 0 6 / A D 6

P 0 7 / A D 7

D 2

T X D

A 1 3

D 6

C 2

3 0 p

V C C

V C C

P S E N

J P 1

1 2 3

A 1 4

I N T 0

J 1 2

8 H E A D E R

1 2 3 4 5 6 7 8

S W 1

C 1 C

R N 1

R - P A C K

D 4

I N T 1

D 1

A L E

X 1

J 1 9

8 H E A D E R

1 2 3 4 5 6 7 8

V C C

R 4 7 R

P 3 7

D 0

W R

R X D

P 3 5

R 4 8 R

P 3 4

A 1 5

9600

2400

1200

19200

9600

2400

1200

12,000MHz 12,000MHz 12,000MHz 11,059MHz 11,059MHz 11,059MHz 11,059MHz

1 0 0 1 0 0 0

-7(F9H) -13(F3H) -26(E6H) -3(FDH) -3(FDH) -12(F4H) -24(E8H)

8923 2404 1202 19200 9600 2400 1200

7%

0,16%

0,16%

0 0 0 0

(Nếu SMOD = 1 thì baudrate = tốc độ tràn timer1 ¸ 16)

Mạch reset gồm C3, R2 cho tác vụ auto-reset (reset khi mới cấp nguồn) Ngoài ra còn có R1 và SW1 cho tác vụ manual-reset (reset bằng tay khi ấn phím SW1 bất cứ khi nào)

 Chân P3.2 và P3.3 là ngõ ra của Port3 cũng đồng thời là ngõ vào của ngắt ngoài Trong thiết kế đã thiết kế sẵn dùng để phục vụ chương trình nếu cần thiết

 Chân P3.0 va P3.1 là chân RXD và TXD dùng để nối với 75176 để thực hiện đổi sang chuẩn RS-485

 Port1 và port2 dùng để quét phím,trong đó có hai chân dư của port2 là p2.7, p2.8 dùng để phát tín hiệu ra LED đơn phục vu cho chương trình

 Port0 dùng để mở rộng port thông qua IC 74573

- 5 IC 74573 dùng để mở rộng port phục vụ cho việc hiển thị bảng led

thông qua port 0 Port 0 được kéo dòng nhờ thanh điện trở 10k kéo lên nguồn VCC

- 1 IC 74138 dùng làm chốt ,kết hợp với chân WR của VXL điều khiển việc mở rộng port

- 2 IC 7402 dùng để mơ rộng port

- 1 IC 75176 dùng để chuyền tin hiệu TTL thành tín hiệu visai và

ngược lại trong mạng RS-485

- 1 IC 555 tạo xung nhịp dùng để điều khiển việc xuất nhập dữ liệu

trong mạng RS-485

Trang 5

Sơ đồ mạch phần xử lý trung tâm

iv Khối giao tiếp với máy tính:

 Sơ đồ khối:

U 5 2

7 5 1 7 6

1

6 3

4

R

R E B

A

D E D

U 3

7 5 1 7 6

1 2

7 6 3

4

R

R E B A

D E D

D 5

V C C _ B A R

C 1 4 C

C 9

0 0 1 u

U 5 1

2 7

4 5

T R I G

D I S

T H R O U T 4

C O N T R

A

C 1 6 C

R 1 2 R

P 1

C O N N E C T O R D B 9

5 9 4 8 3 7 2 6 1

V C C _ B A R

V C C

R 5

5 6 0

C 1 5 C

R 4

5 6 0

V C C

R X D

V C C _ B A R

U 7

H A 1 7 5 5 5

2 7 6 3

4 5

T R I G

D I S

T H R

O U T 4

C O N T R

V C C

C 1 3 C

U 5 0

M A X 2 3 2

1

3

4

5 2

6

1 2

1 1

1 3

1 4

C 1 +

C 1

-C 2 +

C 2

-V +

V

-R 1 O U T

T 1 I N

R 1 I N

T 1 O U T

C 1 2 C

B

D 4

A B

R 7

1 2 0

R 8

3 9 K

T X D

C 1 7 C

C 8

0 0 1

Chuyển TTL thành

VISAI

Chuyển visai thành

TTL

Chuyển TLT thành

RS-232

Trang 6

Sơ đồ mạch:

Sơ đồ mạch phần giao tiếp máy tính

 Phần giao tiếp : Về chương trình điều khiển đã được trình bày ở phần giao tiếp với vi xử lý Có một yếu tố lưu ý ở đây là em dùng IC 555 để điều khiển thu phát, phương pháp này có lợi thế về phần mềm điều khiển thu, phát

Lưu đồ giải thuật và chương trình điều khiển:

1 Chương trình điều khiển:

ACC D ADDR 00E0H A

Trang 7

AGAIN C ADDR 08CFH A AMON C ADDR 03E2H A BACK C ADDR 0897H A BACK2 C ADDR 08A0H A BACK3 C ADDR 08A5H A BCDTO7SEG C ADDR 0178H A C_LED C ADDR 017DH A C_MT1 C ADDR 0187H A C_MT2 C ADDR 018CH A

CA C ADDR 06E1H A CDDL C ADDR 03A9H A

CE C ADDR 06F2H A CHECK C ADDR 0798H A CHECKAMON C ADDR 03EEH A CHECKCD C ADDR 0364H A CHECKCDDL C ADDR 03B5H A CHECKCO C ADDR 037FH A CHECKDAY C ADDR 0235H A CHECKDT C ADDR 02DDH A CHECKED C ADDR 07EEH A CHECKKD C ADDR 0427H A CHECKKLB C ADDR 0349H A CHECKKLV C ADDR 039AH A CHECKNOI C ADDR 032EH A CHECKOK C ADDR 0840H A CHECKPRA C ADDR 03D0H A CHECKRO C ADDR 040CH A CHECKSERI C ADDR 026BH A CHECKSHC C ADDR 02C2H A CHECKSON C ADDR 0445H A CHECKSX C ADDR 0313H A CHECKTLT C ADDR 02F8H A CHIEUDAY C ADDR 0358H A

CO C ADDR 0373H A COPY C ADDR 0727H A DATA0 C ADDR 080AH A DATA1 C ADDR 0856H A DELAY2MS C ADDR 0882H A DICHCE C ADDR 06FEH A DONE C ADDR 08DCH A DUNGTICH C ADDR 02D1H A ENTER C ADDR 0759H A

ER C ADDR 06C2H A

Trang 8

EXIT C ADDR 08DEH A

EXITDATA0 C ADDR 082CH A

EXITETER C ADDR 0777H A

EXITGM C ADDR 046CH A

EXITNS C ADDR 0491H A

EXITT_CH C ADDR 083FH A

F0 B ADDR 00D0H.5 A

Trên đây là các chương trình điều khiển trên vi xử lý tuy nhiên em chỉ trình bày lưu đồ giải thuật của một số chương trình chính

 Chương trình chính:

Sau khi nhấn nút RESET phần cứng chương trình sẽ được thực thi như sơ đồ khối sau (xem hình) Trong đó, toàn bộ các công việc thực thi như phân loại dữ liệu, truyền nhận… đều được thực thi trong phần giải mã

 Chương trình con quét phím:

Thực hiện việc quét hàng và cột để tìm xem có phím nào bị nhấn hay không Kết quả trả về thông qua cờ carry : C = 1 nếu có phím bị nhấn và mã hex nằm trong nibble thấp của thanh ghi tích lũy, C = 0 nếu không có phím nào bị nhấn

Giải thuật :

Star

Quét phím

Giải mã

Xuất Led

Trang 9

Mã quét = 11111110B (quét cột 0)

Có bit hàng =

0 ?

Giảm Số đếm Số đếm = 0 ?

Sai

Đúng

Sai

Đúng

Số đếm = 8 Xuất mã quét ra port1 Nhập port2 vào ACC

1

Dịch trái mã quét (quét cột kế)

2

Xóa cờ C = 0

Số thứ tự cột = 8 - Số đếm

Trang 10

Mã phím = số thứ tự cột Số đếm = 8

Dịch MSB của ACC vào cờ C

1

C = 0 ? Mã phím = số thứ tự cột + 8 Giảm Số đếm

Số đếm = 0

?

C = 1 Cất mã phím vào ACC

RET 2

Sai

Đúng Sai

Đúng

Trang 11

Chương trình con có nhiệm vụ chống rung phím, bằng cách lặp lại GET_KEY khoảng 50 lần Nếu như 50 lần đều trả về C = 1 thì tức là có một phím được ấn, còn nếu có một lần C = 0 thì đó là rung động và bộ đếm được reset Sau khi đã phát hiện có phím ấn, IN_HEX sẽ chờ một khoảng thời gian tương ứng 50 lần gọi GET_KEY để đảm bảo rằng không còn rung cho lần gọi GET_KEY kế tiếp Ở đây em thiết kế việc xuất Led xen vô thời gian chờ trong chương trình chống rung

Chương trình giải mã một số phím chức năng đặc biệt :

Phím ENTER: Phím ENTER có chức năng rất quan trọng trong bàn phím khi được thực thi những dữ liệu hiễn thị trên bảng led sẽ được chuyển vô “buffer ” Kế đó dữ liệu sẽ được truyền về PC , Dữ liệu trong “buffer” và trên bảng led sẽ được xóa Sau đó nhận tín hiệu trên PC trả về, nếu dữ liệu gởi đi có lỗi trùng lặp sẽ thông báo lên bảng led

Sơ đồ khối

ENTER

Ghi dữ liệu vào "buffer"

(32H-39H) vào (44H,4BH)

A=99 ?

Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A)

Truyền dữ liệu lên máy tính

Xử lý tín hiệu nhận

được

Báo hiệu tiếp tục nhập dữ liệu

Báo hiệu trùng dữ

liệu

đúng

Sai

đúng

Sai

Trang 12

Phím End : Phím end có chức năng báo cho PC biết đã nhập xong thông số của một bình Gas Khi bấm phím này vi xử lý sẽ truền một tín hiệu về cho máy tính, khi nhận được tín hiệu này, PC sẽ tạo thêm dòng mới để nhận Bình Gas mới đồng thời trả tín hiệu xác nhận về cho vixử lí biết Khi nhận được tín hiệu này trên bảng Led sẽ hiện “OK”

Sơ đồ khối:

ENT

Xóa dữ liệu trên "buffer" va trên

bảng led

A=99 ?

Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A)

Truyền dữ liệu lên máy tính

Tạo chỗ trống cho bình

kế

Báo hiệu (OK) tiếp tục nhập dữ liệu

Sai đúng

Trang 13

Phím New: Khi ta nhập số liệu của bỉnh Gas nếu có trùng lặp số sêri sẽ được nhận báo lỗi trùng lặp, hoặc khi kiểm tra từ bàn phím một bình gas đã nhập nào đó mà thấy bị sai một thông số… Khi đó ta nhấn phím New để nhập đè lên hoặc nhập mới Nguyên tắc hoạt động : Đầu tiên khi bấm phím kít sẽ gửi lên tín hiệu thông báo cho PC biết nhập tín hiệu mới Khi nhận được tín hiệu này PC sẽ kết hợp với điều kiện kiểm tra tự động có sẵn ở mỗi lần nhập để tìm đến bình gas cần sửa chữa hoặc cần nhập đè lên

Sơ đồ khối:

New

A=99 ?

Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A)

Truyền dữ liệu lên máy tính

Xử lý tín hiệu nhận

được

Báo hiệu tiếp tục nhập dữ liệu

đúng

Sai

Trang 14

Phím CHECK: Phím này dùng để kiểm tra dữ liệu đã nhập có hai chế độ kiểm tra nếu để mặc định nghĩa là chỉ bấm Check không thì sẽ kiểm tra được số liệu của bình gas vừa nhập Còn nếu bấm số sêri rồi bấm CHECK ta sẽ nhận được số liệu của bình gas có số seri tương ứng Khi nhấn phím CHECK đèn Led màu đỏ sẽ sáng báo hiệu cho biết đang trong chế độ check

Sơ đồ khối:

CHECK

Xóa dữ liệu trên "buffer" va trên

bảng led

A=99 ?

Đợi tín hiệu gọi trên PC truyền xuống (nhập vào A)

Truyền dữ liệu lên máy tính

Tìm bình có số sêri tương ứng

Truyền lại xuống máy tính

set F0 mở đèn báo

Sai

đúng

Trang 15

Các phím hiển thị thông số của các bình gas hoàn toàn tương tự nhau vì thế em chỉ nêu chế độ hoạt động của một phím,

Phím seri:Khi nhấn phím này, đầu tiên vi xử lý sẽ kiểm tra tín hiệu Check (cờ F0) nếu không có (F0 = 0) hiển thị SR lên bảng led rồi đợi nhập số liệu của thông số này Nếu có tín hiệu check(F0 = 0) sẽ hiển thị SR trên bảng Led đồng thời nhận số liệu hiển thị của thông số này trên

PC truyền xuống

Sơ đồ khối:

SERI

Xuất dữ liệu từ bàn phím lên bảng led

truyền mã hỏi lên PC

PC truyền dữ liệu được hỏi xuống bảng led đúng

Ngày đăng: 16/11/2015, 11:11

HÌNH ẢNH LIÊN QUAN

1) Sơ đồ khối của bàn phím: - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
1 Sơ đồ khối của bàn phím: (Trang 1)
Sơ đồ mạch phần xử lý trung tâm - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ m ạch phần xử lý trung tâm (Trang 5)
Sơ đồ khối - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ kh ối (Trang 11)
Sơ đồ khối: - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ kh ối: (Trang 12)
Sơ đồ khối: - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ kh ối: (Trang 13)
Sơ đồ khối: - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ kh ối: (Trang 14)
Sơ đồ khối: - CHƯƠNG 1 THIẾT kế PHẦN MẠCH THI CÔNG
Sơ đồ kh ối: (Trang 15)

TỪ KHÓA LIÊN QUAN

w