Thiết kế mạch đếm sản phẩm là những hộp sữa dùng vi điều khiển 8051 và cảm biến hồng ngoại
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NÔI
VIỆN ĐIỆN
BÁO CÁO ĐỒ ÁN I
ĐỀ TÀI: Thiết kế mạch đếm sản phẩm là những hộp sữa dùng vi điều khiển 8051 và cảm biến hồng ngoại
GVHD: LÊ HẢI SÂM
NHÓM SINH VIÊN THỰC HIỆN: NGUYỄN SỸ TUÂN MSSV:20112719
LÊ MINH TÙNG MSSV:2011 HOÀNG HỮU TÔN MSSV: 2011
PHỤ LỤC
PHẦN I LÝ THUYẾT
I.ĐẶT VẤN ĐỀ:
II MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI:
III.GIẢI PHÁP VÀ GIỚI HẠN CỦA ĐỀ TÀI
IV.XÂY DỰNG SƠ ĐỒ KHỐI
V.CÁC KHỐI TRONG MẠCH ĐIỆN:
PHẦN II THIẾT KẾ, THI CÔNG VÀ CHƯƠNG TRÌNH
A.THIẾT KẾ, THI CÔNG PHẦN CỨNG
I.KẾT NỐI 8051 VỚI BỘ NHỚ VÀ CÁC IC NGOẠI VI
Trang 21.Kết nối bộ nhớ chương trình bên ngoài:
2.Kết nối bộ nhớ dữ liệu ngoài:
3.Kết nối mạch giải mã:
4 Kết nối mạch chốt
II THIẾT KẾ MẠCH RESET
III.KẾT NỐI KÍT VI ĐIỀU KHIỂN VỚI THIẾT BỊ NGOẠI VI
B.CHƯƠNG TRÌNH ĐIỀU KHIỂN
I.LƯU ĐỒ THUẬT TOÁN
1.Chương trình con khởi động ngoại vi
I ĐẶT VẤN ĐỀ:
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật
điện tử Mà trong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh
vực khoa học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông
Trang 3tin… 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 nền khoa học kỹ thuật thế giới nói chung
và trong sự phát triển kỹ thuật điện tử nói riêng
Từ tìm hiểu trên mạng và thông qua thực tế, chúng em đã được thấy nhiều khâu được tự động hóa trong quá trình sản xuất Một trong những khâu đơn giản trong dây chuyền sản xuất tự động hóa đó là số lượng sản phẩm làm ra được đếm một cách tự động
Tuy nhiên đối với những doanh nghiệp vừa và nhỏ thì việc tự động hóa hoàn toàn chưa được áp dụng trong những khâu đếm sản phẩm, đóng bao bì mà vẫn còn sử dụng nhân công
Từ những điều đã được thấy đó và khả năng của chúng em, chúng em muốn làm một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính xác cao Nên chúng em quyết định thiết kế một mạch đếm sản phẩm vì nó rất gần gũi với thực tế và nó thật sự rất có ý nghĩa đối với chúng em vì đã làm được một phần nhỏ đóng góp cho xã hội
Để làm được mạch này cần thiết kế được hai phần chính là: bộ phận cảm biến và bộ phận đếm
*Bộ phận cảm biến: gồm phần phát và phần thu Thông thường người ta sử dụng phần phát là led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích
để chống nhiễu so với các loại ánh sáng khác, còn phần thu là transistor quang để thu ánh sáng hồng ngoại
* Bộ phận đếm có nhiều phương pháp thực thi đó là:
-Lắp mạch dùng kỹ thuật số với các IC đếm, chốt, so sánh ghép lại
-Lắp mạch dùng kỹ thuật vi xử lí
-Lắp mạch dùng kỹ thuật vi điều khiển
II MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI:
Trong đồ án này chúng em thực hiện mạch đếm sản phẩm bằngphương pháp đếm xung Như vậy mỗi sản phẩm đi qua trên băng chuyền phải có một thiết bị để cảm nhận sản phẩm, thiết bị này gọi là cảm biến Khi một sản phẩm đi qua cảm biến sẽ nhận và tạo ra một xung điện đưa về khối xử lí để tăng dần số đếm Tại một thời điểm tức thời, để xác định được số đếm cần phải có bộ phận hiển thị Tuy nhiên mỗi khu vực sản xuất hay mỗi
ca sản xuất lại yêu cầu với số đếm khác nhau vì thế phải có sự linh hoạt trong việc
chuyển đổi số đếm Bộ phận chuyển đổi trực quan nhất là bàn phím Khi cần thay đổi số đếm người sử dụng chỉ cần nhập số đếm ban đầu vào và mạch sẽ tự động đếm Khi số sản phẩm được đếm bằng với số đếm ban đầu thì mạch sẽ tự động dừng Từ đây suy ra mục đích yêu cầu của đề tài:
-Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh hoạt
-Bộ phận hiển thị phải rõ ràng
Trang 4-Mạch điện không quá phức tạp, bảo đảm được sự an toàn,dễ sử dụng
-Giá thành không quá mắc
III GIẢI PHÁP VÀ GIỚI HẠN CỦA ĐỀ TÀI:
Giải pháp
Theo những đặc thù của sản phẩm là những hộp sữa và thùng sữa có kích thước như sau:
- Hộp sữa có chiều rộng là 5cm chiều cao 10 cm rộng 2,5cm có khả năng che được ánh sáng hồng ngoại
-Thùng sữa có kích thước tương đối lớn vậy nên có thể che được ánh sáng hồng ngoại
Đặc điểm của sản phẩm phân bố trên bang truyền là khá phức tạp không theo một hình thức nào cả Vậy nên ta phải đưa ra giải pháp làm sao cho những hộp sữa trên bang truyền là phải tách rời nhau để cho cảm biến phân biệt được các sản phẩm
Theo như tìm hiểu thì chúng em đưa ra giải pháp như sau:
Khi sản phẩm được sản xuất ra trên các băng truyên thì chúng có thể năm san sát nhau và chạy trên băng truyền Để tách riêng các sản phẩm ra cho cảm biến phân biệt được từng sản phẩm thì chúng ta phải cho sản phẩm chạy qua các băng truyền có tốc độ khác nhau, quá trình chuyển giao qua các băng truyền chúng ta phải tạo các khúc cua, trên băng
truyền chỉ cho phép vừa đủ để một sản phẩm đi qua Như vây các sản phẩm có thể tách ra riêng rẽ và như vậy cẩm biến có thể đo được từng sản phẩm chính xác được
Giới hạn
Vì mỗi thùng sữa chứa 24 hộp sữa nên phạm vi đếm sản phẩm trong một thùng giới hạn từ 2->99 sản phẩm, còn số thùng giới hạn từ 0->9999 thùng
IV XÂY DỰNG SƠ ĐỒ KHỐI
V CÁC KHỐI TRONG MẠCH ĐIỆN:
1 Cảm biến:
Trang 5a Giới thiệu sơ lược về mạch cảm biến:
Để cảm nhận mỗi lần sản phẩm đi qua thì cảm biến phải có phần phát và phần thu
Phần phát phát ra ánh sáng hồng ngoại và phần thu hấp thụ ánh sáng hồng ngoại vì ánh
sáng hồng ngoại có đặc điểm là ít bị nhiễu so với các loại ánh sáng khác Hai bộ phậnphát
và thu hoạt động với cùng tần số Khi có sản phẩm đi qua giữa phần phát và phần thu,
ánh sáng hồng ngoại bị che bộ phận thu sẽ hoạt động với tần số khác tần số phát như thế
tạo ra một xung tác động tới bộ phận xử lí Vậy bộ phận phát và bộ phận thu phải có
nguồn tạo dao động Bộ phận dao động tác động tới công tắc đóng ngắt của nguồn phát
và nguồn thu ánh sáng Có nhiều linh kiện phát và thu ánh sáng hồng ngoại nhưng chúng
em chọn led hồng ngoại và transitor quang là linh kiện phát và thu vì transistor quang là
linh kiện rất nhạy với ánh sáng hồng ngoại.Bộ phận tạo dao động có thể dùng mạch LC,
cổng logic, hoặc IC dao động Với việc sử dụng IC chuyên dùng tạo dao động, bộ tạo dao động sẽ trở nên đơn giản hơn với tần số phát và thu
b Các linh kiện trong mạch cảm biến:
b1 Cấu tạo, nguyên lí hoạt động của led hồng ngoại:
_Led được cấu tạo từ GaAs với vùng cấm có độ rộng là 1.43eV tương ứng bức xạ
900nm
Ngoài ra khi pha tạp Si với nguyên vật liệu GaAlAs, độ rộng vùng cấm có thể thay đổi
Với cách này, người ta có thể tạo ra dải sóng giữa 800 -900nm và do đó tạo ra sự điều
hưởng sao cho led hồng ngoại phát ra bước sóng thích hợp nhất cho điểm cực đại của độ nhạy các bộ thu
_Hoạt động: khi mối nối p -n được phân cực thuận thì dòng điện qua nối lớn vì sự dẫn
điện là do hạt tải đa số, còn khi mối nối được phân cực nghịch thì chỉ có dòng rỉ do sự di chuy ển của các hạt tải thiểu số Nhưng khi chiếu sáng vào mối nối, dòng điện nghịch
tăng lên gần như tỷ lệ với quang thông trong lúc dòng thuận không tăng Đặc
tuyến volt –ampere của led hồng ngoại như sau:
b2 Photon transistor
Photon Transistorcũng tương tự như transistor thông thường nhưng chỉ khác ở chỗ
nó không có cực bazơ, thay cho tác dụng khống chế của dòng vào cực bazơ là sự khống
chế của chùm sáng đối với dòng colector của transitor hoặc có cực bazơ, nhưng khống
chế tín hiệu là ánh sáng.Cấu tạo của transistor quang
_ Ký hiệu và cấu tạo:
Trang 6
Dòng điện trong transistor:
Vì nối thu được phân cực nghịch nên có dòng rỉ Ico chạy giữa thu –nền và vì nối nền
-Khi chiếu ánh sáng vào miền bazơ, trong miền bazơ có sự phát xạ cặp điện tử lỗ trống
Chức năng của các chân :
Đây là vi mạch định thời chuyên dùng, có thể mắc thành dạng mạch đơn ổn hay
bất ổn
Điện áp cung cấp từ 3V đến 18V
Dòng điện ra đến 200mA (loại vi mạch BJT) hay 100mA (loại CMOS)
Chân 1: Nối với masse
Chân 2: Nhận tín hiệu kích thích (trigger)
Trang 7Chân 3: Tín hiệu ra (output)
Chân 4: Phục nguyên về trạng thái ban đầu (preset)
Chân 5: Nhận điện áp điều khiển (control voltag)
Chân 6: Mức ngưỡng ( threshold )
Chân 7: Tạo đường phóng điện cho tụ
Chân 8: Cấp nguồn Vcc
2 Khối xử lí:
Với khối xử lí người ta có thể dùng IC rời hoặc khối vi xử lí Nếu sử dụng vi xử lí trong khối xử lý, người ta có thể thiết kế mạch điện giao tiếp được với máy tínhnên dễ dàng cho việc điều khiển từ xa và bằng việc thay đổi phần mềm có thể mở rộng chương trình điều khiển mạch điện đếm nhiều dây chuyền trong cùng một thời điểm hay lưu lại các số liệu trong các ca sản xuất, đó là lí do chúng em sử dụng vi xử lí trong khối xử lí Cùng với thời gian, con người đã cho ra đời nhiều loại vi xử lí từ 8 bit đến 64 bit với cải tiến ngày càng ưu việt nhưng tùy theo mục đích sử dụng mà vi xử lí 8 bit vẫn còn tồn tại Trong đồ án này chúng em sử dụng vi điều khiển 8051 8051 cũng là vi xử lí 8 bit nhưng
có chứa bộ nhớ bên trong và có thêm 2 bộ định thời ngoài ra nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí 8 bit như 8085 cũng giao tiếp được với máy tính nhưng
là giao tiếp song song nên cần có IC chuyển đổi dữ liệu từ song song sang nối tiếp để giao tiếp với máy tính Với bộ nhớ trong 8051 thích hợp cho những chương trình có quy
mô nhỏ tuy nhiên 8051 có thể kết hợp được với bộ nhớ ngoài cho chương trình có quy
mô lớn Sau đây là giới thiệu của chúng em về vi điều khiển 8051:
a Giới thiệu cấu trúc phần cứng 8051
a1 Sơ đồ chân 8051
8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất IC này có đặc điểm như sau:
- 4k byte ROM,128 byte RAM
- 4 Port I/O 8 bit
- 2 bộ đếm/ định thời 16 bit
- Giao tiếp nối tiếp
- 64k byte không gian bộ nhớ chương trình mở rộng
- 64k byte không gian bộ nhớ dữ liệu mở rộng
- Một bộ xử lý luận lý (thao tác trên các bít đơn)
- 210 bit được địa chỉ hóa
- Bộ nhân / chia 4
Sơ lược về các chân của 8051:
a2 Chức năng của các chân 8051:
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu
Trang 8Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7) Port 1 là port IO dùng cho giao tiếp với thiết bị ngoài nếu cần
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Port 2 là một port có tác dụng kép dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng
IC chốt.Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp n ên chốt địa chỉ hoàn toàn tự động.EA\(External Access): Tín hiệu vào EA\
ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 8051 thi hành chương trình từ ROM nội Nếu ở mức 0, 8051 thi hành chương trình từ bộ nhớ mở rộng Chân EA\được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 8051
RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch phải tự động reset.Các ngõ vào bộ dao động X1, X2:
Bộ tạo dao động được tích hợp bên trong 8051 Khi sử dụng 8051, người ta chỉ cần nối thêm tụ thạch anh và các tụ Tần số tụ thạch anh thường là 12 Mh
b Cấu trúc bên trong của 8051
*Tổ chức bộ nhớ:
Trang 9Bộ nhớ bên trong 8051 bao gồm ROM và 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 8051 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 8051
nhưng 8051 vẫn có thể kết nối với 64 k byte bộ nhớ chương trình và 64 k byte b ộ nhớ dữ
liệu mở rộng
c.Hoạt động thanh ghi TIMER:
8051 có hai timer 16 bit, mỗi timer có bốn cách làm việc Người ta sử dụng các timer để:
- Định khoảng thời gian
- Đếm sự kiện
- Tạo tốc độ baud cho port nối tiếp trong 8051
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những khoảng đều
Trang 10đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình để thực hiện một tác
động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra Các ứng
dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua
giữa hai sự kiện (ví dụ đo độ rộng xung )
Truy xuất các timer của 8051 dùng sáu thanh ghi chức năng đặc biệt cho trong bảng sau:
SRF Mục đích Địa chỉ Địa chỉ hóa từng bit
TCON Điều khiển Timer 88H Có
TL0 Byte thấp của
Timer 0
90H Không TL1 Byte thấp của
Thanh ghi chế độ timer (TMOD):
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho
Timer 0, và
Timer 1
Thanh ghi điều khiển timer(TCON):
Trang 11Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1, Timer 0
d Ngắt ( INTERRUPT):
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thời
chương trình chính trong khi điều kiện đó được phục vụ bởi một chương trình khác Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng vi điều khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giải quyết sự kiện
đó trong khi một chương trình khác đang thực thi
3 Khối hiển thị:
Bộ phận hiển thị gồm 8 led 7 đoạn anod chung Vì các vi xử lí xử lí các dữ liệu là số nhị phân (1,0 ) nên cần có sự giãi mã từ số nhị phân sang số thập phân Sự giải mã có thể dùng giải mã bằng phần cứng (IC giải mã) Tuy nhiên với phần mềm quét led người ta có thể giảm bớt được các IC giải mã giảm giá thành của mạch điện Nhưng để kết nối với mạch hiển thị phải cần có IC giao tiếp vào ra vì các port của 8051 đã dùng cho mục đích khác 8255 là IC giao tiếp vào ra song song thông dụng và có thể điều khiển được bằng phần mềm nên chúng em sử dụng 8255 để giao tiếp với các thiết bị ngoại vi (phần hiển thị…) Vì dòng ra các port của 8255 rất nhỏ (lớn nhất là port A khoảng 5mA) nên
Trang 12cần có IC đệm dòng để nâng dòng lên đủ kéo cho led sáng Chúng em chọn IC đệm
74245 Khi đưa dữ liệu ra để hiển thị tất cả các led đều nhận nhưng tại một thời điểm chỉ cho phép một led được nhận dữ liệu nên phải có mạch giải mã để chọn led
Chúng em sử dụng IC giải mã 74LS138.Vì vậy sơ đồ khối của mạch hiển thị như sau:
4 Bàn phím:
Vì đây là mạch đếm sản phẩm, đếm số sản phẩm trong một thùng, và số sản phẩm trong một lô, mỗi loại như vậy có thể nhập vào số đếm trong phạm vi từ 0 đến tối đa
9999, do đó chúng em sử dụng 10 phím số từ 0 đến 9 Và mỗi lần nhập số vào để nhận biết là nhập mấy số hoặc đã nhập xong và muốn biết cho phép đếm chưa hoặc hủy bỏ số vừa nhập phải cần sử dụng thêm các phím chức năng, nên chúng em dùng thêm 6 phím chức năng từ A đến F Do đó bàn phím gồm 16 phím được kết nối vào port 1 của 8051:
Sơ đồ khối kết nối như sau:
5 Kết hợp 8051 với bộ nhớ ngoài
Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển theo một chương trình, muốn Microprocessor thực hiện một công việc gì ng ười sử dụng phải lập trình hay viết chương trình Ch ương trình phải lưư trữ ở đâu để Microprocessor nhận lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưư trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý Nơi lưu trữ chương trình cho
Microprocessorthực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ Các bộ nhớ của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc chỉ đọc dữ liệu ra Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ 8051 có khả
Trang 13năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu bên ngoài Bộ nhớ chương trình là b ộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram._ Bộ nhớ Ram chia ra làm 2 loại Sram và Dram Dram được chế tạo dùng kỹ thuật MOS, có dung lượng bộ nhớ lớn, công xuất tiêu tán thấp và tốc độ hoạt động trung bình
Ơ Sram dữ liệu lưu trữ vào các Flip-Flop còn Dram dữ liệu lưu trữ mức 0 và 1 tương đương với quá trình n ạp và xả của một tụ điện khoảng vài pF Bởi vì điện áp của tụ sẽ suy giảm dần do đó Dram đòi hỏi chu kỳ nạp lại nếu không muốn mất dữ liệu và được gọi là quá trình làm tươi Ram, đây chính là khuyết điểm của Dram so với Sram
Bộ nhớ Rom có nhiều loại: PROM,EPROM, EEPROM nhưng EPROM có thể lập trình
b ởi người dùng, có thể xóa và lập trình lại nhiều lần nên trong đồ án này chúng em dùng EPROM 2764 và dùng SRAM 6264 Đặc điểm, sơ đồ chân và bảng sự thật của
2764 và 6264 ở hình dưới đây
a.SRAM 6264: là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng
65536 bit được tổ chức thành 8192x8 bit (8KByte), điện áp cung cấp là +5V, thời gian truy cập khoảng 150ns Ngõ vào/ra dữ liệu được dùng chung, các ngõ vào/ra này tương thích TTL Công suất tiêu tán ở trạng thái chờ rất thấp chỉ khoảng 0,1mW so với khi hoạt động bình thường là 200mW
b.EPROM 2764: là bộ nhớ chỉ đọc được chế tạo theo công nghệ NMOS, dùng
một nguồn đơn +5V, dung lượng bộ nhớ là 65536 bit, được tổ chức thành 8192x8 bit (8KByte) 2764 là loại EPROM có thể xóa bằng tia cực tím và có thể ghi lại được nhiều lần Có hai kiểu họat động: bình thường và chờ Ở trạng thái chờ, công suất tiêu thụ là 132mW so với 525mW khi ở trạng thái đọc dữ liệu, thời gian truy xuất là 200ns Sơ đồ chân và sơ đồ logic của 2764 như sau
-EPROM có thể được lập bởi người lập trình sử dụng và nó cũng có thể xóa để lập trình lại khi nào muốn -EPROM dùng trong mạch được chứa sẵn chương trình điều khiển,
tức là chỉ xuất Data mỗi khi CPU tham khảo đến, do đó ta chỉ quan tâm đến chế độ đọc
và chờ.Dựa vào các Mode hoạt động trên thì EPROM được điều khiển các chân sau:
- PGM = 5 Volt (Vcc )
- OE\nối chân PSEN của CPU
- CE\nối xuống CSO
+ Chế độ đọc (Read Mode ): Chế độ này được thiết lập khi CE\và OE\ ở mức thấp, PGM
ở mức cao Có hai ngõ vào điều khiển dùng để truy xuất Data từ ROM là CE\và OE\dùng
để kiểm soát ngõ ra Data, đưa Data lên Data bus
+ Chế độ chờ (Stanby Mode ): Chế độ này làm giảm công suất tiêu thụ được thiết lập khi CE\ ở mức cao, ở chế độ này Data ở trạng thái trở kháng cao độc lập
c.Giải mã địa chỉ:
Do 8051 thiết kế cần quản lý nhiều thiết bị ngoại vi, nhiều ô nhớ, muốn làm được
việc này người ta phải cung cấp cho mỗi ô nhớ và thiết bị ngoại vi tầm địa chỉ cho thiết bị
đó Vì vậy cần có mạch giải mã địa chỉ trong mạch điện Người ta thường dùng IC giải
mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS\) trên các IC nhớ Sau đây là sơ đồ chân, bảng sự thật và đặc điểm của 74138
-Ngõ vào A,B,C là các chân ngõ vào số nhị phân 3 bit C là bit có trọng số lớn nhất,
A là bit có trọng số nhỏ nhất
Trang 14-Các chân ngõ ra: Yo ->Y7, tích cực mức thấp
-Các chân điều khiển: G1,G2A, G2B
IC chỉ hoạt động giải mã khi các chân điều khiển
đồng thời tích cực G1 tích cực ở mức cao; G2A\ và G2B \tích cực ở mức thấp Khi một
trong 3 chân này không tích cực các ngõ ra từ Yo ->Y7 ở mức cao
d.Giải đa hợp các đường dữ liệu và đường địa chỉ:
Khi dùng bộ nhớ ngoài, port 0 không còn là port IO thuần túy Nó được kết hợp giữa
bus địa chỉ và bus dữliệu nên dùng tín hiệu ALE và IC chốt để chốt byte thấp của bus địa
chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port2 cho byte cao của bus địa chỉ Ơ đây chúng em
dùng IC chốt 74373 Sơ đồ chân, đặc điểm và bảng trạng thái của 74373
e.Xếp chồng các vùng nhớ chương trình và dữ liệu bên ngoài:
Vì bộ nhớ chương trình là Rom nên xảy ra vấn đề bất tiện khi phát triển phần mềm
cho 8051 là tổ chức bộ nhớ như thế nào để có thể sửa đổi chương trình và có thể ghi trở
lại khi nó được chứa trong bộ nhớ Rom Cách giải quyết là xếp chồng các vùng dữ liệu
và chương trình Một bộ nhớ Ram có thể chứa cả chương trình và d ữ liệu bằng
cách nối đường OE\của Ram đến ngõ ra cổng AND có 2 ngõ vào là PSEN\và RD\ Sơ đồ
mạch như hình sau cho phép bộ nhớ Ram có 2 chức năng vừa là bộ nhớ chương trình vừa
là bộ nhớ dữ liệu
Vậy 1 chương trình có thể được tải vào Ram (bằng cách ghi nó như bộ nhớ dữ liệu)
và thi hành chương trình (bằng cách truy xuất nó như bộ nhớ chương trình)
Trang 15PHẦN II THIẾT KẾ, THI CÔNG VÀ CHƯƠNG TRÌNH
A THIẾT KẾ, THI CÔNG PHẦN CỨNG
I KẾT NỐI 8051 VỚI BỘ NHỚ VÀ CÁC IC NGOẠI VI
1.Kết nối bộ nhớ chương trình bên ngoài:
Bộ nhớ ROM được cho phép bởi tín hiệu PSEN\ Hình sau mô tả cách nối bộ
nhớ Eprom với 8051
2 Kết nối bộ nhớ dữ liệu ngoài:
Bộ nhớ Ram được cho phép ghi đọc bằng các tín hiệu điều khiển WRvà RD
8051 có 1 lệnh duy nhất truy xuất dữ liệu của bộ nhớ dữ liệu ngoài là MOVX
dùng con trỏ 16 bit (DPTR) hoặc R0 và R1 xem như thanh ghi địa chỉ
Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051 cũng giống như
EPROM
Ngoài ra, RD của 8051 được nối tới chân cho phép xuất (OE\) của Ram và
chân WR được nối tới chân ghi (WR\) của Ram
Trang 163.Kết nối mạch giải mã:
*Hình thành mạch giải mã địa chỉ dựa trên bảng đồ bộ nhớ sau:
Tuy nhiên tại một thời điểm chỉ có 1 IC nhớ được truy xuất nên dùng các đường
địa chỉ A13, A14, A15 để phân biệt Lấy A15, A13, A14 nối tới 3 đầu vào IC giải
mã 74138 (A,B,C) Các ngõ ra Y0, Y1, Y2, Y3 lần lượt được nối tới CE của Rom,
Ram, CS của 8255 Khi Yi = 0 thì IC đó được chọn:
A13, A14, A15 = 0 chọn Rom
A13 = 1, A14, A15 = 0 chọn Ram
A13 = 0, A14 = 1, A15 = 0 chọn 82551
A13 =1, A14 = 1, A15 = 0 chọn 82552
4 Kết nối mạch chốt
-Chân ALE (chân 30) của 8051 kết nối với chân G của 74373 Các đường của Port0 nối
với các đường từ Do đến D7 của 74373 Các đường tín hiệu ( Q0 đến Q7) của 74373 và
Trang 17các đường port 2 (P2.0 đến P2.7) được nối tới các đường địa chỉ của ROM và RAM (A0 đến A12) còn các đường dữ liệu từ port 0 được nối tới các đường dữ liệu của ROM và RAM, 8255 (D0 đến D 7 )
-Trong mỗi chu kỳ máy sẽ có 2 xung ALE Khi ALE ở mức logic cao (G = 1) và OC
= (0) thì ngõ ra Q0 đến Q7 tương ứng với ngõ vào D, mọi sự thay đổi ở ngõ vào đều ảnh hưởng đến ngõ ra, lúc này Port 0 tương ứng là đường địa chỉ A0 đến A7 Khi ALE xuống mức thấp (G = 0), ngõ ra Q sẽ giữ nguyên trạng thái trước đó bất chấp ngõ vào D, lúc này các đường Port 0 tương ứng là các đường dữ liệu Do đến D7
*Tín hiệu PSEN của 8051 (chân 29) nối tới 0E của Rom Các đường (RD,WR) nối đến RD, WR của Rom và 8255 Do muốn xếp chồng bộ nhớ nên cho tín hiệu RD, PSEN của 8051 qua cổng AND (dùng 2 cổng NAND 74132) đưa tới OE của Ram
*Hình thành công tắc lưạ chọn Rom A, Rom B:
-Sơ đồ nguyên lý của công tắc lựa chọn: (Sơ đồ nguyên lý mạch điều khiển)
-Nguyên lý hoạt động của công tắc lựa chọn như sau:
Bất cứ khi nào cho phép truy xuất Rom (ngõ vào 1 chân cổng OR xuống mức logic [0])
và ngõ ra công tắc lựa chọn A hoặc B xuống mức logic [0] thì Rom A hay B được truy xuất
-Khi SW1 nối tới B, ngõ ra của cổng NAND (U9A) = 1 ngõ ra cổng OR (U8A) = 1, Rom
A không được chọn Đồng thời khi đó, ngõ ra cổng NAND (U9B) = 0, nếu A13, A14, A15 = 0 thì ngõ ra cổng OR (U8B) = 0 Rom B được chọn Ngược lại, công tắc
chuyển sang A thì Rom A được truy xuất
*Hình thành công tắc lưạ chọn Rom A, Rom B:
-Sơ đồ nguyên lý của công tắc lựa chọn: (Sơ đồ nguyên lý mạch điều khiển)
-Nguyên lý hoạt động của công tắc lựa chọn như sau:
Bất cứ khi nào cho phép truy xuất Rom (ngõ vào 1 chân cổng OR xuống mức logic [0]) và ngõ ra công tắc lựa chọn A hoặc B xuống mức logic [0] thì Rom A hay B được truy xuất
-Khi SW1 nối tới B, ngõ ra của cổng NAND (U9A) = 1 ngõ ra cổng OR (U8A) =
1, Rom A không được chọn Đồng thời khi đó, ngõ ra cổng NAND (U9B) = 0, nếu A13, A14, A15 = 0 thì ngõ ra cổng OR (U8B) = 0 Rom B được chọn Ngược lại, công tắc chuyển sang A thì Rom A được truy xuất
II THIẾT KẾ MẠCH RESET:
Khi công tắc chuyển từ A sang B và ngược lại đều reset toàn bộ lại hệ thống để cho PC
= 0000H Bởi vì khi đang làm việc tại Rom A, PC khác 0000H, khi chuyển sang Rom B
PC bắt đầu tại địa chỉ khác 0000H làm sai chương trình Vì vậy mạch reset trong đồ án này bao gồm reset từ chuyển công tắc chọn Rom, reset từ ngoài đưa tới (nếu như kết hợp với mạch khác), reset khi bắt đầu mỗi chương trình đếm sản phẩm và reset nếu như nguồn cung cấp yếu Sơ đồ nguyên lý mạch reset trong sơ đồ nguyên lý mạch điều khiển
Reset bằng nút nhấn:
Khi nhấn nút, 1 chân của cổng nand U2A được nối mass ngõ ra = 1, reset (RST) =
1, hệ thống bị reset (đồng thời khi đó chân còn lại của cổng nand luôn được giữ ở mức Cao ) Khi kết nối với mạch điện khác, mạch điện khác có thể reset mạch điện này qua
header 3 (JP8) Sự tác động thông qua sự ngắt dẫn của Q3C828 Khi Q3
Trang 18dẫn (có tác động
bên ngoài), ngõ ra cổng nand (U2A) = 1, ngõ ra cổng OR = 1, RST = 1, hệ thống bị reset
III.KẾT NỐI KÍT VI ĐIỀU KHIỂN VỚI THIẾT BỊ NGOẠI VI:
1 Kết nối với bàn phím
Bàn phím gồm 16 phím kết nối với kít vi điều khiển thông qua Port 1 của 8051
Sơ đồ kết nối như sau:
BẢNG MÃ PHÍM
Trang 192 Kết nối hiển thị:
Phần hiển thị bao gồm 8 Led 7 đoạn chung anod Bus dữ liệu xuất ra hiển thị đ ược nối tới PortA của 82552 Vì dòng ra tại mỗi chân các Port của 8255 chỉ có khoảng 4mA, mà mỗi Led sáng thì ph ải cung cấp dòng khoảng 8 –10mA nên phải dùng IC đệm nênPortA của 8255 nối tới các ngõ vào A1 _ A8 của 74245, bus dữ liệu ngõ ra nối qua điện trở hạn dòng đến các thanh của Led 7 đoạn Với mạch giải mã chọn Led: ba ngõ vào A, B, C của 74138 sẽ được nối tới PC5 –PC7 của 8255, chân cho phép G2 nối tới PC4 của 8255 Khi PC4 xuống mức thấp, G2
= [0], cho phép Led sáng Bảng trạng thái chọn Led như sau:
Để cho một thanh led đủ sáng thì dòng điện qua nó là 10 mA, do đó để cả led 7 đoạn sáng thì dòng cung c ấp cho led là: I = 7 x 10 = 70 mA Đây cũng chính là dòng Ic của transistor Vậy chọn transistor loại A1266 với hệ số khuyếch đại βlà
60
3 Kết nối mạch rơle:
Tín hiệu điều khiển rơle được lấy ra từ PortA của 82551 Rơle sẽ tác động khi đếm xong số lượng sản phẩm cài đặt trước Ở đây chúng emgiả định sự tác động của rơle bằng đèn Led hiển thị Khi led sáng tương ứng với tác động của rơle Giống như mạch hiển thị, tín hiệu lấy ra điều khiển rơle đuợc đưa qua bộ đệm
74245 và hạn dòng bằng điện trở
VI THIẾT KẾ MẠCH CẢM BIẾN
1 Khối phát
Sử dụng mạc dao động 555:
Trang 20để xung tạo ra gần như đều nhau để kích thích cho Ạ564 dẫn mạnh, làm dòng IB
lớn suy ra dòng qua LED lớn, tín hiệu phát ra từ LED mạnh thì bên khối đầu dò mới nhận được tín hiệu
2.Khối đầu dò:
có chức năng là phát hiện sự mất xung ( có sản phẩm đi qua ) và đưa về con 89c51 để xử lý tăng số đếm lên 1 đơn vị