Một ứng dụng thực tế, phổ biến trong nhiều nhà máy sản xuất theo dâychuyền tự động là đếm sản phẩm tự động vì mỗi ngày họ sản xuất ra rất nhiều sảnphẩm mà con người khơng thể nào đứng đĩ
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tp HCM, Ngày tháng năm2008
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Tp HCM, Ngày tháng năm2008
Trang 3LỜI CẢM ƠN
Chúng em chân thành cảm ơn các thầy cô trong khoa Điện tử đã tận tình giảng dạy
và chỉ bảo chúng em trong suốt quá trình vừa qua
Xin chân thành cảm ơn thầy Trần Minh Hồng đã hỗ trợ chúng em trong suốt thờigian qua để thực hiện đồ án này
Xin cảm ơn tất cả các bạn đã đóng góp ý kiến và giúp đỡ chúng tôi trong lúc thựchiện đồ án này
Xin chân thành cảm ơn !
Trang 4MỤC LỤC
MỞ ĐẦU 5
CHƯƠNG 1: GIỚI THIỆU LINH KIỆN 6
1.1.IC89C51 6
1.2.SƠ LƯỢC VỀ LCD 16
1.3.CẤU TẠO, NGUÊN LÝ CỦA LED HỒNG NGOẠI 20
1.4.PHOTON TRANSISTOR 21
1.5.IC7414 23
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG 24
2.1.SƠ ĐỒ NGUYÊN LÝ 24
2.2.SƠ ĐỒ KHỐI 25
CHƯƠNG 3: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 26
3.1.LƯU ĐỒ 26
3.2.CHƯƠNG TRÌNH 28
KẾT LUẬN 40
DANH MỤC TÀI LIỆU THAM KHẢO 41
Trang 5MỞ ĐẦU
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ử đĩng vai trị quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, cơngnghiệp tự động hố, cung cấp thơng tin … do đĩ chúng ta phải nắm bắt và vậndụ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 diện tử nĩi riêng
Một ứng dụng thực tế, phổ biến trong nhiều nhà máy sản xuất theo dâychuyền tự động là đếm sản phẩm tự động vì mỗi ngày họ sản xuất ra rất nhiều sảnphẩm mà con người khơng thể nào đứng đĩ để đếm xem một ngày sản xuất đượcbao nhiêu với một số lượng sản phẩm lớn ,như vậy sẽ tăng hiệu suất lao động lêngấp nhiều lần, giúp người lao động bớt phần mệt nhọc chân tay đồng thời đảm bảo
độ chính xác cao Tuy nhiên đối với những doanh nghiệp vừa và nhỏ thì việc tựđộng hố hồn tồn chưa được áp dụng trong những khâu đếm sản phẩm, đĩngbao bì mà vẫn cịn sử dụng nhân cơng
Từ những điều đã nhận thấy cùng với những kiến thức đã được học, chúng
em muốn tìm hiểu về mạch đếm sản phẩm dùng assembly Vì thế chúng em quyếtđịnh thiết kế một mạch đếm sản phẩm
Mạch sử dụng một cảm biến giao tiếp với 89C51 Cứ mỗi lần cĩ sản phẩmchạy qua cảm biến thì cảm biến sẽ nhận và chuyển đổi thành tín hiệu số để đưa về89C51 xử lí và hiển thị ra LCD Mạch này đếm tối đa đến 999.999 sản phẩm Vàcịn cĩ thể mở rộng thêm được nữa
Do kiến thức cịn hạn chế nên quá trình thực hiện chắc khơng tránh khỏi nhữngthiếu sĩt và việc trình bày nội dung cũng cĩ những chỗ chưa hồn thiện Rất mong quíThầy Cơ gĩp ý và bổ sung để đồ án này được hồn thiện hơn Nhĩm thực hiện chúng emxin chân thành cảm ơn
Trang 6CHƯƠNG 1: GIỚI THIỆU LINH KIỆN 1.1.IC89C51
1.1.1.Phần cứng của vi điều khiển 8501:
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:
o Bộ nhớ chương trình bên trong: 4 KB (ROM)
o Bộ nhớ dữ liệu bên trong: 128 byte (RAM)
o Bộ nhớ chương trình bên ngoài: 64 KB (ROM)
o Bộ nhớ dữ liệu bên ngoài: 64 KB (RAM)
o 4 port xuất nhập (I/O port) 8 bit
o 2 bộ định thời 16 bit
o Mạch giao tiếp nối tiếp
o Bộ xử lý bit (thao tác trên các bit riêng lẻ)
o 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit
o Nhân / Chia trong 4 us
Sơ đồ khối của chip 8051
Trang 71.1.2.Các chân của chip 8051:
1.1.2.1 Sơ đồ khối và chức năng các khối của chip 89C51
CPU (Central Processing Unit): Đơn vị xử lý trung tâm tính toán và điềukhiển quá trình hoạt động của hệ thống
OSC (Oscillator): Mạch dao động _ tạo tín hiệu xung clock cung cấp cho cáckhối trong chip hoạt động
Interrupt control: Điều khiển ngắt _ nhận tín hiệu ngắt từ bean ngoài (INT0\,INT1\), từ bộ định thời (TIMER0, TIMER1) và từ cổng nối tiếp (SERIALPORT), lần lượt đưa các tín hiệu ngắt này đến CPU để xử lý
Other registers: Các thanh ghi khác _ lưu trữ dữ liệu của các 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
Trang 8ROM (Read Only Memory): Bộ nhớ chương trình trong chip lưu trữ chươngtrì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 dưới dạng song song giữa trong và ngoài chip thông qua các port P0, P1,P2, P3
Serial port: Port nối tiếp _ điều khiển việc xuất nhập dữ liệu dưới dạng nốitiếp giữa trong và ngoài chip thông qua các chân TxD, RxD
Timer 0, Timer 1: Bộ định thời 0, 1 _ dùng để định thời gian hoặc đếm sựkiện (đếm xung) thông qua các chân T0, T1
Bus control: Điều khiển bus _ điều khiển hoạt động của hệ thống bus và việc
di chuyển thông tin trên hệ thống bus
Bus system: Hệ thống bus _ liên kết các khối trong chip lại với nhau
1.1.2.2.Chức năng các chân của chip 8051
Chip 8051 :gồm 40 chân
2 chân nguồn cấp điện (VCC, VSS)
32 chân xuất/nhập
6 chân chức năng (EA, ALE, PSEN, XTAL1, XTAL2, RST)
Port xuất/nhập 8 bit (P0.0 – P0.7)
Port xuất/nhập 8 bit (P1.0 – P1.7)
Port xuất/nhập 8 bit (P2.0 – P2.7)
Port xuất/nhập 8 bit (P3.0 – P3.7)
Sơ đồ chân của chip 89C51
Trang 9 Port 0:
- Port 0 (P0.0 – P0.7) có số chân từ 32 – 39
- Port 0 có hai chức năng:
• Port xuất nhập dữ liệu (P0.0 - P0.7) không sử dụng bộ nhớ ngoài
• Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) có sử dụng bộnhớ ngoài
+ Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập dữ liệu thì phải sử dụngcác điện trở kéo lên bên ngoài
Trang 10- Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của
- Port 2 có hai chức năng:
• Port xuất nhập dữ liệu (P2.0 – P2.7) _ không sử dụng bộ nhớ ngoài
• Bus địa chỉ byte cao (A8 – A15) _ có sử dụng bộ nhớ ngoài
- Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào củađịa chỉ byte cao (A8 – A11) và các tín hiệu điều khiển
Port 3:
- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17
- Port 0 có hai chức năng:
• Port xuất nhập dữ liệu (P3.0 – P3.7) _ không sử dụng bộ nhớ ngoài hoặccác chức năng đặc biệt
• Các tín hiệu điều khiển _ có sử dụng bộ nhớ ngoài hoặc các chức năngđặc biệt
- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào củacác tín hiệu điều khiển
Chức năng của các chân Port3:
Trang 11Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp
P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp
P3.2 INT0\ B2H Ngõ vào ngắt ngoài 0
P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời đếm 1
P3.6 WR\ B6H Điều khiển ghi bộ nhớ dữ liệu Ram ngoài
P3.7 RD\ B7H Điều khiển đọc bộ nhớ dữ liệu Ram ngoài
PSEN\ = 0 _ trong thời gian CPU tìm-nạp lệnh từ ROM ngoài
PSEN\ = 1 _ CPU sử dụng ROM trong (không sử dụng ROM ngoài)
- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nốivới chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài
Trang 12ALE = 0 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus D0 – D7.ALE = 1 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus A0 – A7.
- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vàocủa xung lập trình (PGM\)
Khi lệnh lấy dữ liệu từ RAM ngoài (MOVX) được thực hiện thì 1 xungALE bị bỏ qua
EA\ = 0 _ Chip 8051 sử dụng chương trình của ROM ngoài
EA\ = 1 _ Chip 8051 sử dụng chương trình của ROM trong
- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào củađiện áp lập trình (Vpp = 12V/89xx, 21V/80xx,87xx)
+ Lưu ý: Chân EA\ luôn luôn phải được nối lên Vcc (sử dụng chương trìnhcủa ROM trong) hoặc xuống Vss (sử dụng chương trình của ROM ngoài)
Chân XTAL1, XTAL2:
- XTAL (Crystal): tinh thể thạch anh, chân số 18-19
- Chức năng:
• Dùng để nối với thạch anh hoặc mạch dao động tạo xung clock bên ngoài,cung cấp tín hiệu xung clock cho chip hoạt động
• XTAL1 _ ngõ vào mạch tạo xung clock trong chip
• XTAL2 _ ngõ ra mạch tạo xung clock trong chip
Chân RST:
Trang 13- RST (Reset): thiết lập lại, chân số 9.
- Chức năng:
• Là tín hiệu cho phép thiết lặp (đặt) lại trạng thái ban đầu cho hệ thống
• Là tín hiệu nhập, tích cực mức cao
RST = 0 _ Chip 8051 hoạt động bình thường
RST = 1 _ Chip 8051 được thiết lặp lại trạng thái ban đầu
- Bộ vi xử lý có không gian bộ nhớ chung cho dữ liệu vàchương trình
- Chương trình và dữ liệu nằm chung trên RAM
- Bộ vi điều khiển có không gian bộ nhớ riêng cho dữ liệu vàchương trình
- Chương trình và dữ liệu nằm riêng trên ROM và RAM
Trang 14Tổ chức bộ nhớ của chip 8051:
Không gian bộ nhớ của chip 8051
Trang 15Bộ nhớ dữ liệu trên chip 8051
Trang 161.2.2 Sơ đồ chân và kích thước của LCD:
1.2.3.Sơ đồ khối của LCD:
Trang 171.2.4.Hoạt động của LCD
Trang 201.2.5.BẢNG MÃ ASCII
Vì bàn phím, máy in và màn hình đều sử dụng mã ASCII nên cần phải thực hiện chuyển đổi giữa mã ASCII về mã BCD và ngược lại
BẢNG MÃ ASCII CỦA CÁC SỐ TỪ 0-9
1.3.CẤU TẠO, NGUÊN LÝ 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.43 Ev tương ứngbức xạ 900nm Ngoài ra khi pha tạp Si với nguyên 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ợpnhấ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ì 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ốinố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ậnkhông tăng Đặc tuyến volt-ampere của led hồng ngoại như sau:
Trang 21
1.4.PHOTON TRANSISTOR:
Photon transistor cũ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ơ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:
Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trên vỏcủa nó có cửa số trong suốt cho ánh sáng chiếu vào Ánh sáng qua cửa sổ nàychiếu lên miền bazơ của transistor Chuyển tiếp PN emitter được chế tạo như cáctransistor thông thường, nhưng chuyển tiếp PN collector, thì do miền bazơ cầnđược chiếu sáng, cho nên nó có nhiều hình dạng khác nhau, cũng có dạng hìnhtròn nằm giữa tâm miền bazơ Khi sử dụng transistor quang mắc mạch tương tựnhư transistor mắc chung emitor(CE) Chuyển tiếp emitor được phân cực thuận
Trang 22còn chuyển tiếp collector được phân cực nghịch Có nghĩa là transistor quangđược phân cực ở chế độ khuếch đại.
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ốinền – phát được phân cực thuận nên dòng thu là ( + 1) Ico đây là dòng tối củaquang transistor 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 làm xuất hiện dòng II Do ánh sáng khiến dòng thu trởthành:
Trang 23Đặc tuyến Volt ampere của transistor quang ứng với khoảng Uce nhỏ cũng có thểgọi là miền bão hoà vì khi ấy do sự tích tụ điện tích có thể coi như chuyển tiếpcollector được phân cực thuận Cũng tương tự như trong trường hợp transistorthông thường, độ dốc đặc tuyến trong miền khuếch đại
1.5.IC7414
Là ic chứa cổng đảo
Trang 24CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG 2.1.SƠ ĐỒ NGUYÊN LÝ:
Giải thích:
Mạch bao gồm hai cảm biến giao tiếp với 89C51 Cứ mỗi lần có sản phẩm chạyqua cảm biến thì cảm biến sẽ nhận và chuyển đổi thành tín hiệu số để đưa về89C51 xử lí và hiển thị ra LCD Mạch này đếm tối đa đến 999.999 sản phẩm Vàcòn có thể mở rộng thêm được nữa Chương trình sử dụng ngắt ngoài 0 Cảm biếnđược nối với chân INT0 (P3.2) LCD được nối với P1 Các chân điều khiển LCDnối với P0 Do số sản phẩm đếm được khi có tín hiệu ngắt ở chân INT0 là sốBCD Vì vậy để số này hiển thị ra LCD ta phải chuyển đổi ra mã ASCII
Trang 25KHỐIHIỂNTHỊ
Trang 26CHƯƠNG 3: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 3.1.LƯU ĐỒ
MAIN
KHỞI TẠO LCD
CHƯƠNG TRÌNH NGẮT 0
HIỂN THI SẢN PHẨM 1
NHẢY TẠI CHỖ KHI CÓ TÍN HIỆU NGẮT THÌ
QUAY VỀ CHƯƠNG TTRÌNH PHỤC VỤ NGẮT
CHƯƠNG TRÌNH NGẮT 1
HIỂN THI SẢN PHẨM 2Đ
SS
Đ
Trang 27CHƯƠNG TRÌNH NGẮT
HIỂN THỊ SẢN PHẨM
TĂNG GIÁ TRỊ THANH GHI LÊN (N-T)
TĂNG GIÁ TRỊ THANH GHI LÊN (TN-CN)
TĂNG GIÁ TRỊ THANH GHI LÊN (C-DV)
Đ
Trang 29D9xxxB EQU 31H
D9xxxxB EQU 32H
D9xxxxxB EQU 33H
; CODE
ORG 00H ;diem nhap cua reset he thong
SJMP MAIN ;lenh nhay de vuot qua cac ISR
ORG 03H ;diem nhap cua ISR0
MOV IE,#85H ;cho phep ngat ngoai 0 & 1
SETB IT0 ;ngat ngoai kich khoi canh am
SETB IT1
Trang 31MOV N99xxxxA,#0 ;Count 9999->999999
Trang 38SETB RS ;RS=1 - gui du lieu
PULSE_EN: ;tao xung enable de chuyen thong tin vao LCD
Trang 40Xin cám ơn các thầy cô.
Trong thời gian nghiên cứu đề tài, nhóm nghiên cứu đã gặp nhiều trở ngạisong với sự nỗ lực của từng cá nhân trong nhóm và tinh thần làm việc theo nhóm,cuối cùng đề tài cũng đã được hoàn thiện đúng theo thời gian qui định Qua mộtthời gian làm một cách nghiêm túc đã giúp những người thực hiện đề tài học thêmđược nhiều điều, đó là cách làm việc khoa học, sự sáng tạo, độc lập nghiên cứu vànhất là sự hợp tác làm việc theo nhóm
Từ mạch đếm sản phẩm này, chúng ta còn có thể phát triển thêm lên thành:hẹn trước sản phẩm để đóng gói (hẹn từng chục sản phẩm), đếm sản phẩm không
có tính chắn sáng (thuỷ tinh, gương kính …) …
Trang 41DANH MỤC TÀI LIỆU THAM KHẢO
1 Giáo trình Vi xử lý trường ĐH Công Nghiệp Tp.HCM
2 Giáo trình thực hành Vi xử lý trường ĐH Công Nghiệp Tp.HCM
3 Họ Vi Điều Khiển 8051 Tống Văn Ơn-Võ Đức Hải
4 Cấu trúc và lập trình họ Vi điều khiển 8051 Nguyễn Tăng Cường-Phan Quốc Thắng
5 Giaó trình cảm biến Phan Quốc Phô
6 Các website: http:// www.alldatasheet.com
http:// www.ant7.com
…