PHÂN LOẠI SẢN PHẨM DÙNG MÃ VẠCH BAR CODE - Pdf 33

Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

ĐỒ ÁN CHUYÊN NGÀNH
MÔ HÌNH PHÂN LOẠI SẢN PHẨM DÙNG
MÃ VẠCH – BAR CODE
CHUYÊN NGÀNH: CÔNG NGHỆ ĐIỆN TỬ / ĐIỆN TỬ
TỰ ĐỘNG

1


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

MỤC LỤC
LỜI CẢM ƠN..........................................................................................................................................................7
LỜI NÓI ĐẦU..........................................................................................................................................................7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VI ĐIỀU KHIỂN PIC.................................................................................................8
1. Giới thiệu pic:.................................................................................................................................................8

1.1Sơ lược về pic:....................................................................................................................8
1.2Phân loại pic:......................................................................................................................8
1.3Ngôn ngữ lập trình:.............................................................................................................8
2. Sơ đồ vi điều khiển: .......................................................................................................................................8

2.1Sơ đồ chân vi điều khiển 3 pic 16f877a:............................................................................8
2.2Sơ đồ khối:..........................................................................................................................9
2.3Bộ nhớ: .............................................................................................................................10



Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

TP. Hồ Chí Minh, ngày …tháng … năm 2011
Giảng viên hướng dẫn
(Ký tên)

5


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

6


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

LỜI CẢM ƠN


Mô Hình Phân Loại Sản Phẩm Dùng Barcode

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.
1.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:


2.3 Bộ nhớ:
2.3.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.

10


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

Hình 1.3: sơ đồ bộ nhớ chương trình.
2.3.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.
 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.
 Mơ dun psp (parallel slave port).
 Timer 0: bộ đếm 8 bit.

11


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

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

12


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

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
+ 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:

13


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

4.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.

16


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

Hình 1.10: các thông số.
- 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ỳ),

5. Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng sẽ được set).
6. Nếu định dạng dữ liệu là 9 bit, đưa bit dữ liệu thứ 9 vào bit TX9D.
7. Đưa 8 bit dữ liệu cần truyền vảo thanh ghi TXREG.
8. 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.
4.3.3 Truyền dữ liệu qua chuẩn giao tiếp USART bất đồng bộ:

18


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

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.
2. Cho phép cổng giao tiếp USART bất đồng bộ (clear bit SYNC và set bit SPEN).
3. Nếu cần sử dụng ngắt nhận dữ liệu, set bit RCIE.
4. Nếu dữ liệu truyền nhận có định dạng là 9 bit, set bit RX9.

Tác dụng: cộng giá trị hai thanh ghi W và thanh ghi f. Kết quả được chứa trong thanh ghi W nếu
d = 0 hoặc thanh ghi f nếu d =1. Bit trạng thái: C, DC, Z
 Lệnh ADLW:
Cú pháp: ANDLW k (0≤k≤255)
Tác dụng: thực hiện phép toán AND giữa thanh ghi ¦ và giá trị k, kết quả được chứa trong thanh
ghi W. Bit trạng thái: Z.
 Lệnh ANDWR:
Cú pháp: ANDWF f,d (0≤f≤127, d ∈[0,1]).
Tác dụng: thực hiện phép toán AND giữa các giá trị chứa trong hai thanh ghi W và f. Kết
quả được đưa vào thanh ghi W nếu d=0 hoặc thanh ghi f nếu d = 1. Bit trạng thái: Z,
 Lệnh CALL:
Cú pháp: CALL k (0≤k≤2047).
Tác dụng: gọi một chương trình con. Trước hết địa chỉ quay trở về từ chương trình con
(PC+1) được cất vào trong Stack, giá trị địa chỉ mới được đưa vào bộ đếm gồm 11 bit của biến
k và 2 bit PCLATH<4:3>. Bit trạng thái không có.
 Lệnh CLRF:
Cú pháp CLRF f (0≤f≤127).
Tác dụng: xóa thanh ghi f và bit Z được set. Bit trạng thái: Z
 Lệnh CLRW:
Cú pháp CLRW.
Tác dụng: xóa thanh ghi W và bit Z được set. Bit trạng thái: Z
 Lệnh CLRWDT:
Cú pháp: CLRWDT.

20


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

nếu d=0 hoặc thanh ghi f nếu d=1. Bit trạng thái: không có
 Lệnh DECF:
Cú pháp: DECF f,d (0≤f≤127, d∈[0,1]).
Tác dụng: Giá trị thanh ghi f được giảm đi 1 đơn vị. Kết quả được đưa vào thanh ghi
W nếu d = 0 hoặc thanh ghi f nếu d = 1. Bit trạng thái: Z.
 Lệnh BCF:

21


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

Cú pháp: BCF f,b (0≤f≤127, 0≤b≤7).
Tác dụng: xóa bit b trong thanh ghi f về giá trị 0. Bit trạng thái: không có.
 Lệnh BSF:
Cú pháp: BSF f,b (0≤f≤127, 0≤b≤7)
Tác dụng: set bit b trong trnh ghi f. Bit trạng thái: không có
 Lệnh BTFSS:
Cú pháp: BTFSS f,b (0≤f≤127, 0≤b≤7)
Tác dụng: kiểm tra bit b trong thanh ghi f. Nếu bit b bằng 0, lệnh tiếp theo được thực thi. Nếu
bit b bằng 1, lệnh tiếp theo được bỏ qua và thay vào đó là lệnh NOP. Bit trạng thái: không có.
 Lệnh BTFSC:
Cú pháp: BTFSC f,b (0≤f≤127, 0≤b≤7).
Tác dụng: kiểm tra bit b trong thanh ghi f. Nếu bit b bằng 1, lệnh tiếp theo được thực thi. Nếu bit
b bằng 0, lệnh tiếp theo được bỏ qua và thay vào đó là lệnh NOP. Bit trạng thái: không có
 Lệnh DECFSZ:
Cú pháp: DECFSZ f,d (0≤f≤127, d∈[0,1])
Tác dụng: Gía trị thanh ghi f được giảm 1 đơn vị. Nếu kết quả sau khi giảm khác 0, lệnh tiếp

 Lệnh SUBLW:
Cú pháp: SUBLW k.
Tác dụng: Lấy giá trị k trừ giá trị trong thanh ghi W. Kết quả được chứa trong thanh ghi W.
Bit trạng thái: C, DC, Z.
 Lệnh XORLW:
Cú pháp: XORLW k (0≤k≤255).
Tác dụng: thực hiện phép toán XOR giữa giá trị k và giá trị trong thanh ghi W. Kết quả được
lưu trong thanh ghi W. Bit trạng thái: Z.
 Lệnh XORWF:
Cú pháp: XORWF f,d .
Tác dụng: Thực hiện phép toán XOR giữa hai giá trị chứa trong thanh ghi W và thanh ghi
f. Kết quả được lưu vào trong thanh ghi W nếu d=0 hoặc thanh ghi f nếu d=1. Bit trạng thái: Z
 Lệnh #DIFINE:
Cú pháp: #DEFINE <text1><text2>
Tác dụng: thay thế một chuỗi kí tự này bằng một chuỗi kí tự khác, có nghĩa là mỗi khi chuỗi kí
tự text1 xuất hiện trong chương trình, trình biên dịch sẽ tự động thay thế chuỗi kí tự đó bằng
chuỗi kí tự <text2>.
 Lệnh INCLUDE:
Cú pháp: #INCLUDE <filename> hoặc #INCLUDE “filename”.
Tác dụng: đính kèm một file khác vào chương trình, tương tự như việc ta copy file đó vào vị
trí xuất hiện lệnh INCLUDE. Nếu dùng cú pháp <filename> thì file đình kèm là file hệ thống
(sytem file), nếu dùng cú pháp “filename” thì file đính kèm là file của người sử dụng. Thông
thường chương trình được đính kèm theo một “header file” chứa các thông tin định nghịa các
biến (thanh ghi W, thanh ghi F,..) và các địa chỉ cảu các thanh ghi chức năng đặc biệt trong bộ
nhớ dữ liệu. Nếu không có header file, chương trình sẽ khó đọc và khó hiểu hơn.
 Lệnh CONSTANT:
Cú pháp: CONSTANT <name>=<value>.
Tác dụng: khai báo một hằng số, có nghĩa là khi phát hiện chuỗi kí tự “name” trong chương
trình, trình biên dịch sẽ tự động thay bằng chuỗi kí tự bằng giá trị “value” đã được định nghĩa
trước đó.

Tác dụng: Đánh dấu kết thúc chương trình.
 Lệnh __CONFIG:
Cú pháp:
Tác dụng: thiết lập các bit điều khiển các khối chức năng của vi điều khiển được chứa trong
bộ nhớ chương trình (Configuration bit).
 Lệnh PROCESSOR:
Cú pháp: PROCESSOR .
Tác dụng: định nghĩa vi điều khiển nào sử dụng chương trình.

24


Đồ Án Chuyên Ngành

Mô Hình Phân Loại Sản Phẩm Dùng Barcode

CHƯƠNG 2: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
PHẦN 1: LÝ DO CHỌN ĐỀ TÀI MÔ HÌNH PHÂN LOẠI SẢN PHẨM
DÙNG BARCODE
Hiện nay tình hình kinh tế hàng hóa trong nước và trên thế giới ngày càng phát triển, hàng
hóa ngày càng đa dạng hơn, thuộc nhiều chủng loại, của nhiều doanh nghiệp sản xuất, đi xa
hơn nữa là nhiều quốc gia, vì vậy con người không thể dùng sức lao động mà phân loại hàng
hóa sản phẩm bằng tay, nếu dùng sức lao động con người để phân loaị cần có một lượng công
nhân đông và cần một thời gian khá lâu để phân loại.
khi phân loại xong thường thì cần băng tải để tải hàng hóa đến nơi cần đến vì nếu số
lượng quá nhiều thì con người không thể đáp ứng kịp nhu cầu.
Ví dụ: trong một siêu thị thì hàng hóa có rất nhiều chủng loại của nhiều doanh nghiêp
trong nước và ngoài nước sản xuất, 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à


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status