Đồ án Xây dựng hệ thống phân loại sản phẩm theo kích thước bằng vi điều khiển
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng hệ thống phân loại sản phẩm theo kích thước bằng vi điều khiển", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_xay_dung_he_thong_phan_loai_san_pham_theo_kich_thuoc_b.pdf
Nội dung text: Đồ án Xây dựng hệ thống phân loại sản phẩm theo kích thước bằng vi điều khiển
- LỜI MỞ ĐẦU Xã hội ngày càng phát triển, nhu cầu vật chất và tinh thần của con người ngày càng cao, vì thế bài toàn về cung – cầu đang được các nhà sản xuất tìm cách giải quyết. Tự động hóa trong dây chuyền sản xuất là một phương án tối ưu, nó đòi hỏi sự nhanh chóng, chính xác và giảm thiểu được nhân công lao động. Quá trình sản xuất càng được tự động hóa cao càng nâng cao năng suất sản xuất giảm chi phí tăng tính cạnh tranh cho các doanh nghiệp. Vì vậy đề tài này được nghiên cứu và thực hiện nhằm góp một phần nhỏ vào mục đích nêu trên, đồng thời giúp cho học sinh sinh viên thấy được mối liên hệ giữa những kiến thức đã học ở trường với những ứng dụng bên ngoài thực tế. Đề tài mà em thực hiện có nhiều ứng dụng quan trọng trong nhiều lĩnh vực như vận chuyển sản phẩm, đếm sản phẩm và phân loại sản phẩm. Với hệ thống tự động hóa này chúng ta có thể giảm thiểu nhân công đi kèm với giảm chi phí sản xuất Trên đây là đề tài : “Xây dựng hệ thống phân loại sản phẩm theo kích thƣớc bằng vi điều khiển” do Thạc sĩ Nguyễn Trọng Thắng hướng dẫn đã thực hiện. Đề tài gồm những nội dung sau: Chương 1: Sơ lược về hệ thống phân loại sản phẩm theo kích thước. Chương 2: Tổng quan về vi điều khiển PIC16F877A Chương 3: Thiết kế xây dựng mô hình. Trong quá trình thực hiện chương trình còn gặp nhiều khó khăn đó là tài liệu tham khảo cho vấn đề này đang rất ít và hạn hẹp. Mặc dù rất cố gắng nhưng khả năng, thời gian có hạn và kinh nghiệm chưa nhiều nên không thể tránh khỏi những sai sót rất mong sự đóng góp ý kiến bổ sung của các thầy cô giáo để đồ án này được hoàn thiện hơn. 1
- Chƣơng 1 SƠ LƢỢC VỀ HỆ THỐNG PHÂN LOẠI SẢN PHẨM. 1.1 CÁC BĂNG CHUYỀN PHÂN LOẠI SẢN PHẨM HIỆN NAY. Phân loại sản phẩm là một bài toán đã và đang được ứng dụng rất nhiều trong thực tế hiện nay. Dùng sức người, công việc này đòi hỏi sự tập trung cao và có tính lặp lại, nên các công nhân khó đảm bảo được sự chính xác trong công việc. Chưa kể đến có những phân loại dựa trên các chi tiết kĩ thuật rất nhỏ mà mắt thường khó có thể nhận ra. Điều đó sẽ ảnh hưởng trực tiếp tới chất lượng sản phẩm và uy tín của nhà sản xuất. Vì vậy, hệ thống tự động nhận dạng và phân loại sản phẩm ra đời là một sự phát triển tất yếu nhằm đáp ứng nhu cầu cuộc sống. Tùy vào mức độ phức tạp trong yêu cầu phân loại, các hệ thống phân loại tự động có những quy mô lớn, nhỏ khác nhau. Tuy nhiên có một đặc điểm chung là chi phí cho các hệ thống này khá lớn, đặc biệt đối với điều kiện của Việt Nam. Vì vậy hiện nay đa số các hệ thống phân loại tự động đa phần mới chỉ được áp dụng trong các hệ thống có yêu cầu phân loại phức tạp, còn một lượng rất lớn các doanh nghiệp Việt Nam vẫn sử dụng trực tiếp sức lực con người để làm việc. Bên cạnh các băng chuyền để vận chuyển sản phẩm thì một yêu cầu cao hơn được đặt ra đó là phải có hệ thống phân loại sản phẩm. Bởi vì trước đây khi ngành công nghiệp chưa được phát triển, công việc này do con người đảm nhận bằng mắt thường, bằng kinh nghiệm và sự ghi nhớ, trực tiếp phân loại các sản phẩm đạt yêu cầu hoặc loại bỏ phế phẩm bằng tay. Tuy vậy công việc đòi hỏi sự tập trung cao và có tính lặp lại, nên các công nhân khó đảm bảo được sự chính xác trong công việc. Điều đó sẽ ảnh hưởng trực tiếp tới chất lượng sản phẩm và uy tín của nhà sản xuất. Vì thế hệ thống tự động phân loại sản phẩm ra đời để đáp ứng nhu cầu cấp bách này. Còn rất 2
- nhiều dạng phân loại sản phẩm tùy theo yêu cầu của nhà sản xuất như: Phân loại sản phẩm theo kích thước, Phân loại sản phẩm theo màu sắc, Phân loại sản phẩm theo khối lượng, Phân loại sản phẩm theo mã vạch, Phân loại sản phẩm theo hình ảnh ảnh v.v Vì có nhiều phương pháp phân loại khác nhau nên có nhiều thuật toán, hướng giải quyết khác nhau cho từng sản phẩm, đồng thời các thuật toán này có thể đan xen, hỗ trợ lẫn nhau. Ví dụ như muốn phân loại vải thì cần phân loại về kích thước và màu sắc, về nước uống (như bia, nước ngọt) cần phân loại theo chiều cao, khối lượng, phân loại xe theo chiều dài, khối lượng, phân loại gạch granite theo hình ảnh v.v Phân loại sản phẩm to nhỏ sử dụng cảm biến quang: sản phẩm chạy trên băng chuyền ngang qua cảm biến quang thứ 1 nhưng chưa kích cảm biển thứ 2 thì được phân loại vật thấp nhất, khi sản phẩm qua 2 cảm biến đồng thời thì được phân loại vật cao nhất. Phân loại sản phẩm dựa vào màu sắc của sản phẩm: sử dụng những cảm biến phân loại màu sắc sẽ được đặt trên băng chuyền, khi sản phẩm đi ngang qua nếu cảm biến nào nhận biết đc sản phẩm thuộc màu nào sẽ được cửa phân loại tự động mở để sản phẩm đó đựợc phân loại đúng. Phát hiện màu sắc bằng cách sử dụng các yếu tố là tỷ lệ phản chiếu của một màu chính (ví dụ như đỏ, xanh lá cây hoặc xanh trời) được phản xạ bởi các màu khác nhau theo các thuộc tính màu của đối tượng. Bằng cách sử dụng công nghệ lọc phân cực đa lớp gọi là FAO (góc quang tự do), cảm biến E3MC phát ra màu đỏ, xanh lá cây và màu xanh sáng trên một trục quang học đơn. E3MC sẽ thu ánh sáng phản chiếu của các đối tượng thông qua các cảm biến nhận và xử lý tỷ lệ các màu xanh lá cây, đỏ, xanh lam của ánh sáng để phân biệt màu sắc của vật cần cảm nhận. 3
- Phân loại sản phẩm dùng webcam: sử dụng 1 camera chụp lại sản phẩm khi chạy qua và đưa ảnh về so sánh với ảnh gốc. Nếu giống thì cho sản phẩm đi qua, còn nếu không thì loại sản phẩm đó. Nhận thấy thực tiễn đó, nay trong luận văn này, em sẽ làm một mô hình rất nhỏ nhưng có chức năng gần như tương tự ngoài thực tế. Đó là: tạo ra một dây chuyền băng tải để vận chuyển sản phẩm, phân loại sản phẩm theo kích thước đã được đặt trước. 1.2. ĐẶT VẤN ĐỀ. Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện tử mà trong đó điều khiển tự động đóng vai trò hết sức 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 và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điều khiển tự động nói riêng. Xuất phát từ những đợt đi thực tập tốt nghiệp tại nhà máy, các khu công nghiệ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 quá trình sản xuất. Một trong những khâu tự động trong dây chuyền sản xuất tự động hóa đó là số lượng sản phẩm sản xuất ra được các băng tải vận chuyển và sử dụng hệ thống nâng gắp phân loại sản phẩm. 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 phân loại, đóng bao bì mà vẫn còn sử dụng nhân công, chính vì vậy nhiều khi cho ra năng suất thấp chưa đạt hiệu quả. Từ những điều đã được nhìn thấy trong thực tế cuộc sống và những kiến thức mà em đã học được ở trường muốn tạo ra hiệu suất lao động lên gấp nhiều lần, đồng thời vẫn đảm bảo được độ chính xác cao về kích thước. Nên chúng em đã quyết định thiết kế và thi công một mô hình sử dụng băng chuyền để phân loại sản phẩm vì nó rất gần gũi với thực tế, vì trong thực tế có 4
- nhiều sản phẩm được sản xuất ra đòi hỏi phải có kích thước tương đối chính xác và nó thật sự rất có ý nghĩa đối với chúng em, góp phần làm cho xã hội ngày càng phát triển mạnh hơn, để xứng tầm với sự phát triển của thế giới. 1.3. GIỚI THIỆU CHUNG VỀ ĐỀ TÀI Hiện nay đất nước ta đang trong quá trình Công nghiệp hóa, hiện đại hóa. Chính vì vậy có rất nhiều khu công nghiệp đã và đang được hình thành với nhiều dây chuyền thiết bị hoạt động hiện đại cùng với sự đầu tư và góp vốn đến từ các nước khác trên thế giới. Trong những thập niên gần đây, các thiết bị điện tử được ứng dụng rộng rãi trên khắp thế giới. Sự đa dạng và phát triển của các nghành không ngừng biến đổi. Điện tử là một trong những ngành kĩ thuật tinh vi của thế giới, nó là một phương tiện gần như không thể thiếu trong mọi lĩnh vực như : Viễn thông, y khoa, các phòng thí nghiệm, nghiên cứu, v v nó đảm bảo hiệu suất trong công việc cũng như độ tin cậy thõa mãn cho người sử dụng, điện tử là một ngành mà tín hiệu vận động đặt trên cơ sở dòng điện và điện áp. Từ những linh kiện nhỏ và đơn giản ta có thể tạo ra những thiệt bị thật hữu dụng trong cuộc sống hàng ngày và đặc biệt trong sản xuất. Những thiết bị tinh vi giúp giải phóng sức lao động, tạo ra hiệu suất lao động chưa từng có một máy hoạt động có thể thay thế cho vài chục nhân công, thậm chí còn hơn thế nữa. Sự kết hợp giữa ngành điện – điện tử và ngành cơ khí là một bước tiến quan trọng trong sự phát triển của tự động hóa trong công nghiệp. Hiện nay Đất nước ta đang trong quá trình phát triển và hội nhập, chính vì thế các mặt hàng được sản xuất ra không những đạt tiều chuẩn về chất lượng, mà còn đòi hỏi phải có độ chính xác cao về hình dạng, kích thước, trọng lượng Cho nên từ đó các khu công nghiệp được hình thành với nhiều dây chuyền thiết bị máy móc hiện đại để phối hợp với nhu cầu sản xuất, để tạo ra năng suất cao hơn trong quá trình sản xuất. Trong các Nhà máy, các sản phẩm được sản xuất ra 5
- trước khi được xuất xưởng thì phải trải qua nhiều giai đoạn kiểm tra sản phẩm. Tuỳ theo sản phẩm được sản xuất ra mà nó phải được kiểm tra qua các khâu khác nhau, chẳng hạn như kiểm tra về chất lượng, kích thước, hình dạng, hoặc trọng lượng Trong đề tài này, chúng em xin thực hiện việc : “ Ứng dụng vi điều khiển PIC trong phân loại sản phẩm theo kích thước”. Đề tài này sẽ giúp cho chúng em phần nào hiểu rõ hơn về cách thức hoạt động của các dây chuyền thiết bị được dùng trong việc phân loại sản phẩm, đồng thời ứng dụng vi điều khiển PIC vào việc điều khiển chúng, cũng như các hệ thống băng chuyền. Đề tài này được trình bày theo dạng mô hình mô phỏng. Nên trong quá trình thực hiện luận văn này không tránh khỏi những sai sót. Kính mong quý Thầy Cô góp ý để hoàn thiện tốt hơn nữa. Ngày nay, việc tập trung hóa - tự động hóa công tác quản lý, giám sát và điều khiển các hệ thống tự động nhằm nâng cao hiệu quả sản xuất, tránh rủi ro, tiết kiệm chi phí, hạn chế nhân công là một xu hướng tất yếu của quá trình sản xuất. Cùng với tốc độ phát triển nhanh chóng của kỹ thuật vi điện tử, kỹ thuật truyền thông và công nghệ phần mềm trong thời gian qua, điều khiển tự động đã ra đời và phát triển càng ngày càng đa dạng đáp ứng các yêu cầu, đòi hỏi quá trình tự động trong các lĩnh vực công nghiệp. Chính vì vậy phải lựa chọn quá trình điều khiển nào cho phù hợp với yêu cầu thực tế, điều kiện cơ sở vật chất cho phép, tiết kiệm chi phí vận hành, nâng cao hiệu quả sản xuất, dễ dàng bảo trí, sửa chữa hệ thống khi có sự cố. Thực tiễn đó đã đặt ra vấn đề là làm sao để quản lý các nhà máy sản xuất hiệu quả nhất, tiết kiệm nhất và an toàn nhất. 6
- 1.4. CÁC LOẠI BĂNG TẢI SỬ DỤNG HIỆN NAY. 1.4.1. Giới thiệu chung. Băng tải thường được dùng để di chuyển các vật liệu đơn giản và vật liệu rời theo phương ngang và phương nghiêng. Trong các dây chuyền sản xuất, các thiết bị này được sử dụng rộng rãi như những phương tiện để vận chuyển các cơ cấu nhẹ, trong các xưởng luyện kim dùng để vận chuyển quặng, than đá, các loại xỉ lò trên các trạm thủy điện thì dùng vận chuyển nhiên liệu. Trên các kho bãi thì dùng để vận chuyển các loại hàng bưu kiện, vật liệu hạt hoặc 1 số sản phẩm khác. Trong 1 số ngành công nghiệp nhẹ, công nghiệp thực phẩm, hóa chất thì dùng để vận chuyển các sản phẩm đã hoàn thành và chưa hoàn thành giữa các công đoạn, các phân xưởng, đồng thời cũng dùng để loại bỏ các sản phẩm không dùng được. 1.4.2. Ƣu điểm của băng tải - Cấu tạo đơn giản, bền, có khả năng vận chuyển rời và đơn chiếc theo các hướng nằm ngang, nằm nghiêng hoặc kết hợp giữa nằm ngang với nằm nghiêng. - Vốn đầu tư không lớn lắm, có thể tự động được, vận hành đơn giản, bảo dưỡng dễ dàng, làm việc tin cậy, năng suất cao và tiêu hao năng lượng so với máy vận chuyển khác không lớn lắm. 7
- 1.4.3. Cấu tạo chung của băng tải. 1 2 3 H 4 b L1 L2 L Hình 1.1: Băng tả i truyền động 5 1. Bộ phận kéo cùng các yếu tố làm việc trực tiếp mang vật. 2. Trạm dẫn động, truyền chuyển động cho bộ phận kéo. 3. Bộ phận căng, tạo và giữ lực căng cần thiết cho bộ phận kéo. 4. Hệ thống đỡ (con lăn, giá đỡ ) làm phần trượt cho bộ phận kéo và các yếu tố làm việc. 5. Bộ phận đổi hướng cho bộ phận kéo. 1.4.4. Các loại băng tải trên thị trƣờng hiện nay. - Băng tải dạng cào: sử dụng để thu dọn phoi vụn. năng suất của băng tải loại này có thể đạt 1,5 tấn/h và tốc độ chuyển động là 0,2m/s. Chiều dài của băng tải là không hạn chế trong phạm vi kéo là 10kN. - Băng tải xoắn vít : có 2 kiểu cấu tạo : + Băng tải 1 buồng xoắn: Băng tải 1 buồng xoắn được dùng để thu dọn phoi vụn. Năng suất băng tải loại này đạt 4 tấn/h với chiều dài 80cm. + Băng tải 2 buồng xoắn: có 2 buồng xoắn song song với nhau, 1 có chiều xoắn phải, 1 có chiều xoắn trái. Chuyển động xoay vào nhau của các buồng xoắn được thực hiện nhờ 1 tốc độ phân phối chuyển động. 8
- Cả 2 loại băng tải buồng xoắn đều được đặt dưới máng bằng thép hoặc bằng xi măng. Lựa chọn loại băng tải : Khi thiết kế hệ thống băng tải vận chuyển sản phẩm đến vị trí phân loại có thể lựa chọn một số loại băng tải sau: Tuy nhiên khi chọn loại băng tải nên quan tâm đến trạng thái và mục đích sử dụng của nó theo bảng sau : Loại băng tải Tải trọng Phạm vi ứng dụng Băng tải dây đai 50m. Băng tải con lăn 30 ÷ 500 kg Vận chuyển chi tiết trên các vệ tinh giữa các nguyên công với khoảng cách <50m. Các loại băng tải xích, băng tải con lăn có ưu điểm là độ ổn định cao khi vận chuyển.Tuy nhiên chúng đòi hỏi kết cấu cơ khí phức tạp, đòi hỏi độ chính xác cao, giá thành khá đắt. Do băng tải dùng trong hệ thống làm nhiệm vụ vận chuyển sản phẩm nên trong mô hình đồ án đã lựa chọn loại băng tải dây đai để mô phỏng cho hệ thống dây chuyền trong nhà máy với những lý do sau đây: - Tải trọng băng tải không quá lớn. - Kết cấu cơ khí không quá phức tạp. - Dễ dàng thiết kế chế tạo. 9
- - Có thể dễ dàng hiệu chỉnh băng tải. Tuy nhiên loại băng tải này cũng có 1 vài nhược điểm như độ chính xác khi vận chuyển không cao, đôi lúc băng tải hoạt động không ổn định do nhiều yếu tố: nhiệt độ môi trường ảnh hưởng tới con lăn, độ ma sát của dây đai giảm qua thời gian Hình 2.2 Băng tải dây đai 10
- CHƢƠNG 2 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F877A 2.1 PIC LÀ GÌ? PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ. PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển này sau đó được hãng Microchip nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. Cách phân lọai PIC theo chữ cái: Các họ PIC xxCxxx được đưa vào một nhóm, gọi là OPT (One Time Programmable) : chúng ta chỉ có thể nạp chương trình cho nó một lần duy nhất. Nhóm thứ hai có chữ F hoặc LF:chúng ta gọi nhóm này là nhóm Flash ,nhóm này cho phép ghi xóa nhiều lần bằng các mạch điện tử thông thường . Cách phân lọai PIC theo hai con số đầu tiên của sản phẩm : -Loại thứ nhất là dòng PIC cơ bản (Base_line), gồm các PIC 12Cxxx, có độ dài lệnh 12 bit -Loại thứ hai là dòng PIC 10F, 12F , 16F, gọi là dòng phổ thông (Mid Range), có độ dài lệnh là 14 bit. -Loại thứ ba là dóng PIC 18F (High End) , độ dài lệnh là 16 bit. PIC 16F877A là dòng PIC phổ biến nhất , đủ mạnh về tính năng, bộ nhớ đủ cho các ứng dụng thông thường . 11
- 2.2 VI ĐIỀU KHIỂN PIC 16F877A 2.2.1 Tổ chức phần cứng : Tổ chức phần cứng của một vi điều khiển có thể thiết kế theo một trong hai kiến trúc: Harvard và Von Neumann.Tổ chức phần cứng của PIC16F877A được thết kế theo kiến trúc Harvard. Hình 2.1: Kiến trúc Harvard và Von Neumann. Trên hình vẽ ta thấy, ở cấu trúc Von Neumann thì bộ nhớ chương trình và bộ nhớ dữ liệu nằm chung trong một bộ nhớ. CPU truy cập vào hai bộ nhớ này thông qua một bus, vì vậy một thời điểm CPU chỉ có thể truy cập vào một trong hai bộ nhớ. Đối với cấu trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình được tổ chức riêng. Do đó, cùng một thời điểm, CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lý của vi điều khiển sẽ nhanh hơn. Vì PIC16F877A được thiết kế với kiến trúc Harvard nên nó có tập lệnh rút gọn RISC (reduced instruction set computer) nên tập lệnh của PIC16F877A không có lệnh nhân, chia mà phép nhân và chia thay bằng thực hiện liên tiếp nhiều phép cộng và trừ do đó chỉ cần lệnh ADD và lệnh SUBB là đủ. 12
- 2.2.2 Tính năng cơ bản của PIC16F877A: Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256byte. Số PORT I/O là 5 với 33 pin I/O. Các đặc tính ngoại vi bao gồm các khối chức năng sau: Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit. Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/so sánh/điều chế độ rông xung. Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài. * Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit. Hai bộ so sánh. Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần. Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân. 13
- Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã chương trình. Chế độ Sleep. Có thể hoạt động với nhiều dạng Oscillator khác nhau. So sánh PIC với 8051: Chức năng AT9C51 PIC16F877A Bộ nhớ chương trình 4KB 8K x 14bit Bộ nhớ dữ liệu 128B RAM 368B RAM, 256B EEPROM Port vào/ra 4 port, với 32 5 port, với 33 chân chân vào/ra vào/ra Bộ định thời 2 bộ 16 bit. 2 bộ 8 bit, 1 bộ 16 bit. Mạch giao tiếp 1 bộ UART 1 bộ USART 1 bộ giao tiếp song song PSP 1 bộ giao tiếp nối tiếp đồng bộ SSP. Capture/sosánh/PWM Không có 2 bộ. Chuyển đổi tương tự Không có 8 bộ 10 bit. sang số Tập lệnh 53 lệnh 35 lệnh Ngắt 5 nguồn tạo ngắt 15 nguồn tạo ngắt có ưu tiên. không ưu tiên. 14
- 2.2.3. Sơ đồ khối và tính năng các chân PIC16F877A: 2.2.3.1.Sơ đồ khối : Hình 2.2: Sơ đồ khối PIC16F877A Như đã nói ở trên , vi điều khiển PIC có kiến trúc Harvard, trong đó CPU truy cập chương trình và dữ liệu được trên hai bus riêng biệt, nên làm tăng đáng kể băng thông so với kiến trúc Von Neumann trong đó CPU truy cập chương trình và dữ liệu trên cùng một bus. 15
- Việc tách riêng bộ nhớ chương trình và bộ nhớ dữ liệu cho phép số bit của từ lệnh có thể khác với số bit của dữ liệu. Ở PIC 16F877A, từ lệnh dài 14 bit , từ dữ liệu 8 bit. PIC 16F877A chứa một bộ ALU 8 bit và thanh ghi làm việc WR (working register). ALU là đơn vị tính toán số học và logic, nó thực hiên các phép tình số và đại số Boole trên thanh ghi làm việc WR và các thanh ghi dữ liệu. ALU có thể thực hiện các phép cộng, trừ, dịch bit và các phép toán logic 2.2.3.2. Sơ đồ chân PIC16F877A: Hình2.3 Sơ đồ chân PIC16F877A 2.2.3.3. Tính năng các chân : 16
- Tên Chân Lo Mô tả chức năng ại OSC1/CLKI 13 I Dao động tinh thể lối vào dao động ngoài OSC2/CLKO 14 O Dao động tinh thể hoặc lối ra xung nhịp MCLR/Vpp 1 I/P Lối vào reset. Lối vào điện áp nạp trình Vpp RA0/AN0 2 I/O Vào/ ra số. Lối vào analog 0 RA1/AN1 3 I/O Vào/ ra số. Lối vào analog 1 Vào ra số. lối vào analog 2. RA2/AN2/V- 4 I/O Lối vào điện áp chuẩn V-ref reff/CVRef của ADC. Lối ra Vref so sánh RA3/AN3/V+Ref 5 I/O Vào/ ra số. Lối vào analog 3. Lối vào điện áp chuẩn V-ref của ADC 6 I/O Vào/ra số cực máng ngỏ. Lối RA4/TOCKI/C1OUT vào xung ngoài cho timer. Lối ra bộ so sánh 1 7 I/O Vào/ra số. lối vào chọn SOI. RA5/SS/AN4/C2OUT Lối vào analog 4. lối ra bộ so sánh 2 17
- RB0/INT 33 I/O Vào/ra số. Lối vào ngắt ngoài. RB1 34 I/O Vào/ra số. RB2 35 I/O Vào/ra số. RB3/PGM 36 I/O Vào/ra số. Nạp trình LVP RB4 37 I/O Vào/ra số RB5 38 I/O Vào/ra số RB6 39 I/O Vào/ra số. Xung nhịp nạp trình ICSP RB7 40 I/O Vào/ra số. Dữ nạp trình ICSP 15 I/O Vào/ra số. Tạo dao động timer. RC0/T1OSO/T1CKI Xung nhịp ngoài cho timer 1 RC1/T1OSI/CCP2 16 I/O Vào/ra số. Tạo timer1. Lối vào Capture. Lối ra Compare2. Lối ra PWM2 RC2/CCP1 17 I/O Vào/ra số. Lối vào Vào/ra số Capture1. Lối ra PWM1 RC3/SCK/SCL 18 I/O Vào/ra số. Nhịp đồng bộ choSPI và I2C RC4/SDI/SDA 23 I/O Vào/ra số. Vào dữ liệu SPI. Vào/ra dữ liệu I2C 18
- RC5/SDO 24 I/O Vào/ra số. Ra dữ liệu SPI RC6/TX/CK 25 I/O Vào/ra số. Cổng truyền thông không đồng bộ. Xung nhịp truyền đồng bộ RC7/RX/DT 26 I/O Vào/ra số. Cổng nhận không đồng bộ. Dữ liệu đồng bộ RD0 19 I/O Vào/ra số. Cổng song song tớ RD1 20 I/O Vào/ra số. Cổng song song tớ RD2 21 I/O Vào/ra số. Cổng song song tớ RD3 22 I/O Vào/ra số. Cổng song song tớ RD4 27 I/O Vào/ra số. Cổng song song tớ RD5 28 I/O Vào/ra số. Cổng song song tớ RD6 29 I/O Vào/ra số. Cổng song song tớ RD7 30 I/O Vào/ra sô. Cổng song song tớ RE0/RD/AN5 7 I/O Vào/ra số. Điều khiển RD cổng song song RE1/WR/AN6 8 I/O Vào/ra số. Điều khiển WR cổng song song RE2/CS/AN7 9 I/O Vào/ra số. Điều khiển CS cổng song song Vss 12,31 I/O Đất chung cho lối vàp/ra và analog 19
- Vdd 11,32 I/O Cấp nguồn dương 2.2.4 Tổ chức bộ nhớ. Có 3 bộ nhớ riêng biệt trong vi điều khiển PIC16F877A gồm: Bộ nhớ dữ liệu, bộ nhớ chương trình , bộ nhớ EEPROM. 2.2.4.1 Bộ nhớ chƣơng trình. Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3) . Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit). Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình. 2.2.4.2 Bộ nhớ dữ liệu. Bộ nhớ dữ liệu được chia thành 4 bank, mỗi bank có dung lượng 128 byte RAM tĩnh. Mỗi bank bao gồm các thanh ghi có chức năng đặc biệt SFR (Special Function Register) nằm ở vùng địa chỉ thấp, và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ cao. Các thanh ghi SFR thường xuyên được sử dụng như STATUS, INTCON, FSR được bố trí trên tất cả các bank giúp thuận tiện trong quá trình truy xuất. 20
- Hình 2.4: Sơ đồ tổ chức bộ nhớ dữ liệu PIC16F877A . Stack : Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùng nhớ đặc biệt không cho phép đọc hay ghi. Khi lệnh CALL được thực hiện hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình PC tự động được vi điều khiển cất 21
- vào trong stack. Khi một trong các lệnh RETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trình định trước. Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ và hoạt động theo cơ chế xoay vòng. Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị cất vào Stack lần thứ 2. 2.2.4.3 Bộ nhớ EEPROM: Một bộ nhớ dữ liệu đặc biệt kiểu EEPROM dung lương 256 byte được tích hợp trong PIC 16F877A và được xem như thiết bị ngoại vi được nối vào bus dữ liệu, bộ nhớ này có thể ghi đọc trong quá trình hoạt động dưới sự điều khiển của chương trình. Bộ nhớ EEPROM thường dùng các lưu trữ các chương trình không bị thay đổi như các hằng chuẩn, các dữ liệu của người sử dụng. và không bị mất đi khi ngắt nguồn nuôi. 2.2.5 Các cổng xuất nhập: Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài. Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài. Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE. 22
- Hình 2.5: Cấu trúc cơ bản của chân port. a. Port A. PORTA bao gồm 6 I/O pin ( RA0 –RA5) . Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA Chân RA4 dùng chung với lối vào xung nhịp cho timer0 khi dùng bộ đếm xung từ bên ngoài. Các chân khác của cổng A được ghép lối vào của các bộ so sánh tương tự và bộ biến đổi ADC 8 kênh . b. Port B. PORTB (RPB) gồm 8 pin I/O ( RB0 – RB7). Thanh ghi điều khiển xuất nhập tương ứng là TRISB. Bên cạnh đó một số chân của PORTB còn được sử 23
- dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0. PORTB còn được tích hợp chức năng điện trở kéo lên (20k ohm) được điều khiển bởi chương trình. Chân RB0 có thể lựa chọn là lối vào của ngắt ngoài Extint. Có 3 chân của cổng B được ghép lối với chức năng ICSP là RB6, RB7, RB3 tương ứng với lối vào PGC, PGD, LVP khi nạp trình.Lối vào RB4 và RB7 làm phát sinh ngắt RBIF khi thay đổi trạng thái khi các chân này định nghĩa là các lối vào. Trạng thái hiện tại của lối vào này được so sánh với trạng thái được chốt lại tại lần đọc trước đó. Khi có sự khác nhau thì cờ ngắt RBIF được lập. c. Port C. PORTC (RPC) gồm 8 pin I/O (RC0 – RC7). Thanh ghi điều khiển xuất nhập tương ứng là TRISC. Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART. d. Port D. PORTD (RPD) gồm 8 chân I/O ( RD0 – RD7), thanh ghi điều khiển xuất nhập tương ứng là TRISD. PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port). e. Port E. Port E có 3 chân RE0 , RE1 , RE2 có thể được cấu hình là các chân xuất nhập. Các chân của PORTE có ngõ vào analog , tại chế độ này khi đọc trạng thái các chân port E sẽ cho ta giá trị 0 . Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP. 24
- 2.2.6 Các chân dao động (OSC1-OSC2), Reset Đây là 2 chân cung cấp dao động cho PIC 16F877A ,có thể họat động trong 4 chế độ sau: •LP (Low Power Crystal) bộ dao động thạch anh công suất thấp, tần số < 200kHz. •XT ( Crystal/ Resonator) bộ dao động thạch anh chuẩn, tần số 1MHz đến 4 MHz. •HS ( High Speed Crystal/ Resonator) bộ dao động thạch anh tần số cao, tần số 4MHz đến 20 MHz. •RC ( Resistor/Capacitor)bộ dao động đơn giản dùng điện và tụ điện. Hinh 2.6: Sơ đồ chân dao động OSC1-OSC2 Tín hiệu RESET. •Reset khi vi điều khiển mới được cấp nguồn POR (Power on Reset) •Lối vào MCRL Master Clear trong chế độ hoạt động bình thường. •Lối vào MCRL Master Clear trong chế độ nghỉ SLEEP. •Bộ đếm WDT tràn tạo ra tín hiệu Reset khi hoạt động bình thường. •Bộ đếm WDT tràn tạo ra tín hiệu Wake-up trong chế độ SLEEP. •Khối giám sát điện áp nguồn tạo tín hiệu Reset khi nguồn cấp sụt quá ngưỡng. 25
- Hinh 2.7: Khối điện áp nguồn tạo tín hiệu reset 2.2.7 Các bộ định thời . 2.2.7.1 Timer 0. •Bộ đếm 8 bit •Ghi/đọc được. •Có bộ chia 8 bit lập trình được. •Chọn xung nhịp bên ngoài hoặc bên trong. •Sinh ngắt TOIF khi tràn chuyền từ FFh→ 00h. •Chọn sườn xung khi lấy xung nhịp từ bên ngoài. Timer0 dùng làm bộ đếm xung nhịp của vi điều khiển vể tạo ra một bộ đếm thời gian. Chế độ đếm thời gian được chọn bằng cách đặt bit T0CS = 0 (bit OPTION ). Trong các chế độ đếm thời gian, thanh ghi TMR0 tăng một đơn vị sau mỗi chu kỳ máy. Thanh ghỉ TMR0 có thể được ghi đọc trong chương trình để xác lập hoặc lấy giá trị hiện thời của timer0. 26
- Hình 2.8: Sơ đồ khối Timer0 Timer0 dùng để đếm các xung từ bên ngoài cấp vào chân RA4. Chế độ đếm xung được chọn bằng cách đặt T0CS = 1. Trong chế độ này thanh ghi Timer0 tăng một đơn vị sau mỗi sườn lên hoặc sườn xuống tùy thuộc vào trạng thái của bit T0SE. Bộ chia trước được dùng chung cho hai khối watchdog và Timer0. Việc gắn bộ chia trước cho khối nào được chọn bằng bít PSA(OPTION ). Hệ số chia phụ thuộc giá trị của bit PS2:PS1:PS0 của thanh ghi OPTION. Ngắt timer0 xảy ra khi thanh ghi TMR0 tràn, chuyển từ FFh→00h. Sự tràn này sẽ đặt bít T0IF = 1. Ngắt T0IF có thể che bằng bit T0IE. Cờ T0IF phải được xóa bằng phần mềm. 2.2.7.2 Timer 1. Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi (TMR1H:TMR1L). Cờ ngắt của Timer1 là bit TMR1IF (PIR1 ). Bit điều khiển của Timer1 sẽ là TMR1IE (PIE ). Tương tự như Timer0, 27
- Timer1 cũng có hai chế độ hoạt động: chế độ định thời (timer) với xung kích là xung clock của oscillator (tần số của timer bằng ¼ tần số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài thông qua chân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên). Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter) được điều khiển bởi bit TMR1CS (T1CON ). Sau đây là sơ đồ khối của Timer1: Hình 2.9: Sơ đồ khối của Timer1 2.2.7.3 Timer 2. Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler và postscaler. Thanh ghi chứa giá trị đếm của Timer2 là TMR2. Bit cho phép ngắt Timer2 tác động là TMR2ON (T2CON ). Cờ ngắt của Timer2 là bit TMR2IF (PIR1 ). Xung ngõ vào (tần số bằng ¼ tần số oscillator) được đưa qua bộ chia tần số prescaler 4 bit (với các tỉ số chia tần số là 1:1, 1:4 hoặc 1:16 và được điều khiển bởi các bit T2CKPS1:T2CKPS0 (T2CON )). Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2 còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP. 28
- Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khi Timer1 là bộ đếm 16 bit (giá trị đếm tối đa là FFFFh). Timer0, Timer1 và Timer2 đều có hai chế độ hoạt động là timer và counter. Xung clock có tần số bằng ¼ tần số của oscillator. Xung tác động lên Timer0 được hỗ trợ bởi prescaler và có thể được thiết lập ở nhiều chế độ khác nhau (tần số tác động, cạnh tác động) trong khi các thông số của xung tác động lên Timer1 là cố định. Timer2 được hỗ trợ bởi hai bộ chia tần số prescaler và postcaler độc lập, tuy nhiên cạnh tác động vẫn được cố định là cạnh lên. Timer1 có quan hệ với khối CCP, trong khi Timer2 được kết nối với khối SSP. Hình 2.10: Sơ đồ khối của Timer 2 2.2.8 ADC: ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự và số. PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0). Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩn được xác lập trên hai chân RA2 và RA3. Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL. Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm: 29
- -INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bit GIE, PEIE). -PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF). -PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE). -ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kết quả chuyển đổi -ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số cho bộ chuyển đổi -PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vào analog ở PORTA. -PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vào analog ở PORTE. Hình 2.11: Khối ADC 2.2.9 Truyền nhận nối tiếp USART Bộ truyền nhận nối tiếp USART (Universal Synchronous Asynchronous Receiver Transmitter) là một trong hai bộ giao tiếp nối tiếp. Có thể sử dụng 30
- bộ giao tiếp này để giao tiếp với các thiết bị ngoại vi, máy tính, vi điều khiển. Các chế độ hoạt động của USART là: - Bất đồng bộ song công (full-duplex). - Đồng bộ_ Master bán song công (half-duplex). - Đồng bộ_ Slave bán song công (half-duplex). Hai chân dùng cho bộ này này RC7/RX/DT và RC6/TX/CK. Muốn sử dụng hai chân này thì phải đặt bit SPEN (RCSTA ) và các bit TRISC . PIC16F877A được tích hợp sẵn bộ tao tốc độ baud BRG (Baud Rate Generator) 8 bit dùng cho USART. Đây là bộ đếm có thể sử dụng cho cả hai chế độ đồng bộ và bất đồng bộ được điều khiển bởi thanh ghi PSBRG. Các thanh ghi liên quan tới quá trình truyền dữ liệu bằng USART: 1. Thanh ghi INTCON (địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép tất cả các ngắt. 2. Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF. 3. Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE. 4. Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (chân RC7/RX/DT và RC6/TX/CK). 5. Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền. 6. Thanh ghi TXSTA (địa chỉ 98h): thanh ghi xác lập thông số cho việc truyền. 7. Thanh ghi SPBRG (địa chỉ 99h): xác định tốc độ baud. 2.2.9.1 USART bất đồng bộ Chế độ truyền này USART hoạt động theo chuẩn NRZ (None-Return-to- Zero), nghĩa là các bit truyền đi sẽ bao gồm 1 bit Start, 8 hay 9 bit dữ liệu (thông thường là 8 bit) và 1 bit Stop. Bit LSB sẽ được truyền đi trước. Các khối truyền và nhận data độc lập với nhau sẽ dùng chung tần số tương ứng với tốc độ baud cho quá trình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc 31
- độ dịch dữ liệu tùy theo giá trị của bit BRGH), và để đảm bảo tính hiệu quả của dữ liệu thì hai khối truyền và nhận phải dùng chung một định dạng dữ liệu. Các thanh ghi liên quan đến quá trình truyền dữ liệu bằng giao diện USART bất đồng bộ: -Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép tất cả các ngắt. -Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF. -Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE. -Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (hai pin RC6/TX/CK và RC7/RX/DT). -Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền. -Thanh ghi TXSTA (địa chỉ 98h): xác lập các thông số cho giao diện. -Thanh ghi SPBRG (địa chỉ 99h): quyết định tốc độ baud. a. USART truyền bất đồng bộ: Thành phần quan trọng nhất của khối truyền dữ liệu là thanh ghi dịch dữ liệu TSR (Transmit Shift Register). Dữ liệu truyền được ghi vào thanh ghi TXREG. Ngay sau khi bit stop của dữ liệu trước được truyền, thanh ghi TSR lấy dữ liệu từ thanh ghi đệm dùng trong quá trình truyền dữ liệu TXREG, thanh ghi TXREG rỗng, cờ hiệu TXIF (PIR1 ) được đặt. Ngắt này được điều khiển bởi bit TXIE (PIE1 ). Cờ hiệu TXIF vẫn được set không phụ thuộc thang thái bit TXIE hay tác động của phần mềm. Không thể xóa TXIF bằng chương trình mà chỉ xóa về 0 khi có dữ liệu mới đưa vào thanh ghi TXREG. 32
- Hình 2.12: Sơ đồ khối của bộ truyền dữ liệu USART. Khi truyền dữ liệu xong, thanh ghi TSR rỗng thì cờ TRMT được set. Bit này chỉ đọc và không tạo ngắt. Thanh ghi TSR không coq trong bộ nhớ dữ liệu và chỉ được điều khiển bởi CPU. Khối truyền dữ liệu chỉ hoạt động khi đặt bit TXEN (TXSTA ). Quá trình truyền dữ liệu chỉ bắt đầu khi dữ liệu được ghi vào thanh ghi TXREG và xung baud được tạo ra. Nếu muốn truyền 9 bit dữ liệu bit TX9 (TXSTA ) phải được set và bit dữ liệu thứ 9 được đưa vào bit TX9D (TXSTA ). Nên ghi bit thứ 9 vào trước khi ghi dữ liệu vào thanh ghi TXREG. Nếu dữ liệu được ghi vào thanh ghi TXREG trước khi ghi bit thứ 9 thì sẽ không gửi được bit thứ 9 vì hoạt động truyền bắt đầu ngay khi dữ liệu được ghi vào thanh ghi TXREG. Các bước cần tiến hành để truyền dữ liệu: 1. Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiển RSBRD và bit điều khiển tốc độ baud BRGH. 2. Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bit SPEN. 3. Set bit TXIE nếu cần sử dụng ngắt. 4. Set bit TX9 nếu sử dụng chế độ truyền 9 bit. 33
- 5. Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng được set). 6. Nếu gửi 9 bit dữ liệu thì ghi bit thứ 9 vào TX9D. 7. Đưa 8 bit dữ liệu vào thanh ghi TXREG. 8. Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. b. USART nhận bất đồng bộ. Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối phục hồi dữ liệu. Khối phục hồi dữ liệu là bộ ghi dịch tốc độ cao và có tần số hoạt động gấp 16 hoặc 64 lần tần số baud. Hình 2.13: Sơ đồ khối của bộ nhận dữ liệu USART. Bit điều khiển cho phép khối nhận dữ liệu là bit CREN (RCSTA ). Trung tâm của khối nhận là thanh ghi RSR (Receive Shift Register). Sau khi nhận bit stop của dữ liệu truyền tới, dữ liệu nhận được trong thanh ghi RSR được đưa vào thanh ghi RCREG, sau đó cờ RCIF (PIR1 ) được set và ngắt có thể được kích hoạt. Bit cờ RCIF là bit chỉ đọc, không thể tác động bởi phần mềm. RCIF chỉ được xóa về 0 khi dữ liệu trong thanh ghi RCREG được đọc và khi đó thanh ghi RCREG rỗng. Thanh ghi RCREG là thanh ghi có bộ đệm 34
- kép (double-buffered register) và hoạt động theo cơ chế FIFO (First In First Out) cho phép nhận 2 byte và byte thứ 3 được đưa vào thanh ghi RSR. Nếu bit stop của byte thứ 3 được nhận mà vẫn còn 2 byte trong RCREG thì cờ báo tràn dữ liệu OERR (RCSTA ) được set, dữ liệu trong thanh ghi RSR sẽ bị mất và quá trình đưa dữ liệu từ thanh ghi RSR vào thanh ghi RCREG sẽ bị gián đoạn Trong trường hợp này, dữ liệu trong thanh ghi RCREG cần được lấy hết trước khi nhận dữ liệu tiếp theo. Bit OERR phải được xóa bằng phần mềm bằng cách xóa và set cờ CREN. Bit FERR (RCSTA ) set để báo lỗi khung dữ liệu nhận tức là không nhận được bit stop. Ở chế độ nhận 9 bit, bit thứ 9 được đưa vào bit RX9D trong thanh ghi RCSTA và bit này cần đọc trước khi đọc 8 bit dữ liệu trong thanh ghi RCREG vì khi đọc thanh ghi RCREG sẽ làm thay đổi giá trị bit RX9D. Các bước cần tiến hành để nhận dữ liệu: Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiển RSBRD và bit điều khiển tốc độ baud BRGH. Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bit SPEN. Set bit RCIE nếu cần sử dụng ngắt. Set bit RX9 nếu sử dụng chế độ truyền 9 bit. Set bit CREN để cho phép truyền dữ liệu (lúc này bit TXIF cũng được set). Sau khi dữ liệu được nhận, cờ RCIF sẽ được set và ngắt được kích hoạt (nếu RCIE được set). Đọc bit thứ 9 trong thanh ghi RCSTA nếu ở chế độ 9 bit dữ liệu. Đọc 8 bit dữ liệu trong thanh ghi RCREG. Nếu có lỗi trong khi truyền nhận, xóa lỗi bằng cách xóa bit CREN. 35
- Nếu sử dụng ngắt nhận thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. 2.2.9.2 USART đồng bộ. USART đồng bộ được kích hoạt bằng cách set bit SYNC và chỉ hoạt động kiểu bán song công (half-duplex) . Cổng giao tiếp vẫn là chân RC7/RX/DT và RC6/TX/CK và được cho phép bởằng cách set bit SPEN. USART đồng bộ có 2 chế độ hoạt động là Master được chọn bằng cách set bit CSRC TXSTA và Slave được chọn bằng cách xóa bit CSRC TXSTA . Điểm khác biệt duy nhất giữa hai chế độ này là ở chế độ Master sẽ lấy xung clock từ bộ tạo xung baud BRG còn chế độ Slave thì lấy xung clock từ bên ngoài qua chân RC6/TX/CK. Các thanh ghi liên quan tới quá trình truyền nhận dữ liệu bằng USART: Thanh ghi INTCON (địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép tất cả các ngắt. Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF. Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE. Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (chân RC7/RX/DT và RC6/TX/CK). Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền. Thanh ghi TXSTA (địa chỉ 98h): thanh ghi xác lập thông số cho việc truyền. Thanh ghi SPBRG (địa chỉ 99h): xác định tốc độ baud. 36
- a. Truyền dữ liệu ở chế độ Master. Trình tự truyền dữ liệu và các thanh ghi, các cờ hiệu giống như chế độ USART truyền bất đồng bộ. Các bước cần tiến hành để truyền dữ liệu: Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiển RSBRD và bit điều khiển tốc độ baud BRGH. Cho chế độ đồng bộ hoạt động bằng cách set bit SYNC và set bit SPEN. Set bit TXIE nếu cần sử dụng ngắt. Set bit TX9 nếu sử dụng chế độ truyền 9 bit. Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng được set). Nếu gửi 9 bit dữ liệu thì ghi bit thứ 9 vào TX9D. Đưa 8 bit dữ liệu vào thanh ghi TXREG. Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. b. Nhận dữ liệu ở chế độ Master. Trình tự nhận dữ liệu và các thanh ghi, các cờ hiệu giống như chế độ USART nhận bất đồng bộ. Các bước cần tiến hành để nhận dữ liệu: Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiển RSBRD và bit điều khiển tốc độ baud BRGH. Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bit SPEN. Xóa bit CREN và SREN. Set bit RCIE nếu cần sử dụng ngắt. Set bit RX9 nếu sử dụng chế độ truyền 9 bit. 37
- Nếu chỉ nhận 1 word dữ liệu thì set bit SREN, nếu nhận 1 chuỗi dữ liệu thì set bit CREN. Sau khi dữ liệu được nhận, cờ RCIF sẽ được set và ngắt được kích hoạt (nếu RCIE được set). Đọc bit thứ 9 trong thanh ghi RCSTA nếu ở chế độ 9 bit dữ liệu. Đọc 8 bit dữ liệu trong thanh ghi RCREG. Nếu có lỗi trong khi truyền nhận, xóa lỗi bằng cách xóa bit CREN. Nếu sử dụng ngắt nhận thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. USART ở chế độ Slave: Chế độ này khác với các chế độ truyền nhận bằng bộ USART ở chỗ là nó vẫn họat động khi PIC16F877A đang ở chế độ ngủ (sleep mode), xung clock nhận từ chân RC6/TX/CK. Truyền dữ liệu ở chế độ Slave: Nếu hai từ được ghi vào trong thanh ghi TXREG trước khi lênh ngủ (sleep) được thực thi thì quá trình sẽ xảy ra như sau: Từ dữ liệu đầu tiên được đưa vào thanh ghi TSR ngay lập tức để truyền đi. Từ dữ liệu thứ hai vẫn nằm trong thanh ghi TXREG. Cờ hiệu TXIF không được set. Sau khi từ đầu tiên đã dịch ra khỏi thanh ghi TSR, thanh ghi TXREG tiếp tục truyền từ thứ hai vào thanh ghi TSR và cờ hiệu TXIF được set. Nếu ngắt truyền được cho phép thì ngắt này sẽ đánh thức vi điều khiển, bộ đếm chương trình chỉ tới địa chỉ chứa chương trình ngắt (0004h). Các bước tiến hành truyền dữ liệu: Set bit SYNC, SPEN, xóa bit CSRC. Xóa bit CREN, SREN. Set bit TXIE nếu sử dụng ngắt. 38
- Nếu định dang dữ liệu là 9 bit thì set bit TX9. Set bit TXEN. Nếu gửi 9 bit dữ liệu thì ghi bit thứ 9 vào TX9D. Đưa 8 bit dữ liệu vào thanh ghi TXREG. Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. Nhận dữ liệu ở chế độ Slave: Ở chế độ này không chịu sự tác động của bit SREN. Khi bit CREN được set trước khi lệnh ngủ được thực thi, một từ vẫn tiếp tục được nhận. Sau đó dữ liệu được đưa từ thanh ghi RSR vào thanh ghi RCREG và bit RCIF được set. Nếu bit RCIE được set, ngắt sẽ được thực thi và vi điều khiển được đánh thức, bộ đếm chương trình chỉ tới địa chỉ chứa chương trình ngắt (0004h) để thực thi ngắt. Các bước tiến hành nhận dữ liệu: Set bit SYNC, SPEN, xóa bit CSRC. Set bit RCIE nếu sử dụng ngắt. Nếu định dang dữ liệu là 9 bit thì set bit RX9. Set bit CREN để bắt đầu nhận dữ liệu. Cờ RCIF được set khi nhận một từ dữ liệu, ngắt có thể được kích hoạt. Nếu gửi 9 bit dữ liệu thì đọc bit thứ 9 ở thanh ghi RCSTA. Đọc 8 bit dữ liệu vào trong ghi RCREG. Nếu có lỗi xảy ra trong khi truyền nhận thì xóa bit CREN để xóa lỗi. Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanh ghi INTCON. 39
- CHƢƠNG 3 THIẾT KẾ XÂY DỰNG MÔ HÌNH 3.1 CÁC PHẦN TỬ SỬ DỤNG TRONG MẠCH 3.1.1 Điện trở Điện trở là một linh kiện điện tử được dùng rất phổ biến trong công nghiệp điện và điện tử, trị số từ 1 ohm tới hàng chục M ohm. 3.1.1.1 Các thông số kĩ thuật chính của điện trở: a. Trị số danh định: Trị số này tính bằng ohm,thường được ghi ngay trên thân điện trở bằng những chữ số hoặc bằng vòng màu.Trị số điện trở có thể từ vài ohm đến vài triệu ohm. b. Công suất danh định: Đó là công suất tiêu tán trên điện trở mà điện trở có thể chịu đựng được trong thời gian dài, không bị quá nóng làm biến đổi hẳn trị số điện trở. Trong công nghiệp,các điện trở được sản xuất có các trị số công suất danh định:1/8w; 1/4w; 1/2w; 1w; 2w; 5w; 7,5w; 10w. Điện trở có công suất tiêu tán lớn thì có kích thước lớn. c. Điện áp làm việc tối đa: Đó là trị số lớn nhất của điện áp một chiều hoặc trị số hiệu dụng của điện áp xoay chiều có thể đặt vào hai đầu điện trở mà điện trở vẫn chịu đựng được và làm việc bình thường. d. Dung sai của điện trở: Dung sai là độ sai số của điện trở. Cấp dung sai thường dùng là ±20%, ±10%, ±5%. Ngoài ra với những điện trở cần dùng trong những mạch yêu cầu 40
- độ chính xác cao như mạch đo lường thì mức sai số nhỏ hơn: từ ±2% đến ±1%. e. Đơn vị: Đơn vị của điện trở là ohm với các bội số: -Kilo ohm = 1000 ohm = 103 ohm -Mega ohm = 1000000 =106 ohm 3.1.1.2 Ứng dụng và bảo quản: a. Ứng dụng: Điện trờ rất phổ biến trong kĩ thuật điện tử nhằm mục đích phân bố lại hiệu điện thế trong mạch điện, hạn chế dòng điện, điều chỉnh điện áp b. Bảo quản: Không dùng vượt quá các trị số danh định và công suất danh định. Tránh các tác dụng hoá học. Để nơi thoáng mát. 3.1.1.3 Phân loại và cấu tạo Người ta thường chia điện trở làm: -Điện trở có trị số không đổi. -Điện trở có trị số biến đổi được,còn gọi là biến trở.Tuỳ theo kết cấu của điện trở mà người ta phân loại. Điện trở than trộn: Điện trở do bột than tán nhỏ trộn với chất cách điện và một thứ keo rồi ép lại thành từng thỏi,hai đầu có dây dẫn ra để hàn chì. Điện trở than phun:(điện trở màng than) Điện trở này gồm một ống bằng sứ,chịu được nhiệt độ cao, người ta tạo màng than lên lỏi sứ này. Người ta gọt lớp than trên theo hình xoăn ốc để tăng độ dài và do đó tăng giá trị điện trở. Sau đó phủ bằng lớp sơn cách điện và in trên giá trị điện trở hai đầu ống có bọc kim loại và có dây dẫn ra để hàn. 41
- Điện trở màng than kim loại: Cũng trên một thân màng sứ.Người ta tạo màng kim loại bằng hợp kim(Niken-Crôm). Điện trở dây quấn: Làm bằng dây hợp kim có điện trở suất cao quấn trên lõi bằng sứ bên ngoài có thể để trần hoặc phủ một lớp sơn cách điện để chóng ẩm, chóng va chạm có thể làm đứt các vòng dây. Trị số điện trở được ghi trên lớp sơn này. Điện trở dây quấn được dùng trong những trường hợp mạch điện có dòng điện lớn đi qua và công suất tiêu tán trên điện trở lớn. 3.1.1.4 Ghép điện trở: Nhiều khi người ta cần dùng một điện trở lớn hơn hay nhỏ hơn điện trở có sẵn, hoặc cần dùng một công suất điện cao hơn, nên phải ghép nhiều điện trở lại bằng những cách sau đây: Ghép nối tiếp: Điện trở chung: bằng tổng các điện trở ghép nối tiếp. Rtổng =R1 +R2 +R3 + Cường độ chung:bằng dòng điện chạy qua mỗi điện trở. I =I1 = I2 = I3 = Điện thế chung:bằng tổng số điện thế ở hai đầu mỗi điện trở. U=U1 + U2 + U3 Công suất chung: bằng tổng số công suất của các điện trở. P=P1 + P2 + P3 42
- Ghép song song: R1 R2 Rn Cường độ chung:bằng tổng số cường độ các điện trở. I =I1 + I2 + I3 + Điện thế chung:bằng điện thế đo ở hai đầu mỗi điện trở. U =U1 = U2 = U3 = Công suất chung: bằng tổng số công suất của các điện trở nhóm. P=P1 + P2 + P3 3.1.2.Tụ điện Tụ điện là một linh kiện điện tử được dùng khá phổ biến biến trong công nghiệp điện và điện tử. Tụ điện dùng để chứa điện năng với hình thức điện tích bằng cách nạp điện vào.Điện tích có thể đổi thành dòng điện bằng cách xã điện ra. Sự nạp và xã điện được thực hiện trong một thời gian tức khắc. Theo nguyên tắc, một tụ điện gồm có hai má(phiến) bằng kim loại song song thân cách nhau bằng một chất cách điện gọi là điện môi. 3.1.2.1 Thông số kỹ thuật a. Điện dung danh định Là giá trị ghi trên thân tụ bằng chữ số hoặc bằng màu. b. Điện áp danh định Là điện áp tối đa cho phép áp dụng ở hai đầu tụ điện.Vượt qua trị số này tụ bị hư. Thường điện thế này ghi trên thân tụ. c. Điện trở cách điện 43
- Trị số này biểu thị chất liệu của chất điện môi và cũng là biểu thị dòng điện rĩ qua tụ điện. d. Đơn vị Đơn vị điện dung là Farad (F) Farad là đơn vị rất lớn nên thường ta dùng các ước số sau: -Micro Farad =1/1000000 F =10-6 F -Nano Farad =1/1000 µF = 10-9 F -Pico Farad =1/1000000 µF = 10-12 F 3.1.2.2 Phân loại và cấu tạo a. Phân loại Thường người ta phân loại tụ điện theo chất điện môi dùng trong tụ điện. Tụ điện có điện dung cố định: -Tụ sứ là tụ điện có điện môi làm bằng sứ. -Tu mica là tụ điện có điện môi làm bằng mica. -Tu giấy là tụ điện có điện môi làm bằng giấy. -Tụ hoá là tụ điện có điện môi làm bằng chất hoá học. Tụ điện có điện dung biến đổi: -Tụ biến đổi. -Tụ nửa biến đổi. b. Cấu tạo: Tụ sứ: Ký hiệu: C Trên một miếng sứ đặc biệt hình vuông hay hình tròn dẹp và mỏng như chiếc khuy áo làm chất điện môi, ở hai bên mặt có tráng kim loại bạc, hình thành hai má của tụ điện.Trị số của tụ điện vào khoảng từ vài pF đến vài chục nghìn pF. Tụ này thường dùng ở mạch có tần số cao. 44
- Tụ giấy: Gồm có hai lá kim loại đặt xen kẽ giữa hai bản giấy dùng làm chất cách điện và cuộn tròn thành một ống. Ở hai đầu cuộn dây có dây dẫn nối với lá kim loại đưa ra để hàn tụ này có thể có vỏ bọc bằng kim loại hay ống thuỷ tinh, ở hai đầu có đổ nhựa bọc kín. Tụ này có ưu điểm là tuy kích thước nhỏ nhưng có điện dung lớn. Khuyết điểm của tụ là rò điện lớn, dễ bị chập. Tụ mica: C Tụ gồm những lá kim loại đặt xen kẽ với những lá mica dùng làm điện môi. Tụ mica co tính năng tốt hơn tụ giấy nhưng đắt hơn. Tụ hoá: Loại tụ này dùng một dung dịch hoá học đặt giữa hai lá bằng nhôm làm hai cực của tụ. Khi có điện áp một chiều đặt giữa hai lá thì sinh ra một lớp oxit nhôm mỏng làm chất điện môi. Khi dùng tụ hoá cần chú ý dấu các cực âm dương theo đúng cực tính của điện áp. 45
- 3.1.3 Diode 3.1.3.1 Nối P-N: Chất bán dẫn P chất bán dẫn N Lỗ trống điện tử Hình 3.1: Diode nối kiểu P-N. Nối P-N gồm hai miền bán dẫn loại P và loại N tiếp xúc nhau trong cùng một tinh thể. Trước khi tiếp xúc hai miền P-N đều ở trạng thái trung hoà điện. Khi tiếp xúc nhau hiện tượng khuyếch tán xảy ra, theo đó điện tử ở chất bán dẫn N qua mặt nối và tái hợp với lỗ trống, ngược lại một số lỗ trống ở chất bán dẫn P qua mặt nối và tái hợp với điện tử. Sự khuyếch tán đến một lúc thì ngưng lại bởi vì điện tích dương nay không cho lỗ trống khuyếch tán qua mặt nối vào chất bán dẫn N và điện tích âm nay không cho điện tử khuyếch tán qua mặt nối vào chất bán dẫn P. Sự phân bố điện tích hai bên mối nối tạo thành một điện thế gọi là rào điện thế và vùng này không có hạt dẫn điện gọi là vùng hiếm hay vùng điện tích không gian. 46
- * Đặc tuyến Von-Ampere của tiếp xúc P-N: I Hình 3.2: Đặc tuyến von-ampere cua tiếp xuc P-N. 3.1.3.2 Các loại Diode: Khi thêm hai mặt tiếp xúc kim loại gắn liền với dây ra, ta được một diode bán dẫn. a. Diode chỉnh lưu: Cấu tạo: là tiếp giáp P-N Hinh 3.3: Các loại Diode. Ký hiệu: Anod Catod 47
- Công dụng: Dùng để đổi điện xoay chiều, thường là 50Hz, 60Hz sang điện một chiều. Diode chỉnh lưu chủ yếu là loại Silicium. * Hai đặc tính cơ bản của Diode chỉnh lưu Dòng thuận tối đa: Chịu được dòng từ vài trăm mA đến loại công suất cao chịu được vài trăm Ampere. Điện thế ngược tối đa: Nếu chúng ta áp dụng một điện thế ngược trên điện thế ngược tối đa diode sẽ dẫn điện theo chiều ngược( diode bị hỏng ). Diode được chế tạo có điện thế ngược tối đa từ vài chục volt đến vài nghìn volt. b. Diode tách sóng Cũng làm nhiệm vụ như diode chỉnh lưu nhưng chủ yếu là với tín hiệu biên độ nhỏ và ở tần số cao hơn. Diode tách sóng có thể là loại Si hoặc Ge. Loại Ge được dùng nhiều vì điện thế ngưỡng VT của nó nhỏ hơn diode Si. c. Diode Zener: Cấu tạo: Khi tăng điện thế ngược lên đến trị số VZ làm cho các nối hoá trị của chất bán dẫn bị phá vỡ và dòng điện nghịch tăng lên rất nhanh và có trị số lớn. Điện thế VZ được gọi là điện thế zener. Ký hiệu: Anod Catod Công dụng: Dùng cho mạch ổn định điện thế . Các thông chủ yếu của Diode Zener là : Điện áp ổn định Vz Dòng điện làm việc Iz và dòng điện làm việc lớn nhất cho phép Iz max. Công suất tổn hao Pz=Vz.Izmax. 48
- Điện áp ngang qua tải được cố định khi Vi hoặc RL thay đổi. Vi cố định, RL thay đổi . RL cố định Vi thay đổi. d. Diode biến dung : Cấu tạo: Cũng là diode ứng dụng tính phân cực nghịch của nối P-N. Điện dung của tiếp giáp P-N giảm khi điện áp phân cực tăng lên và điện dung này tăng khi điện áp phân cực nghịch nhỏ đi.Người ta lợi dụng đặc tính đó để chế tạo ra diode biến dung. Ký hiệu: Anod Catod Công dụng: Được dùng như một tụ điện thay đổi trong các mạch cộng hưởng. e. Diode phát quang :(LED đơn) Diode phát quang là loại diode bán dẫn có khả năng biến đổi điện năng sang quang năng. Cấu tạo: Nguyên tử khi nhận được năng lượng sẽ phóng thích điện tử, ngược lại sự tái hợp của điện tử và lỗ trống sẽ phát sinh năng lượng. Ký hiệu: 49
- Đặc tuyến volt – ampere của led như sau: I(A) = 4 = 3 = 2 = 1 = 0 U(V) Hình 3.4 : Đăc tuyến volt-ampere diode phát quang. Công dụng: Led thường được dùng trong các mạch hiển thị.Led có dòng điện làm việc từ 10mA đến 20mA, điện áp rơi ngang qua Led khi đã dẫn điện khoảng từ 1,7V đến 2,4V. 3.1.4 Led 7 đoạn 3.1.4.1 Ký hiệu: U? 3 7 6 a 4 b VCC 2 c 1 d 9 e 10 f 5 g 8 h VCC Led 7 đoạn là loại chỉ báo thông dụng. Led 7 đoạn gồm co 7 thanh tên a, b, c, d, e, f, g sắp theo hình số tám như hình vẽ ngoài ra còn có một chấm sáng phụ để chỉ dấu phẩy thập phân. Tuỳ theo tổ hợp các đoạn sáng mà ta có các 50
- chữ và số khác nhau. Led 7 đoạn được điều khiển bằng các loại IC giải mã như IC7447, 7448 họ Logic hay 4511, 4513 họ CMOS. 3.1.4.2 Về phƣơng diện mạch, Led 7 đoạn có hai loại: -Loại Anod chung. -Loại Catod chung. Hình 3.5: Cấu tạo của led 7 đoạn. Các điện trở R dùng để giới hạn dòng qua led. 3.1.5 Transistor Cấu tạo và ký hiệu: Transistor gồm hai mối nối P-N có chung một chất bán dẫn Silicium. Các cực ra được lấy từ ba vùng và được gọi là cực nền (Base viết tắt là B ), cực phát ( Emitter viết tắt là E ), cực thu (Collector viết tắt là C). 3.1.5.1 Transistor PNP Hai mối nối P-N có chung vùng N tạo nên một transistor PNP. Transistor PNP có muỗi tên cực phát hướng vào cực nền 51
- *Ký hiệu: 3.1.5.2 Transistor NPN: Hai mối nối P-N có chung vùng P tạo nên một transistor NPN. Transistor NPN có muỗi tên cực phát hướng ra ngoài. Ký hiệu: Ba cách mắc mạch Transistor: 1.Mắc cực phát chung:( Common-Emitter viết tắt là C-E ) 15v 18k 1k Cv 3,6k 240 Ce Uv= 10mVpp 52
- 2.Mắc cực nền chung:( Common-Base viết tắt là C-B ) 6V 12V 3,3k 3,3k Cv Ce Uv=10Vpp 33k 3.Mắc cực thu chung:( Common-Collector viết tắt là C-C ) 15v 4.7k Cv Ce 5.6k 1k 10k Uv= 1Vpp 3.1.6 IC 74LS247 SN74LS247 là một BCD-to-Seven-Segment Decoder / Drivers. LS247 Các composes và với đuôi. LS247 có hoạt động thấp đầu ra cho các ổ đĩa trực tiếp của chỉ số. LS247 có một bài kiểm tra đầu vào đèn và có gợn full-blanking đầu vào / đầu ra điều khiển. Một hàng đầu tự động và / hoặc dấu-cạnh số không kiểm soát tẩy trống (RBI và RBO) được hợp nhất và là một trọng blanking đầu vào (BI) được chứa trong đó có thể được sử dụng để kiểm soát cường độ đèn bằng cách đập hoặc ức chế sự kiểm tra của đèn đầu ra có thể được thực hiện bất cứ lúc nào khi BI / RBO nút là ở mức cao. Segment nhận dạng và hiển thị kết quả được hiển thị bên dưới. Hiển thị mẫu cho BCD đầu vào đếm trên 9 là biểu tượng duy nhất để xác thực điều kiện đầu vào. 53
- • Open-Collector Outputs Drive chỉ số trực tiếp • Lamp-Test Cung cấp • Leading / Trailing Zero Suppression 54
- Hình 3.6: Cấu tạo IC74LS247. 55
- Hình 3.7: Sơ đồ chân IC74LS247. 56
- Ghi chú: 1. Các đầu vào blanking (BI) phải được mở hoặc được tổ chức ở mức logic cao khi hàm lượng 0 thông qua 15 là mong muốn. The ripple-blanking đầu vào (RBI) phải được mở hoặc cao nếu tẩy trống của một số không thập phân không mong muốn. 2. Khi một mức độ thấp logic được áp dụng trực tiếp đến đầu vào blanking (BI), tất cả các kết quả phân khúc có giảm không phụ thuộc vào mức độ của bất kỳ đầu vào khác. 3. Khi ripple-blanking đầu vào (RBI) và đầu vào A, B, C và D đang ở mức thấp với các đèn kiểm tra đầu vào cao, tất cả các kết quả phân đoạn đi ra và gợn-blanking đầu ra (RBO) đi vào một mức độ thấp ( đáp ứng điều kiện). 4. Khi tẩy trống đầu vào / đầu ra gợn blanking (BI / RBO) là mở hoặc tổ chức cao và thấp được áp dụng cho đèn đầu vào thử nghiệm, tất cả các kết quả phân khúc đang có trên. BI / RBO là dây và logic phục vụ như là đầu vào blanking (BI) và / hoặc ripple-blanking đầu ra (RBO) 3.1.7 IC ổn áp: Khái niệm : IC ổn áp dùng để cung cấp cho linh kiện cần có độ ổn định ddienj áp cao. Có ha họ IC ổn áp la 78xx và 79xx : Họ 78xx là họ cho độ ổn định điện áp đầu ra là dương với điện áp đầu vào luôn luôn lớn hơn đầu ra 3V. Họ 78xx là họ cho ổn định đi. Còn xx là giá trị điện áp đầu ra nhu 5V,6v Tùy loại IC 78 mà nó ổn áp đầu rà là bao nhiêu. Họ 79xx là họ cho độ ổn định điện áp đầu ra là âm. Còn xx là giá trị điện áp đầu ra nhu 5V,6v Sự kết hợp của 2 IC này sẽ tạo ra được bộ nguồn đối xứng. Về mặt nguyên lí nó hoạt động tương đối giống nhau. 57
- Hinh 3.8 : Sơ đồ chân IC ổn áp 78xx. 78xx gồm 3 chân: IN : Chân nguồn đầu vào GND : Chân nối mass OUT : Chân nguồn đầu ra Trong đó chân 2 là quan trọng nhất chúng ta cần hàn nó xuống Mass 1 cách chắc chắn. Nếu chân này không hàn khéo sẽ làm điện áp ngõ ra tăng vọt rất cao gần bằng điện áp ngõ vào sẽ làm hỏng các chip. 79xx có hoạt động tương tự như 78xx nhưng điện áp đầu ra là âm. 58
- 3.1.8 IC 74HC154 Ic 74HC154 là loại ic dùng để giải mã, giải đa hợp với các tính năng chính: Giải đa hợp có 16 đường ngõ ra Giải mã nhị phân 4 bit đầu vào thành 16 đường ngõ ra tương ứng. Hai ngõ vào cho phép khóa hoặc mở rộng Hình 3.9 : Sơ đồ chân IC 74HC154. Chức năng các chân của IC 74HC154: Chân 24,12(VCC,GND):dùng cấp nguuồn cho IC hoạt động Chân 18,19 (G1,G2):các ngõ vào cho phép IC hoạt động,trong một thời điểm chỉ có 1 IC hoạt động, IC bị cấm hoạt động thì tất cả ngõ ra đều ở mức logic cao (bất chấp ngõ vào ở trạng thái nào). Chân 23,22,21,20 (A,B,C,D):các ngõ vào quy định trạng thái ngõ ra Chân 1-11,13-15 (O0-O15):các ngõ ra của IC Tuỳ thuộc vào trạng thái của các đường địa chỉ mà ta có ngõ ra tương ứng, khi cả hai ngõ vào G1,G2 ở mức logic thấp thì IC hoạt động bình thường, tại một thời điểm chỉ có một ngõ ra ở mức logíc thấp, tất cả các ngõ còn lại đều ở mức logic cao. 59
- Chân 18,19 (G1,G2):các ngõ vào cho phép IC hoạt động,trong một thời điểm chỉ có 1 IC hoạt động, IC bị cấm hoạt động thì tất cả ngõ ra đều ở mức logic cao (bất chấp ngõ vào ở trạng thái nào). Chân 23,22,21,20 (A,B,C,D):các ngõ vào quy định trạng thái ngõ ra Chân 1-11,13-15 (O0-O15):các ngõ ra của IC Tuỳ thuộc vào trạng thái của các đường địa chỉ mà ta có ngõ ra tương ứng, khi cả hai ngõ vào G1,G2 ở mức logic thấp thì IC hoạt động bình thường, tại một thời điểm chỉ có một ngõ ra ở mức logíc thấp, tất cả các ngõ còn lại đều ở mức logic cao. 60
- Sơ đồ bên trong IC 74HC154 Hình 3.10 : Cấu trúc bên trong 74HC154. 61
- Bảng chức năng của IC 74HC154 Hình 3.11 : Bảng sự thật của IC 74HC544. H : HIGH Voltage Level (điện áp mức cao) L :LOW Voltage Level (điện áp mức thấp) x: Don’t care (bất chấp ngõ vào) Nguyên tắc hoạt động của IC 74HC154: Dựa vào bảng trạng thái ta thấy: Chỉ cần chân G1,G2 ỏ trạng thái cấm ( không cho phép IC hoạt động) thì tất cả ngõ ra của IC 74HC154 đều ở mức logic cao bất chấp trạng thái ở các chân địa chỉ (A,B,C,D). Chẳng hạn như khi chân G1 ở mức logic cao thì tất cả các ngõ ra của IC đều ở mức logic cao bất chấp trạng thái của các chân còn lại như G2,A,B,C,D. Và khi chân G2 ở mức cao thì cũng tương tự như thế. Khi các đương địa chỉ vào từ 00H_07H thì mức logic thấp duy nhất ở ngõ ra sẽ di chuyển từ ngõ ra(O0_O7). 62
- 3.1.9 Led thu phát hồng ngoại Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được bằng mắt thường , có bước sóng khoảng từ 0.86μm đến 0.98μm . Tia hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng . Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó được ứng dụng rộng rãi trong công nghiệp.Lượng thông tin có thể đạt 3 mega bit /s. Lượng thông tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với sóng điện từ mà người ta vẫn dùng . Tia hồng ngoại dễ bị hấp thụ , khả năng xuyên thấu kém . Trong điều khiển từ xa bằng tia hồng ngoại , chùm tia hồng ngoại phát đi hẹp , có hướng , do đó khi thu phải đúng hướng. Sóng hồng ngoại có những đặc tính quan trọng giống như ánh sáng ( sự hội tụ qua thấu kính , tiêu cự ). Ánh sáng thường và ánh sáng hồng ngoại khác nhau rất rõ trong sự xuyên suốt qua vật chất . Có những vật chất ta thấy nó dưới một màu xám đục nhưng với ánh sáng hồng ngoại nó trở nên xuyên suốt . Vì vật liệu bán dẫn “trong suốt” đối với ánh sáng hồng ngoại , tia hồng ngoại không bị yếu đi khi nó vượt qua các lớp bán dẫn để đi ra ngoài . 63
- 3.2 SƠ BỘ THIẾT KẾ MẠCH 3.2.1 Sơ đồ khối KHỐI NGUỒN KHỐI CÀI KHỐI ĐẶT ĐỘNG KHỐI BÀN CƠ PHÍM XỬ LÝ PIC 16F877A KHỐI KHỐI CẢM GIẢI BIẾN MÃ KHỐI HIỂN THỊ Hình 3.12 : Sơ đồ khối PIC16F877A. Giải thích sơ lược sơ đồ khối, Mạch gồm 7 khối: - Nguồn: Gồm cc nguồn DC 5V, 24V. - Xử lý: Bộ phận xử lý trung tm điều khiển hoạt động cho tồn mạch. 64
- - Cảm biến: Nhận biết sản phẩm đưa tín hiệu về khối xử lý. - Giải m : Biến đổi ng vo l m BCD xuất ra led 7 đoạn - Hiển thị: Hiển thị sản phẩm đ được nhn biết v xử lý. - Động cơ: Phân loại sản phẩm nhỏ. - Bàn phím hex: Nhập số lượng sản phẩm. 3.2.2 Sơ đồ khối nguồn V1 BRIDGE ~ S3 U5 ~ +VCC T1 1 3 - + IN OUT 5V 24V(ac) SWITCH GND 220V 0 ~ 1000uF/50v 7805 R2 TRANSFORMER 2 470 C1 C2 C3 103 103 - LED -VCC 0 U4 -VCC 1 3 IN OUT GND R4 7824 1000uF,50v 2 2.2k c5 C6 c4 103 103 LED 24V +VCC 0 Hinh 3.13 Khối nguồn cung cấp điến áp 24v và 5v. Đầu tiên từ nguồn 220v qua máy biến áp hạ xuống còn 24v, dòng điện này đi qua chỉnh lưu cầu diode tạo thành dòng điện 1 chiều. Do chỉnh lưu bằng Diode tín hiệu ra còn gợn sóng , để lọc bớt tín hiệu này ta phải mắc thêm tụ lọc 1000uF và 103, tín hiệu này vẫn còn nhấp nháy một phần. Sau đó tín hiệu này được đưa qua ổn áp LM7805 để tạo ra điện áp 5V. Điện áp này cung cấp cho toàn mạch trừ khối động cơ. Còn khối động cơ ta dùng nguồn 24v cũng được lấy từ nguồn trên và qua ổn áp LM7824. Bình thường led phát quang hoat động ở mức 1.8-3v, dòng 10-20mA.Vì điện áp ra đầu ra là 5v với 24v nên ta tính được điện trở hạn dòng cho led là: 65
- Giá trị điện trở lớn nhất : (5-3) / 20mA = 0,1k (24-3)/20mA = 1,05k Giá trị điện trở nhỏ nhất: (5-1,8) / 10mA =0,32k (24-1,8) / /10mA = 2,2k Vì vậy ta chọn :Điện trở R2 từ 0,1k-0,32k :Điện trở R4 từ 1,05-2,2k 3.2.3 Bàn phím số hex +5V KHOI BAN PHIM R22 R23 R24 R25 1 330 2 330 3 330 SP LON 330 B0 4 5 6 SP VUA B1 7 8 9 SP NHO B2 CLR 0 PLAY/PAUSE MODE B3 B4 B5 B6 B7 Hình 3.14 : Sơ đồ bàn phím số Hex. Bàn phím số hex được thành lập từ 16 nút nhấn đơn. Các nút nhấn này được nối vào vi điều khiển. Khi thực hiện kiểm tra phím nhấn, và vấn đề cần thiết là phải chống rung phím và chống nhiễu. Quá trình chống rung phím và chống nhiễu cụ thể ta thực hiện bằng phần mềm ,do thời gian rung bàn phím khoảng 20ms nên quá trình chống rung bằng phần mềm đơn giản là tạo một 66
- thời gian delay đủ lớn để chương trình bỏ qua ảnh hưởng khi rung phím và chống nhiễu. Để phát hiện phím nhấn ta sử dụng phương pháp quét hàng. Khi không nhấn phím thì hàng của bàn phím Hex nối với Vcc thông qua điện trở . Do đó, để thực hiện kiểm tra một phím hàng của bàn phím, nếu hàng =0 thì có nhấn phím còn hàng =1 thì không nhấn phím.ở R nên có mức logic 1. Để nhận biết đươc trạng thái của phím nhấn thì mức logic khi nhấn phím phải là mức logic 0. Mà khi nhấn một phím nào thì tương ứng hàng và cột của bàn phím Hex sẽ kết nối với nhau, ở đây ta chọn điện trở 330 3.2.4 Khối xử lí trung tâm: 5V 5V R6 1K reset pic U6 1 40 2 MCLR/VPP RB7 39 3 RA0 RB6 38 C4 4 RA1 RB5 37 104 5 RA2 RB4 36 6 RA3 RB3 35 7 RA4/T0CLK RB2 34 8 RA5/SS RB1 33 9 RE0/RD RB0/INT 32 C3 10 RE1/WR VDD 31 RE2/CS GND 11 30 12 VDD RD7/PSP7 29 33P 13 GND RD6/PSP6 28 Y1 14 OSC1/CLK RD5/PSP5 27 15 OSC2/CLKOUT RD4/PSP4 4MH 16 RC0/T1OSI/T1CLK C4 17 RC1/T1OSO 26 18 RC2/CCP1 RC7 25 19 RC3/SCK/SCL RC6 24 RD0/PSP0 RC5/SDO 23 33P 20 RC4/SDI/SDA 22 RD1/PSP1 RD3/PSP3 21 RD2/PSP2 PIC16F877A Hình 3.15 : Sơ đồ khối sử lí trung tâm dùng PIC16F877A. Ở đây ta sử dụng vi điều khiển PIC 16F877A làm bộ sử lý trung tâm, chương trình được nạp vào vi điều khiển thông qua chuẩn ICSP qua năm chân MCLR, Vcc, GND, PGD, PGC. Bên cạnh đó ta sử dụng thạch anh 4MHz để 67
- tạo dao động và hai tụ 33p để lọc nhiễu cho thạch anh. Ta còn dùng thêm nút reset để reset cho mạch. Khối giải mã : R15 270 A R16 270 B 7 13 A QA R17 270 1 12 C B QB 2 U2 11 C QC R18 270 6 10 D D QD 4 9 BI/RBO QE R19 270 5 15 E RBI QF 3 14 LT QG R20 270 F 74247 R21 270 G Hình 3.16 : Sơ đồ khối giải mã dùng IC giải mã 74LS247N. Khối này ta sử dụng loại IC giải mã đó là: 74LS247N .SN74LS247N có chức năng là biến đổi ngõ vào là mã BCD thông qua các chân 7, 1, 2, 6 và xuất ra ngõ ra là mã của led 7 đoạn thông qua các chân 13, 12, 11, 10, 9, 15, 14. Ví dụ: như ta cho ngõ vào là: 0010 →0010010 thì led 7 đoạn sẽ là số 2 khối này có 7 điện trở, mổi điện trở được tính như sau: R= 3V/10mA .nên ta chọn R=330 ohm. 68
- 3.2.5 Khối hiển thị +5V R1 Q1 A1015 4K7 R2 Q2 A1015 4K7 1 +5V R3 Q3 A1015 4K7 U3 2 +5V C0 23 1 A 0 R4 Q4 C1 22 2 B 1 A1015 C2 21 3 3 C 2 4K7 C3 20 4 D 3 5 4 R5 Q5 18 6 E1 5 A1015 19 7 E2 6 4K7 8 4 7 +5V 9 8 R6 Q6 10 9 A1015 11 10 4K7 +5V 13 5 11 14 12 R7 Q7 15 13 A1015 16 6 14 4K7 17 15 R8 Q8 74154 A1015 4K7 +5V 7 R9 Q9 A1015 4K7 +5V 8 R10 Q10 A1015 4K7 9 R11 Q11 A1015 4K7 +5V 10 R12 Q12 A1015 0R1 +5V 11 R13 Q13 A1015 0R1 12 R14 Q14 A1015 0R1 13 14 Hình 3.17 : Sơ đồ khối hiển thị. 69
- THUNG1 THUNG2 THUNG3 0 1 2 3 4 9 1 1 1 1 1 A B C D E F G A B C D E F G A B C D E F G NHAP SO SP LON SP VUA SP NHO 1 2 3 4 5 6 7 8 A B C D E F G A B C D E F G A B C D E F G A B C D E F G Hình 3.18 : Màn hình hiển thị led 7 đoạn. Tín hiệu hiển thị ra led 7 đoạn được điểu khiển bởi portC của vi điểu khiển thông qua IC giải mã BCD 74LS247. Tùy theo bảng trạng thái ngõ vào của IC giải mã 74LS247 ta có thể xuất mã các số tương ứng ra led 7 đoạn và muốn cho led nào sáng ta cho transistor A1015 điều khiển led đó ở mức 0. Ở đây ta sử dụng điện trở 4.7k là điện trở hạn dòng, đảm bảo cho transistor A1015 luôn hoat động ở chế độ bão hòa.Ở đây ta sử dụng led anode chung, muốn hiển thị số 1 ta sẽ cho các đoạn led b,c sáng và led a,d,e,f,g tắt bằng cách xuất dữ liệu mã BCD từ portC là 0001 ra qua IC giải mã BCD 74LS247 nối vào các pin tương ứng của led 7 đoạn. Việc điều khiển sáng tắt được thực hiện bằng cách đưa dữ liệu thích hợp vào các pin a,b,c,d,e,f,g và dp của led 7 đoạn. Đó là cách hiển thị theo từng led, muốn nhiều led sáng cùng một lúc thi ta phải mắc song song các led với nhau. Do mắt của con người chỉ lưu được 24 hình ảnh trong một giây, chính vì lẽ đó ta cho led chớp tắt liên tục với tốc độ cực nhanh làm mắt thường không có khả năng phát hiện ra và mắt người sẽ bị 70
- đánh lừa rằng các led dang sáng cùng một lúc. Mỗi led đơn được nối với điện trở có gía trị là R= 3v/10mA. Chọn R=270 ohm. Mỗi transistor A1015 nối với một điện trở có giá trị : Khi trans ở chế độ khếch đại thì Ic=10mA, Ib=0.1mA nên ta tính được R=5/0.001. Chọn R=5.6K 71
- 3.3 LƢU ĐỒ THUẬT GIẢI START CLRF MODE=0 1 =0 PLAY=1 A0=0 A1=0 A2=0 A0=1 A1=1 A2=1 TAM=TAM+1 TAM1=TAM1+1 TAM2=TAM2+1 ĐÁ SP CAO ĐÁ SP VỪA ĐÁ SP THẤP TAM=24 TAM1=24 TAM1=24 TH=TH+1 TH=TH+1 TH2=TH2+1 TẠM=0 TẠM=GT C ĐẶT TẠM=0 TH=100 TH1=100 TH1=100 BÁO TRẠNG BÁO TRẠNG BÁO TRẠNG THÁI THÁI THÁI 2 Hinh 3.19: Lưu đồ thuật giải.(1) 72
- 1 CÀI ĐẶT DL SỐ PLAY=1 A0=0 A1=0 A2=0 A0=1 A1=1 A2=1 TAM=TAM-1 TAM1=TAM1-1 TAM2=TAM2-1 ĐÁ SP CAO ĐÁ SP VỪA ĐÁ SP THẤP TAM=0 TAM1=0 TAM2=0 TH=TH+1 TH=TH+1 TH2=TH2+1 TẠM=GT CĐẶT TẠM=GT C ĐẶT TẠM=GT CĐẶT TH=100 TH1=100 TH2=100 BÁO TRẠNG THÁI BÁO TRẠNG THÁI BÁO TRẠNG THÁI Hình 3.20 : Lưu đồ thuật giải (2) 73
- KẾT LUẬN Trong đề tài “Phân loại sản phẩm theo kích thước” sau khi hoàn thành em đã rút ra một số nhận xét sau: Tính ưu điểm của mạch: Mạch thiết kế nhỏ gọn, hoạt động tốt trong thời gian dài,ít tổn hao năng lượng,mạch góp phần đưa nền công nghiệp phát triển thế hiện tính năng đặc biệt và giúp con người cải tiến kỷ năng trong sản xuất từ đó ứng dụng rộng rãi trong các lĩnh vực khác. Tính nhược điểm: Thiết kế mạch nguyên ly gặp nhiều khó khăn khi tính toán các giá trị linh kiện phải phù hợp để đáp ứng được nhu cầu của mạch,mạch sử dụng led thu phát hồng ngoại nên gặp nhiều khó khăn khi sử dụng trong môi trường ẩm ướt,có nhiều bụi làm mạch hoạt động không hiệu quả cao,led thu phát hồng ngoại phải đặt trên một đường thẳng để nhận tính hiệu dễ dàng nên khi thiết kế và lặp đặt phải chú đến yếu tố này. Do giới hạn về thời gian và kiến thức, chúng em chưa làm được một hệ thống hoàn thiện. Nếu được phát triển, chúng em sẽ hoàn thành mô hình một cách hoàn chỉnh hơn. Qua đó em đã học hỏi, tiếp cận được nhiều vấn đề thực tế hơn, bổ sung những khe hở kiến thức do việc học thiên về lí thuyết để lại. Một lần nữa em xin cảm ơn tất cả thầy cô trong khoa Điện công nghiệp và dân dụng, đặc biệt là sự giúp đỡ chân thành của thầy Th.s: Nguyễn Trọng Thắng người đã hướng dẫn ,giúp đỡ tận tình và tạo mọi điều kiện để em thực hiện tốt đồ án tốt nghiệp này. Em xin chân thành cảm ơn ! Hải Phòng, ngày 24 tháng 10 năm 2011 Sinh viên thực hiện: Vũ Xuân Thành 74
- Tài liệu tham khảo 1. Nguyên Văn Tình(2006), Tài liệu vi điều khiển PIC16F877A, Trường sĩ quan chỉ huy kĩ thuật 2. Th.s Phạm Hùng Kim Khánh(2003), Giáo trình vi điều khiển, Trường đại học kĩ thuật công nghệ 3. Microchip. Datasheet 16F877A 4. www.picvietnam.com 5. www.dientuvietnam.net 6. Một số tài liệu tham khảo trên internet và các luận văn của các anh chị khóa trên. 75