Tải bản đầy đủ (.pdf) (26 trang)

MẠCH đếm SẢN PHẨM SỬ DỤNG VI ĐIỀU KHIỂN HIỂN THỊ TRÊN LED

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 26 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA ĐIỆN TỬ VÀ TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN
MÔN:KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG
Đề tài:
MẠCH ĐẾM SẢN PHẨM SỬ DỤNG VI ĐIỀU KHIỂN
HIỂN THỊ TRÊN LED

Giáo viên hướng dẫn: TH.S MAI THỊ KIM ANH
Sinh viên thực hiện: PHẠM QUANG VINH
NGUYỄN TƯỜNG VY
Lớp: KTYS – K16A

Thái Nguyên, tháng 11 năm 2019


LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển của khoa học kỹ thuật, kỹ thuật điện tử mà trong
đó 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 tin. Do đó chúng ta phải nắm bắt thơng tin
và vận dụng nó một cách hiệu quả nhằm đóng góp vào sự phát triển của 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 chung.
Xuất phát từ những bài thực tập trên lớp và tham quan các doanh nghiệp sản xuất,
chúng em đã thấy được nhiều khâu được tự động hóa trong q 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 dó 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ỏ, việc tự động hóa hồ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 sử dụng
nhân cơng.
Từ những điều đc đượ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 tang 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.
Nên chúng em 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ế. Để làm được mạch này cần thiết kế được hai phàn chính là: bộ cảm biến và bộ
phận đếm.
Bộ phận cảm biến: bộ cảm biến phát và bộ cảm biến thu. Thông thường người ta sử
dụng phần phát là LED 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.


CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI.
1.1 Đặt vấn đề, lý do chọn đề tài
Trong kỷ nguyên công nghệ hiện nay, sự phát triển rất mạnh mẽ của khoa học kỹ
thuật, các mơ hình đếm sản phẩm, băng truyền đếm sản phẩm ra đời dựa vào công
nghệ chế tạo vi mạch và lập trình nhúng cho vi điều khiển. Vi điều khiển tích hợp nhỏ
gọn, giá thành thấp, tính linh động cao, tiết kiệm nguồn năng lượng.
Hiện nay, ở Việt Nam và thế giới có rất nhiều loại mơ hình đếm sản phẩm, băng
truyền đếm sản phẩm đã được thiết kế thi cơng giúp con người giảm chi phí phân
cơng, quản lý, cơng nghiệp tự động hóa, cung cấp thơng tin. Mơ hình đếm sản phẩm tự
động, giúp tăng hiệu suất lao động, đồng thời đảm bảo chính xác.
Ngày nay, các vi điều khiển đã có một bước phát triển mạnh với mật độ tích hợp
cao, khả năng xử lý, tiêu thụ năng lượng ít và gia thành thấp. Khi được nạp phần mềm
nhúng, các vi điều khiển sẽ hoạt động độc lập theo ứng dụng cụ thể.
Xuất phát từ những bài học thực tập trên lớp và tham quan các doanh nghiệp sản
xuất, chúng em đã được thấy nhiều khâu được tự động hóa trong q 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.
Nên chúng em quyết định thiết kế mơ hình mạch đếm sản phẩm vì nó rất gần gũi với
thực tế. Để làm được mơ hình mạch này cần thiết kế đước năm phần chính là: module
cảm biến hồng ngoại, module hiển thị LED 7 đoạn, module nguồn cung cấp, module
băng truyền và module vi điều khiển AT89S52.
Chính vì thế ý tưởng tìm hiểu và nghiên cứu mơ hình đếm sản phẩm ra đời nhằm
mục đích:
 Ứng dụng thự tiễn được các kiến thức đã học ở trường.
 Tìm hiểu cách thức hoạt động của các module trong mơ hình đếm sản phẩm.
 Nghiên cứu them những kiến thức còn hạn hẹp của bản thân.
2


1.2.Tổng quan tình hình nhiên cứu trong và ngồi nước có liên quan đến đề tài
Hiện nay, trong và ngồi nước đã phát triển và thương mại hóa các mơ hình đếm
sản phẩm, máy đếm tiền, máy đếm số lượng x era vào cung cấp cho doanh nghiệp có
nguyên dây chuyền sản xuất tự động hóa hồn tồn.
1.3 Tính cấp thiết của đề tài
Tính khoa học: Hiện nay các mơ hình đếm sản phẩm đã được thương mại hóa
ra thị trường ưa chuộng. Nhóm chúng em tìm hiểu và nghiên cứu ngun lý hoạt
động của từng module mơ hình mách đếm sản phẩm, mơ hình hóa mạch đếm sản
phẩm, thương mai hóa mơ hình mách đếm sản phẩm và ứng dụng mơ hình trong
thực tế.
Tính kinh tế: Mơ hình mạch đếm sản phẩm giúp cho doanh nghiệp, cơ quan,
xí nghiệp giảm chi phí nhân cơng, quản lý, cung cấp thơng tin.
1.4. Các linh kiện điện tử
1.4.1. Giới thiệu chung về họ VĐK 8051
MCS-51 là họ vi điều khiển của hãng Intel. Vi mạch tổng quát của họ MCS-51 là chip

8051. Chip 8051 có một số đặc trưng cơ bản sau:
 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 ngồ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 µs.
Ngồi ra, trong họ MCS-51 cịn có một số chip vi điều khiển khác có cấu trúc tương
đương như:

3


Hình 1.1. Cấu hình một số loại vi điều khiển
1.4.2. Các chân của họ VĐK 8051

Hình 1.2. Sơ đồ các chân của IC 8051
- CPU (Central Processing Unit): Đơn vị xử lý trung tâm tính tốn và điều khiển
q 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 cho cá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 (Timer 0, Timer 1) và từ cổng nối tiếp (Serial port), lần luợt
đua các tín hiệu ngắt này đến CPU để xử lý.

4



- Other registers: Các thanh ghi khác : Lưu trữ dữ liệu của các port xuất/nhập,
trạng thái làm việc của các khối trong chip trong suốt quá trình hoạ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.
- 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
duới dạng song song giữa trong và ngồ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ạng nối tiếp
giữa trong và ngồ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.
1.4.3. Vi điều khiển AT89S52
Vi điều khiển AT89S52 là một vi điều khiển thuộc họ 8051, loại CMOS, có tốc độ cao
và cơng suất thấp với bộ nhớ Flash có thể lập trình được. AT89S52 có 40 chân.

Hình 1.3. Hình minh họa thực tế và sơ đồ chân ra của IC AT89S52
VĐK AT89S52 có các đặc tính sau:

5


 4 KB EPROM (Flash Erasable and Programmable Read Only Memory), có khả
năng tới 1000 chu kỳ ghi/xố.
 Tần số hoạt động từ: 0Hz đến 24 MHz.

 Có 3 mức khóa bộ nhớ lập trình.
 128 Byte RAM nội.
 4 Port xuất /nhập I/O 8 bit.
 2 bộ Timer/counter 16 Bit.
 6 nguồn ngắt.
 Giao tiếp nối tiếp điều khiển bằng phần cứng.
 64 KB vùng nhớ mã ngoài
 64 KB vùng nhớ dữ liệu ngoài.
 Cho phép xử lý bit.
 210 vị trí nhớ có thể định vị bit.
1.4.3.1. Sơ đồ khối và chức năng các chân của AT89S52:
a. Sơ đồ khối:

Hình 1.4. Biểu diễn sơ đồ khối chức năng của bộ vi điều khiển AT89S52.
b. Chức năng các chân AT89S52:
Các cổng vào/ra song song
8051 có 4 cổng vào/ra song song 8 bit là Port 0, Port 1, Port 2, Port 3. Các cổng này có
thể sử dụng như là cổng vào hoặc cổng ra.
6


 Cổng Port 0 (các chân 32÷39): là cổng vào/ra song song có hai chức năng.
 Cổng Port 1 (các chân 1÷8): là cổng vào/ra song song. Các chân được ký hiệu
P1.0, P1.1, P1.2…có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần.
 Cổng Port 2 (các chân 21÷28): là một cổng vào/ra song song có tác dụng kép,
được dùng như các đường xuất nhập hoặc là byte của bus địa chỉ 16 bitđối với
các thiết bị dùng bộ nhớ mở rộng.
 Cổng Port 3 (các chân 10÷17): là cổng vào/ra song song có tác dụng kép. Bảng
sau cho ta chức năng của các chân cổng Port3


Nguồn:
Chân 40: VCC = 5V ± 20%
Chân 20: GND
Các chân tín hiệu điều khiển
- Chân cho phép bộ nhớ chương trình PSEN (Program Storage Enable):
+Tín hiệu PSEN là tín hiệu ra ở chân 29 có tác dụng kép.
+Cho phép đọc bộ nhớ chương trình ngồi, thường được nối đến chân OE
(Output Enable) của EPROM cho phép đọc các byte mã lệnh.
+Khi vi điều khiển thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1.
- Chân cho phép chốt địa chỉ ALE/PROG (Address Latch Enable):
+Chân tín hiệu ALE (chân 30) đưa ra xung điều khiển cho phép chốt byte thấp
của địa chỉ khi vi điều khiển truy xuất bộ nhớ ngoài. Chân này cũng là đầu vào của
xung lập trình khi lập trình cho FLASH, khi đó chân tín hiệu ở mức 0.
- Chân tín hiệu truy xuất ngồi EA (External Access):

7


+Tín hiệu vào EA (chân 31) được nối với 5V (mức logic 1) hoặc với GND
(mức 0). Nếu ở mức 1, vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức 0,
vi điều khiển sẽ thi hành chương trình ở bộ nhớ mở rộng.
- Chân thiết lập lại RST (Reset):
+Chân RST (chân 9) là đường vào xóa chính của vi điều khiển dùng để thiết lập
lại hệ thống. Khi chân tín hiệu này đưa lên mức cao, các thanh ghi bên trong được nạp
những giá trị thích hợp để khởi động hệ thống. RST có thể được kích khi cấp điện
dùng một mạch R-C. Mạch này như sau:

Hình 1.5. Mạch reset cho AT89S52
+Trạng thái các thanh ghi của vi điều khiển được tóm tắt trong bảng sau. Quan
trọng nhất trong các thanh ghi trên là thanh ghi bộ đếm chương trình (PC – Program

Counter). Sau khi thiết lập lại (RST trở về mức thấp), thanh ghi PC có giá trị 0000H,
tức là chương trình ln bắt đầu tại địa chỉ đầu tiên trong bộ nhớ chương trình. Nội
dung của RAM trên chip không bị thay đổi khi thiết lập lại.
Bảng 1.1. Các thanh ghi của 89S52

8


Bảng trạng thái các thanh ghi sau khi Reset
- Các chân XTAL1, XTAL2:
+Các chân này (chân 18, 19) nối với bộ tạo dao động trên chip. Mạch tạo dao
động như sau:

Hình 1.6. Mạch tạo dao động cho bộ tạo dao động của AT89S52
+Tần số của dao động thường là 12MHz. Khi đó tụ có giá trị 33pF. Chân VCC
nối đến +5V của nguồn cấp, chân GND nối đất.
Bộ nhớ trên chip
RAM trong:
9


+Bộ vi điều khiển 8051 có 128 byte RAM trong bao gồm 32 byte đầu tiên (00H
đến 1FH) dành cho các thanh ghi, 16 byte tiếp theo (20H đến 2FH) là vùng RAM định
địa chỉ theo bit, sau đó là 80 byte RAM nháp.
+Vùng thanh ghi có 32 byte, chia thành 4 khối (bank 0 đến bank 3), mỗi khối
có 8 thanh ghi (từ R0 đến R7).
+Ở vùng RAM định địa chỉ theo bit, các bit được dánh địa chỉ từ 00H đến 7FH.
Các thanh ghi chuyên dụng (SFRs – Special Function Registers).
+Các thanh ghi này có địa chỉ từ 80H đến FFH. Chúng chứa nội dung của các
thanh ghi điều khiển.

+Sau đây là một số thanh ghi chuyên dụng:

ROM:
+Bộ vi điều khiển AT89S52 có 4KB FLASH lập trình được.
+ROM luôn chiếm vùng địa chỉ thấp nhất trong bộ nhớ chương trình.
Các Bộ định thời/Bộ đếm
Bộ vi điều khiển 8051 có 2 Bộ định thời/Bộ đếm là Bộ định thời/Bộ đếm 0 và Bộ
định thời/Bộ đếm 1. Chúng có thể hoạt động như là bộ định thời hoặc bộ đếm. Chế độ
hoạt động của các Bộ định thời/Bộ đếm được cất trong thanh ghi TMOD:

10


+Nếu bit GATE xóa, các Bộ định thời/Bộ đếm được phép hoạt động khi bit
TR# tương ứng trong thanh ghi TCON thiết lập. Ngược lại, nếu GATE thiết lập thì các
Bộ định thời/Bộ đếm chỉ hoạt động khi các chân INT# tương ứng tích cực (mức thấp).
+Bit C/T# dùng để lựa chọn chế độ hoạt động bộ đếm hay bộ định thời. Nếu bị
xóa, thì nó hoạt động theo chế độ định thời với nguồn xung là xung tạo ra từ bộ tạo
dao động trên chip sau khi chia 12.
+Các bit M0, M1 dùng để xác định chế độ đếm cho các bộ đếm:

Các chế độ hoạt động của các bộ đếm
Sự hoạt động của các Bộ định thời/Bộ đếm được điều khiển bởi thanh ghi
TCON:

+Các bit TR# cho phép Bộ định thời/Bộ đếm hoạt động (nếu được thiết lập)
hoặc khơng cho phép chúng hoạt động (nếu bị xóa).
+Các bit TF# là các cờ tràn tương ứng với các Bộ định thời/Bộ đếm. Chúng
được thiết lập khi xảy ra tràn và được xóa bằng phần cứng nếu khi đó bộ xử lý rẽ
nhánh đến chương trình phục vụ ngắt tương ứng.

+Các bit IT# là các bit ngắt.
+Các bit IE# là các cờ ngắt cạnh, được thiết lập khi dò thấy ngắt cạnh.
Điều khiển ngắt
Bộ vi điều khiển 8051 có 5 nguồn ngắt: TF0, TF1, INT0, INT1 và ngắt do cổng
nối tiếp. Sự điều khiển hoạt động ngắt được cất trong 2 thanh ghi là thanh ghi cho
phép ngắt IE (Interrupt Enable) và thanh ghi xác định thứ tự ưu tiên ngắt IP (Interrupt
Priority). Các bit và chức năng của chúng trong thanh ghi IE như sau (thiết lập là cho
phép, xóa là cấm):

11


Các bit và chức năng của nó trong thanh ghi IE.
Với thanh ghi IP:

Các bit và chức năng của chúng trong thanh ghi IP.
1.4.5 LED 7 thanh
1.4.6. Điện trở
Trong mạch này em sử dụng điện trở than, là loại điện trở sử dụng nhiều nhất
trong mạch điện. Điện trở than được cấu tạo bởi hỗn hợp của bột than và các chất
khác, tùy theo tỷ lệ pha trộn mà điện trở có trị số lớn hay nhỏ. Bên ngồi điện trở được
bọc bằng lớp cách điện.
Trong mạch điện thì điện trở có tác dụng điều chỉnh điện áp, hạn chế dòng điện,
chia điện áp, điều chỉnh hệ số khuếch đại, ổn định nhiệt…..

12


Hình 1.8. Điện trở và kí hiệu thường gặp.


Hình 1.9. Bảng màu điện trở.
1.4.7. Tụ điện
Công dụng:
 Cho điện áp xoay chiều đi qua và ngăn điện áp một chiều lại, tụ được sử dụng
để truyền tín hiệu giữa các tầng khuếch đại có chênh lệch về điện áp một chiều.
 Lọc điện áp xoay chiều sau khi đã được chỉnh lưu (loại bỏ pha âm) thành điện
áp một chiều bằng phẳng. Đó là nguyên lý của các tụ lọc nguồn. 
 Với điện AC (xoay chiều) thì tụ dẫn điện cịn với điện DC (một chiều) thì tụ
lại trở thành tụ lọc.

13


*Tụ gốm:

Hình 1.10. Tụ gốm 103.
Đặc điểm của tụ gốm là kích thước nhỏ, điện dung lớn, có tính ổn định rất tốt,
có thể làm việc lâu dài mà khơng lão hoá.
Cách đọc: lấy hai chữ số đầu nhân với 10(mũ là số thứ 3)
*Ví dụ: Tụ trên hình có trị số là 474K nghĩa là
Giá trị của tụ= 47 x 104 = 470000 (pF) = 0,47 (µF)
Chữ cái K hoặc J ở cuối là chỉ sai số 5% hay 10% của tụ.
Dòng bên dưới ghi điện áp cực đại (Umax) mà tụ chịu được.
Nguyên lí hoạt động: Tụ gốm là tụ khơng phân cực, khơng quy định cực tính,
đấu nối thoải mái và các mạng AC hay DC. Thường sử dụng trong các mạch có tần số
cao hay mạch lọc nhiễu.
Tụ có kí hiệu là C (Capacitor)

Tụ mắc nối tiếp.


Tụ mắc song song.

Hình 1.11. Tụ trong mạch nối tiếp và song song.

14


*Tụ hóa :

Hình 1.12. Hình ảnh thực tế tụ hóa.
Tụ hóa là tụ có phân cực âm và dương. Tụ được chế tạo từ bản cực nhơm và
cực dương có bề mặt hình thành lớp Oxit nhơm và lớp bọt khí có tính cách điện để làm
chất điện mơi. Lớp Oxit nhôm rất mỏng nên điện dung của tụ lớn từ 1µF đến
10.000µF.
1.4.8. Thạch anh

Hình 1.13.Hình dạng thạch anh
Thạch anh là một vật chất cứng, trong suốt, có trọng lượng riêng 2.649 kg/m3
(1.531 oz/in3), nhiệt độ nóng chảy ở 1750 °C (3182 °F).
Linh kiện thạch anh làm bằng tinh thể đá thạch anh được mài phẳng và chính
xác. Linh kiện thạch anh làm việc dựa trên hiệu ứng áp điện. Hiệu ứng này có tính
thuận nghịch. Khi áp một điện áp vào 2 mặt của thạch anh, nó sẽ bị biến dạng. Ngược
lại, khi tạo sức ép vào 2 bề mặt đó, nó sẽ phát ra điện áp.

15


Tác dụng của thạch anh trong mạch dùng để tạo dao động cho ra tần số ổn định
hơn.
Ở trong mạch này ta dùng thạch anh 12MHZ.

1.4.9. Nút bấm

Hình 1.15. Hình dạng nút bấm
Tác dụng trong mạch dùng để:
 RESET chương trình về ban đầu
 Khởi động chương trình đếm của mạch
1.4.10. Sensor cảm biến hồng ngoại

Cảm biến có khả năng nhận biết vật cản ở môi trường với một cặp LED thu
phát hồng ngoại để truyền và nhận dữ liệu hồng ngoại. Tia hồng ngoại phát ra với tần
số nhất định, khi có vật cản trên đường truyền của LED phát nó sẽ phản xạ vào LED
thu hồng ngoại, khi đó LED báo vật cản trên module sẽ sáng, khi khơng có vật cản,
LED sẽ tắt.
16


Với khả năng phát hiện vật cản trong khoảng 2 ~ 30cm và khoảng cách này có thể điều
chỉnh thơng qua chiết áp trên cảm biến cho thích hợp với từng ứng dụng cụ thể như: xe
dò line, xe tránh vật cản, …
Thông số kỹ thuật

IC so sánh: LM393

Điện áp: 3.3V - 6VDC

Dòng tiêu thụ:

Vcc = 3.3V: 23 mA

Vcc = 5.0V: 43 mA


Góc hoạt động: 35°

Khoảng cách phát hiện: 2 ~ 30 cm

LED báo nguồn và LED báo tín hiệu ngõ ra

Mức logic ngõ ra:

Mức thấp - 0V: khi có vật cản

Mức cao - 5V: khi khơng có vật cản

Kích thước: 3.2cm x 1.4cm


Pin Out

CHƯƠNG II. THIẾT KẾ VÀ THI CÔNG MẠCH THỰC TẾ
2.1. Giới thiệu phần mềm proteus
Phần mềm Proteus VSM được viết bởi công ty Labcenter Electronics. Proteus
đã được sử dụng khá rộng rãi trên 35 quốc gia.
17


Proteus là phần mềm dùng để vẽ sơ đồ nguyên lý, mơ phỏng và thiết kế mạch
điện. Gói phần mềm gồm có các phần mềm chính:
 ISIS dùng để vẽ sơ đồ nguyên lý và mô phỏng.
 ARES dùng để thiết kế mạch in.
2.2. Thiết kế mạch

2.2.1. Thiết kế mô hình hệ thống

Hình 2.1. Sơ đồ khối hệ thống
2.2.2. Thiết kế mạch nguồn

Hình 2.2. Sơ đồ mạch nguồn.
Trong mạch ta sẽ sử dụng nguồn 12VDC nên có thể bỏ qua khối biến áp và
chỉnh lưu.
2.2.3. Thiết kế mạch nguyên lý theo từng khối
Khối hiển thị
18


Hình 2.1. Khối hiển thị
2.2.4. Mơ phỏng trên Proteus
Mơ phỏng mạch đếm

Hình 2.2. Sơ đồ mơ phỏng mạch chạy khi đếm.

19


2.2.5. Thiết kế mạch in

Hình 2.3. Sơ đồ mạch in
2.2.6. Nguyên lý hoạt động
Khi IC 89S52 được khởi động chương trình sẽ tự động gửi lệnh chạy lời giới
thiệu chung “mach dem sp”. Sau một khoảng thời gian ngắn, LCD tiếp tục hiển thị số
sản phẩm được đếm. Mỗi lần sản phẩm đi qua Module cảm biến sẽ làm tăng số đếm
hiển thị trên LCD. Mạch đếm đến 99 sẽ tự động reset về 00 rồi đếm lại từ đầu.

2.2.7. Soạn thảo chương trình:
#include <REGX51.H>
/********Khai bao chan giao tiep************/
#define LCD_RS P2_7
#define LCD_RW P2_6
#define LCD_EN P2_5
#define LCD_D4 P2_3
20


#define LCD_D5 P2_2
#define LCD_D6 P2_1
#define LCD_D7 P2_0
/************************************/
void delay_us(unsigned int t){
unsigned int i;
for(i=0;i}
void delay_ms(unsigned int t){
unsigned int i,j;
for(i=0;ifor(j=0;j<125;j++);
}
/**************Ctr giao tiep LCD 16x2 4bit**********************/
void LCD_Enable(void){
LCD_EN =1;
delay_us(3);
LCD_EN=0;
delay_us(50);
}

//Ham Gui 4 Bit Du Lieu Ra LCD
void LCD_Send4Bit(unsigned char Data){
LCD_D4=Data & 0x01;
LCD_D5=(Data>>1)&1;
LCD_D6=(Data>>2)&1;
LCD_D7=(Data>>3)&1;
}
// Ham Gui 1 Lenh Cho LCD
void LCD_SendCommand(unsigned char command){
LCD_Send4Bit(command >>4);/* Gui 4 bit cao */
LCD_Enable();
LCD_Send4Bit(command); /* Gui 4 bit thap*/
21


LCD_Enable();
}
void LCD_Clear(){// Ham Xoa Man Hinh LCD
LCD_SendCommand(0x01);
//delay_us(10);
}
// Ham Khoi Tao LCD
void LCD_Init(){
LCD_Send4Bit(0x00);
delay_ms(20);
LCD_RS=0;
LCD_RW=0;
LCD_Send4Bit(0x03);
LCD_Enable();
delay_ms(5);

LCD_Enable();
delay_us(100);
LCD_Enable();
LCD_Send4Bit(0x02);
LCD_Enable();
LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8
LCD_SendCommand( 0x0c); // cho phep hien thi man hinh
LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh
LCD_SendCommand(0x01); // xoa toan bo khung hinh
}
void LCD_Gotoxy(unsigned char x, unsigned char y){
unsigned char address;
if(!y)address=(0x80+x);
else address=(0xc0+x);
//delay_us(50);
LCD_SendCommand(address);
// delay_us(50);
22


}
void LCD_PutChar(unsigned char Data){//Ham Gui 1 Ki Tu
LCD_RS=1;
LCD_SendCommand(Data);
LCD_RS=0 ;
}
void LCD_Puts (char *s){//Ham gui 1 chuoi ky tu
while (*s){
LCD_PutChar(*s);
s++;

}
}
/******************Ctr chinh**************************/
void main(){
unsigned char low, high,low1, high1,xevao,chotrong ;
unsigned int number,number1;
TMOD &= 0xFF;
TMOD |= 0x55;
TR0 = 1;
TR1 = 1;
LCD_Init();//Khoi tao LCD
delay_ms(200);
LCD_Puts("MACH DEM S/PHAM");//Gui chuoi len LCD
delay_ms(1000);
LCD_Gotoxy(0,1);//Tro toi vi tri
LCD_Puts("PHAM QUANG VINH");
delay_ms(1000);
while(1)
{
do{
high = TH0;
23


low = TL0;
}
while(high!=TH0);
do{
high1 = TH1;
low1 = TL1;

}
while(high1!=TH1);
number = high;
number <<= 8;
number |= low;
number1 = high1;
number1 <<= 8;
number1 |= low1;
xevao=number-number1;
//

LCD_Clear();//Xoa man hinh
delay_ms(5);
LCD_Gotoxy(0,0);//Tro toi vi tri
LCD_Puts("SO SAN PHAM:");
LCD_Gotoxy(12,0);//Tro toi vi tri
LCD_PutChar(xevao/10+48);
LCD_PutChar(xevao%10+48);
}

}
//THE END//

24


×