Giáo trình Hướng dẫn lắp ráp các mạch nạp vi xử ly
MỘT SỐ CÁC ĐẶC TÍNH CỦA AT89C2051 LÀ:
~ 2 Kbytes of Flash ( Có nạp vào hoăc xoá đi 1000 lần)
~ 128 bytes of RAM
~ 15 I/O lines ( 15 đường xuất/ nhập)
~ two16-bit timer/counters ( hai bộ định thì/ đếm 16 bít)
~ five vector, two-level interrupt architecture (có 5 vectơ ngắt-2 mức )
~ full duplex serial port ( có cổng nối tiếp)
~ precision analog comparator
~ on chip oscillator and clock circuitry ( có mạch dao động và tạo xung bên trong chip)
Hãy nhớ rằng: Mức điện áp hoạt động thấp (2,7V 6V , chúng ta thường dùng nó ở 5V)
Tần số dao đông thạch anh tối đa 24Mhz ( thường ta dùng 11.0592Mhz để hạn chế
lỗi đến mức nhỏ nhất trong quá trình nó làm việc)
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hướng dẫn lắp ráp các mạch nạp vi xử ly", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Giáo trình Hướng dẫn lắp ráp các mạch nạp vi xử ly
www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 1 - MỤC LỤC Lời Nói Đầu Vấn đề 1: KHÁI LƯỢC VỀ HỌ ATMEL AT80C51 PHẦN 1: HƯỚNG DẪN LẮP RÁP CÁC LOẠI MẠCH NẠP VI XỬ LÝ Vấn đề 2: MẠCH NẠP : AT89C51 - QUA CỔNG COM Vấn đề 3: MẠCH NẠP : AT89C2051 - QUA CỔNG COM Vấn đề 4: MẠCH NẠP: AT89C2051 QUA CỔNG MÁY IN PHẦN 2: HƯỚNG DẪN LÀM BO MẠCH IN CHẤT LƯỢNG CAO Vấn đề 6: HƯỚNG DẪN THIẾT KẾ MẠCH IN TRÊN MÁY TÍNH BẰNG PHẦN MỀM : Eagle 4.01 Vấn đề 7: PHƯƠNG PHÁP IN BẢN VẼ LÊN BO ĐỒNG PHẦN 3: HƯỚNG DẪN SỬ DỤNG CÁC PHẦN MỀM VI XỬ LÝ Vấn đề 8: MỘT SỐ PHẦN MỀM LẬP TRÌNH / SOẠN THẢO ASSEMBLY Vấn đề 9: PHẦN MỀM BIÊN DỊCH RA FILE HEX : ASM / TASM Vấn đề 10 : CÁC PHẦN MỀM MÔ PHỎNG VI XỬ LÝ Vấn đề 11 : HƯỚNG DẪN SỬ DỤNG Ezdl4.0 CHO CÁC MẠCH NẠP PHẦN 4: CÁC MẠCH ĐIỆN VI XỬ LÝ - LÝ THÚ- ĐƠN GIẢN CHO NGƯỜI MỚI BẮT ĐẦU HỌC LẬP TRÌNH CÙNG VI XỬ LÝ Vấn đề 12: HÃY LÀM MẠCH ĐÈN CHỚP VỚI 89C51 Vấn đề 13: HÃY LÀM BỘ ĐIỀU KHIỂN NHÚNG ĐƠN GIẢN Vấn đề 14: LÀM CÒI HỤ VỚI HAI MỨC ÂM ĐIỆU KHÁC NHAU Vấn đề 15 : LÀM ĐỒNG HỒ BÁO GIỜI ĐIỆN TƯ- Lập trình C Vấn đề 16 : LÀM ĐỒNG HỒ BÁO GIỜI ĐIỆN TỬ- Lập trình bằng ASM www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 2 - Vấn đề 17 : GIAO TIẾP 89C51 VỚI MA TRẬN PHÍM 4X4 VÀ HIỂN THỊ TRÊN LED 7 SEG VẤN ĐỀ 18: GIAO TIẾP ADC0809 LÀM BỘ ĐO ĐIỆN ÁP: 0 à 5V LỜI KẾT. www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 3 - Lời nói đầu cho lần tái bản 2 Bên cạnh việc học lý thuyết ở trường , để các bạn có thể hiểu sâu hơn nữa về vi xử lý và khám phá các ứng dụng , các tính năng của nó bằng thực tế , tôi xin hân hạnh giới thiệu với các bạn quyển sách này “Hướng dẫn lắp ráp các mạch nạp Vi Xử Lý ” ngõ hầu sẽ giúp các bạn tự làm cho riêng mình một mạch nạp , để nạp chương trình mà bạn đã viết vào cho con vi xử lý để bạn có thể biết được chương trình mà bạn đã viết ấy - thực tế nó sẽ hoạt động như thế nào- đó chính là mục đích mà tôi đã viết quyển sách này cho các bạn. Đây là lần tái bản thứ 2 có nhiều sửa chữa và bổ sung thêm nhiều ứng dụng 89c51 khá lý thú và hữu ích cho anh em trong các kỳ làm đồ án và Luận văn . Các bạn có thể tìm thấy ở đây các loại mạch nạp cho vi xử lý ( đúng ra phải gọi là vi điều khiển ) rất đơn giản , dễ láp ráp , linh kiện dễ tìm kiếm , cho nên xác suất thành công rất cao nên ai ai cũng có thể tự làm lấy cho riêng mình một mạch nạp để phục vụ cho việc học , nghiên cứu và nhất là để làm các đồ án , luận văn liên quan đến vi xử lý ! Ngoài ra tôi còn bổ sung thêm phần hướng dẫn làm bo mạch in chất lượng rất cao để các bạn tự làm ở nhà , tiết kiệm rất nhiều chi phí rất thích hợp cho sinh viên nhưng chất lượng như đã nói là rất cao . Đồng thời tôi cũng có hướng dẫn cho bạn cáh sử dụng các phần mềm về vi xử lý phục vụ cho việc lập trình để bạn không phải mất nhiều thời gian tìm kiếm-và sử dụng các phần mềm này ! Sau cùng là các ví dụ cụ thể sẽ giúp bạn bước đầu làm quen cùng vi xử lý , các ứng dụng này dành riêng cho người mới bắt đầu học lập trinh vi xử lý và các ví dụ nâng cao được bổ sung cho các bạn đã từng làm việc với 8051 ! Nếu các bạn nào đã thành thạo rồi thì xin hãy đọc quyển 2 “ Hướng dẫn giao tiếp vi xử lý với máy tính” ở đấy bạn sẽ biết cách giao tiếp qua lại giữa chúng . đồng thời tôi cũng có nhiều ví dụ thiết thực như “ Máy đo nhiệt độ bằng Led , máy đo nhiệt độ giao tiếp máy tính , bảng đèn chữ chạy đơn giản , bảng đèn chữ chạy giao tiếp máy tính , đo điện áp qua máy tính “ và một số mạch điện ứng dụng vi xử lý khác sẽ làm cho bạn cãm thấy thích thú hơn khi học về vi xử lý Cuối cùng tôi xin chân thành cảm ơn các bạn đang học cùng tôi đã động viên kích lệ tinh thần , cùng có lời tri ơn sâu sắc đến các thầy trong trường đã giúp đở cho tôi rất nhiều để quyển sách này hoàn thành . Dù đã có nhiều cố gắng thức đêm, dậy sớm song việc thiếu xót sẽ là điều không thể tránh khỏi , cho nên sự góp ý từ phía các bạn độc giả cũng như những lời góp ý của quý thầy cô sẽ là niềm vinh hạnh cho tôi , tôi xin lắng nghe , sửa chữa để lần sau có dịp thì quyển sách này sẽ hoản thiện hơn , ngõ hầu sẽ giúp ích cho các bạn trong việc học tập cùng việc nghiên cứu đạt được nhiều lợi lạc ! Nhân đây tôi xin hân hạnh mời bạn đón đọc tập 2:” Hướng dẫn giao tiếp vi xử lý với máy tính ” bằng Visual Basic mà tôi sắp viết xong ! Một lần nữa tôi xin cảm ơn các bạn đã đọc quyển sách này ! Lê Duy Phi www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 4 - Vấn đề 1: KHÁI LƯỢC VỀ AT89C51 & AT89C2051 I . MÔ TẢ CẤU TRÚC PHẦN CỨNG CỦA VI ĐIỀU KHIỂN 8951. 1/ Giới thiệu họ MCS51: MCS51 là một họ IC vi điều khiển (Microcontroller ) do hãng Intel sản xuất. Các IC tiêu biểu cho họ MCS51 là 8051 và 8031. Đặc biệt, vi điều khiển 8951 được sản xuất gần đây mang các đa ëc điểm sau: § 4 Kbytes EEPROM. § 128 bytes RAM. § 4 ports I/O (Input/Output). § 2 bộ định thời (timer) 16 bits. § Giao tiếp nối tiếp. § 64 Kbytes không gian bộ nhớ chương trình mở rộng. § 64 Kbytes 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 bit đơn). § 210 bits được địa chỉ hóa. § Bộ nhân chia 4 ms. Tước khi đi vào lắp ráp bo mạch , tôi xin các bạn dành ít thời gian xem qua sơ đồ chân và một số các đặc điểm cũng như một số các đặt tính của đối tượng mà ta sẽ làm việc rất nhiều với nó đó là con vi điều khiển AT89C51 và AT89C2051. www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 5 - 2. HỆ THỐNG GIAO TIẾP PORT: a/ Port 0:Port 0 là một port hai chức năng trên các chân 32 – 39. Hãy nhớ rằng : Trên các chân này chưa có điện trở kéo dương , do đó khi cần chúng ta phải nhớ đến đặc điểm này. b/ Port 1: Port 1 là một port I/O trên các chân 1 – 8. c/ Port 2: Port 2 là một port công dụng kép trên các chân 21 – 28 . d/ Port 3: Port 3 là một port công dụng kép trên các chân 10 – 17. Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đa ëc tính đặc biệt của 8951 như ở bảng sau: Bit Tên Chức năng chuyển đổi P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0\ INT1\ T0 T1 WR\ RD\ Dữ liệu nhận cho port nối tiếp Dữ liệu phát cho port nối tiếp Ngắt 0 bên ngoài Ngắt 1 bên ngoài Ngõ vào của Timer/counter 0 Ngõ vào của Timer/counter 1 Xung ghi bộ nhớ dữ liệu ngoài Xung đọc bộ nhớ dữ liệu ngoài 3 - CÁC TÍN HIỆU ĐIỀU KHIỂN: Chip AT8951 có các tín hiệu điều khiển cần phải lưu ý sau: A- Chân EA\ (External Access): Tín hiệu vào EA\ trên chân 31 thường được mắc lên mức cao (+5v) hoặc mức thấp (GND). Nếu ở mức cao, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K hoặc tối đa 8k đối với AT89C52). Nếu ở mức thấp, chương trình được thi hành từ bộ nhớ ngoài mở rộng (Tối đa đến 64K ). Ngoài ra Người ta còn dùng EA\ làm chân cấp điện áp 12V khi lập trình cho EEPROM trong 8051. B- CHÂN PSEN\ (PROGRAM STORE ENABLE): PSEN\ là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển cho phép bộ nhớ chương trình mở rộng, PSEN\ thường được nối đến chân OE (Output Enable) của một EPROM hoa ëc ROM để cho phép đọc các byte ma õ lệnh. Hãy nhớ rằng :Bình thường chân PSEN\ sẽ được tha õ trống (No Connect). Chỉ khi nào chân EA\ ở mức thấp thì lúc đó: PSEN\ sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus dư õ liệu và được chốt vào thanh ghi lệnh của 8951 để giải mã lệnh. PSEN\ sẽ ở mức thụ động (mức cao) nếu thi hành chương trình trong ROM nội (8951) C- CÁC CHÂN NGUỒN: AT8951 hoạt động với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss (GND) được nối vào chân 20. www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 6 - II. MÔ TẢ CẤU TRÚC PHẦN CỨNG CỦA VI ĐIỀU KHIỂN AT89C2051 . AT89C2051 là một vi điều khiển thu gọn chỉ có 20 chân , với đầy đủ các tính năng cnhư AT89C51 .Duy chỉ khác một điểm cần lưu ý đó là Flash ROM của nó chỉ có 2K mà thôi và một vài Port không được hỗ trợ đủ , do đó tuỳ theo mục đích màta se õ cần đến nó. Hình : Sơ đồ chân AT89C2051 MỘT SỐ CÁC ĐẶC TÍNH CỦA AT89C2051 LÀ: ~ 2 Kbytes of Flash ( Có nạp vào hoăc xoá đi 1000 lần) ~ 128 bytes of RAM ~ 15 I/O lines ( 15 đường xuất/ nhập) ~ two16-bit timer/counters ( hai bộ định thì/ đếm 16 bít) ~ five vector, two-level interrupt architecture (có 5 vectơ ngắt-2 mức ) ~ full duplex serial port ( có cổng nối tiếp) ~ precision analog comparator ~ on chip oscillator and clock circuitry ( có mạch dao động và tạo xung bên trong chip) Hãy nhớ rằng: Mức điện áp hoạt động thấp (2,7Và 6V , chúng ta thường dùng nó ở 5V) Tần số dao đông thạch anh tối đa 24Mhz ( thường ta dùng 11.0592Mhz để hạn chế lỗi đến mức nhỏ nhất trong quá trình nó làm việc) www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 7 - Vấn đề 2: I- ĐÔI LỜI GIỚI THIỆU : Nếu bạn muốn vừa học Vi Xử Lý đồng thời cu õng muốn khám phá nó qua các ứng dụng cụ thể, qua các dự án thưc tế để phát triển 89C51, 89c52với ngôn ngữ lập trình Asemmbly thì “ Mạch Nạp AT89C51 ‘ chính là câu trả lời . Nó rất rẻ và mọi người đều có thể tự làm được cho riêng mình một nạp . Mạch nạp này không như õng chỉ nạp được cho AT89c51(4k) mà còn nạp được cho cả 89c52(8k) và 89c55( 20k )ø . Sau khi bạn lập trình với Asemmbly hoặc C xong ,rồi bạn hãy dịch nó ra file HEX ( nếu bạn chưa biết cách dịch thì bạn hãy xem mục hướng dẫn các phần mềm Vi Xử Lý ở đằng sau) sau đó bạn hãy nạp nó vào cho con Chip bằng cách dùng “Mạch Nạp AT89C51”. II- PHẦN CỨNG : SƠ ĐỒ VÀ BO MẠCH IN 1 ). HÌNH ẢNH MẠCH NẠP HOÀN CHỈNH : Hình 1 MẠCH NẠP : AT89C51 - QUA CỔNG COM Hãy làm riêng cho bạn một nạp chương trình- để nạp file HEX cho các vi điều khiển 89C51 , 89C52 , 89C53 và 89C55 .Ở đây có sẵn bo mạch in , sơ đồ và cả phần mềm cùng hướng dẫn hết sức dễ dàng để làm và sử dụng nó. www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 8 - 2) SƠ ĐỒ MẠCH NẠP AT89C51 : Hình 2: Đây chính là sơ đồ của Mạch Nạp AT89C51 . TRÊN SƠ ĐỒ BẠN HÃY LƯU Ý HAI ĐIỂM SAU : · Kí hiệu IC ghi 89C51 EZ52.HEX gọi là con Chip chính ( ChipMaster) · Kí hiệu IC ghi 40 -PIN ZIF 89c51/ 89c52/ 89c55 đây là Socket hay là chân để cắm IC ( còn gọi là đế cắm IC 40 Chân) , hay gọi là con chip phụ ( Chip Slave) Đây là hình dáng thật cu ûa Socket ( đế để gắn IC vào) tuy nhiên đây la ø cái Soket 20 chân thôi ,còn loại 40 cũng giống y hệt như vậy nhưng nó da øi và to hơn thôi. Hãy nhớ rằng : Đầu tiên bạn cần phải nạp file EZ52.HEX vào cho con ChipMaster . Nhưng khổ nổi là lấy đâu ra mạch nạp để nạp file EZ52.Hex này cho con Chip Master ?? Bạn đừng lo , bạn có thể mua con Chip Master –đã nạp sẵn này tại quày photo B1 tại trường đại học Bách Khoa , hoặc bạn cũng có thể mua đỉa mềm 1,4Mb tôi có chép sẵn file EZ52.HEX www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 9 - trong đó luôn rồi , bạn có thể đem ra các tiệm điện ở chợ Điện Tử Nhật Tảo , ở đó họ có sẵn máy nạp họ sẽ nạp cho bạn .với giá cho mỗi lần nạp là 2.000đ Và tôi cũng xin nói thêm là con Chip Master cũng là một con AT89C51. Còn cái Socket là nơi để bạn đặt con Chip 89C51 Slave - mà bạn cần nạp bất kỳ file .HEX nào đó vào cho no .ù 3) NGUỒN ĐIỆN CẤP CHO MẠCH NẠP: Hãy lưu ý :Tại chân Vpp của Mạch nạp có hai mức điện áp khác nhau là 5V và 12V được điều khiển bởi chân P3.3 (chính là đầu ra của LM317).Bình thường thì đầu ra của LM317 chỉ có 5V thôi, nhưng khi bắt đầu nạp chương trình thì đầu ra của nó lên tới 12V. Tôi đã lắp ráp , kiểm tra và sử dụng –mạch này rất nhiều nhưng chưa hề thấy sự cố nào quá nghiêmtrọng cả. 4) BO MẠCH IN Hiện nay trên chợ Điện Tử Nhật Tạo bán rất nhiều loại Bo mạch nạp này , và hiện đã trở nên quá quen thuộc , quen thuộc đến nỗi bạn chỉ cần nói bán cho bạn “Mạch in –của mạch nạp Vi Xử Lý” thì người sẽ đưa cho bạn ngay một bản mạch như sau với giá chỉ có 10.000 đ mà thôi : Hình 3 Đây là một loại mạch nạp đang phổ biến , rất được nhiều người sử dụng và đang thịnh hành trên Chợ Nhật Tảo . Hình này là “Mạch In Hướng Da ãn Lắp Ráp Linh Kiện “ lên bản mạch đồng. Và tôi cũng đã chép luôn file chứa các mạch in ở hình2 trong đỉa mềm với dung lượng 36,4kb để bạn có thể xem qua để có thể tự làm lấy bo mạch cho mình. www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 10 - Và sau đây là bo mạch đồng của nó , bạn có thể cắt hình sau để tự làm cho mình một mạch đồng rất đẹp , giống y như thế theo sự hướng dẫn ở phần 2 của quyển sách này. Và đây là những gì mà bạn có thể thấy sau khi bạn đã lắp ráp hoàn chỉnh Đây là Mạch đồng của mạch nạp vi xử lý đang thịnh hành trên chợ Nhật Tảo hiện nay .Giá một mạch chỉ có 10.000 đ (Bạn có thể cắt hình này ra để làm mạch đồng hoặc mua riêng ở quày Photo B1 / dh.BK) www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 11 - Hãy nhớ rằng : MAX 232 có thể được thay thế bằng 2 con transistor hết sức đơn giiản . Khi đó bo mạch cu ûa bạn sẽ nhỏ gọn hơn, đồng thời bạn cũng có thể tiết kiệm một khoa ûng tiền rất đáng kể . Sơ đồ thay thế như sau: Một kiểu khác: Asghar Charmin ở Aán Độ đả cải tiến lại chỉ dùng một Transi ... T BANGMALED: DB 11000000B ;SO 0 DB 11001111B ;SO 1 DB 01100100B ;SO 2 DB 01000110B ;SO 3 DB 01001011B ;SO 4 DB 01010010B ;SO 5 DB 01010000B ;SO 6 DB 11000111B ;SO 7 DB 01000000B ;SO 8 DB 01000010B ;SO 9 DB 01000001B ;CHU A DB 01011000B ;CHU B DB 11110000B ;CHU C DB 01001100B ;CHU D DB 00110000B ;CHU E DB 00110001B ;CHU F END www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 77 - VẤN ĐỀ 18: GIAO TIẾP ADC0809 LÀM BỘ ĐO ĐIỆN ÁP: 0 à 5V · Sơ đồ mạch các bạn có thể vào website sau để download : www.microduyphi.com ;P1+P2 XUAT LED 7 DOAN ;P0 CHON NGO VAO VA DIEU KHIEN QUA TRINH BIEN DOI ADC ;P3 NHAN DATA ORG 00H MOV TMOD,#01H MAIN: ACALL CONGVAO BATDAU: ACALL START ACALL LAYDATA ACALL HIENTHI LJMP BATDAU ;*********************** CONGVAO: CLR P0.0 CLR P0.1 CLR P0.2 RET ;============================================================== ;QUA TRINH BIEN DOI BAT DAU KHI CO CANH XUONG O TREN CHAN START START: SETB P0.4 NOP NOP NOP CLR P0.4 ;DOI 100US DE QUA TRINH BIEN DOI XONG CALL DELAY120US RET ;============================================================== LAYDATA: MOV A,P3 RET ;============================================================== HIENTHI: MOV B,#51 DIV AB ;MAXIMUM A=5 ;LUU HANG TRAM MOV R2,A MOV A,B ;CHIA TIEP MOV B,#10 DIV AB ;LUU CHUC MOV R3,A ;LUU TRAM MOV R4,B ;A=SE GIU GIA TRI HANG TRAM ;B SE GIU GIA TRI HANG CHUC www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 78 - ;R2=GIU GIA TRI HANG DON VI ;========================== XUAT_TRAM: MOV DPTR,#BANG MOV A,R2 MOVC A,@A+DPTR ;DAU CHAM ANL A,#10111111B MOV P2,A MOV P1,#01111111B CALL DELAY ;-------------------------- XUAT_CHUC: MOV DPTR,#BANG MOV A,R3 MOVC A,@A+DPTR MOV P2,A MOV P1,#10111111B CALL DELAY XUAT_DONVI: MOV DPTR,#BANG MOV A,R4 MOVC A,@A+DPTR MOV P2,A MOV P1,#11011111B CALL DELAY RET ;******************************************************************* DELAY120US: MOV TH0,#HIGH(-120) MOV TL0,#LOW(-120) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;************************************************************ DELAY: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;************************************************************* BANG: DB 11000000B ;SỐ 0 DB 11001111B ;SỐ 1 DB 01100100B ;SỐ 2 DB 01000110B ;SỐ 3 DB 01001011B ;SỐ 4 DB 01010010B ;SỐ 5 DB 01010000B ;SỐ 6 DB 11000111B ;SỐ 7 DB 01000000B ;SỐ 8 DB 01000010B ;SỐ 9 END www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 79 - VẤN ĐỀ 19: ỨNG DỤNG 89C51 LÀM MẠCH BÁO GIỜ VÀ NHIỆT ĐỘ (DÙNG CẢM BIẾN LM35+ ADC0809) * Sơ đồ mạch các bạn có thể vào website sau để download : www.microduyphi.com ;************************************************************************* ; DESIGN & PROGRAM BY : LE DUY PHI ; ; THIS IS A PROJECT WHICH I DESIGN FOR MY FREIND"DIEN DAN SINH VIEN" ; ; COMPLETED :15-01-2005 ; ;************************************************************************* ;CHU Y: O DAY MINH DUNG SENSOR LM35 ; 89C51 + ADC0809 + LED 7SEG - ANOD COMM ; ; PLEASE DO NOT QUESTION ME ABOUT WHAT YOU HAVE SEEN HERE ; EVERYTHING IS VERY VISIBLE ,SO YOU TRY TO READ IT IF YOU DO'NOT UNDERSTAND ;------------------------------------------------------------------------ ;R0 : DEM 10S HTHI GIO- 3 S HIEN THI TEMPRATURE ;R1 ;R2 : BIEN DEM 0--100 1S ;R3 ;R4 ;R5 : BIEN CAP NHAT TEM VALUE AFTER 100 TIMES ;R6 ;R7 : DELAY ;----------------------------- ;12H--13H--14H--15H--16H--17H ;CH DCH CP DVP CG DVG ;----------------------------- ;20H-------21H--22H--23H---24H ; HUNDER 2 7 * C ;----------------------------- ;--CO CHO BIET BAO GIO HOAC NHIET DO ;FL_HOR_TEM =0 : BAO GIO ;FL_HOR_TEM =1 : BAO NHIET DO ;----------------------------------- FL_HOR_TEM BIT 24H.0 ;----------------------------------- ORG 0000H SJMP MAIN ;-------------NGAT DO TIMER ORG 0BH LJMP NGAT_TIMER0 ;-------------VAO PRO MAIN MAIN: www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 80 - MOV SP,#30H ; NHAP DIA CHI BAT DAU CHUONG TRINH ;KHOI DONG SAU KHI BAT NGUON "TURN ON POWER" ;------------------------------------------------------ ; vung Ram luu tru: hh:mm:ss ;------------------------------------------------------ MOV 12H,#00H MOV 13H,#00H MOV 14H,#00H MOV 15H,#00H MOV 16H,#00H MOV 17H,#00H ;------------------------------------------------------ ; vung Ram luu tru Temprature :27*C ;------------------------------------------------------ MOV 20h,#00h MOV 21h,#00h MOV 22h,#00h MOV 23h,#00h ;------------------------------------------------------ ; THIET LAP MAC DINH FL_HOR_TEM=0 LA HIEN THI GIO ;------------------------------------------------------ CLR FL_HOR_TEM ;FL_HOR_TEM=0 ;--------LAY TEM LAN DAU TIEN------------------------- CALL CON_ADC MOV R5,#0 MOV IE,#10000010B ;KHOI TAO NGAT CHO PHEP ;--- INT1_T0_INT0 MOV TMOD,#11H MOV TL0,#LOW(-9216) ;XTAL11.0592 =>Tclk = 12/11.0592 = 1,08507uS MOV TH0,#HIGH(-9216) ; 9216x(100lan)x[Thoigianmay(12/11.0592)]=1s OK!chinh xac 99.99% SETB TR0 LAP: CALL HIEN_THI CALL TEST_PHIM CALL KIEM_TRA1S SJMP LAP ;********************************************** HIEN_THI: JNB FL_HOR_TEM,HIEN_THI_GIO ;IF FL_HOR_TEM=0 THEN "HIEN THI GIO" LJMP HIEN_THI_TEM ;ELSE FL_HOR_TEM=1 THEN "HIEN THI NHIET DO" HIEN_THI_GIO: ;----HIEN THI DATA LEN CAC LED----------- MOV DPTR,#BANG_MA_LED ;LED1 MOV P0,#11111110B www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 81 - MOV A,17H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 mov p2,#0ffh; Chong nhieu ;LED2 MOV P0,#11111101B MOV A,16H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 mov p2,#0ffh ; Chong Nhieu ;LED3 MOV P0,#11111011B MOV A,15H MOVC A,@A+DPTR ANL A,#10111111B MOV P2,A LCALL DELAY1 mov p2,#0ffh ;Chong Nhieu ;LED4 MOV P0,#11110111B MOV A,14H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 mov p2,#0ffh ;Chong Nhieu ;LED5 MOV P0,#11101111B MOV A,13H MOVC A,@A+DPTR ANL A,#10111111B MOV P2,A LCALL DELAY1 mov p2,#0ffh ;Chong Nhieu ;LED6 MOV P0,#11011111B MOV A,12H ;KIEM TRA -DE TAT MO LED CH CJNE A,#0,MOLED_CH ; Neu CH khac 0 thi Nhay den MOLED_CH ; Neu CH la 0 thi tat led CH MOV P2,#0ffh ; Xoa Led CH khi no la so:"0" LCALL DELAY1 MOV P2,#0ffh ;Chong Nhieu LJMP THOAT_HIENTHI ;---- MOLED_CH-------- MOLED_CH: MOVC A,@A+DPTR www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 82 - MOV P2,A LCALL DELAY1 MOV P2,#0FFH ;Chong Nhieu LJMP THOAT_HIENTHI ;============================================================= HIEN_THI_TEM: ;-------------------------HIEN THI NHIET DO---------------------------------- ;---BEFOR DISPLAY VALUE TEMPRATURE WE MUST CONVECTER ANALOG TO DISGITAL------ INC R5 PUSH ACC MOV A,R5 CJNE A,#100,CHUA_CAP_NHAT ;----CAP NHAT LAI TEM VALUE------ CALL CON_ADC MOV R5,#0 CHUA_CAP_NHAT: POP ACC ;-------------------------------- ; ghcbaFed ; : 10000000B ; : 11110000B ;CHU C ; : 01100011B ;SO 0 NHO MOV P0,#11111110B MOV P2,#11110000B ;CHU C LCALL DELAY1 mov p2,#0ffh; Chong nhieu LCALL DELAY1 MOV P0,#11111101B MOV P2,#01100011B ;SO 0 NHO LCALL DELAY1 mov p2,#0ffh; Chong nhieu LCALL DELAY1 ;--------HIENTHI GIA TRIN TEM----------- MOV P0,#11111011B MOV A,22H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 mov p2,#0ffh ; Chong Nhieu LCALL DELAY1 MOV P0,#11110111B MOV A,21H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 83 - mov p2,#0ffh ;Chong Nhieu LCALL DELAY1 MOV P0,#11101111B MOV A,20H CJNE A,#00,HIENTHI_TEM_100 LJMP THOAT_HIENTHI HIENTHI_TEM_100: MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 mov p2,#0ffh ;Chong Nhieu LCALL DELAY1 THOAT_HIENTHI: RET ;**************************************************** KIEM_TRA1S: ;-----KIEM TRA XEM DU 1s CHUA ?------------- CJNE R2,#100,KET_THUC MOV R2,#00H ;------------------------PROCESS TEMPRATURE------------------------------------------------- INC R0 CJNE R0,#10,R0_BY_13 ; IF R010 THEN JUMPER TO TEST IT BY 13 ? SETB FL_HOR_TEM ; ELSE R0=10 THEN SET FLAG=1 FOR HTHI TEMPRATURE LJMP CONT_UPDATE_NO_HT ; TIEP TUC CAP NHAT NHUNG KHONG HIEN THI GIA TRI GIO R0_BY_13: CJNE R0,#13,CONT_UPDATE_NO_HT ; IF R0=13 THAT MEAN IS "TEMPRATURE DISPLAY IN 3S" CLR FL_HOR_TEM ; AFTER 3S IT WILL RE_DISPLAY VALUE OF HOUR ; SO WE MUST RESET VALUE OF FLAG = 0 MOV R0,#0 ;--------------------------------------------------------------------------------------- CONT_UPDATE_NO_HT: INC 17H MOV A,17H CJNE A,#10,KET_THUC MOV 17H,#00 INC 16H MOV A,16H CJNE A,#6,KET_THUC MOV 16H,#00 INC 15H MOV A,15H CJNE A,#10,KET_THUC www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 84 - MOV 15H,#00 INC 14H MOV A,14H CJNE A,#6,KET_THUC MOV 14H,#00 INC 13H MOV A,13H CJNE A,#03,TANG_DVH_LEN_10 ;--NEU LA 3 THI KTRA TIEP---- MOV A,12H CJNE A,#01,KET_THUC ; DUNG DVH LA 3 VA CH KHONG LA 1 THI NHAY TOI CP DE CP=0 MOV 12H,#00H MOV 13H,#01H LJMP KET_THUC ;----TANG DVH LEN 10 KHI NO KHONG PHAI LA S0 3---------- TANG_DVH_LEN_10: CJNE A,#10,KET_THUC MOV 13H,#00 INC 12H KET_THUC: RET ;*************************************************************** ;----- DELAY---------- DELAY1: MOV R7,#10H DJNZ R7,$ RET ;*************************************************************** ;CHUONG TRINH CON NGAT TIMER0 NGAT_TIMER0: INC R2 ;tre 1us MOV TL0,#LOW(-9216) ;XTAL11.0592 =>Tclk = 12/11.0592 = 1,08507uS MOV TH0,#HIGH(-9216) ; 9216x(100lan)x[Thoigianmay(12/11.0592)]=1s OK!chinh xac 99.99% SETB TR0 RETI ;******************************************************* ; TEST_PHIM: JB P3.3,PHIM2 CALL NGAT_PHUT www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 85 - LJMP THOAT_PHIM1 ;******************************************************* PHIM2: JB P3.2,THOAT_TEST_PHIM CALL NGAT_GIO LJMP THOAT_PHIM2 ;-------------------------------------- THOAT_PHIM1: TT_KT1: JNB P3.3,HIEN_THI_T1 LJMP THOAT_TEST_PHIM HIEN_THI_T1: CALL HIEN_THI LJMP TT_KT1 THOAT_PHIM2: TT_KT2: JNB P3.2,HIEN_THI_T2 LJMP THOAT_TEST_PHIM HIEN_THI_T2: CALL HIEN_THI LJMP TT_KT2 THOAT_TEST_PHIM: RET ;*************************************************************** ;CHUONG TRINH CON NGAT INTO NGAT_PHUT: ;---CAM BAO NHIET CLR FL_HOR_TEM MOV R0,#0 INC 15H MOV A,15H CJNE A,#10,THOAT1 MOV 15H,#0H INC 14H MOV A,14H CJNE A,#6,THOAT1 MOV 14H,#0H THOAT1: RET ;CHUONG TRINH CON NGAT INT1 NGAT_GIO: www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 86 - CLR FL_HOR_TEM ;---CAM BAO NHIET CLR FL_HOR_TEM MOV R0,#0 INC 13H MOV A,13H CJNE A,#03,NGAT_11 MOV A,12H CJNE A,#1,THOAT2 MOV 12H,#0H MOV 13H,#1 LJMP THOAT2 NGAT_11: CJNE A,#10,THOAT2 MOV 13H,#0 MOV 12H,#1 SJMP THOAT2 THOAT2: RET ;********************************************* CON_ADC: ;*********************** CHON_NGO_VAO: CLR P3.4 CLR P3.5 CLR P3.6 BATDAU_ADC: ACALL START ACALL LAYDATA ACALL CHUYEN_DOI RET ;============================================================== ;QUA TRINH BIEN DOI BAT DAU KHI CO CANH XUONG O TREN CHAN START START: SETB P3.7 NOP NOP NOP CLR P3.7 ;DOI 100US DE QUA TRINH BIEN DOI XONG CALL DELAY120US RET www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 87 - ;============================================================== LAYDATA: MOV A,P1 RET ;============================================================== CHUYEN_DOI: MOV B,#51 DIV AB ; ------LUU HANG TRAM------- MOV 20H,A MOV A,B ;CHIA TIEP MOV B,#10 DIV AB ;-------LUU CHUC------------- MOV 21H,A ;-------LUU TRAM-------------- MOV 22H,B ; ;20H = SE GIU GIA TRI HANG TRAM ;21H = SE GIU GIA TRI HANG CHUC ;22H = GIU GIA TRI HANG DON VI ;========================== RET ;******************************************************************* DELAY120US: MOV TH1,#HIGH(-120) MOV TL1,#LOW(-120) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET ;********************************************* BANG_MA_LED: DB 11000000B;0 DB 11001111B DB 01100100B DB 01000110B DB 01001011B DB 01010010B DB 01010000B DB 11000111B DB 01000000B DB 01000010B;9 END www.microduyphi.com duyphi@yahoo.com - Tel:0909.371.471 Tái bản lần thứ 2 - 88 - Lời kết : Quyển sách cuối cùng đã hoàn thành đúng vào lúc các bạn đang học về vi xử lý . Như vậy sau gần hơn một tháng biên sạan-kể từ lúc khởi thảo , trong thời gian ngắn ấy , tập sách chỉ chú trọng phần nhiều vào mặt thực hành , không đề cặp quá sâu vào lý thuyết . Mục đích mà tôi viết quyển sách này không mong gì hơn là nó sẽ góp phần phục vụ cho các bạn trong việc học vi xử lý đạt được nhiều lợi ích và đam mê hơn bởi sự kết hợp hài hoà giữa lý thuyết và thực hành ! Trong quá trình tự lắp ráp , nếu các bạn gặp sự cố thì hãy liên hệ với chúng tôi, bằng kinh nghiệm đã từng lắp ráp loại này tôi nghĩ sẽ có những lời phúc đáp rất thiết thực , ngõ hầu sẽ đemlại niềm vui cho các bạn , địa chỉ liên hệ : duyphi@yahoo.com Các bạn cũng có thể xem nội dung của quyển sách này , cùng các tài liệu khác không những về vi xử lý , mà còn nhiều môn khác như điện tử , kỹ thuật số , điện công nghiệp , điện tử cơ bản .tại địa chỉ website sau của tôi : www.microduyphi.com Dĩ nhiên đây là lần đầu tôi làm công việc này , nên sai xótvà nhiều khyếm khuyết là điều sẽ có thể xảy ra , tôi xin trân trọng lắng nghe sự đóng góp ý kiến của các bạn cùng của các sư huynh và của thầy co trên tinh thần góp ý , sửa chữa để ngày một cùng nhau hoàn thiện hơn ! Trên tinh thần ấy tôi xin vô cùng cám ơn quý vị , và tôi sẽ cố gắng hơn nữa để sớm giớ thiệu với bạn đọc tập 2: “Hướng dẫn giao tiếp vi xử lý với máy tính bằng Visual Basic” Cuối cùng tôi xin có lời tri ơn sâu sắc đến các bạn trong trường , các sư huynh cùng quý thầy cô đã có lời động viên , có lời góp ý trong suốt thời gian tôi viết quyển sách này . Một lần nữa tôi xin chân thành cám ơn các bạn đã đọc quyển sàch này ! Xin chúc các bạn luôn vui vẻ và gặt hái được nhiều thành công từ quyển sách nhỏ này! Thực hiện: Lê Duy Phi 10-05-2005 - Nha Trang
File đính kèm:
- giao_trinh_huong_dan_lap_rap_cac_mach_nap_vi_xu_ly.pdf