Luận văn Thiết kế mạch đếm sản phẩm dùng vi điều khiển 8051

Hệ thống vi xử lý hay còn gọi là máy tính điện tử là thiết bị xử lý thông tin, điều khiển các thiết bị ngoài hay các thiết bị trong công nghiệp tự động. Phần chính của máy tính là bộ xử lý trung tâm CPU (Central Processing Unit) là nơi xảy ra các quá trìnhxử lý số liệu và điều khiển mọi hoạt động của máy tính. Người ta phân loại CPU dựa vào độ rộng Data bus như: CPU 8 bit Z80A: Hãng Zilog 6802 : Hãng Motorola 8080/8085: Hãng Intel CPU 16 bit 8086/8088: Hãng Intel

pdf79 trang | Chia sẻ: lylyngoc | Lượt xem: 3255 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Luận văn Thiết kế mạch đếm sản phẩm dùng vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
A Port C (cao) 1 = nhập 0 = xuất Port A 1 = nhập 0 = xuất Chọn chế độ 00 = chế độ 0 01 = chế độ 1 1x = chế độ 2 D7 D6 D5 D4 D3 D2 D1 D0 Luận văn tốt nghiệp Trang 28 GVHD Nguyễn Việt Hùng Tuy nhiên dịng ra lớn nên phải dùng thêm điện trở hạn dịng từ mỗi ngõ ra (B1 _ B8) của 74245 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: 8051 BÀN PHÍM PORT 1 Luận văn tốt nghiệp Trang 1 GVHD Nguyễn Việt Hùng 8 0 5 1 74373 ROM CS\ RAM CS\ 8255-2 CS\ 74138 Y0 Y1 Y2 Y3 Hiển thị Rơle ĐH 8255-1 CS\ Rơle BC Thu Phát Port0 Data A0  A7 A0  A1 PortA PortB PortA PortB.0 A8  A12 Port2 A13  A15 BÀN PHÍM Port1 A ddress SƠ ĐỒ KHỐI CHI TIẾT CỦA MẠCH ĐIN Luận văn tốt nghiệp Trang 1 GVHD Nguyễn Việt Hùng PHẦN II THIẾT KẾ,THI CƠNGVÀ CHƯƠNG TRÌNH CHƯƠNG I THIẾT KẾ, THI CƠNG PHẦN CỨNG Sau khi đã phân tích một mơ hình hệ thống vi xử lý bây giờ chúng em bắt đầu đi vào tính tốn các giá trị thực tế để cho hệ thống hoạt động được. Việc tính tốn lựa chọn phải dựa trên lý thuyết và các linh kiện thơng dụng trên thị trường. Mặc dù phần cứng hệ thống khơng thể thay đổi được nhưng phần mềm cĩ thể thay đổi làm cho hệ thống cĩ khả năng hoạt động một cách linh hoạt vì vậy thiết kế phần cứng phải cân đối sao cho phần mềm khơng quá phức tạp. 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 ngồi: Bộ xử lý chính là IC 8051 với tần số làm việc là 12 MHz. Chân 18, 19 của 8051 được nối với thạch anh (cũng cĩ thể thay thế thạch anh bằng tín hiệu xung clock). 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 ngồi: Bộ nhớ Ram được cho phép ghi/ đọc bằng các tín hiệu điều khiển WR\ và RD\. 8051 cĩ 1 lệnh duy nhất truy xuất dữ liệu của bộ nhớ dữ liệu ngồ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 . Ngồ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. D7 - D0 EPROM A7- A0 A15 -A8 0E\ Port 0 EA 8051 Port2 PSEN D 74373 Q G ALE Luận văn tốt nghiệp Trang 2 GVHD Nguyễn Việt Hùng 3.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: IC A 15 A 14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 hex 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rom 8K 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0000 H 1FFFH 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Ram 8K 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2000 H 3FFFH 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8255 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 4000 H 4003 H 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 8255 2 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 6000 H 6003 H 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Q7 ) của 74373 và các đường port 2 (P2.0 P2.7) được nối tới các đường địa chỉ của ROM và RAM (A0 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 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 Qo  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ỉ Ao  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  D7. D7 - D0 RAM A7- A0 A15 -A8 0E WR Port 0 EA 8051 ALE Port2 RD D Q 74373 G Luận văn tốt nghiệp Trang 3 GVHD Nguyễn Việt Hùng *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. 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 tồ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ừ ngồ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. 1. Mạch reset từ việc chọn Rom: Mạch được tạo bởi cổng nand, IC 74221, cổng OR7432 và 1 cổng OR khi kết hợp với reset khác sơ đồ chân và bảng thái của 74221 như sau: Sơ đồ chân SN 74221: Bảng trạng thái INPUT OUTPUT clear A B Q Q L X X L H X H X L H X X L L H H L  H  H  L H Qua bảng trạng thái: - Khi chân clear ở mức logic cao, A ở mức logic thấp và chân B chuyển trạng thái từ mức logic 0 lên 1 ở ngõ ra Q (ngược lại với Q\) - Khi chân clear ở mức logic cao, B ở mức logic cao và chân A chuyển trạng thái từ mức logic 1 xuống 0 thì thì 74211 tạo ra một xung dương ở ngõ ra Q Quá trình reset được thực hiện như sau: Khi SW chuyển sang B, ngõ ra của cổng NAND (U9A) từ 0 lên 1 chân B của74211 (U10B) từ 0 lên 1, A = 0  cĩ một xung ở ngõ ra Q  ngõ ra cổng OR lên 1 dẫn đến RST = 1 hệ thống bị reset: đèn reset (D4 sáng). Khi chuyển cơng tắc sang A, ngõ ra cổng nand (U9A) từ 1 xuống 0chân A của 74221 từ 1 xuống 0, B = 1  cĩ xung ra ở ngõ ra Q 74211 (U10A)  mạch bị reset. 1A 1B Clr 1Q 2Q Cset Reset Vcc Reset Cset 1Q\ 2Q\ clr 2B 2A 74221 Luận văn tốt nghiệp Trang 4 GVHD Nguyễn Việt Hùng 2. 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 Q3 C828. Khi Q3 dẫn (cĩ tác động bên ngồi), ngõ ra cổng nand (U2A) = 1, ngõ ra cổng OR = 1, RST = 1, hệ thống bị reset. 3. Reset khi nguồn cung cấp yếu: Các IC số chỉ hoạt động tốt khi nguồn cung cấp ổn định. Khi điện áp nguồn yếu, các IC hoạt động hỗn loạn, nếu khơng cĩ sự hiển thị về nguồn cung cấp sẽ gây ra trường hợp mạch hoạt động sai mà khơng biết được nguyên nhân. Trên mạch điện này, điện yếu thì led xanh (D 7) sẽ sáng và lúc đĩ thì mạch sẽ bị reset cho đến khi nguồn cung cấp ổn định, cịn khi nguồn ổn định thì led đỏ (D8) sẽ sáng. Quá trình reset thực hiện dựa trên sự ngắt dẫn của transistor kết hợp với cổng Nand 74132. Nguyên lý hoạt động mạch reset như sau: - Khi điện yếu (VH < 3,7 Volt), Zener (D5, D6) khơng dẫn  Q5 khơng dẫn, ngõ ra cổng Not (cổng nand 74132) = 0, Q6; khơng dẫn, Q7 dẫn (led xanh sáng), Q8 dẫn một chân của cổng nand (U2A) bị nối mass, mạch bị reset. - Khi nguồn cung cấp đầy đủ, D5;D6 dẫn, Q5 dẫn, Q6; Q7 khơng dẫn, Q9 dẫn led đỏ sáng  mạch hoạt động bình thường. Tính tốn các giá trị điện trở phân cực cho transistor khi nguồn cung cấp yếu: Vì mạch sử dụng các transistor làm việc ở trạng thái bão hịa nên điều kiện để cho transistor hoạt động ở trạng thái này là: IB > ICSAT ; VBESAT =0.8V ; VCESAT =0.2V ; Trong mạch Reset này cĩ dùng 74HC132 (cổng NAND ) cĩ các thơng số như sau: VIH(MIN) : Điện áp ngõ vào thấp nhất ở mức [ 1]. VIL(MAX) : Điện áp ngõ vào cao nhất ở mức [0 ]. VOH(MIN) : Điện áp ngõ ra thấp nhất ở mức [ 1 ]. VOH(MIN) : Điện áp ngõ ra cao nhất ở mức [ 0 ]. VIH(MIN) = 3.5 (V) VIL(MAX) = 1 (V ) VOH(MIN) = 4.9 (V ) VOH(MAX) = 0.1 ( V ) Tính tốn các giá trị: 1. Transistor Q1 (C828 ):  RB < 12,6k. Chọn RB = R5 = 10k + Chọn  = 40 10 . 13 40 ). 8 , 0 9 . 4 ( 3 - - < - < Þ B B BESAT OH CSAT R R V V x I b + Chọn RC = 220  mAmAICSAT 13013.0220 2.025        280 10.10 2.025 3CR + Chọn dịng qua LED là 10mA Luận văn tốt nghiệp Trang 5 GVHD Nguyễn Việt Hùng 2. Transistor Q2 (A564 ): Chọn RB = R7 = 10K 3.Transistor Q4: (C828 ) Mà điều kiện bão hịa là: IB > IcSAT  Chọn RB = R19 = 10k 4. Transistor Q5 (C828): + Chon  = 40 + Chọn dịng IC =10mA  Rc =1K +  IB > IcSAT + Chọn dịng qua led là 10mA   280 10.10 2.025 3CR  Chọn RC = 220  mAmAAII LEDttCSATtt 1513013.0220 2.025  + Chon  = 40 + Chọn dịng qua led là 10mA C CESATLEDCC CSAT R VVVI  C ECSATLEDCC CSAT R VVVI  + Chọn  = 40 , điều kiện bảo hịa:  IB > ICSAT     280 10.10 2.025 3CR  Chon RC = 220 mAICSATtt 1310220 2.025 3            KRI R VV BCSAT B BESATOH 61,12 13 8.09.440       480 10.10 2.05 3 C CECC C I VVR C CESATCC B BESATDDCC R VV R VVVV   65   CESATCC CDDCC B VV RVVVR    65       K17.4 2.05 18,037.0540 SATtt B OLEBSATtCC I R VVV          K I VVV R SATtt OLEBSATtCC B 5,1213 )1,08,05(40)( Luận văn tốt nghiệp Trang 6 GVHD Nguyễn Việt Hùng 5. Transistor Q6 (C828 ): +Chọn  = 40 +Mà điều kiện bão hịa là: IB > IcSAT , chọn Rc = 1K  Chọn RB = R24 = 10 k 6.Transistor Q7 ( A 564 ): +Chọn  = 40 + Chọn dịng qua led là 10mA + Mà điều kiện bão hịa là: IB > IcSAT  Chọn RB = R25 = 7,5 K 7.Transistor Q8 (C828 ): Chọn  = 40 + Mà điều kiện bão hịa là: IB > IcSAT + Chọn RC = 1k.         KRB 16,342.05 18.09.4.40 C CESATCC B BESATOH R VV R VV    LED ECSATLEDCC C I VVVR    28010.10 2.025 3  Chon RC =330 C ECSATLEDCC LEDtt R VVVI  C CESATCC B BESATCC R VV R VV           KR R B B 35 18.4 2.440 1 2.058.0540   C ECSATLEDCC B EBSATOLCC R VVV R VVV             K VVV RVVVR ECsatLEDCC COLEBsatCC B 325,192,025 330)1,08,05(40)(  Luận văn tốt nghiệp Trang 7 GVHD Nguyễn Việt Hùng Chon RB = R27 = 15 K 8.Transistor Q9 ( A 564 ): +Chọn  = 40 + Chọn dịng qua led là 10mA + Mà điều kiện bão hịa là: IB > IcSAT Chọn R28 = RB =10 k 4. Cách tính tần số quét LED - Gọi n: số LED cần hiển thị - Gọi : thời gian phát sáng của mỗi LED (s ) - Gọi T là chu kỳ hiển thị của n LED: T = n.  ( s ) - Gọi f : tần số quét  = N : chu kì ngắt của mỗi LED (s ) Mối liên hệ giữa chiều dài sản phẩm (cm ) với vận tốc băng chuyền (m/s): Đầu dị: Bắt đầu Kết thúc  Chon RC =220 Vậy dịng qua led thực tế là: mA RR VVVI CC ECSATLEDCC LEDtt 13 2.025          Kx 57,12 2,025 220)2,08,05(40 C ECsatLEDCC B OLEBsatCC R VVV R VVV    )(         280 1010 22,05)( 3 LED LEDCESATCC C I VVVR )( . 11 Hz nT f   )( . 11 Hz nT f N  T TL Luận văn tốt nghiệp Trang 8 GVHD Nguyễn Việt Hùng -Gọi T: chu kì quét đầu dị (ms )  Điều kiện để cho đầu dị phát hiện sản phẩm  Chiều dài nhỏ nhất của sản phẩm:  Vận tốc tối đa của băng chuyền: 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: P0.0 P0.1 P0.2 P0.3 8051 P0.4 P0.5 P0.6 P0.7 0 1 2 3 4 5 6 7 8 9 A B C D E F 2 TTL  : Thời gian dị mức thấp (ms ) - Gọi )(.10)( 10 .)(10 s m T dvcmTvdms v dT L L L  )( 10 . cmTvd LMIN  )(.10 s m T dv L MAX  Luận văn tốt nghiệp Trang 9 GVHD Nguyễn Việt Hùng BẢNG MÃ PHÍM Phím Mã quét Mã Hex Phím Mã quét Mã Hex 0 00 0CH 8 08 80H 1 01 F9H 9 09 90H 2 02 A4H A 10 88H 3 03 B0H B 11 83H 4 04 99H C 12 C6H 5 05 92H D 13 A1H 6 06 82H E 14 86H 7 07 F8H F 15 8EH 2. 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ên PortA 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: Tính tốn điện trở trong mạch hiển thị: Ngõ vào Cho phép Các chân lựa chọn G1 G2 C B A Chọn Led H H H H H H H H L L L L L L L L L L L L H H H H L L H H L L H H L H L H L H L H Led 1 Led 2 Led 3 Led 4 Led 5 Led 6 Led 7 Led 8 cc Led R1 Điện trở phân cực Luận văn tốt nghiệp Trang 10 GVHD Nguyễn Việt Hùng Để 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 Vậy dịng IB là: Điện trở phân cực R1 là: Chọn R1 = 3,3 k, nhỏ hơn giá trị tính tốn để dịng lớn transistor nhanh bão hịa. Vậy dịng IB thực tế là: Tính R2 (điện trở hạn dịng cho led): Khi transistor bão hịa, điện áp VCESAT = 0,2 V và điện áp rơi trên led là 2V do đĩ: VR2 = Vcc – VCESAT – VLED = 5 – 0,2 – 2 = 2,8V Chọn R2 = 270 (). Chọn R2 lớn hơn tính tốn để transistor nhanh bão hồ c. 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 em giả đị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ở. Tính điện trở hạn dịng R: Để cho mỗi led sáng thì dịng cung cấp cho nĩ là 10mA. Vậy điện trở cần gắn thêm vào để hạn dịng cho led là: mAII CB 1,160 70   )(90,3 1,1 7,051 1      K I VV I UR B BECC B R mAI B 3,13,3 7,05    mAILEDtt 1,1110251 2,025 3       251 7 10.60.3,1 8,2 7 3 2 2 CMAX R I VRVậy Luận văn tốt nghiệp Trang 11 GVHD Nguyễn Việt Hùng Chọn R1 trên thực tế là 330 (). Với việc chọn R1 lớn hơn tính tốn nhưng dịng qua led giảm khơng đáng kể nên vẫn chấp nhận III. THIẾT KẾ VÀ TÍNH TỐN MẠCH CẢM BIẾN 1. Khối phát      k I VVR LED LEDCC 3,0 10 25 1 RA RB C 2 1 5 8 4 3 C1 7 6 Ngõ ra VCC Tính tốn điện trở và tụ trên mạch dao động 555 Vậy dịng thực tế qua led là: Luận văn tốt nghiệp Trang 12 GVHD Nguyễn Việt Hùng - Dạng sĩng: tc =0,69(RA + RB).C RA ,RB ohm CF ts td =0,69RBC T= tc + td =0,69(RA +2RB).C * Nếu chọn đơn vị RK , CF  tms ,f0KHz để 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ị: Tần số dao động riêng của mạch: - Chọn R15 = 10K C10 =0,1F 2K  R  20K vì f cho phép: 0,01Hz  f  500Khz f0 thỏa điều kiện cho phép. -Chọn C8 =1F ,C9 =2,2 F.  CRRT fo BA 2 45,11  Khz CR fo 1,1 1,0.10 1,11,1 1015  Chọn 2/3Vcc 1/3 Vcc Vcc 0V T tc td Điện áp ra Điện áp trên tụ t t Luận văn tốt nghiệp Trang 13 GVHD Nguyễn Việt Hùng *Ở khối phát tia hồng ngoại: Chọn tụ C6 = 0,001F Tần số của mạch thiết kế = tần số f0 của đầu dị Nên f = f0 =1,1kHz Chọn RA, RB sao cho thỏa điều kiện trên Lấy theo giá trị thương mại suy ra: Chọn RB=620K, RA =78K Vì dùng RA là một biến trở điều chỉnh nên chọn RA=100K -Transistor Q1 : A564 chọn hệ số khuếch đại  =200 -Khi Led hồng ngoại dẫn thì VLED =2V -Chọn dịng qua Led hồng ngoại khoảng 50mA (để tín hiệu phát ra mạnh vì vậy mà khối đầu dị mới nhận được).  Chọn R11= 120  Dịng thực tế qua LED khi R11=120 ICsat ==56,67mA -Để cho Q1 dẫn bảo hịa: IB ICsat Mà VEbsat 0,8V Vout tại chân 3 (ngõ ra 555 )0,2V  Chọn R10 =10K * Ở khối đầu dị IC LM 324 : IC làm việc với loại nguồn đơn, chọn độ lợi 100dB. Chọn R14=100K  CRbRaT fof .2 45,11   mA R VVVI LEDECSATccCsat 67,5612,0 8,6 12,0 22,09 11           136136,0 50 22,09 11 KI VVVR CSAT LEDECSATcc  CsatoutSATEBcc B I R VVV I  10    mA R IB 28335,0200 67,562,08,09 10      KR 23,28 28335,0 8 10  100 13 14  R RAV Luận văn tốt nghiệp Trang 14 GVHD Nguyễn Việt Hùng R13 =1K R12 thường từ 0K  56K, chọn R12 =56K C7 =0,1F (tụ liên lạc) c. Hoạt động của khối phát và khối đầu dị: - Do khối phát và khối đầu dị được thiết kế: f= f0 =1,1Khz Trong đĩ f: tần số phát ra của khối phát tia hồng ngoại. f0: tần số trung tâm của khối đầu dị. Khi chưa cĩ sản phẩm nào đi qua led hồng ngoại phát tín hiệu qua photo Q2 ,photo Q2 nhận tín hiệu. Qua bộ khuếch đại, khuếch đại tín hiệu lớn lên để IC 567 nhận biết được vì ở led hồng ngoại dịng ra khoảng 56,67mA nĩ phát ra tín hiệu mạnh và cĩ khả năng truyền đi xa, khi qua photo Q2 tín hiệu bị suy yếu nên phải khuếch đại lên. Vì do thiết kế f=f0 =1,1Khz tức là tần số vào phù hợp với tần số trung tâm thì ngõ ra chân 8 ở mức thấp 0. Cịn khi cho sản phẩm đi qua che led hồng ngoại thì tín hiệu từ led hồng ngoại phát ra khơng truyền qua được photo Q2. Kết quả là tần số vào (ff0 =1,1Khz) khác với tần số trung tâm nên ngõ ra 8 ở mức cao 1, cĩ xung kích tới ngõ vào (7)  điện áp chân 8 lên mức cao Luận văn tốt nghiệp Trang 15 GVHD Nguyễn Việt Hùng CHƯƠNG II. CHƯƠNG TRÌNH ĐIỀU KHIỂN A. THUẬT GIẢI I. Chương trình chính: Để các thiết bị hoạt động được đầu tiên phải khởi động các thiết bị ngoại vi, khởi động Timer cho phép ngắt. Sau đĩ gọi chương trình nhập số hộp, nhập số sản phẩm. Nếu đồng ý số đếm đã nhập vào thì cho phép băng chuyền hoạt động (đĩng role BC). Đọc dữ liệu từ cảm biến (đầu dị). Nếu cĩ sản phẩm đi qua thì gọi chương trình đếm. Nếu đủ sản phẩm một hộp thì gọi role đĩng hộp đồng thời gọi chương trình đếm hộp.. Nếu đủ số hộp thì băng chuyền ngưng hoạt động và chờ cho ca tiếp theo. Khi đã hồn thành 9 ca sản phẩm thì quay lại làm từ ca 1. Luận văn tốt nghiệp Trang 16 GVHD Nguyễn Việt Hùng II. CÁC CHƯƠNG TRÌNH CON: 1. Chương trình con khởi động ngoại vi: 8255 chỉ hoạt động khi nạp cho nĩ từ điều khiển vì vậy để giao tiếp với các thiết bị ngoại vi cần khởi động cho các ơ nhớ của 8255 -Nạp giá trị đầu #00H vào các ơ nhớ Ca: =Ca + 1 Ca: = 0 - Gọi chương trình con nhập hộp - Gọi chương trình con nhập sản phẩm - Cho phép băng truyền hoạt động Đủ SP Ro-le đĩng hộp, đếm hộp (RL – ĐH) Gọi chương trình con đầu dị (DAUDO) Đếm sản phẩm S - Gọi chương trình con dị phím (IN – HEX) Đủ hộp Phím E Ca = 9 S - Cho phép băng chuyền ngưng hoạt động - Gọi chương trình lưu số hộp, số sản phẩm - Gọi chương trình xem số liệu lưu bất kì ca nào S S Lưu ồ thuật giải chương trình chính Luận văn tốt nghiệp Trang 17 GVHD Nguyễn Việt Hùng Ret Nạp giá trị ban đầu để mở role đĩng hộp Nạp giá trị ban đầu xĩa 8 led 7 đo n Khởi động 8255 - 2 Nạp giá trị ban đầu cho ngõ dự phịng Nạp giá trị ban đầu cho role b ng truy n Khởi động 8255 - 1 Nạp giá trị ban đầu để chọn led sáng Bắt đầu Luận văn tốt nghiệp Trang 18 GVHD Nguyễn Việt Hùng 2. Chương trình ngắt hiển thị: Trong chương trình ngắt, thời gian ngắt được xác định bằng cờ tràn timer. Như vậy cứ sau 250 s các led lại được quét. Với thời gian ngắt nhỏ, dữ liệu ra khĩ cĩ thể quan sát được vì vậy delay sau mỗi lần hiển thị bằng việc giảm thanh ghi R2. Khi R2 = 0 cho phép xuất dữ liệu ra hiển thị. Các Led sẽ được quét liên tục từ Led 77đến Led 70, với dữ liệu xuất ra hiển thị từ ơ nhớ 77H đến ơ nhớ 70H. Lưu đồ thuật giải như sau: 3. Chương trình con nhấn số Chương trình này cho phép nhập số thập phân. Nếu phím nhấn từ 0 đến 9 thì nhận số cịn phím từ A đến F thì xĩa số. Số nhận thì bit 7D = [0], 7E = [0]. Sau khi nhập số liệu xong nếu thấy qua led hiển thị đúng số liệu đã nhập vào thì nhấn phím A tức là đặt bit YES = 1 (7E = 1) để kết thúc quá trình nhập số liệu. Cịn đang nhập nếu muốn bỏ số liệu vừa nhập vào thì nhấn phím phím B tức là đặt bit NO = 1 (7D = 1). Khi nhập xong số sản phẩm Cho phép ng t Đ R1 = # 69H R2 = 0 R2 - 1 TỐC ĐỘ 1  R2 Chọn led hiển thị Xuất dữ liệu ra led R1 - 1 R1  # 77H Thốt 1 Ret S Bắt đ u S Đ Luận văn tốt nghiệp Trang 19 GVHD Nguyễn Việt Hùng và số hộp thơng qua chương trình con nhấn số này thì nhấn phím C tức là cho phép sản phẩm từ lúc này đi qua đầu dị và bắt đầu đếm. 4. Chương trình tăng 1: Cứ cĩ một sản phẩm đi qua đầu dị (chú ý ngõ ra chân 8 của IC567 từ nức logic 0 lên mức 1 sau đĩ được đưa qua cổng đảo nên ngõ ra là mức logic 0) được đưa vào bit 0 của port B1 sẽ làm thay đổi mức logic từ 1 xuống 0 thì ơ nhớ dùng cho việc đếm sản phẩm sẽ được tăng lên một đơn vị thơng qua việc gọi chương trình con tăng 1, và khi đủ số sản phẩm thì ơ nhớ dùng cho việc đếm số hộp cũng được tăng lên một đơn vị thơng qua chương trình con tăng 1, và cứ mỗi lần như vậy sự thay đổi số liệu trong các ơ nhớ được đẩy liên tục ra led để hiển thị. Vì đếm sản phẩm đến tối đa là 999 và đếm số hộp tối đa là 9999 nên phải sử dụng 2 byte để đếm sản phẩm từ hàng đơn vị đến hàng chục sử dụng byte thấp, cịn hàng trăm và hàng ngàn sử dụng byte cao. Nên khi so sánh số liệu đang đếm với số liệu đã lưu ban đầu xem đã bằng chưa thì phải so sánh lần lượt byte cao trước tức là hàng ngàn, hàng trăm sau đĩ tới byte thấp tức là hàng chục hàng đơn vị. Bắt đầu C = 1 A = # 0AH S Xĩa bit YES Xố bit NO Gọi chương trình dị phím Đ Đặt bit YES Xĩa A A = # 0BH Đặt bit NO Xĩa cờ C A - # 0AH RET Đ S Đ S Luận văn tốt nghiệp Trang 20 GVHD Nguyễn Việt Hùng 5. Chương trình con kiểm tra phím ấn: IN – HEX Nếu như cĩ phím được ấn thì bit C = 0. Vì cĩ khoảng thời gian nhấn phím nên gọi chương trình dị tìm mã phím ấn 50 lần bằng việc nạp 50 vào R3 và giảm R3. Khi R3 = 0 thì cất mã phím vào ngăn xếp. Trong lúc đợi phím được nhả ra gọi chương trình dị tìm mã phím ấn 50 lần để xem phím cĩ cịn được nhấn nữa hay khơng. Khi R3 = 0 thì lấy mã phím trao cho thanh ghi A. RET Xĩa cờ tràn phụ AC Xĩa cờ tràn C A  A +1 Hiệu chỉnh thập phân thanh ghi A Bắt đầu Luận văn tốt nghiệp Trang 21 GVHD Nguyễn Việt Hùng 6. Chương trình dị mã phím ấn: 8051 luơn đọc dữ liệu từ Port 1 để dị tìm mã phím. Khi cĩ một phím được ấn thì cờ C = 1 và mã của phím ấn được lưu tạm thời vào thanh ghi R6. Sau đĩ tăng dần R6 lên 4 đơn vị để dị mã phím tiếp theo, (mã phím ) (A) Bắt đầu RET Khơng cĩ phím ấn #50 (R3) #50 (R3) #50 (R3) Gọi CT dị mã phím C= 0 S Đ R3 - 1 Cĩ phím ấn Cất ACC R3= 0 Đ Gọi CT dị mã phím C = 1 S S R3 - 1 R3= 0 Đ Lấy ACC Lưu ồ thuật giải kiểm tra phím ấn S Đ #FE  A # 4  R6 Bắt đầu Luận văn tốt nghiệp Trang 22 GVHD Nguyễn Việt Hùng 7. Chương trình đầu dị: 8051 luơn luơn đọc dữ liệu từ đầu dị (Port B4) nên nội dung thanh ghi A bằng nội dung ơ nhớ 4001H. Cứ mỗi sản phẩm đi tới cảm biến, cảm biến sẽ tạo ra mức logic điện áp cao 5 volt, lúc đĩ Port B.0 = 1 = ACC.0 . Vì cĩ khoảng thời gian sản phẩm đi qua nên mức logic điện áp phải tồn tại ít nhất khoảng 100s do đĩ phải liên tục kiểm tra dữ liệu từ đầu dị. Khi mức logic điện áp chuyển từ 1 xuống 0 (tương ứng với 1 sản phẩm đã đi qua cảm biến). thì phải cĩ khoảng thời gian ít nhất để chờ sản phẩm tiếp theo đi tới nên mức logic thấp cũng phải tồn tại ít nhất 100s. Dị mức điện áp trong khoảng thời gian 100 s bằng cách nạp 100 vào R3, giảm R3, khi R3  0 vẫn tiếp tục dị mức. Lưu đồ thuật giải dị mức điện áp như sau: Bắt đầu DPTR  # CẢM BIẾN Luận văn tốt nghiệp Trang 23 GVHD Nguyễn Việt Hùng 8. Chương trình Blank: xĩa số 0 khơng cĩ nghĩa Chương trình này cĩ ý nghĩa như sau: khi số sản phẩm hay số hộp chỉ tới hàng đơn vị, chục, trăm thì những số 0 đứng trước nĩ khơng cĩ nghĩa bị loại bỏ (khơng sáng ) và các ơ nhớ cĩ nghĩa được lưu (lần lượt từ hàng đơn vị  hàng ngàn) vào các ơ nhớ từ 70H 77H. Loại bỏ bằng cách so sánh giá trị lớn nhất hàng ngàn với số 0 nếu đúng là 0 thì xĩa led hiển thị hàng ngàn, tiếp tục so sánh xem ơ nhớ hàng trăm với số 0 nếu đúng là 0 thì xĩa led hiển thị hàng trăm, tương tự cho hàng chục, cịn ơ nhớ hàng đơn vị giá trị bằng bao nhiêu thì led hàng đơn vị cũng hiển thị. Bat đầu A  DEMHOP H LED 70  NGAN LED 71  TRAM A  DEMHOP L LED 72  CHUC LED 73  DONVI Luận văn tốt nghiệp Trang 24 GVHD Nguyễn Việt Hùng ( 1) A =0 S Xĩa LED 72 A  LED 75 Đ Xĩa LED 70 A  LED 71 A =0 S Xĩa LED 71 A  LED 72 A = Đ A = S Luận văn tốt nghiệp Trang 25 GVHD Nguyễn Việt Hùng 9. Chương trình nhập hộp: Chương trình cho phép nhập các số từ 1 đến 9999. Nếu số được nhấn từ A đến F thì yêu cầu nhập lại. Khi số được nhấn lưu vào thanh ghi A từ 1 đến 9: nếu chấp nhận số thì các bit 7D, 7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại hộp, bit 7E = 1, thì thốt khỏi chương trình. Các giá trị được nhập này được lưu vào các ơ nhớ từ (74H) đến (77H) và 7C (LƯUHOPL:lưu hộp byte thấp), 7D (LƯUHOPH: lưu hộp byte cao). Nếu đồng ý với số đã nhập thì nhấn A ngược lại là B (xĩa số đã nhập) Bắt ầu A = 0 BIT 7D = 1 HIỂN THỊ “nhập 0” LƯU HOP L  # 00H LƯU HOP H  # 00H Gọi nhấn số thứ nhất A  ĐƠN VỊ ĐƠN VỊ LƯU HOP L Gọi nhấn số thứ 2 (1) Luận văn tốt nghiệp Trang 26 GVHD Nguyễn Việt Hùng S (2) ĐƠN VỊ  CHỤC A  ĐƠN VỊ CHỤC + ĐƠN VỊ  LƯU HOP L Gọi nhấn số thứ 3 (2) BIT 7E = 1 Đ S Đ BIT 7E = 1 S TRĂM  NGÀN CHỤC  TRĂM ĐƠN VỊ  CHỤC A  ĐƠN VỊ CHỤC, ĐƠN VỊ  LƯU HOP L NGÀN,TRĂM  LƯU HOPH S Gọi chương trình BIT 7D = 1 S CHỤC  TRĂM ĐƠN VỊ  CHỤC A  ĐƠN VỊ CHỤC + ĐƠN VỊ  LƯU HOP L LƯU HOPH TRĂM Gọi nhấn số thứ 4 Đ (1) BIT 7D = 1 Đ (1) S Luận văn tốt nghiệp Trang 27 GVHD Nguyễn Việt Hùng 10. Chương trình nhập sản phẩm: Chương trình cho phép nhập các số từ 1 đến 999. Số chỉ được nhập khi các bit 7D, 7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại. Các giá trị được nhập này được lưu vào các ơ nhớ từ (74H) đến (77H) và 7C (LƯUSPL: lưu sản phẩm byte thấp), 7D (LƯUSPH: lưu sản hpẩm byte cao). Nếu đồng ý với số đã nhập thì nhấn A ngược lại là B (xĩa số đã nhập)  Bắt ầu A = 0 Đ S S Hiển thị “Nhập O 0” LƯU – SPL  # 00H LƯU – SPH  # 00H Gọi nhấn số thứ nhất BIT 7D = 1 Đ ĐƠN VỊ  A LƯU – SPL  ĐƠNVỊ Gọi nhấn số thứ 2 Đ BIT 7E = 1 Đ S BIT 7D = 1 CHỤC  ĐƠN VỊ ĐƠN VỊ  A LƯU – SPL  CHỤC,ĐƠNVỊ Gọi nhấn số thứ 3 (2) (3) S Luận văn tốt nghiệp Trang 28 GVHD Nguyễn Việt Hùng 11. Chương trình delay: Để khống chế thời gian delay nạp giá trị ban đầu cho timer. Set cho timer chạy. Khi timer đếm bằng thời gian nạp thì cờ báo tràn được set lên [1]. Muốn thời gian delay lớn nạp giá trị cho R4, giảm R4 sau mỗi lần tràn timer. Như thế thời gian delay sẽ là: t = (R4) x count0. Khi R4 = 0 là hết thời gian delay. (2) Đ S BIT 7E = 1 BIT 7D = 1 TRĂM  CHỤC CHỤC  ĐƠN VỊ ĐƠN VỊ  A LƯU – SPL  CHỤC,ĐƠNVỊ LƯU – SPH  TRĂM Gọi chương trình dị phím A = # 0CH A = # 0BH Đ S RET Đ S (1) (3) Chương trình con nhập sản phẩm Luận văn tốt nghiệp Trang 29 GVHD Nguyễn Việt Hùng 12. Chương trình con lưu số sản phẩm số hộp trong mỗi ca sản xuất: Chương trình này lưu kết quả của mỗi ca sản xuất. Số hộp, số sản phẩm được lưu vào các ơ nhớ từ 30H  53H. Xét nội dung ơ nhớ 2EH, nếu nội dung ơ nhớ 2EH = 1 và sau khi đếm xong và băng chuyền báo hiệu ngưng đếm thì nội dung ơ nhớ 2EH trao cho thanh ghi A và lưu kết quả vào ca 1. Nếu ca sau cho phép hoạt động thì nội dung ơ nhớ 2EH tăng lên 1 và tương tự đươc lưu vào ca tương ứng ( ca = ca trước + 1). 13. Chương trình con cho phép xem số liệu của ca sản xuất: Chương trình này xem kết quả của mỗi ca sản xuất, cụ thể là xem nội dung số hộp số sản phẩm trong mỗi ca sản xuất. Ở đề tài này chúng em chỉ viết chương trình xem tối đa là 9 ca. Tức là khi muốn kiểm tra ca nào thì nhập cụ thể ca đĩ là ca thứ mấy thơng qua bàn phím bằng cách nhấn một số. Trước đĩ số hộp, số sản phẩm được lưu vào các ơ nhớ từ 30H  53H. Khi ro-le băng chuyền đã ngưng hoạt động sau một ca nào đĩ nếu tiếp tục Bắt đầu TH0  # HIGHT COUNT0 TL0  # LOW COUNT0 TR0 = 1 COUNT 0 Xĩa cờ tràn R4 - 1 Chạy timer S Đ R4 = 0 Đ S Ret (FFFF  0000) Luận văn tốt nghiệp Trang 30 GVHD Nguyễn Việt Hùng muốn nhập số liệu vào để đếm cho ca tiếp theo thì nhấn một phím bất kỳ khác phím E . Cịn nếu nhấn phím E tức là cho phép xem số liệu của các ca, chỉ cần nhấn phím cĩ loại trừ phím chức năng thì mã phím nhấn đĩ được lưu vào thanh ghi A. Nếu A bằng mấy thì sẽ đưa nội dung ơ nhớ lưu số liệu ca đĩ ra bộ phận hiển thị. Và nếu muốn xem tiếp ca nào nữa thì cứ nhấn phím cho phép xem E rồi nhập số liệu vào. Cịn khi muốn lưu số ca nhiều hơn nữa như tối đa là từ 0 99 hay từ 0  999 hay từ 0  999 thì tương tự như trên chỉ khác là khi nhập số liệu vào thì gọi nhấn tối đa 2 số , 3số, hay 4 số thì chương trình nhập số lại giống như trong chương trình con nhập số sản phẩm và số hộp, và nhiều ca được lưu thì số ơ nhớ cũng phải được tăng theo. A  2EH A =#01H A =#02H A =#03H 30H  LUUHOPL 31H  LUUHOPH 32H  LUU_SPL 33H  LUU_SPH 34H  LUUHOPL 35H  LUUHOPH 36H  LUU_SPL 37H  LUU_SPH 38H  LUUHOPL 39H  LUUHOPH 3AH  LUU_SPL 3BH  LUU_SPH Đ S S Đ S Đ LƯU: Số sản phẩm, hộp của các ca được lưu vào ơ nhớ tương Đưa số liệu của các ca trong ơ nhớ ra hiển thị Luận văn tốt nghiệp Trang 31 GVHD Nguyễn Việt Hùng A =#06H A =#07H A =#08H A =#09H 44H  LUUHOPL 45H  LUUHOPH 46H  LUU_SPL 47H  LUU_SPH 48H  LUUHOPL 49H  LUUHOPH 4AH  LUU_SPL 4BH  LUU_SPH 4CH  LUUHOPL 4DH  LUUHOPH 4EH  LUU_SPL 4FH  LUU_SPH 50H  LUUHOPL 51H  LUUHOPH Đ Đ S S Đ S Đ ( 2 ) Luận văn tốt nghiệp Trang 32 GVHD Nguyễn Việt Hùng Gọi chương trình con dị phím A =#00H A =#01H A =#02H A =#03H LUUHOPL  #FFH LUUHOPH  #FFH LUU_SPL  #FFH LUU_SPH  #FFH LUUHOPL  30H LUUHOPH  31H LUU_SPL  32H LUU_SPH  33H LUUHOPL  34H LUUHOPH  35H LUU_SPL  36H LUU_SPH  37H LUUHOPL  38H LUUHOPH  39H LUU_SPL  3AH LUU_SPH  3BH Đ S Đ S S Đ S Đ XEM: Lưu đồ chương trình cho phép xem số liệu Luận văn tốt nghiệp Trang 33 GVHD Nguyễn Việt Hùng A =#05H A =#06H A =#07H A =#08H A =#09H LUUHOPL  40H LUUHOPH  41H LUU_SPL  42H LUU_SPH  43H LUUHOPL  44H LUUHOPH  45H LUU_SPL  46H LUU_SPH  47H LUUHOPL  48H LUUHOPH  49H LUU_SPL  4AH LUU_SPH  4BH LUUHOPL  4CH LUUHOPH  4DH LUU_SPL  4EH LUU_SPH  4FH LUUHOPL  50H LUUHOPH  51H LUU_SPL  52H LUU_SPH  53H Đ S Đ S Đ S S Đ S Đ ( 2 ) Luận văn tốt nghiệp Trang 34 GVHD Nguyễn Việt Hùng B. CHƯƠNG TRÌNH HỆ THỐNG ;CHUONG TRINH DEM SAN PHAM VA DONG HOP ;-----------------KHAI BAO CAC BIEN HANG--------------------- CWR4 EQU 4003H ;CWR4 ROLE_BC EQU 4000H ;PORTA4 CAMBIEN EQU 4001H ;PORTB4 NGO_DP1 EQU 4002H ;PORTC4 CWR6 EQU 6003H ;CWR6 HIENTHI EQU 6000H ;PORTA6 ROLE_DH EQU 6001H ;PORTB6 CHONLED EQU 6002H ;PORTC6 LED70 EQU 70H LED71 EQU 71H LED72 EQU 72H LED73 EQU 73H LED74 EQU 74H LED75 EQU 75H LED76 EQU 76H LED77 EQU 77H LUU_SPL EQU 78H ;Luu san pham (byte thap) LUU_SPH EQU 79H ;Luu san pham (byte cao) DEM_SPL EQU 7AH ;Dem san pham (byte thap) DEM_SPH EQU 7BH ;Dem san pham (byte cao) LUUHOPL EQU 7CH LUUHOPH EQU 7DH DEMHOPL EQU 7EH DEMHOPH EQU 7FH COUNT0 EQU -10000 DELAY1 EQU 50 DELAY2 EQU 20 TOCDO1 EQU 9 COUNT1 EQU -250 BLK EQU 0FH START EQU 0CH NO BIT 7DH YES BIT 7EH LUU_CY BIT 7FH ;-------------------------CHUONG TRINH CHINH----------------- ORG 00H LJMP BAT_DAU0 ORG 1BH Luận văn tốt nghiệp Trang 35 GVHD Nguyễn Việt Hùng LJMP NGAT_T1 ORG 30H BAT_DAU0: MOV R1,#LED77 MOV R2,#TOCDO1 MOV TMOD,#21H MOV TH1,#COUNT1 LCALL KD_NV SETB TR1 SETB ET1 SETB EA BAT_DAU1: MOV 2EH,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#00H MOV 37H,#00H MOV 38H,#00H MOV 39H,#00H MOV 3AH,#00H MOV 3BH,#00H MOV 3CH,#00H MOV 3DH,#00H MOV 3EH,#00H MOV 3FH,#00H MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV 43H,#00H MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#00H MOV 48H,#00H MOV 49H,#00H MOV 4AH,#00H MOV 4BH,#00H MOV 4CH,#00H MOV 4DH,#00H MOV 4EH,#00H MOV 4FH,#00H MOV 50H,#00H MOV 51H,#00H MOV 52H,#00H MOV 53H,#00H MOV 54H,#00H MOV 55H,#00H Luận văn tốt nghiệp Trang 36 GVHD Nguyễn Việt Hùng MOV 56H,#00H MOV 57H,#00H BAT_DAU: MOV DEMHOPL,#00H MOV DEMHOPH,#00H MOV DEM_SPL,#00H MOV DEM_SPH,#00H INC 2EH MOV 77H,2EH MOV 76H,#BLK MOV 75H,#BLK MOV 74H,#BLK MOV 73H,#BLK MOV 72H,#BLK MOV 71H,#0AH MOV 70H,#10H MOV R4,#250 LCALL DELAY MOV LED70,#0DH ;'N' MOV LED71,#0BH ;'H' MOV LED72,#0AH ;'A' MOV LED73,#0EH ;'P' LCALL NHAPHOP LCALL NHAP_SP MOV DPTR,#ROLE_BC MOV A,#0FFH ;Cho phep bang chuyen hoat dong MOVX @DPTR,A DEM: LCALL BLANK LCALL DAUDO MOV A,DEM_SPL LCALL TANG_1 MOV DEM_SPL,A JNC DU_SP? MOV A,DEM_SPH LCALL TANG_1 MOV DEM_SPH,A DU_SP?: MOV A,DEM_SPH CJNE A,LUU_SPH,DEM MOV A,DEM_SPL CJNE A,LUU_SPL,DEM LCALL BLANK MOV R4,#DELAY1 LCALL DELAY MOV A,#00H MOV DPTR,#ROLE_DH MOVX @DPTR,A MOV R4,#DELAY2 LCALL DELAY MOV A,#0FFH MOVX @DPTR,A Luận văn tốt nghiệp Trang 37 GVHD Nguyễn Việt Hùng MOV DEM_SPL,#00H MOV DEM_SPH,#00H MOV A,DEMHOPL LCALL TANG_1 MOV DEMHOPL,A JNC DUHOP? MOV A,DEMHOPH LCALL TANG_1 MOV DEMHOPH,A DUHOP?: MOV A,DEMHOPH CJNE A,LUUHOPH,DEM MOV A,DEMHOPL CJNE A,LUUHOPL,DEM LCALL BLANK KETTHUC: MOV DPTR,#ROLE_BC MOV A,#00H MOVX @DPTR,A MOV A,2EH LCALL LUU L14: LCALL IN_HEX CJNE A,#0EH,L12 MOV 77H,#BLK MOV 76H,#BLK MOV 75H,#BLK MOV 74H,#BLK MOV 73H,#BLK MOV 72H,#BLK MOV 71H,#0AH MOV 70H,#10H L13: LCALL IN_HEX PUSH ACC CLR C SUBB A,#0AH POP ACC JNC L13 MOV 77H,A LCALL DELAY LCALL XEM MOV 74H,#0CH MOV DEMHOPL,LUUHOPL MOV DEMHOPH,LUUHOPH MOV DEM_SPL,LUU_SPL MOV DEM_SPH,LUU_SPH LCALL BLANK LCALL DELAY LJMP L14 L12: MOV A,2EH CJNE A,#09H,L15 LJMP BAT_DAU1 Luận văn tốt nghiệp Trang 38 GVHD Nguyễn Việt Hùng L15: LJMP BAT_DAU ;------------------KHAI BAO CHUONG TRINH CON----------------- ;CHUONG TRINH CON LUU SO HOP, SO SAN PHAM LUU: NOP L0: CJNE A,#01H,L1 MOV 30H,LUUHOPL MOV 31H,LUUHOPH MOV 32H,LUU_SPL MOV 33H,LUU_SPH LJMP L10 L1: CJNE A,#02H,L2 MOV 34H,LUUHOPL MOV 35H,LUUHOPH MOV 36H,LUU_SPL MOV 37H,LUU_SPH LJMP L10 L2: CJNE A,#03H,L3 MOV 38H,LUUHOPL MOV 39H,LUUHOPH MOV 3AH,LUU_SPL MOV 3BH,LUU_SPH LJMP L10 L3: CJNE A,#04H,L4 MOV 3CH,LUUHOPL MOV 3DH,LUUHOPH MOV 3EH,LUU_SPL MOV 3FH,LUU_SPH LJMP L10 L4: CJNE A,#05H,L5 MOV 40H,LUUHOPL MOV 41H,LUUHOPH MOV 42H,LUU_SPL MOV 43H,LUU_SPH LJMP L10 L5: CJNE A,#06H,L6 MOV 44H,LUUHOPL MOV 45H,LUUHOPH MOV 46H,LUU_SPL MOV 47H,LUU_SPH LJMP L10 L6: CJNE A,#07H,L7 MOV 48H,LUUHOPL MOV 49H,LUUHOPH MOV 4AH,LUU_SPL MOV 4BH,LUU_SPH LJMP L10 L7: CJNE A,#08H,L8 MOV 4CH,LUUHOPL MOV 4DH,LUUHOPH Luận văn tốt nghiệp Trang 39 GVHD Nguyễn Việt Hùng MOV 4EH,LUU_SPL MOV 4FH,LUU_SPH LJMP L10 L8: CJNE A,#09H,L10 MOV 50H,LUUHOPL MOV 51H,LUUHOPH MOV 52H,LUU_SPL MOV 53H,LUU_SPH L10: RET ;------------------------------------------------------------ ;CHUONG TRINH CON XEM XEM: NOP CJNE A,#00H,H0 MOV LUUHOPL,#0FFH MOV LUUHOPH,#0FFH MOV LUU_SPL,#0FFH MOV LUU_SPH,#0FFH LJMP H9 H0: CJNE A,#01H,H1 MOV LUUHOPL,30H MOV LUUHOPH,31H MOV LUU_SPL,32H MOV LUU_SPH,33H LJMP H9 H1: CJNE A,#02H,H2 MOV LUUHOPL,34H MOV LUUHOPH,35H MOV LUU_SPL,36H MOV LUU_SPH,37H LJMP H9 H2: CJNE A,#03H,H3 MOV LUUHOPL,38H MOV LUUHOPH,39H MOV LUU_SPL,3AH MOV LUU_SPH,3BH LJMP H9 H3: CJNE A,#04H,H4 MOV LUUHOPL,3CH MOV LUUHOPH,3DH MOV LUU_SPL,3EH MOV LUU_SPH,3FH LJMP H9 H4: CJNE A,#05H,H5 MOV LUUHOPL,40H MOV LUUHOPH,41H MOV LUU_SPL,42H MOV LUU_SPH,43H LJMP H9 H5: CJNE A,#06H,H6 Luận văn tốt nghiệp Trang 40 GVHD Nguyễn Việt Hùng MOV LUUHOPL,44H MOV LUUHOPH,45H MOV LUU_SPL,46H MOV LUU_SPH,47H LJMP H9 H6: CJNE A,#07H,H7 MOV LUUHOPL,48H MOV LUUHOPH,49H MOV LUU_SPL,4AH MOV LUU_SPH,4BH LJMP H9 H7: CJNE A,#08H,H8 MOV LUUHOPL,4CH MOV LUUHOPH,4DH MOV LUU_SPL,4EH MOV LUU_SPH,4FH LJMP H9 H8: CJNE A,#09H,H9 MOV LUUHOPL,50H MOV LUUHOPH,51H MOV LUU_SPL,52H MOV LUU_SPH,53H LJMP H9 H9: RET ;------------------------------------------------------------ ;CHUONG TRINH CON CHO HIEN THI NGAT_T1: MOV LUU_CY,C DJNZ R2,THOATT1 MOV R2,#TOCDO1 PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#CHONLED MOV A,R1 SWAP A MOVX @DPTR,A MOV DPTR,#HIENTHI MOV A,@R1 LCALL TRABANG MOVX @DPTR,A DEC R1 POP DPL POP DPH POP ACC CJNE R1,#LED70-1,THOATT1 MOV R1,#LED77 THOATT1: MOV C,LUU_CY RETI ;------------------------------------------------------------ Luận văn tốt nghiệp Trang 41 GVHD Nguyễn Việt Hùng ;CHUONG TRINH CON KHOI DONG THIET BI NGOAI VI KD_NV: MOV DPTR,#CWR4 MOV A,#82H ;PORTB4:INPUT MOVX @DPTR,A MOV DPTR,#ROLE_BC MOV A,#00H ;Dung bang chuyen MOVX @DPTR,A MOV DPTR,#NGO_DP1 MOV A,#0FFH MOVX @DPTR,A MOV DPTR,#CWR6 MOV A,#80H MOVX @DPTR,A MOV A,#0FFH MOV DPTR,#HIENTHI MOVX @DPTR,A MOV DPTR,#ROLE_DH MOVX @DPTR,A MOV DPTR,#CHONLED MOVX @DPTR,A RET ;------------------------------------------------------------ ;------------------------------------------------------------ ;CHUONG TRINH CON DELAY DELAY: MOV TH0,#HIGH COUNT0 MOV TL0,#LOW COUNT0 SETB TR0 CHO: JNB TF0,CHO CLR TF0 CLR TR0 DJNZ R4,DELAY RET ;------------------------------------------------------------ ;CHUONG TRINH CON NHAN SO NHANSO: CLR YES CLR NO LCALL IN_HEX CJNE A,#0AH,XOASO? SETB YES CLR A LJMP THOAT0 XOASO?: CJNE A,#0BH,LOAITRU SETB NO LJMP THOAT0 LOAITRU: PUSH ACC CLR C SUBB A,#0AH POP ACC Luận văn tốt nghiệp Trang 42 GVHD Nguyễn Việt Hùng JNC NHANSO THOAT0: RET ;------------------------------------------------------------ ;CHUONG TRINH CON TANG 1 TANG_1: CLR AC CLR C ADD A,#1 DA A RET ;------------------------------------------------------------ ;CHUONG TRINH CON DAU DO DAUDO: MOV DPTR,#CAMBIEN DO1: MOV R3,#110 DO2: MOV R4,#200 DOMUC_L: MOVX A,@DPTR JB ACC.0,DO1 DJNZ R4,DOMUC_L DJNZ R3,DO2 DOTIEP1: MOV R3,#34 DOTIEP2: MOV R4,#200 DOMUC_H: MOVX A,@DPTR JNB ACC.0,DOTIEP1 DJNZ R4,DOMUC_H DJNZ R3,DOTIEP2 RET ;------------------------------------------------------------ CHUONG TRINH CON XOA SO 0 KHONG CO NGHIA BLANK: MOV A,DEMHOPH SWAP A ANL A,#0FH MOV LED70,A MOV A,DEMHOPH ANL A,#0FH MOV LED71,A MOV A,DEMHOPL SWAP A ANL A,#0FH MOV LED72,A MOV A,DEMHOPL ANL A,#0FH MOV LED73,A MOV A,DEM_SPH ANL A,#0FH MOV LED75,A MOV A,DEM_SPL SWAP A ANL A,#0FH MOV LED76,A MOV A,DEM_SPL Luận văn tốt nghiệp Trang 43 GVHD Nguyễn Việt Hùng ANL A,#0FH MOV LED77,A MOV A,LED70 JNZ THOAT3 MOV LED70,#BLK MOV A,LED71 JNZ THOAT3 MOV LED71,#BLK MOV A,LED72 JNZ THOAT3 MOV LED72,#BLK THOAT3: MOV A,LED75 JNZ THOAT4 MOV LED75,#BLK MOV A,LED76 JNZ THOAT4 MOV LED76,#BLK THOAT4: RET ;------------------------------------------------------------ ;CHUONG TRINH CON NHAP HOP NHAPHOP: MOV LED74,#BLK MOV LED75,#BLK MOV LED76,#BLK MOV LED77,#00H MOV LUUHOPL,#00H MOV LUUHOPH,#00H SOHOP1: LCALL NHANSO JZ SOHOP1 JBC NO,NHAPHOP MOV LED77,A MOV LUUHOPL,A SOHOP2: LCALL NHANSO JBC YES,THOAT1 JBC NO,NHAPHOP MOV LED76,LED77 MOV LED77,A MOV A,LED76 SWAP A ORL A,LED77 MOV LUUHOPL,A SOHOP3: LCALL NHANSO JBC YES,THOAT1 JBC NO,NHAPHOP MOV LED75,LED76 MOV LED76,LED77 MOV LED77,A MOV A,LED76 SWAP A ORL A,LED77 Luận văn tốt nghiệp Trang 44 GVHD Nguyễn Việt Hùng MOV LUUHOPL,A MOV LUUHOPH,LED75 SOHOP4: LCALL NHANSO JBC YES,THOAT1 JBC NO,NHAPHOP MOV LED74,LED75 MOV LED75,LED76 MOV LED76,LED77 MOV LED77,A MOV A,LED76 SWAP A ORL A,LED77 MOV LUUHOPL,A MOV A,LED74 SWAP A ORL A,LED75 MOV LUUHOPH,A KT_NHAPHOP: LCALL IN_HEX CJNE A,#0AH,XOANHAPHOP? LJMP THOAT1 XOANHAPHOP?: CJNE A,#0BH,KT_NHAPHOP LJMP NHAPHOP THOAT1: RET ;------------------------------------------------------------ ;CHUONG TRINH CON NHAP SAN PHAM NHAP_SP: MOV LED74,#0CH MOV LED75,#BLK MOV LED76,#BLK MOV LED77,#00H MOV LUU_SPL,#00H MOV LUU_SPH,#00H SO_SP1: LCALL NHANSO JZ SO_SP1 JBC NO,NHAP_SP MOV LED77,A MOV LUU_SPL,A SO_SP2: LCALL NHANSO JBC YES,KT_NHAP_SP JBC NO,NHAP_SP MOV LED76,LED77 MOV LED77,A MOV A,LED76 SWAP A ORL A,LED77 MOV LUU_SPL,A SO_SP3: LCALL NHANSO JBC YES,KT_NHAP_SP JBC NO,NHAP_SP MOV LED75,LED76 Luận văn tốt nghiệp Trang 45 GVHD Nguyễn Việt Hùng MOV LED76,LED77 MOV LED77,A MOV A,LED76 SWAP A ORL A,LED77 MOV LUU_SPL,A MOV LUU_SPH,LED75 KT_NHAP_SP: LCALL IN_HEX CJNE A,#START,XOA_NHAP_SP? LJMP THOAT2 XOA_NHAP_SP?: CJNE A,#0BH,KT_NHAP_SP LJMP NHAP_SP THOAT2: RET ;------------------------------------------------------------ ;CHUONG TRINH CON KIEM TRA CO PHIM NHAN ? IN_HEX: MOV R3,#50 BACK1: LCALL GET_KEY JNC IN_HEX DJNZ R3,BACK1 PUSH ACC BACK2: MOV R3,#50 BACK3: LCALL GET_KEY JC BACK2 DJNZ R3,BACK3 POP ACC RET ;------------------------------------------------------------ ; CHUONG TRINH CON DO AN PHIM GET_KEY: MOV A,#0FEH MOV R6,#4 TEST_NEXT: MOV P1,A MOV R7,A MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY_BIT MOV A,R7 RL A DJNZ R6,TEST_NEXT CLR C SJMP EXIT KEY_BIT: MOV R7,A MOV A,#4 CLR C SUBB A,R6 MOV R6,A MOV A,R7 SWAP A MOV R5,#4 AGAIN: RRC A Luận văn tốt nghiệp Trang 46 GVHD Nguyễn Việt Hùng JNC DONE INC R6 INC R6 INC R6 INC R6 DJNZ R5,AGAIN DONE: SETB C MOV A,R6 EXIT: RET ;------------------------------------------------------------ CHUONG TRINH CON TRA BANG TRABANG: ADD A,#11 MOVC A,@A+PC RET DB 'DEFINEBYTE' DB 0C0H ; '0' DB 0F9H ; '1' DB 0A4H ; '2' DB 0B0H ; '3' DB 099H ; '4' DB 092H ; '5' DB 082H ; '6' DB 0F8H ; '7' DB 080H ; '8' DB 090H ; '9' DB 088H ; 'A' DB 089H ; 'H' DB 09CH ; 'o' DB 0C8H ; 'N' DB 08CH ; 'P' DB 0FFH ; 'BLANK' DB 0C6H ; 'C' ;-----------------KET THUC CHUONG TRINH---------------------- END Luận văn tốt nghiệp Trang 47 GVHD Nguyễn Việt Hùng LỜI GIỚI THIỆU Trong quá trình hiện nay máy tính điện tử đã gĩp phần khơng nhỏ đối với sự phát triển xã hội. Do yêu cầu của con người ngày càng cao, các thế hệ máy tính đã liên tục phát triển khơng ngừng. Ngay trong giai đoạn đầu các thế hệ vi xử lý 8 bit được dùng là Z80,8085, sau đĩ là các hệ vi xử lý 16 bit như 8086, 8088… Các hệ vi xử lý này đã gĩp phần quan trọng trong việc chương trình hĩa các hoạt động của máy mĩc trong cơng nghiệp nhờ vào các phần mềm ứng dụng. Một khi trong cơng nghiệp đã ứng dụng nhiều vào vi xử lý thì các nhà chế tạo khơng bỏ lỡ cơ hội cho ra đời các họ vi điều khiển ngày càng tiến bộ hơn. Vi điều khiển được sử dụng nhiều trong các thiết bị cơng nghiệp, trong máy giặt, trong điều khiển đèn giao thơng, trong các đồ chơi giải trí… Tại Việt nam việc chương trình hĩa các hệ thống đang được áp dụng ngày càng nhiều trong các nhà máy cơng nghiệp. Để tìm hiểu về vi điều khiển và tìm hiểu một ứng dụng cụ thể của nĩ nhĩm chúng em xin thực hiện đề tài gồm hai phần chính: PHẦN1: Khảo sát vi điều khiển 8051, vi mạch giao tiếp ngoại vi 8255, cùng với bộ nhớ bán dẫn, cảm biến. PHẦN 2: Thiết kế và thi cơng mạch đếm sản phẩm dùng vi điều khiển 8051. Chương trình hệ thống và ứng dụng. Nhờ cĩ sự giúp đỡ của quý thầy cơ và bạn bè, nhĩm chúng em đã cố gắng thực hiện đề tài được giao nhưng do kiến thức và thời gian cĩ hạn nên đề tài khơng thể tránh khỏi thiếu sĩt nên rất mong sự đĩng gĩp của quý thầy cơ và bạn bè. Sinh viên thực hiện Đinh Thị Kha Lê Hồng Minh Luận văn tốt nghiệp Trang 48 GVHD Nguyễn Việt Hùng LỜI CẢM ƠN Trong quá trình bốn năm rưỡi học tại trường Đại học Sư phạm kỹ thuật TP.HCM. Chúng em đã được sự hướng dẫn tận tình của quí thầy cơ về những kiến thức chuyên mơn cũng như kiến thức trong cuộc sống. Từ những kiến thức nền tảng đĩ đã giúp chúng em hồn thành tập luận văn tốt nghiệp trong thời gian cho phép. Chúng em xin chân thành cảm ơn thầy cơ trong khoa điện đã giảng dạy cho chúng em những kiến thức về chuyên mơn và định hướng đi theo sự hiểu biết, khả năng của chúng em để chúng em thực hiện tốt luận văn tốt nghiệp và tạo điều kiện thuận lợi cho chúng em hồn tất khĩa học. Chúng em xin chân thành cảm ơn thầy NGUYỄN VIỆT HÙNG và cơ TRẦN THANH MAI đã tận tình giúp đỡ chúng em hồn thành tập luận án này. Chúng em xin chân thành cảm ơn anh BÙI ĐỨC MINH, NGUYỄN KIM HUY, cùng các bạn sinh viên đã tận tình giúp đỡ chúng em hồn thành tốt mạch. Sinh viên thực hiện ĐINH THỊ KHA LÊ HỒNG MINH Luận văn tốt nghiệp Trang 49 GVHD Nguyễn Việt Hùng DẪN NHẬP Hệ thống vi xử lý hay cịn gọi là máy tính điện tử là thiết bị xử lý thơng tin, điều khiển các thiết bị ngồi hay các thiết bị trong cơng nghiệp tự động. Phần chính của máy tính là bộ xử lý trung tâm CPU (Central Processing Unit) là nơi xảy ra các quá trình xử lý số liệu và điều khiển mọi hoạt động của máy tính. Người ta phân loại CPU dựa vào độ rộng Data bus như: CPU 8 bit Z80A: Hãng Zilog 6802 : Hãng Motorola 8080/8085: Hãng Intel CPU 16 bit 8086/8088: Hãng Intel Vi xử lý là một hệ thống số dựa trên cơ sở linh kiện chủ yếu là bộ vi xử lý (CPU ). Tùy thuộc vào cấu trúc của bộ vi xử lý riêng biệt và phần điều khiển mà nĩ cĩ thể bao gồm nhiều loại vi mạch. Dưới sự điều khiển bằng chương trình một bộ vi xử lý thực hiện các phép tính số học và logic, đồng thời tạo ra những tín hiệu điều khiển cho bộ nhớ và thiết bị vào ra. Những mệnh lệnh này gọi là chương trình nguồn và được chứa trong bộ nhớ chỉ đọc (ROM) Luận văn tốt nghiệp Trang 50 GVHD Nguyễn Việt Hùng Chương trình con kiểm tra phím ấn Khơng cĩ phím ấn RET IN _HEX #50 (R3) #50 (R3) Call: getkey C= 0 S Đ R3 - 1 Cĩ phím ấn Cất ACC R3= 0 Đ Call: getkey C = 1 S S R3 - 1 R3= 0 Đ Lấy ACC

Các file đính kèm theo tài liệu này:

  • pdfthiet_ke_mach_dem_san_pham_dung_vi_dieu_khien_8051_8614.pdf