Xây dựng cơ sở lý thuyết và mô hình hệ thống phân loại sản phẩm theo mã Barcode - Đồ án tốt nghiệp

Xây dựng cơ sở lý thuyết và mô hình hệ thống phân loại sản phẩm theo mã barcode. Bài viết khám phá cách thức phân loại hàng hóa hiệu quả, tối ưu quy trình quản lý.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2021

50
6
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỤC LỤC

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VI ĐIỀU KHIỂN PIC

1.1. Giới thiệu pic:

1.1.1. Sơ lược về pic:

1.1.2. Phân loại pic:

1.2. Ngôn ngữ lập trình:

1.3. Sơ đồ vi điều khiển:

1.3.1. Sơ đồ chân vi điều khiển 3 pic 16f877a:

1.4. Đặc điểm pic 16f877a:

1.5. Chức năng các modul của pic 1678ffa:

1.5.1. Modul điều rộng xung (pwm):

1.5.2. Giao tiếp nối tiếp:

2. CHƯƠNG 2: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3. PHẦN 1: LÝ DO CHỌN ĐỀ TÀI MÔ HÌNH PHÂN LOẠI SẢN PHẨM DÙNG BARCODE

4. PHẦN 2: TÌM HIỂU MÃ VẠCH BARCODE

4.1. Lời mở đầu:

4.2. Một số khái niệm cơ bản của máy đọc mã vạch:

4.3. Máy đọc mã vạch laser barcode scan al-3s:

4.4. Cấu trúc mã vạch EAN_8:

5. PHẦN 3: NGHIÊN CỨU BĂNG TẢI

6. PHẦN 4: MÔ HÌNH PHÂN LOẠI SẢN PHẨM DÙNG BARCODE

7. PHẦN 5: KẾT QUẢ VÀ CÁCH PHÂN LOẠI SẢN PHẨM

8. PHẦN 6: HƯỚNG PHÁT TRIỂN

LỜI CẢM ƠN

LỜI NÓI ĐẦU

Tóm tắt

I. Tổng Quan Về Phân Loại Sản Phẩm Dùng Mã Vạch Barcode

Công nghệ mã vạch đã được ứng dụng rộng rãi trên thế giới, bao gồm y tế, thương mại, giao nhận kho vận và kiểm soát. Tại Việt Nam, ứng dụng này mới phát triển mạnh mẽ từ năm 2005. Phân loại sản phẩm bằng mã vạch ngày càng trở nên quan trọng trong quá trình tự động hóa sản xuất và quản lý hàng hóa. Việc này giúp tăng năng suất, giảm thiểu sai sót và tiết kiệm chi phí nhân công. Theo tài liệu gốc, việc xây dựng cơ sở lý thuyết và mô hình phân loại sản phẩm theo mã Barcode là một yêu cầu cấp thiết trong bối cảnh nền sản xuất đa dạng và đầy tiềm năng của Việt Nam. Hệ thống phân loại thông minh và tiện dụng là yếu tố then chốt để đạt được số lượng và sự chính xác cần thiết cho từng loại sản phẩm. Bài viết này sẽ đi sâu vào cơ sở lý thuyết, các phương pháp phân loại sản phẩm bằng mã vạch và ứng dụng thực tế của chúng.

1.1. Giới Thiệu Chung Về Mã Vạch Barcode và Ứng Dụng

Mã vạch (Barcode) là một hình ảnh tập hợp các ký hiệu vạch (đậm, nhạt, dài, ngắn) thành nhóm và định dạng khác nhau, cho phép các máy đọc mã vạch gắn đầu Laser (như máy quét Scanner) nhận và đọc được. Thông qua công nghệ thông tin, các mã vạch này được chuyển hóa và lưu trữ vào cơ sở dữ liệu. Ứng dụng mã vạch trong phân loại sản phẩm giúp tự động hóa quá trình nhận diện, giảm thiểu sai sót do con người và tăng tốc độ phân loại. Trong quản lý kho, logistics, mã vạch đóng vai trò then chốt. "Bằng công nghệ thông tin, các mã vạch này được chuyển hóa và lưu trữ vào ngân hàng Server."

1.2. Tầm Quan Trọng của Phân Loại Sản Phẩm trong Sản Xuất

Phân loại sản phẩm đóng vai trò quan trọng trong việc đảm bảo chất lượng, hiệu quả và khả năng cạnh tranh của doanh nghiệp. Một hệ thống phân loại hiệu quả giúp kiểm soát chất lượng sản phẩm, giảm thiểu hàng lỗi, tối ưu hóa quản lý khologistics. Việc sử dụng mã vạch trong phân loại sản phẩm giúp tự động hóa quá trình này, giảm thiểu sự phụ thuộc vào nhân công và tăng độ chính xác. Trong bối cảnh hàng hóa ngày càng đa dạng, việc phân loại sản phẩm thủ công trở nên khó khăn và tốn kém. Do đó, việc ứng dụng công nghệ mã vạch là một giải pháp tất yếu. "Để phân loại hàng hóa sản phẩm cần có một hệ thống máy móc thông minh và tiện dụng để đạt về số lượng và sự chính xác cho từng loại sản phẩm"

II. Thách Thức và Vấn Đề Trong Phân Loại Sản Phẩm Hiện Nay

Mặc dù phân loại sản phẩm bằng mã vạch mang lại nhiều lợi ích, nhưng cũng tồn tại những thách thức nhất định. Độ chính xác mã vạch, khả năng giải mã mã vạch, và sự tương thích của hệ thống phân loại với cơ sở dữ liệu sản phẩm là những yếu tố quan trọng cần được xem xét. Bên cạnh đó, chi phí đầu tư ban đầu cho scanner mã vạch, phần mềm quản lý mã vạch, và tích hợp hệ thống có thể là một rào cản đối với các doanh nghiệp nhỏ và vừa. Theo kinh nghiệm của tác giả, việc lựa chọn máy đọc mã vạch phù hợp với đặc thù kinh doanh là yếu tố then chốt để đảm bảo hiệu quả của hệ thống phân loại. "Với mỗi một lĩnh vực mỗi một đặc thù kinh doanh thì cần một loại máy đọc mã vạch nhất định.Vì vậy việc lựa chọn một máy đọc mã vạch phù hợp cho mình cũng là điều mà cần phải tìm hiểu."

2.1. Những Hạn Chế Của Việc Phân Loại Thủ Công

Phân loại thủ công dựa vào sức người tiềm ẩn nhiều hạn chế. Độ chính xác không cao do sự mệt mỏi và chủ quan của nhân viên. Tốc độ chậm, không đáp ứng được yêu cầu của sản xuất quy mô lớn. Chi phí nhân công cao và khó kiểm soát. Ngoài ra, việc phân loại thủ công còn tiềm ẩn rủi ro về an toàn lao động. Do đó, việc tự động hóa quá trình phân loại là một giải pháp hiệu quả để khắc phục những hạn chế này.

2.2. Các Yếu Tố Ảnh Hưởng Đến Hiệu Quả Đọc Mã Vạch

Nhiều yếu tố có thể ảnh hưởng đến hiệu quả đọc mã vạch. Chất lượng mã vạch (độ tương phản, độ phân giải, v.v.), loại scanner mã vạch, khoảng cách và góc quét, điều kiện ánh sáng, và tình trạng bề mặt sản phẩm (bụi bẩn, trầy xước) đều có thể ảnh hưởng đến khả năng giải mã mã vạch. Để đảm bảo hiệu quả đọc mã vạch tốt nhất, cần lựa chọn scanner mã vạch phù hợp, đảm bảo chất lượng mã vạch, và duy trì môi trường làm việc sạch sẽ. Việc lựa chọn máy đọc mã vạch phụ thuộc nhiều vào yêu cầu của từng doanh nghiệp

III. Phân Loại Sản Phẩm Các Phương Pháp Đọc Giải Mã Mã Vạch

Có nhiều phương pháp đọc và giải mã mã vạch, tùy thuộc vào loại mã vạch, loại scanner, và yêu cầu của ứng dụng. Các phương pháp phổ biến bao gồm sử dụng máy quét laser, máy quét CCD, và máy quét ảnh. Mỗi phương pháp có ưu và nhược điểm riêng về tốc độ, độ chính xác, và khả năng đọc mã vạch trên các bề mặt khác nhau. Việc lựa chọn phương pháp phù hợp là yếu tố quan trọng để đảm bảo hiệu quả của hệ thống phân loại. Để đọc mã vạch hiệu quả, đòi hỏi người sử dụng phải nắm rõ nguyên lý hoạt động và các thông số kỹ thuật của thiết bị đọc mã vạch.

3.1. Nguyên Lý Hoạt Động của Máy Quét Mã Vạch Laser

Máy quét mã vạch laser sử dụng tia laser để quét qua mã vạch. Ánh sáng laser phản xạ từ các vạch đen và trắng được thu lại bởi một cảm biến quang. Cảm biến quang chuyển đổi ánh sáng phản xạ thành tín hiệu điện, sau đó được giải mã thành dữ liệu. Máy quét laser có ưu điểm về tốc độ và độ chính xác cao, nhưng có thể gặp khó khăn khi đọc mã vạch trên các bề mặt cong hoặc bị trầy xước.

3.2. So Sánh Máy Quét CCD và Máy Quét Laser Ưu Nhược

Máy quét CCD sử dụng một dãy các cảm biến quang để chụp ảnh mã vạch. Ảnh này sau đó được giải mã bằng phần mềm. Máy quét CCD có ưu điểm về giá thành rẻ và độ bền cao, nhưng tốc độ thường chậm hơn máy quét laser. So sánh chi tiết: Máy quét CCD đáng tin cậy và bền bỉ, giá thành rẻ hơn. Tuy nhiên, chủ yếu chỉ quét được mã vạch trên bề mặt phẳng với cự ly gần, không quét được mã vạch trên bề mặt cong như các loại mã vạch dán trên chai. Máy quét laser cho tia sáng rất mãnh cắt ngang bề mặt mã vạch, quét nhạy, chính xác, có thể quét mã vạch trên bề mặt cong và có khả năng quét tầm xa. Tuy nhiên, không bền bằng máy quét CCD vì máy quét laser dùng mắt đọc tia laser tương tự như mắt đọc của đầu đĩa.

3.3 Giải thuật mã hóa của EAN_8

EAN-8 được mã hóa bằng cách sử dụng 3 bộ ký tự của EAN-13. Chuỗi 8 số của EAN-8 được các tổ chức có thẩm quyền về mã vạch cung cấp trực tiếp. Ưu điểm là bất kỳ công ty nào có thể yêu cầu cung cấp bộ mã EAN-8 không phụ thuộc vào mã nhà sản xuất hay mã sản phẩm theo EAN-13. khuyết điểm là các chuỗi số EAN-8 phải được lưu trữ trong mỗi cơ sở dữ liệu như là các mã sản phẩm riêng biệt bởi vì không có một phương thức nào để chuyển chuỗi số EAN-8 thành chuỗi số EAN-13 tương đương. Giả sử người ta cần mã hóa chuỗi số có 7 chữ số “ 4234567 “, người ta tính số kiểm tra như sau: Tổng bằng 4 * 3 + 2 * 1 + 3 * 3 + 4 * 1 + 5 * 3 + 6 * 1 + 7 * 3 = 69 Để chia hết cho 10 thì cần bổ sung 1, do đó số kiểm tra bằng 1 và chuỗi số 8 của EAN-8 sẽ là “ 42345671 “

IV. Ứng Dụng Phân Loại Sản Phẩm Với Mã Vạch Trong Thực Tế

Phân loại sản phẩm bằng mã vạch được ứng dụng rộng rãi trong nhiều lĩnh vực. Trong quản lý kho, nó giúp tự động hóa quá trình nhập, xuất, và kiểm kê hàng hóa. Trong logistics, nó giúp theo dõi và phân loại hàng hóa trong quá trình vận chuyển. Trong bán lẻ, nó giúp tự động hóa quá trình thanh toán và quản lý hàng tồn kho. Các doanh nghiệp siêu thị ứng dụng mã vạch để tính tiền nhanh và chính xác bằng máy quét mã vạch.

4.1. Phân Loại Hàng Hóa Trong Quản Lý Kho và Logistics

Trong quản lý kho, mã vạch được sử dụng để nhận dạng sản phẩm, theo dõi vị trí sản phẩm, và tự động hóa quá trình nhập, xuất, và kiểm kê hàng hóa. Trong logistics, mã vạch được sử dụng để theo dõi hành trình của hàng hóa, phân loại hàng hóa theo điểm đến, và quản lý quá trình giao nhận. Việc sử dụng mã vạch giúp tăng tốc độ và độ chính xác của các hoạt động quản lý khologistics.

4.2. Tự Động Hóa Quy Trình Thanh Toán Bằng Scanner Mã Vạch

Trong bán lẻ, scanner mã vạch được sử dụng để tự động hóa quá trình thanh toán. Khi nhân viên thu ngân quét mã vạch trên sản phẩm, thông tin về sản phẩm (tên, giá, v.v.) sẽ được tự động hiển thị trên máy tính tiền. Việc này giúp tăng tốc độ thanh toán, giảm thiểu sai sót, và cải thiện trải nghiệm mua sắm của khách hàng. "Khi khách hàng mua hàng thì lựa rất nhiều loại sản phẩm khi ra tính tiền thì nhân viên không thể tính bằng tay hay bằng máy tính thông thường vì số lượng quá nhiều chỉ có thể dùng các máy tính tiền công nghệ hiện đại để tính tiền nhanh và chính xác, vì vậy các siêu thị đã dùng máy đọc mã vạch để tính tiền bằng cách đưa mã vạch của sản phẩm vào vùng đọc của máy"

V. Mô Hình Thực Nghiệm Phân Loại Sản Phẩm Bằng Barcode Băng Tải

Mô hình thực nghiệm sử dụng vi điều khiển PIC16F887, LCD hiển thị mã vạch, scanner mã vạch laser, cảm biến hồng ngoại, và băng tải. Mã vạch đọc được từ sản phẩm sẽ được so sánh với dữ liệu trong vi điều khiển để phân loại sản phẩm. Băng tải di chuyển sản phẩm đến các vị trí tương ứng dựa trên kết quả phân loại. Mô hình này có thể phân loại được 3 loại sản phẩm. Sản phẩm thứ nhất được cánh tay gạt qua phải, sản phẩm thứ 2 được cánh tay gạt qua trái, sản phẩm thứ ba chạy thẳng.

5.1. Giới Thiệu Chi Tiết Về Các Thành Phần Của Mô Hình

Mô hình bao gồm các thành phần chính: vi điều khiển PIC16F887 (để xử lý dữ liệu và điều khiển các thành phần khác), LCD (để hiển thị thông tin về sản phẩm), scanner mã vạch laser (để đọc mã vạch trên sản phẩm), cảm biến hồng ngoại (để phát hiện sự hiện diện của sản phẩm trên băng tải), băng tải (để di chuyển sản phẩm), và động cơ đảo chiều (để phân loại sản phẩm).

5.2. Giải Thuật Phân Loại Quá Trình Đọc Điều Khiển Băng Tải

Giải thuật phân loại hoạt động như sau: Sản phẩm được đặt lên băng tải. Cảm biến hồng ngoại phát hiện sự hiện diện của sản phẩm và kích hoạt scanner mã vạch. Scanner mã vạch đọc mã vạch trên sản phẩm và gửi dữ liệu đến vi điều khiển. Vi điều khiển so sánh dữ liệu mã vạch với dữ liệu trong bộ nhớ. Dựa trên kết quả so sánh, vi điều khiển điều khiển động cơ đảo chiều để di chuyển sản phẩm đến vị trí tương ứng.

VI. Kết Luận và Hướng Phát Triển Cho Phân Loại Sản Phẩm

Phân loại sản phẩm bằng mã vạch là một giải pháp hiệu quả để tự động hóa và tối ưu hóa quy trình sản xuất và quản lý kho. Việc ứng dụng công nghệ này giúp tăng năng suất, giảm thiểu sai sót, và tiết kiệm chi phí. Trong tương lai, việc tích hợp các công nghệ mới như RFID, trí tuệ nhân tạo, và tự động hóa sẽ giúp nâng cao hơn nữa hiệu quả của hệ thống phân loại.

6.1. Tích Hợp Công Nghệ RFID Trong Hệ Thống Phân Loại

Công nghệ RFID (Radio-Frequency Identification) có thể được tích hợp vào hệ thống phân loại để theo dõi và nhận dạng sản phẩm một cách tự động và không tiếp xúc. RFID tags có thể chứa nhiều thông tin hơn so với mã vạch, và có thể được đọc từ xa. Việc tích hợp RFID giúp tăng cường khả năng theo dõi và kiểm soát hàng hóa trong quá trình phân loại.

6.2. Ứng Dụng Trí Tuệ Nhân Tạo để Tối Ưu Hóa Phân Loại

Trí tuệ nhân tạo (AI) có thể được ứng dụng để tối ưu hóa hệ thống phân loại. Các thuật toán AI có thể học hỏi từ dữ liệu và dự đoán các vấn đề có thể xảy ra trong quá trình phân loại, giúp cải thiện hiệu quả và độ tin cậy của hệ thống. Bên cạnh đó, AI có thể được sử dụng để phân loại sản phẩm dựa trên nhiều tiêu chí khác nhau, không chỉ dựa trên mã vạch.

11/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VI ĐIỀU KHIỂN PIC 1. Giới thiệu pic: 1.1 Sơ lược về pic: 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 nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều.2 Phân loại pic: ➢ Kí hiệu: PIC12xxxx: độ dài lệnh 12 bit. PIC16xxxx: độ dài lệnh 14 bit.

PIC18xxxx: độ dài lệnh 16 bit. ➢ Theo chữ cái: C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM). F: PIC có bộ nhớ flash. LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp.

LV: tương tự như LF, đây là kí hiệu cũ. ➢ Theo hai chữ số đầu tiên: + Pic 12cxx,dòng pic cơ bản. + Pic 10F, 12F,16F dòng phổ biến hiên nay 14bit. + Pic 18 dòng cao cấp, độ dài lệnh 16bit.

+ Vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash). Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC. Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất.3 Ngôn ngữ lập trình: Hộp ngữ, ccs, map lap. Sơ đồ vi điều khiển: 2.1 Sơ đồ chân vi điều khiển 3 pic 16f877a: 7 Hình 1.1 Sơ đồ chân vi điều khiển 3 pic 16f877a 8 2.1 Bộ nhớ chương trình: Có địa chỉ từ 0000h đến 1FFFh, trong đó từ địa chỉ 00005h đến 1FFFh phân thành 3 trang.3: sơ đồ bộ nhớ chương trình.2 Bộ nhớ dữ liệu: Bộ nhớ EEPROM pic 16f877a, được chia ra làm 4 bank.

Mỗi bank có dung lượng 128 byte bao gồm các thanh ghi có chức năng đặc biệt SFG Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau: 3. Đặc điểm pic 16f877a: ➢ Hổ trợ dao động thạch anh lên tới 20 Mhz. ➢ 8 kênh adc 10 bit. 10 ➢ Có 2 kênh cpp gồm ccp1 và eccpi.

➢ 1 module giao tiếp nối tiếp usart theo chẩn rs 232 và rs 485. ➢ Timer 0: bộ đếm 8 bit. ➢ Timer 1: bộ dếm 16 bit, 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. ➢ Timer 2: bộ đếm 8 bit.

Chức năng các modul của pic 1678ffa: 4.1 Modul I/O: Các port của 16f877a cho phép truyền và nhận dữ liệu theo 2 chiều. Hướng truyền được xác định bằng thanh ghi tris x “ x là port”, nếu 1 bit trong thanh ghi này được gán ở giá trị 0 thì pic hiểu là output còn ngược lại là input.vi du: trisb=’11110000’ từ rb0 đến rb3 la input, con lai la output. ➢ Port A: Gồm 8 chân, có chúc năng input và output ngoài ra còn có thêm các chức năng: + RA4 chân cấp xung clock cho timer 0. + chân vào điện thế chuẩn cho chức năng ADC.

+ RA6,RA7 chân cấp dao động ngồi cho vi điều khiển. ➢ Port B: Gồm 8 chân từ RB0 đến RB7, cũng có chức năng input và out như port a, ngoài ra còn có thêm chức năng liên quan đến ngắt ngoại vi và timer 0. Port B còn được tich hợp chức năng điện trở kéo được điểu khiển bởi chương trình.Bên cạnh đó một số chân của port B dùng trong qúa trinh nạp dữ liệu cho vi điều khiển. ➢ Port C: Củng giống như port A nhưng có thêm chức năng: dùng cho bộ định thời và đếm, bộ so sánh và điều khiển pwm, giao tiếp nối tiếp USART, giao tiếp I2C,SPI, SSP.

➢ Port D: Củng giống như port A, có 8 chân điều input và output. Ngoài ra còn có thêm chức năng của bộ enhthenced PWM và các cổng dữ liệu của chuẩn giao tiếp PSP (parallel slave port). 11 ➢ Port E: Gồm 4 chân, có chức năng: + 3 chan ngõ vào ra của digital I/O. + Các chân dữ liệu của giao tiếp PSP.

+ Chân MCLR/VPP/RE3 hoạt động như một input (khi MCLRE = 0).Nếu không thì hoạt động như Master clear input. RE3 có chức như the grogamming voltage input trong suốt quá trình lập trình. ➢ Các bộ timer: + Timer 0: Là bộ đếm 8 bit của pic 16f877a, kết nối với bộ chia tần số(prescaler) 8 bit. Cấu trúc của timer 0 cho phép chọn xung clock tác động, cạnh tích cực của xung clock, ngắt timer 0 xuất hiện khi tràn timer 0.

bit TMR0IE (intcon<5>) bit điều khiện timer 0. TMROIE =1 cho phép ngắt timer 0, TMR0IF = 0, không cho phép ngắt timer 0 tác động. sơ đồ khối của timer 0 như sau: Hình 1.4: Modul I/O 12 + Timer 1: Bộ định thời 16 bit, giá trị được lưu trong 2 thanh ghi TMR1H và TMR1L. cờ ngắt của timer 1 là bit TMR1IF (PIR1<0>).

Bit điều khiển của timer 1 là TMR1IE (PIE<0>). Timer 1 cũng có 2 chế độ định thời: Chế độ định thời timer với xung kích là xung clock của oscillator (tần số ¼ tần số osc), bộ đếm couter với xung kích là xung phản ánh các sự kiện cạnh lên, thông qua chân RC0/T1oso/t1Ck 1. Việc lựa chọn timer hoặc couter là do TMR1CS. Sơ đồ khối của timer 1: Hình 1.5: Bộ định thời 16 bit.

+ Timer 2: Bộ định thời 8 bit được hổ trợ bởi 2 bộ chia tần số prescaler và postcaler. Thanh ghi chứa giá tri là TMR2, bit cho phép ngắt tác động là TMR2ON, cờ ngắt là bit TMR2IF. Xung ngõ vào (1/4 osc) được đưa qua bộ chia tần số prescaler 4 bit. Sơ đồ khối của timer 2: Hình 1.6: Bộ định thời 8 bit.

13 ➢ Bộ ADC: ADC (Analog to digital Coverter) là bộ chuyển tín hiệu giữa tương tự và số. ở pic 16f877A có 8 ngõ vào analog (RÃ4 – RA0 và RE2 – RE0). Hiệu điện thế chuẩn vref là vdd, vss hay được xác lập bởi RA2 và RA3, kết quả chuyển đổi từ tương tự sang số là 10 bit. Sơ đồ khối chuyển đổi adc: Cách lưu giá trị chuyển đổi ad Hình 1.2 Modul điều rộng xung (pwm): + Modul ccp1 có 3 chế độ: Capture, so sánh, chế độ điều khiền xung pwm.

Chân điều khiển là RC2/CCP1. Sơ đồ cpp Compare mode: Hình 1.8: modul điều rông xung. + Modul ccp liên kết với thanh ghi điểu khiền ccp1con hoặc eccp1con và 1 thanh ghi dữ liệu ccpr1 hoặc eccpr1. Thanh ghi dữ liệu gồm 2 thanh ghi 8 bit, tất các thanh ghi này diếu đọc và ghi.

+ Chế độ điều rộng xung pwm: Hình 1.9: Sơ đồ khối pwm mode. - Khi hoạt động ở chế độ xung, tín hiệu sau khi điều chế sẽ được đưa ra ccp1. Phải chọn chân out pwm. ví dụ setup pwm: thiết lập thời gian của chu ky xung (PR2), thiết lập độ rộng xung (duty clcle) dựa vào thanh ghi ccp1l và các bit ccp1con, điều khiển ccp1, thiết lập giá trị bộ chia tần số, cho phép ccp hoat động.

- Chu kỳ: (giá trị 1 chu kỳ), Pwm =[(pr2)+1]*4*tosc*giá trị bộ chia tần số TMR2.3 Giao tiếp nối tiếp: 4.1 USART: Là một trong hai chuẩn giao tiếp nối tiếp.USART còn được gọi là giao diện giao tiếp nối tiếp nối tiếp SCI (Serial Communication Interface). Có thể sử dụng giao diện này cho các giao tiếp với các thiết bị ngọai vi, với các vi điều khiển khác hay với máy tính. Các dạng của giao diện USART ngọai vi bao gồm: Bất động bộ (Asynchronous), Đồng bộ Master mode, Đồng bộ Slave mode. Hai pin dùng cho giao diện này là RC6/TX/CK và RC7/RX/DT, trong đó RC6/TX/CK dùng để truyền xung clock (baud rate) và RC7/RX/DT dùng để truyền data.

Trong trường hợp này ta phải set bit TRISC<7:6> và SPEN (RCSTA<7>) C0 để cho phép giao diện USART.2 Truyền dữ liệu qua chuẩn giao tiếp USART bất đồng bộ: Hình 1.11: Sơ đồ khối của khối truyền dữ liệu USART. Để truyền dữ liệu theo giao diện USART bất đồng bộ, ta cần thực hiện tuần tự các bước sau: 1. Tạo xung truyền baud bằng cách đưa các giá trị cần thiết vào thanh ghi RSBRG và bit điều khiển mức tốc độ baud BRGH. Cho phép cổng giao diện nối tiếp nối tiếp bất đồng bộ bằng cách clear bit SYNC và set bit PSEN.

Set bit TXIE nếu cần sử dụng ngắt truyền. Set bit TX9 nếu định dạng dữ liệu cần truyền là 9 bit. Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng sẽ được set). Nếu định dạng dữ liệu là 9 bit, đưa bit dữ liệu thứ 9 vào bit TX9D.

Đưa 8 bit dữ liệu cần truyền vảo thanh ghi TXREG. Nếu sử dụng ngắt truyền, cần kiểm tra lại các bit GIE và PEIE (thanh ghi INTCON). 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.3 Truyền dữ liệu qua chuẩn giao tiếp USART bất đồng bộ: Hình 1.12: Sơ đồ khối của khối nhận dữ liệu USART. 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 thực chất là một bộ dịch dữ liệu có tốc độ cao va có tần số hoạt động gấp 16 lần hoặc 64 lần tần số baud. Trong khi đó tốc độ dịch của thanh thanh ghi nhận dữ liệu sẽ bằng với tần số baud hoặc tần số của oscillator.

khi sử dụng giao diện nhận dữ liệu USART bất đồng bộ cần tiến hành tuần tự các bước sau: 1. Thiết lập tốc độ baud (đưa giá trị thích hợp vào thanh ghi SPBRG và bit BRGH. Cho phép cổng giao tiếp USART bất đồng bộ (clear bit SYNC và set bit SPEN). Nếu cần sử dụng ngắt nhận dữ liệu, set bit RCIE.

Nếu dữ liệu truyền nhận có định dạng là 9 bit, set bit RX9. Cho phép nhận dữ liệu bằng cách set bit CREN. Sau khi dữ liệu được nhận, bit RCIF sẽ được set và ngắt được kích hoạt (nếu bit RCIE được set). Đọc giá trị thanh ghi RCSTA để đọc bit dữ liệu thứ 9 và kiểm tra xem quá trình nhận dữ liệu có bị lỗi không.

Đọc 8 bit dữ liệu từ thanh ghi RCREG. Nếu quá trình truyền nhận có lỗi xảy ra, xóa lỗi bằng cách xóa bit CREN. Nếu sử dụng ngắt nhận cần set bit GIE và PEIE (thanh ghi INTCON).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ