Với những kỹ thuật tiên tiến của vi xử lí, vi mạch sốđược ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc độ xử lí chậm chạp ít chính xác được thay t
Trang 1T rang 1
LỜI CAM ĐOAN
Tôi xin cam đoan đồ án này ỉ à công trình nghiên cứu của riêng tôi, và chua được công hố trên hất kỳ phương tiện nào Những vấn đề được trình hày
Trang 2
MỤC LỤC
Lời cam đoan 1
Mục lục 2
Danh mục hình vẽ Error! Bookmark not defined. Danh mục bảng 6
A:Phần mở đầu 7
1. Đặt vấn đề 7
2. Giới thiệu đề tài 7
3. Mục đích nghiên cứa của đề tài: 8
B: Nội dung 9
Chương I: Tổng quan về hệ thống cân điện tử 9
1.1.Hệ thống cân sử dụng Loadcell và ứng dụng 9
1.2.Sơ lược các phương pháp và cảm biến được dùng trong việc đo khối lượng .11
1.2.1 Ng uyên lý đo khối lượng 11
1.2.2 Cá c phương pháp đo khối lượng 11
1.3.Giới thiệu chung về loadcell 15
1.3.1 Cấu tạo và nguyên lý hoạt động .15
1.4.Ví dụ về hệ thống ứng dụng cân điện tử: Hệ thống cân xe 21
Trang 23.2.2 Bộ điều khiển đường truyền MAX232 56
3.2.3 Cá
c cổng COM của IBM PC và tương thích 57
3.3 Các thanh ghi điều khiển thuyền thông nối tiếp 57
3.3.1 Bộ đệm dữ liệu nối tiếp(SBUF) 57
3.3.2 Thanh ghi điều khiển nối tiếp SCON 58
3.4 Lập trình 8051 truyền thông nối tiếp 60
3.4.1 Lập trình 8051 để truyền dữ liệu nối tiếp 60
3.4.2 Lập trình 8051 để nhận dữ liệu nối tiếp 61
Trang 3Trang 4
DANH MỤC HÌNH VẼ B: Nội dung
Chương I: Tổng quan về hệ thống cân điện tử 9
Hình 1.1 Sơ đồ khối của một hệ thống cân điện tử dùng loadcell 9
Hình 1.2 Các dạng biến dạng cơ bản 13
Hình 1.3 Cách ghép các phần tử áp điện 14
Hình 1.5a LoadCell khi không có lực tác dụng 16
Hình 1.5b LoadCell khi có lực tác dụng 16
Hình 1.5c Sơ đồ điện cho cảm biến Load Cell 16
Hình 1.6 Sơ đồ tính điện áp ra 17
Hình 1.7 Sơ đồ tương đương 17
Hình 1.8 Sơ đồ tính tổng trở 18
Hình 1.9 Đầu dây ra của Loadcell 19
Hình 1.10 hình dạng của một số loại Loadcell có trong thực tế 21
Hình 1 11 Sơ đồ khối của một hệ thống cân xe 22
Hình 1.12 Bàn cân trạm cân xe 23
Hình 1.13 Cách bố trí Loadcell 23
Trang 4Hình2.10 Sơ đồ khối chuyển đổi ADC dùng phương pháp xấp xỉ liên tiếp 43
Hình 2.11 Sơ đồ chân của ADC0809 44
Hình 2.12 Biểu đồ thời gian của ADC 0809 47
Hình 2.13 Sơ đồ chân của LCD: 48
Hình 2.14 Ghép nối LCD 50
Hình 2.15 Bộ khuếch đại không đảo : 51
Hình 2.16 Bộ khuếch đảo 51
Hình 3.1 Đầu nối DB - 25 của RS232 55
Hình3.2 Sơ đồ đầu nối DB - 9 của RS232 55
Hình3.3 a) Sơ đồ bên trong của MAX232 57
b) Sơ đồ nối ghép của MAX232 với 8051 theo moden không 57
Hình3.4: Cách chọn thêm thành phần microsoft comm control ở visual basic 6.0 64
Hình3.5 Thành phần Mscomm trong hợp công cụ (toolbox) 64
Chương IV: Thiết kế và thi công 73
Hình 4.1 Sơ đồ khối tổng quát hệ thống 74
Trang 5Trang 6
DANH MỤC BẢNG
B: Nội dung 9
Chương I: Tổng quan về hệ thống cân điện tử 9
Bảng 1.1 Đặc trưng vật lý của một số vật liệu áp điện Bảng 1.2 Các mầu thông dụng đầu ra của Loadcell 20
Chương II:Khảo sát vi điều khiển 8051, ADC 0809 ,LCD và các mạch khuếch đại .26
Bảng 2.1 Các chức năng khác của cổng P3 29
Bảng 2.2: Thanh ghi chức năng đặc biệt dùng timer 33
Bảng 2.3: Các bít của thanh ghi điều khiển trạng thái TCON 35
Bảng 2.4 Các bit của thanh ghi TMOD 36
Bảng 2.5 Các chế độ của TMOD 36
Bảng2.5 Bảng trạng thái củaADC0809 45
Trang 6A:PHẦN MỞ ĐẦU
1. Đặt vấn đề
Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật số các hệ thống điềukhiển dần dần được tự động hóa Với những kỹ thuật tiên tiến của vi xử lí, vi mạch sốđược ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc
độ xử lí chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiển tự động vớicác lệnh chương trình đã được thiết lập trước
Cân xe cũng như việc cân những khối lượng lớn là một nhu cầu cần thiết cho các nhàmáy sản xuất muốn biết khối lượng hàng hoá, sản phẩm hay nguyên vật liệu, và cả chonhững lĩnh vực khác như bến cảng, trạm cân xe phát hiện quá tải của cảnh sát giao thông
Tuy đã được sử dụng rộng rãi ở Việt Nam nhưng hầu hết các hệ thống cân xe đều lắp ráp
từ các thiết bị có sẵn từ nước ngoài như loadcell, bộ hiển thị (đầu cân) Phần được chế tạo
ở đây có thể là nền cầu cân, hộp nối loadcell ( Junction Box) và viết chương trình quản lýtrạm cân
Vì các lí do trên và trên cơ sở lý thuyết đã học của môn đo lường và vi điều khiển,đồng thời được sự giúp đỡ của khoa Điện-Điện Tử Trường Đại Học Sư Phạm Kỹ Thuật khi
nhận đề tài làm đồ án tốt nghiệp em đã tiến hành thực hiện đề tài: “Thiết kế bộ xử lý cân điện tử dùng vi điều khiển 8051 hiển thị dữ liệu ra màn LCD,có giao tiếp với máy tính qua cổng RS232” Cụ thể em sẽ thiết kế một cân điện tử có thể cân được tối đa
25000 Kg
2. Giới thiệu đề tài
- Tóm tắt nội dung đề tài:
-Nghiên cứu về hệ thống cân điện tử
Trang 7Trang 8
-Xây dựng được lưa đồ thuật toán và viết chương trình phần mềm
-Mô phỏng được chương trình trên máy tính
3. Mục đích nghiên cứa của đề tài:
- Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình môn học
để đủ điều kiện ra trường
- Cụ thể khi nghiên cứu thực hiện đề tài là em muốn phát huy những thành quả ứng
dụng của vi điều khiển nhằm tạo ra những sản phẩm, những thiết bị tiên tiến hơn, và đạthiệu quả sản xuất cao hơn
- Mặt khác đồ án này cũng có thể làm tài liệu tham khảo cho những sinh viên khóa
sau, giúp họ hiểu rõ hơn về những ứng dụng của vi điều khiển
Trang 8ũũũũ Hiển thị
Hình 1.1 Sơ đồ khối của một hệ thống cân điện tử dùng loadcell
Tùy theo yêu cầu và mục đích ứng dụng, khối xử lý được dùng là vi xử lý hay
máy tính Nếu bộ xử lý sử dụng vi xử lý thì có thể có thêm khối truyền dữ liệu vềmáy tính, có thể có khối in ấn hoặc không tùy mục đích sử dụng
Dưới tác dụng của khối lượng đặt bên trên, loadcell sẽ chuyển thành tín hiệuđiện ở ngõ ra Tín hiệu điện rất nhỏ này được khuếch đại lên nhiều lần trước khi đưavào bộ chuyển đổi A/D để chuyển thành tín hiệu số và được đưa về bộ xử lý để xử lýtheo chương trình có sẵn và hiển thị hoặc có thêm việc in ấn Bộ xử lý cần thiết phải có
thêm bộ nhớ để lưu trữ số liệu, ví dụ trong việc chỉnh 0 và trừ bì của cân
Do tính linh hoạt của bộ xử lý, tùy theo mục đích cụ thể mà chương trình viếtcho bộ xử lý khác nhau Do đó, hệ thống cân này có thể ứng dụng trong nhiều lĩnh
Trang 9Trang 10
- Trong hệ thống bán hàng có sử dụng cân điện tử loại này, việc tính tiền có thểđược tự động hoàn toàn Hàng ở đây là những loại có thể cân được, có thể là rau quả, thủy
sản Người sử dụng nhập vào bàn phím giá cả của một đơn vị cân và giá cả này có thểhiển thị ra màn hình hoặc Led 7 đoạn Khi người dùng nhấn nút tính tiền trên bàn phím,
bộ xử lý sẽ nhân giá trị cân được với giá của một đơn vị cân này và hiển thị ra giá cả đãđược tính toán cho số hàng ấy Sau khi để giá này hiển thị một khoảng thời gian vừa đủcho người dùng đọc nó, hệ thống cân có thể sẽ hiển thị lại giá trị cân được Giá tiền này có
thể được lưu lại và nếu được nối đến máy tính của quầy thu tiền, khách hàng có thế nhậnđược bảng báo cáo bao gồm trọng lượng cân được, giá cả của một đơn vị cân và tổng sốtiền phải trả cho số hàng đó
- Cân cũng là một trong những biện pháp để phát hiện ra sản phẩm trone hệthống đếm tự động Khi phát hiện có khối lượng quy định thì mới đếm Điều này sẽ tránhđược việc đếm sai nếu cùng một lúc có hai sản phẩm hoặc vật thể khác không phải là sảnphẩm che cảm biến quang
- Một ứng dụng khác của hệ thống cân này có thể kể ra là dùng trong bưu điện.Sau khi cân kiện hàng và xác định nơi cần gửi Ngõ ra của hệ thống cân này thường đượcnối đến hệ thống in bưu phí lên nhãn dán vào kiện hàng gửi đi
-Ngoài ra ứng dụng phổ biến của cân điện tử đã được sử dụng nhiều trong cácnhà máy ở nước ta là ứng dụng trong việc đóng gói sản phẩm Người dùng có thể nhập
vào khối lượng cho một gói hàng hay bao gạo khi đạt đến giá trị quy định này, ngõ
ra của bộ xử lý có thể được dùng để điều khiển việc rót hàng hay dây chuyền để đónggói sản phẩm, có thể là bằng cách kích các relay để làm đóng, mở các valve selenoiddùng khí nén
Trang 101.2. Sơ lược các phương pháp và cảm biến được dùng trong việc đo khôi lượng 1.2.1 Nguyên lý đo khối lượng.
Trong vật lý cơ học, mối quan hệ giữa lực và khối lượng được xác định bằng định
luật II Newton, mà theo đó lực tác dụng vào vật thể có khối lượng m sẽ bằng tích sốkhối lượng và gia tốc của nó, tức là:
Trong đó:- F: Lực tác dụng (N)
- m: Khối lượng của vật(Kg)
-a: Gia tốc của vật (m/s2)
Trọng lực là một trường hợp của công thức này Dưới tác dụng của sức hút trái đất,
vật có khối lượng sẽ chịu tác dụng của trọng lực p = m.g với g là gia tốc trọng trường
là một số cố định ở từng khu vực Các phương pháp đo khối lượng là dựa vào quan hệ
1.2.2. Các phương pháp đo khôi lượng.
a. Cảm biến điện trở lực căng.
Sức căng 8 được xác định bằng sự thay đổi chiều dài ÀL của thanh đàn hồi L so
với
Trang 11Vật liệu Độ
thẩm
Điện trởsuất(ílm)
Modun
Young
Úng lựccực dại(102 N.iiì'2)
làm việcTmax (°C)Thạch
Thừa số cảm biến sức căng G được quy định là tỷ số của sự biến đổi đơn vị của
điện trở so với sức căng :
G = ( A R / R ) / ( A L / L ) (1.3)
trong đó : AR = sự thay đổi của điện trở (Q)
R = điện trở của cảm biến sức căng (Q)
AL = sự thay đổi chiều dài (m)
L = Chiều dài của cảm biến (m)
Khi tác dụng một lực f lên tiết diện cắt ngang A, ứng suất s = f/A (N/m2) ở thanh
đàn hồi, tỷ số của ứng suất s trên sức căng 8 là hằng số và được gọi là modun đàn hồi:
hiện nay vật liệu gốm (ví dụ gốm PZT) do có ưu điểm độ bền và độ nhạy cao, điện dung
lớn, ít chịu ảnh hưởng của điện trường ký sinh, dễ sản xuất và giá thành chế tạo thấp cũng
được sử dụng đáng kể
Đặc trưng vật lý của một số vật liệu áp điện được trình bày trên bảng 1.1
Dưới tác dụng của lực cơ học, tấm áp điện bị biến dạng, làm xuất hiện trên hai bản
cực các điện tích trái dấu Hiệu điện thế xuất hiện giữa hai bản cực tỉ lệ với lực tác dụng
Các biến dạng cơ bản xác định chế độ làm việc của bản áp điện Trên hình 1.2
Trang 12ZD
Hình 1.3 Cách ghép các phần tử áp điệna.Hai phần tử song song, b.Hai phần tử nối tiếp, c.Nhiều phần tử song
❖ Cảm biến dựa trên hiện tượng từ giảo
- Cảm biến từ thẩm biến thiên
IX R L
Hình 1.4 Cảm biến từ thẩm biến thiên
- Cảm biến từ dư biến thiên
Phần tử cơ bản của cảm biến từ dư biến thiên là một lõi từ làm bằng Ni tinh
khiết cao, có từ dư Br Dưới tác dụng của lực cần đo, thí dụ lực nén (dù < 0), Br tănglên:
Trong đó K là hệ số tỉ lệ với số vòng dây và tiết diện vòng dây
1.3. Giới thiệu chung về loadcell.
1.3.1 Cấu tạo và nguyên lý hoạt động.
Trang 13thanh đàn hồi, dẫn đến việc tăng sức căng các cảm biến R r R 3 và giảm sức căng các cảm
hiện điện thế tỷ lệ với lực tác động Điện thế này sẽ được khuếch đại tới giá trị cần thiết
Cách dùng bốn cảm biến bố trí trên 4 nhánh cầu được ứng dụng rộng rãi trong cácloadcell thực tế Thông thường 4 cảm biến này được bố trí trên hai mặt của loadcell, vànhư vậy sẽ có hai cảm biến điện trở bị dãn ra và 2 cảm biến điện trở sẽ co lại khi có lực
Sự thay đổi của điện áp ra theo biến dạng của các điện trở này có thể được tínhnhư sau :
Trang 14Hình 1.6 Sơ đồ tính điện áp raHai điện trở R| và R2 thường được dùng trong mục đích cộng các tín hiệu từ cácloadcell lại với nhau, Rị là tải.
Sơ đồ tương đương Thevenin cho mạch trên được vẽ như sau:
VL
Hình 1.7 Sơ đồ tương đương
Ớ đây R0 là tổng trở ra của loadcell
Trang 152 A R
Trang 18
- ỀL— y
Rị + R + R-,
Vì thế điện áp ngõ ra sẽ thay đổi theo sự thay đổi giá trị của các điện trở này
Đê tính tổng trở ra của loadcell ta ngắn mạch nguồn áp cung cấp V, khi đó
Trang 16Đây chính là tổng trở ra của loadcell.
Như vậy điện áp rơi trên tải RL là:
b Một số Loadcell thực tế
Có nhiều loại loadcell do các hãng sản xuất khác nhau như KUBOTA (của Nhật),Global Weighing (Hàn Quốc), Transducer Techniques Inc, Tedea - Huntleigh Mỗiloại loadcell được chế tạo cho một yêu cầu riêng biệt theo tải trọng chịu đựng, chịu lực
kéo hay nén Tùy hãng sản xuất mà các đầu dây ra của Loadcell có màu sắc khác
Hình 1.9 Đầu dây ra của Loadcell
Bảng 1.2 Các mầu thông dụng đầu ra của Loadcell
Thông số kỹ thuật của từng loại loadcell được cho trong catalogue của mỗi loadcell
và thường có các thông số như : tải trọng danh định , điện áp ra danh định ( giá trị này cóthể là từ 2 miliVolt / Volt đến 3 miliVolt/Volt hoặc hơn tuỳ loại loadcell), tầm nhiệt độhoạt động, điện áp cung cấp, điện trở ngõ ra, mức độ chịu được quá tải (Với giá trị điện
áp ra danh định là 2mili Volt / Volt thì với nguồn cung cấp là 10 Volt thì điện áp ra sẽ là
20 mili Volt ứng với khối lượng tối đa.)
Tuỳ ứng dụng cụ thể mà cách chọn loại loadcell có thông số và hình dạng khác nhau
Trang 17Trang 21
Hình 1.10 hình dạng của một số loại Loadcell có trong thực tế
1.4. Ví dụ về hệ thống ứng dụng cân điện tử: Hệ thống cân xe
1.4.1. Sơ đồ khôi hệ thống.
Mặc dù hệ thống này đã được sử dụng khá phổ biến trong các trạm cân xe, nhưngviệc lấy và xử lý số liệu từ Loadcell do một bộ phận thực hiện thường gọi là đầu cân, mà
Trang 18Bộ hiển thị từ xa
220VoltAC
Hìnhl 11 Sơ đồ khối của một hệ thống cân xe
Tùy theo yêu cầu của từng trạm cân mà có thêm bộ hiển thị từ xa hay không.Sau đây là mô tả chi tiết các khối trong hệ thống trên
1.4.2. Cầu cân.
Cầu cân bao gồm một bộ phận thường làm bằng sắt hay những loại chịu lựctốt, còn gọi là bàn cân Bên dưới bàn cân này được bố trí thường là 4 Loadcell Sốlượng Loadcell bố trí này tuỳ thuộc vào tải trọng xe, chiều dài xe, có thể là 6 , 8Loadcell Khi xe tải chạy lên bàn cân, dưới tác dụng của trọng lực xe, mỗi Loadcell
bị nén và sinh ra một điện áp sai lệch, điện áp này được dẫn về hộp nối để cộng các tín
hiệu từ các Loadcell này lại trước khi đưa về đầu cân xử lý Tùy theo yêu cầu và vị trí
Trang 19Trang 23
Hình 1.12 Bàn cân trạm cân xe
1.4.3. Cách bô trí Loadcell và trạm nối dây.
Trong hệ thống cân xe, số lượng Loadcell sử dụng phụ thuộc vào tải trọng chịu
đựng, chiều dài xe Loadcell có thế được lắp như hình sau :
Trang 20Hình 1.14 Một số loại Loadcell có tải trọng lớn
Ngoài bộ phận chính là những tấm điện trở dán, một số loại Loadcell còn có thêmthiết bị bảo vệ quá tải có thể là các lò xo như những hình ở trên
1.4.4. Thiết bị chỉ thị khối lượng.
Cũng như Loadcell, thiết bị chỉ thị khối lượng (đầu cân) có nhiều loại, do nhiềuhãng sản xuất khác nhau Tùy mỗi loại và yêu cầu cho từng công việc mà đầu cân cónhiều chức năne khác nhau Tuy nhiên các chức năng cơ bản của một đầu cân là lấy tínhiệu điện áp từ Loadcell, biến đổi A/D, xử lý và hiển thị khối lượng cân được ra đèn led 7
đoạn hoặc màn hình tinh thể lỏng, có thể truyền dữ liệu về máy tính hoặc ra máy in Ngoài
Trang 21(T2) P1.0 □
GNDC □ P2.0 (A8) 21
Trang 25
Hình 1.15 Một số thiết bị chỉ thị khối lượng trong thực tế
Ngoài ra tuỳ theo yêu cầu của trạm cân mà có thể có thêm thiết bị hiển thị từ xahay không
1.4.5. Quản lý trạm cân dùng máy tính.
Mặc dù một số đầu cân có chức năng in ấn , nhưng để in những bảng báo cáo
như phiếu xuất kho, tính giá tiền cho khối lượng hàng cân được một cách tự động,cũng như chức năng lưu trữ dữ liệu thành file thì trang bị một máy tính cho trạmcân là một yêu cầu cần thiết
Số liệu cân được từ đầu cân được truyền về máy tính thường là mã ASCII theochuẩn RS232 hoặc RS485 Dữ liệu truyền theo kiểu bất đồng bộ và tốc độ baud thayđổi được thường là 1200, 2400, 4800, 9600 bit/giây Chương trình viết cho máy tínhthường để hiện giá trị này ra màn hình Tùy theo yêu cầu cụ thể của nhà máy hoặctrạm cân mà chương trình được viết cho in ra những bảng báo cáo khác nhau theo mẫu
được quy định sẵn của nhà máy Các bảng báo cáo này có thể được lưu lại thành filetrong máy tính để khi cần thiết có thể gọi ra được Ngoài ra chương trình máy tính cóthể cho biết được số xe đã được cân trong ngày cùng với tên khách hàng hoặc biển số
xe cũng như tổng lượng hàng đã xuất hay nhập trong ngày, tháng, năm thậm chí cóthể phát hiện xe nào chở hàng quá tải Hơn thế nữa những dữ liệu này có thể truyền
Trang 26
CHƯƠNG II:KHẢO SÁT VI ĐlỂU KHIÊN 8051, ADC 0809 ,LCD VÀ CÁC MẠCH
KHUẾCH ĐẠI 2.1 Khảo sất vi điều khiển 8051
IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau :
- 4 Kbyte ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051)
- 128 Byte RAM
- 4 Port 8bit
- Hai bộ định thời 16bit
- Giao tiếp nối tiếp
-210 Bit được địa chỉ hóa
-Bộ nhân / chia 4ps
2.1.1 Cấu trúc của 8051
a Sơ đồ chân và chức năng.
Hình 2.1 Sơ đồ chân của 8051/8052
Trang 22Nhóm chân nguồn, dao động và điều khiển
- vcc : Chân số 40 cung cấp điện áp nguồn nguồn +5V±0.5 cho chíp
- GND : Chân số 20 là chân đất.(hay chân nối mass)
- XTAL1 và XTAL2 : 8051 có một bộ dao động trên chíp nhưng vẫn cần có một
bộ dao động đồng hồ bên ngoài để kích hoạt Bộ dao động thạch anh ngoài thường đượcnối tới các chân vào XTAL1 ( chân 19 ) và XTAL2 ( chân 18 )
-RST : Khởi động lại ( RESET) đó là chân vào số 9, mức tích cực cao, bình
thường
ở mức thấp Khi có xung cao đặt tới chân này thì bộ VĐK sẽ kết thúc mọi hoạt động hiệntại và tiến hành khởi động lại Quá trình xảy ra hoàn toàn tương tự như khi bật nguồn Khi
RESET, mọi giá trị trên các thanh ghi sẽ bị Xóa
-EA (External Access) : Tín hiệu vào EA trên chân 31 thường được mắc lên mức
cao (+5 V) hoặc mức thấp (GND) Nếu ở mức cao, 8051 thi hành chương trình từ ROM nội
Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng
- PSEN (Program Store Enable ) : PSEN là tín hiệu ra trên chân 29 Nó là tín
Trang 23trong Khi RESET cổng P1 được cấu hình làm cổng ra.
Cổng P1 làm đầu vào: Để chuyển cổng P1 làm đầu vào cần lập trình bằng cách ghi
b.Sơ đồ khối của 8051/8052
Sơ đồ khối tổng quát:
Trang 24Hình 2.3 Sơ đồ khối tổng quát của 8051/8052
Vi điều khiển (VĐK) 8051/52 được chế tạo theo cấu trúc của một hệ vi tính gồmcác khối sau:
- Bộ xử lý trung tâm CPU(central Processorr Unit):Dùng để điều khiển toàn vimạch trong việc thực hiên lệnh và xử lý số học và logic
- Bộ nhớ dữ liệu ( RAM) bên trong :(128 byte cho 8051 va 256 byte cho 8052)dùng làm các thanh ghi thông dụng, thanh ghi đặc biệt SFR và xử lý bit để ghi nhớ dữliệu cho chương trình
- Bộ nhớ chương trình(ROM) bên trong: (4Kbyte cho 8051 va 8Kbyte cho 8052)dùng để ghi nhớ chương trình
- Cổng trao đổi tin vào ra dữ liệu và địa chỉ(P0-P3): Dùng để trao đổi tin songsong về dữ liệu và địa chỉ
- Cổng trao đổi tin nối tiếp: Dùng trao đổi tin nối tiếp nhận vào từ chân RXD và
Trang 25Trang 31
- Khối điều khiển ngắt: Dùng đế ngắt chương trình khi có xung ngoài hay khi cóđếm tràn
2.1.2 Các chế độ định địa chỉ của 8051 và tập lệch của 8051
a Các chê độ định địa chỉ của 8051.
8051 có 5 chế độ định địa chỉ cơ bản:
- Chế độ định địa chỉ trực tiếp
- Chế độ định địa chỉ tức thì
- Chế độ định địa chỉ thanh ghi
- Chế độ định địa chỉ gián tiếp thanh ghi
- Chế độ định địa chỉ chỉ số thanh ghi
Trang 26Chế độ timer
Byte thấp của timer/couter 0
Byte thấp của timer / couterl
Byte cao của timer / couter 0
Byte cao của timer / couter 1
TRI
TCON.7
Bít trạng thái cờ đếm tràn của timerl Xác lập bởi phần cứng
khi đếm tràn về OOOOH Xóa bởi lệnh hay xử lý ngắt chương
trìnhTCON.6
Bít điều khiển timer 1 Xác lập/ xóa bởi lệnh để khởi động hay
dừng đếm cho timerlTCON.5 Bít trạng thái cờ đếm tràn của timerO Xác lập bởi phần cứng
khi đếm tràn về OOOOH Xóa bởi lệnh hay xử lý ngắt chương
trìnhTCON.4 Bít điều khiển timer 0 Xác lập/ xóa bởi lệnh để khởi động hay
dừng đếm cho timer 0
TCON.3 Bít trạng thái cờ ngắt sườn xung 1 Xác lập bởi phần cứng khi
phát hiện ngắt ngoài INT1 Xóa khi xử lý ngắt
TCON.2 Bít điều khiển ngắt ngoài 1 Xác lập/ xóa bởi lệnh để chỉ sườn
xuống/ mức thấp của ngắt ngoàiBít trạng thái cờ ngắt sườn xung 0 Xác lập bởi phần cứng khi
phát hiện ngắt ngoài INTO Xóa khi xử lý ngắt
TCON.O Bít điều khiển ngắt ngoài 0 Xác lập/ xóa bởi lệnh để chỉ sườn
xuống/ mức thấp của ngắt ngoài
Chức năngKhi GATE =1 Timer chỉ làm việc khi ITNOBit điều khiển đếm xung cho timer(=0) hay đếm xung ngoài
cho couter (=1)Bit chọn chế độ của timer 1
- Thanh ghi con trỏ ngăn xếp SP
Là 1 thanh ghi 8 bít và luôn chỉ đến không gian nhớ trong đó giá trị của các thanhghi quan trọng được chứa, giữ tạm thời khi chương trình rẽ nhánh để thực hiện mộtchương trình con và 1 chương trình phục vụ ngắt
Thanh ghi con trỏ ngăn xếp tự động tăng hoặc giảm 1 đơn vị tương ứng với mỗilệnh PUSS và POP, lệnh gọi chương trình con CALL, trở về từ chương trình con RET,đường ngắt RETI và phục vụ ngắt
- Thanh ghi con trỏ chương trình PC
Đây là thanh ghi 16 bít luôn chỉ tới lệnh tiếp theo sẽ được thực hiện trong khônggian nhớ chương trình khi chương trình đang thực hiện Thanh ghi con trỏ này không thểtruy nhập trực tiếp được tuy nhiên nó có thể thay đổi được khi sử dụng các lệnh rẽ nhánhchương trình
- Thanh ghi con trỏ dữ liệu DPTR
Là thanh ghi 16 bít được sử dụng để chỉ đến địa chỉ dữ liệu 8 bít trong không giannhớ dữ liệu Khi không sử dụng cho mục đích này có thể sử dụng như hai thanh ghi 8 bítriêng rẽ
2.1.4. Bộ Timer/ Counter và Các ngắt của 8051.
a Bộ Timer/ Counter ( bộ định thời/ bộ đếm )
Trang 33
Bảng 2.2: Thanh ghi chức năng đặc biệt dùng timer
Câu tạo timer 0, timer 1.
Trong vi mạch VĐK có 1 bộ đếm xung thời gian ( định thời) và đếm xung ngoài (Counter ) Đó là bộ đếm 16 bít, có 4 chế độ hoạt động ( do thanh ghi TMOD điều khiển)
Bộ đếm này có thể hoạt động cho chế độ định thời ( timer ) hay ở chế độ bộ đếm(counter) ở chế độ định thời dùng để đếm chuỗi xung nhịp của VĐK với tần số chia cho
12 Ớ chế độ đếm xung ngoài ,bộ đếm trên đếm xung ngoài vào các lối vào TO, TI
Cấu trúc chung:
Trang 34
Các VĐK 8051/ 8052 đều có hai bộ timer/ counter 0,1 Mỗi bộ có cấu trúc nhưhình 2 4 gồm nguồn xung đếm, hai bộ đếm 8 bít TH, TL và cơ cấu điều khiển gồm cácthanh ghi ở chế độ TMOD và điều khiển trạng thái TCON
Các thanh ghi đếm
Mỗi một timer/ counter có 3 thanh ghi: thanh ghi đệm dữ liệu và đếm TL ( 8 bít),
TH ( 8 bít), thanh ghi chế độ TMOD ( 8 bít) và thanh ghi điều khiển TCON
Thanh ghi này có các bít như hình 2.5 và đặc tính các bít như bảng 2.3 Thanh ghinày là thanh ghi xử lý bít, có thể xóa ( bởi lệnh CLR ) hay xác lập ( bởi lệnh SETB ) từngbít
Hình 2.5: Các bít của thanh ghi TCON
Trang 35
Bảng 2.3: Các bít của thanh ghi điều khiển trạng thái TCON
-Thanh ghi chê độ timer (TMOD)
Trang 36
Hình 2.6 Các bit của thanh ghi TMOD
Cả hai bộ timer/couter 0,1 của họ 8051 chỉ có một thanh ghi điều khiển chế độTMOD như hình 2.6.Trong đó 4 bit cao dùng cho timer 1,4 bit thấp cho timer
0
Chức năng của các bit được thể hiện ở bảngBảng 2.4 Các bit của thanh ghi TMOD
Trang 27Bit chọn chế độ của timer 1Khi GATE =1 Timer chỉ làm việc khi ITN1
Bit điều khiển đếm xung cho timer(=0) hay đếm xung ngoài
cho couter (=1)Bit chọn chế độ của timer 0Bit chọn chế độ của timer 0Đặc điểm
Hai thanh ghi TH,TL là bộ đếm 13 bitHai thanh ghi TH,TL là bộ đếm 16 bit
TL là bộ đếm 8 bit ,TH đưa giá trị nạp lại cho TLTH,TL là hai bộ đếm độc lập 8 bit
Chức năngChưa sử dụngChưa sử dụngChưa sử dụng
Ưu tiên ngắt nối tiếp
Ưu tiên ngắt timerl: PT1=0 ưu tiên mức thấp
PT1 = 1 ưu tiên mức cao
Ưu tiên ngắt ngoai intl: PX1=0 ưu tiên mức thấp
PX1 = 1 ưu tiên mức cao
Các chế độ timer
Hai bit MO,MI xác định chế độ làm việc cho bộ định thời như bảng
2.5Bảng 2.5 Các chế độ của TMOD
Thời gian
Thời gian
bHình 2.7: Thực hiện chương trình không ngắt(a) và có ngắt chương trình(b)
ở 8051 có 5 nguồn ngắt:
- 2 ngắt ngoài
- 2 ngắt từ timer
- 1 ngắt port nối tiếp
Tất cả các ngắt sẽ không được đặt sau khi reset hệ thống và cho phép ngắt riêng rẽ
bởi phần mềm
Trang 38
a
bHình 2.8 Thanh ghi IEa.Các bit của IE b.Chức năng của các bit
- ưu tiên ngắt.
Trang 39
Trang 28Ưu tiên ngắt ngoai intO: PX0=0 ưu tiên mức thấp
PX0=lưu tiên mức cao
Hình 2.9 Thanh ghi IPa.Các bit của PI b.Chức năng của các bitNeắt có mức un tiên cao hơn có thẻ ngắt chương trình phục vụ ngắt có mức ưu tiên
thấp hơn Sau khi chương trình ngắt có mức ưu tiên cao hơn được phục vụ sẽ quay trở vềthực hiện tiếp chương trình phục vụ ngắt có mức ưu tiên thấp hơn tại vị trí bị gián đoạn
Khi không sử dụng thanh ghi un tiên ngắt thì thứ tự ưu tiên ngắt mặc định như sau:
INTO -> TO -> INT1 -> TI -> s
Các ngắt ưu tiên được xóa sau khi reset hệ thống để đặt ở tất cả các ngắt ở mức ưu
Trang 29để chạy trên hệ VĐK.
Có hai loại chương trình mô phỏng cho 8051/52, loại trên môi trường hệ điều hành
MS_DOS và loại trên môi trường hệ điều hành WINDOWS
Loại trên môi trường hệ điều hành MS_DOS, thông dụng có hai chương trìnhSIM51 và AVSIM
Loại trên môi trường hệ điều hành WĨNDOWS : 8051 IDE, 8052 SIMULATOR,PINNACLE ,PROTEUS
Đặc điểm của chương trình mô phỏng trên MSDOS là:
- Thực hiện chương trình trong môi trường MS_DOS bằng lệch MSDOS Prompt
- Trong quá trình hợp dịch, liên kết,biến đổi dữ liệu phải gõ tư bàn phím từng tên
Trang 30- Trong quá trình họp dịch liên kết, biến đổi dữ liệu không phải gõ từ bàn phímtừng tên chương trình và tên các tệp tương ứng mà chỉ cần nháy đúp chuột vào tên haybiểu tượng của các chương trình cần thực hiện Trên màn hình có báo lỗi khi biên dịchchương trình nguồn dạng hợp ngữ (đuôi.ASM ).
- Phải gọi hiển thị từng bộ phận của vi điều khiển của chương trình mô phỏng lênmàn hình Ta không có một bức tranh toàn cảnh về cấu trúc của VDK Điều này hạn chế
và có khó khăn cho việc theo dõi kết quả thực hiện lệnh của chương trình, tuy nhiên chúng
ta có thể theo dõi một cách tường minh sự thay đổi của các thanh ghi
Và các bộ phận của VĐK như định thời/đếm, trao đổi tin nối tiếp, ngắt
Tuy có hạn chế này chương trình mô phỏng trên WTNDOWS vẫn được ưa chuộng
hơn vì việc sử dụng đơn giản thuận tiện và nhanh chóng, chỉ nháy chuột thay cho gõ từng
ký tự của lệnh và tên tệp từ bàn phím như chương trình trong môi trường MSDOS
Trong tài liệu này chúng ta chỉ nghiên cứu chương trình mô phỏng trên môi trường
WINDOWS
❖ Chương trình mô phỏng PINNACLE 52
Chương trình PINNACLE 52 là một IDE (thiết bị tích hợp ) gồm :
- Chương trình soạn thảo (EDIT) chương trình
Trang 31Trang 42
Nhược điểm cơ bản của PROTEUS là không hợp dịch dược các ngôn ngữ khácnhau trên dao diện mà chỉ chạy mô phỏng được chương trình dạng đuôi HEX Muốn chạy
được mạch vi điều khiển các loại ta phải :
- Thiết kế mạch nguyên lý với chương trình ISIS
- Viết chương trình và hợp dịch thành file Hex với các chương trình hợp dịch tương
ứng với ngôn ngữ đó
VD: - PINNACLE cho họ MCS-51 của INTEL
- AVR STUDIO cho AVR của ATMEL
- MPASM cho PIC của MICROCHIP
2.2. Khảo sát bộ chuyển đổi ADC.
Các bộ chuyển đổi ADC thuộc trong những thiết bị được sử dụng rộng rãi nhất để thu
dữ liệu Các máy tính số sử dụng các giá trị nhị phân, nhưng trong thế giới vật lý thì mọiđại lượng ở dạng tương tự (liên tục) như nhiệt độ, áp suất (khí hoặc chất lỏng), độ ẩm vàvận tốc và một số đại lượng vật lý khác Một đại lượng vật lý được chuyển về dòng điệnhoặc điện áp qua một thiết bị được gọi là các bộ biến đổi Các bộ biến đổi cũng có thểđược coi như các bộ cảm biến Mặc dù chỉ có các bộ cảm biến nhiệt, tốc độ, áp suất, ánhsáng và nhiều đại lượng tự nhiên khác nhưng chúng đều cho ra các tín hiệu dạng dòngđiện hoặc điện áp ở dạng liên tục Do vậy, ta cần một bộ chuyển đổi tương tự số sao cho
bộ vi điều khiển có thể đọc được chúng
Trang 32- REF (+) : điện thế tham chiếu
(+)
- REF (-) : điện thế tham chiếu
(-): nguồn cung cấpNgõ vào được chọn
ỵrẹf(+) ¥ ref(~)
vref{+)
Trang 43
2.2.2 Giới thiệu ADC 0809.
Bộ ADC 0809 là một thiết bị CMOS tích hợp với một bộ chuyển đổi từ tương tự sang
số 8 bit, bộ chọn 8 kênh và một bộ logic điều khiển tương thích Bộ chuyến đổi AD 8 bitnày dùng phương pháp chuyển đổi xấp xỉ tiếp Bộ chọn kênh có thể truy xuất bất kỳ kênh
nào trong các ngõ vào tương tự một cánh độc lập
Thiết bị này loại trò khả năng cần thiết điều chỉnh điểm 0 bên ngoài và khả năng điềuchỉnh tí số làm tròn ADC 0809 dễ dàng giao tiếp với các bộ vi xử lý
a Phương pháp chuyển đổi xấp xỉ liên tiếp.
xóa bit MSB xuống mức thấp
Nếu V’a<Va thì ngõ ra của bộ so sánh vẫn ở mức cao và làm cho mạch logic điềukhiển giữ bit MSB 0 mức cao
Tiếp theo mạch logic điều khiển đưa bit có nghĩa kế bit MSB lên mức cao và tạo 0
ngõ ra khối DAC một điện áp tham chiếu v’a rồi đem so sánh tương tự như bit MSB ở
trên Quá trình này cứ tiếp tục cho đến bit cuối cùng trong thanh ghi điều khiển Lúc
đó v’a gần bằng Va ngõ ra của mạch logic điều khiển báo kết thúc chuyển đổi
IN, IN, IN, IN6 IN7 START EOC 2'5 OE CLK Vcc REF GND 2‘7
Hình 2.11 Sơ đồ chân của ADC0809
Ý nghĩa các chân:
❖
- IN0 đến IN7 : 8 ngõ vào tương tự
- A, B, c : giải mã chọn một trong 8 ngõ vào
Trang 45
❖ Các đặc điểm của adc 0809:
- Độ phân giải 8 bit
lại ở mức 0, đồng thời tạo ra điện thế có giá trị Vrej/2, điện thế này được so sánh với điệnthế vào in
+ Nếu vịn > Vref/2 thì bit MSB vẫn ở mức 1
+ Nếu vin < Vref/2 thì bit MSB vẫn ở mức 0
Tương tự như vậy bit kế tiếp MSB được đặt lên 1 và tạo ra điện thế có giá trị Vref/4 và cũng
so sánh với điện áp ngõ vào vin Quá trình cứ tiếp tục như vậy cho đến khi xác định được
bit cuối cùng Khi đó chân EOC lên mức 1 báo cho biết đã kết thúc chuyển đổi
Trong suốt quá trình chuyển đổi chân OE được đặt ở mức 1, muốn đọc dữ liệu ra chân OE
xuống mức 0
Trong suốt quá trình chuyển đổi nếu có 1 xung start tác động thì ADC sẽ ngưng chuyển
đổi
Mã ra N cho một ngõ vào tùy ý là một số nguyên
Trong đó Vin: điện áp ngõ vào hệ so sánh
Vret(+): điện áp tại chân REF(+)
Vrct(-): điện áp tại chân REF(-)
Nếu chọn Vref(-) = 0 thì N = 256
-5=-V
Trang 33Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
ALEADDRESSINPUTEDC
Address stobleDOC
IX Analog VolidInput
HH
Hình 2.13 Sơ đồ chân của LCD:
LCD được nói trong mục này có 14 chân, chức năng của các chân được cho trong bảng
2.6 VỊ trí của các chân được mô tả trên hình2.13 cho nhiều LCD khác nhau.
- Chân vcc, Vss,VEE: Cấp dương nguồn - 5v và đất tương ứng thì VEE được dùng để
điều khiển độ tương phản của LCD
- Chân chọn thanh ghi RS: Có hai thanh ghi rất quan trọng bên trong LCD, chân RSđược dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh đượcchọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về
- Chân D0-D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặcđọc nội dung của các thanh ghi trong LCD
Để hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ
A đến z, a đến f và các con số từ 0 - 9 đến các chân này khi bật RS = 1
Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa contrỏ về đầu dòng hoặc nhấp nháy con trỏ Bảng 12.2 liệt kê các mã lênh
Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn sàngnhân thông tin Cờ bận là D7 và có thể được đọc khi R/W = 1 và RS = 0 như sau:
Bảng2.6 Bảng mô tả chân của LCD:
Trang 50
♦> -Ghép nối với 8051:
Hình 2.14 Ghép nối LCD
2.4 Khảo sát mạch khuếch đại
Đây là mạch trung gian giữa bộ cảm biến và mạch ADC Đầu vào của mạch này là khoảng
biến thiên điện áp đầu ra của Loadcell Khoảng biến thiên điện áp trong dải khối luợng
từ 0 kg- 25000kg là nhỏ trong khi đó, yêu cầu mạch dùng bộ chuyển đổi tín hiệu tuong tựsang số ADC 0809 có mức điện áp từ ov - 5V
Trang 34- Khuếch đại tuyến tính: do tín hiệu đầu vào cần khuếch đại là điện áp DC rất nhỏ,
do đó sự thay đổi này là rất chậm
- Có khả năng khuếch đại điện áp sai biệt của 2 ngõ vào
2.4.1 Bộ khuếch đại không đảo :
Trang 35Trang 52
CHƯƠNG III: VI ĐIỂU KHIỂN GIAO TIÊP VỚI MÁY TÍNH
3.1 Truyền dữ liệu giữa máy tính và vi điều khiển
Các máy tính truyền dữ liệu theo hai cách: Song song và nối tiếp Trong truyền dữliệu song song thường cần 8 hoặc nhiều đường dây dẫn để truyền dữ liệu đến một thiết bịchỉ cách xa vài bước Mặc dù trone các trường hợp như vậy thì nhiều dữ liệu được truyền
đi trong một khoảng thời gian ngắn nhưng khoảng cách thì không thể lớn được Để truyền
dữ liệu đi xa thì phải sử dụng phương pháp truyền nối tiếp Trong truyền thông nối tiếp dữ
liệu được gửi đi từng bít một so với truyền song song thì một hoặc nhiều byte được truyền
đi cùng một lúc Việc truyền thông giữa máy tính và vi điều khiển được thực hiện bằngphương pháp truyền nối tiếp vì vậy trong chương này tôi chỉ trình bày những kiến thức liên
quan đến truyền thông nối tiếp
3.1.1. Cơ sở của truyền thông nối tiếp
Đối với truyền thông nối tiếp thì để làm được các byte dữ liệu phải được chuyển đổi
thành các bít nối tiếp sử dụng thanh ghi dịch vào - song song - ra - nối tiếp Sau đó nó cóthể được truyền quan một đường dữ liệu đơn Điều này cũng có nghĩa là ở đầu thu cũngphải có một thanh ghi vào - nối tiếp - ra - song song để nhận dữ liệu nối tiếp và sau đó gói
chúng thành từng byte một Tất nhiên, nếu dữ liệu được truyền qua đường thoại thì nó phải
được chuyển đổi từ các số 0 và 1 sang âm thanh ở dạng sóng hình sin Việc chuyển đổinày thực thi bởi một thiết bị có tên gọi là Modem là chữ viết tắt của “Modulator/demodulator” (điều chế/ giải điều chế)