Tải bản đầy đủ (.doc) (142 trang)

Báo cáo TN mạch đếm và phân loại sản phẩm noi dung

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.85 MB, 142 trang )

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

MỤC LỤC THAM KHẢO
DẪN NHẬP............................................................................................................3
1.
2.
3.
4.

ĐẶT VẤN ĐỀ...............................................................................................3
CHỌN PHƯƠNG ÁN THIẾT KẾ.............................................................4
MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI.......................................................5
GIỚI HẠN CỦA ĐỀ TÀI............................................................................5

PHẦN 1 : KHẢO SÁT VI ĐIỀU KHIỂN PIC 16F877A......................6
CHƯƠNG 1 : CẤU TRÚC PHẦN CỨNG CỦA PIC 16F877A..........................6
1.1 Sơ lượt về vi điều khiển PIC 16F877A.........................................................6
1.2 Sơ lượt về các chân của PIC 16F877A.........................................................7
1.3 Một số điểm đặc biệt của PIC 16F877A.....................................................12
1.4 Tổ chức bộ nhớ............................................................................................17
1.5 I/O port.........................................................................................................33
CHƯƠNG 2 : BỘ ĐỊNH THỜI...........................................................................40
2.1 Bộ định thời Timer0...................................................................................40.
2.2 Bộ định thời Timer 1..................................................................................41
2.3 Bộ định thời Timer 2..................................................................................44
CHƯƠNG 3 : MODULE CCP............................................................................47
3.1
3.2
3.3


3.4
3.5

Giới thiệu...................................................................................................47
Thanh ghi điều khiển module CCP............................................................48
Chế độ Capture..........................................................................................49
Chế độ Compare........................................................................................50
Chế độ điều biến xung PWM.....................................................................50

CHƯƠNG 4 : BỘ BIẾN ĐỔI ADC 10 BIT........................................................54
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9

Giới thiệu module ADC 10 bit...................................................................54
Các thanh ghi điều khiển............................................................................54
Hoạt động của module ADC.......................................................................56
Thời gian lấy mẫu.......................................................................................57
Lựa chọn xung clock cho biến đổi ADC....................................................58
Cấu hình các chân Analog..........................................................................59
Chuyển đổi ADC........................................................................................59
Hoạt động của module ADC trong chế độ ngủ...........................................60
Ảnh hưởng của Reset..................................................................................60


SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

1


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

CHƯƠNG 5 : ĐIỆN THẾ THAM CHIẾU VÀ CÁC BỘ SO SÁNH...............62
5.1 Module Comparator.....................................................................................62
5.2 Module điện áp tham chiếu..........................................................................67
5.3 Giao tiếp nối tiếp.........................................................................................69
5.4 I2C.............................................................................................................79

PHẦN 2 : GIỚI THIỆU LINH KIỆN VÀ TÍNH TOÁN LINH KIỆN..81
CHƯƠNG 7 : GIỚI THIỆU LINH KIỆN..........................................................81
7.1 Điện trở.....................................................................................................81
7.2 Tụ điện.......................................................................................................84
7.3 Diode.........................................................................................................88
7.4 Transistor..................................................................................................95
7.5 Led đơn.....................................................................................................99
7.6 Led 7 đoạn..............................................................................................101
7.7 Led Thu-Phát hồng ngoại.......................................................................103
7.8 IC ổn áp LM78xx và LM79xx................................................................103
7.9 IC giải mã 74LS247...............................................................................106
7.10 IC giải mã 74HC138...............................................................................107

PHẦN 3 : CÁC KHỐI TRONG MẠCH VÀ NGUYÊN LÝ HOẠT

ĐỘNG CỦA MẠCH........................................................................................110
CHƯƠNG 8 : CÁC KHỐI TRONG MẠCH ………………………..………110
8.1 Khối nguồn..........................................................................................111
8.2 Khối hiển thị........................................................................................112
8.3 Khối cảm biến………………………………………………………..112
8.4 Khối PIC……………………………………………………………..113
8.5 Khối rơle……………………………………………………………..114
CHƯƠNG 9: NGUYÊN LÝ HOẠT ĐỘNG.....................................................114

PHẦN 4 : LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH..................115
CHƯƠNG 10:LƯU ĐỒ GIẢI THUẬT…………………………..…..……....…115
CHƯƠNG 11:CHƯƠNG TRÌNH ASSAMLY CHO PIC…………………...….117

PHẦN 5 : TỒNG KẾT………………………………………………..…138
Tài liệu tham khảo
....................................@@@@@@@.........................................
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

2


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

DẪN NHẬP
1. ĐẶT VẤN ĐỀ:
Ở nước ta, các ngành khoa học kỹ thuật ngày càng phát triển do Việt Nam đã
tham gia hội nhập tiếp thu khoa học kỹ thuật quốc tế. Trong đó, kỹ thuật điện

tử đóng vai trò chủ chốt. Trong môi trường công nghiệp, trong các công ty, tự
đông hóa, quản lí và cung cấp thông tin, điều khiển chỉ là một trong số ít những
gì kỹ thuật điện tử có thể làm được.Do vậy việc nắm bắt và vận dụng nó một
cách hiệu quả sẽ góp phần làm phát triển nền khoa học kỹ thuật thế giới nói
chung và nền kỹ thuật điện tử Việt Nam nói riêng. Xuất phát từ đợt thực tập tốt
nghiệp tại các xí nghiệp, nhà máy, chúng em được tận mắt thấy được sự tự
động hóa trong quá trình sản xuất. Một trong những khâu đơn giản nhất trong
quá trình tự đông chính là khâu đếm số lượng sản phẩm được làm ra một cách
có chọn lọc.
Tuy nhiên tại một số doanh nghiệp vừa và nhỏ thì việc tự động hóa vẫn chưa
được áp dụng trong những khâu đếm và phân loại sản phẩm mà vẫn sử dụng
nhân công. Qua đó, chúng em cảm thấy nên nghiên cứu và thiết kế một mạch
dếm sản phẩm, dù chỉ là một mô hình đơn giản nhưng đây là bước đầu để sự tự
động hóa trong sản suất ngày càng được quan tâm và ngành điện tử, cụ thể là
ngành công nghiệp điện tử ngày càng được chú trọng.

Để làm được mạch này cần quan tâm đến hai khâu là khâu đếm và khâu càm
biến:
 Khâu đếm: Có nhiều phương pháp thực thi như:
• Lắp mạch kỹ thuật số với các IC đếm, chốt, so sánh ghép lại.
• Lắp mạch dung kỹ thuật vi xử lí.
• Lắp mạch dung kỹ thuật vi điều khiển.
 Khâu cảm biến: Gồm phần phát và phần thu. Thông thường người ta sử
dụng cảm biến quang có tích hợp phần thu và phát nhằm mục đích
chống nhiễu. Ngoài ra ta còn có thể sử dụng cảm biến hồng ngoại cho

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

3



ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

phần phát và transistor quang cho phần thu để giảm bớt chi phí với dộ
chính xác tương đương.
2. CHỌN PHƯƠNG ÁN THIẾT KẾ:
a) Phương pháp đếm sản phẩm dùng IC số:
 Các ưu điểm như sau:
 Cho phép tăng hiệu suất lao động.
 Đảm bảo độ chính xác cao.
 Tần số đáp ứng nhanh, cho phép đếm với tần số cao.
 Khoảng cách đặt phần phát xa nhau cho pháp đếm những sản
phẩm lớn.
 Tổn hao công suất bé, mạch có thể sử dụng pin hoặc acquy.
 Khả năng đếm rộng
 Giá thành hạ.
 Mạch đơn giản dễ thực hiện.
 Khuyết điểm:
 Khó có thể đáp ứng được việc thay đổi số đếm. Muốn thay đổi
một yêu cầu nào đó của mạch buộc lòng phải thay đổi phần
cứng. Do đó mỗi lần phải lắp lại mạch dẫn đến tốn kém về kinh
tế mà nhiều khi yêu cầu không đươc đáp ứng bằng cách này. Với
sự phát triển mạnh của ngành kỹ thuật số đặc biệt là cho ra đời
các họ vi xử lí và vi điều khiển nhiều chức năng. Do đó việc
dùng kĩ thuật vi xử lí, vi điều khiển đã giải quyết những bế tắc
và kinh tế hơn mà phương pháp dùng IC rời kết nối không thể
thực hiên được.

b) Phương pháp đếm dùng kĩ thuật vi xử lí:
 Ưu điểm: ngoài những ưu điểm đã liệt kê phương pháp dùng IC rới thì
mạch đếm dung kỹ thuật vi xừ lí còn có những ưu điểm sau:
 Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay
đổi phần mềm, trong khi đó phần cứng không cần thay đổi mà
mạch dung IC rời không thể thực hiên được mà nếu thực hiện
được thì cũng cứng nhắc người công nhân khó tiếp cận, dễ
nhầm.
 Số linh kiện sử dũng trong mạch ít hơn.
 Mạch đơn giản hơn so với mạch dếm sản phẩm dùng IC rời.
 Có thể cài đặt số đếm ban đầu.
 Mạch có thể lưu lại số liệu của các ca sản xuất.

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

4


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

 Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất
cùng lúc bằng phần mềm.
 Mạch có thể kết nối giao tiếp với máy tính thích hợp cho những
người quản lí tại phòng kĩ thuật nắm bắt được tình hình sản xuất
qua màn hình máy vi tính.
c) Phương pháp đếm sản phẩm dùng vi điều khiển:
 Ưu điểm: Ngoài những ưu điểm trên phương pháp này còn có những ưu

điểm:
 Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những
chương trình có quy mô nhỏ, rất tiện lợi mà vi xử lí không thực
hiện được
 Có thể giao tiếp trực tiếp với máy tính. Vi xử lí cũng có thể giao
tiếp được nhưng là giao tiếp song song nên cần có linh kiện để
chuyển đổi từ song song sang nối tiếp để giao tiếp với máy tính.
 Trong sản xuất người ta thường sử dụng phương pháp tối ưu
nhất nhưng do kinh tế nên chúng em sử dụng phương pháp đếm
sản phẩm dùng vi điều khiển.
3. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI:
Trong mạch này chúng em thực hiện mạch đếm sản phẩm bằng phương
pháp đếm xung. Như vậy mỗi sản phẩm đi qua băng truyền phải có một
thiết bị để cảm nhận sản phẩm người ta gọi là cảm biến. Khi sản phẩm đi
qua cảm biến sẻ nhận và tao ra một xung điện đưa về khối xử lí để tăng dần
số đếm. Tại một thời điểm tức thời để xác định được số đếm cần phải có bộ
phận hiển thị. Tuy nhiên mỗi khu vực sản xuất hay mỗi ca sản xuất lai yêu
cầu một số đếm khác nhau. Do đó cần phải có sự linh hoạt trong việc
chuyển đổai số đếm. Bộ phận trực quan nhất là bàn phím. Khi cần thay đổi
số đếm người ta chỉ cần nhập số đếm trên bàn phím và mạch tự đông đếm.
Khi số sản phẩm đếm bằng với số đã nhập thì mạch tự dộng dừng. Từ đó
suy ra yêu cầu, mục đích của đề tài:
• Số đếm phài chính xác và việc cài đặt số đếm phải linh hoạt.
• Mạch hiển thị phải rõ ràng.
• Mạch điện không quá phức tạp, đảm bảo an toàn, dể sử dụng.
• Giá thành phù hợp.
4. GIỚI HẠN CỦA ĐỀ TÀI:
Trong sản xuất có nhiều loại sản phẩm khác nhau, với kich cỡ, vật liệu và
màu sắc khác nhau. Tuy nhiên mạch chỉ đếm dược 3 loại sản phẩm, sản
phẩm phải là vật có thể che chắn ánh sáng. Mỗi loại sản phẩm chỉ đếm

được tối đa 99 sản phẩm. kích thước sản phẩm có giới hạn.
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

5


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

PHẦN I : KHẢO SÁT VI ĐIỀU KHIỂN PIC 16F877A
CHƯƠNG 1 : CẤU TRÚC PHẦN CỨNG CỦA PIC 16F877A
1.1 Sơ lượt về vi điều khiển PIC 16F877A
Đâ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ố độ hoạt
động tối đa cho phép là 20 MHz.
PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40
chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của
PIC16F877A như sau:
• 8K Flash ROM.
• 368 Bytes RAM.
• 256 Bytes EEPROM.
• ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập.
bộ định thời 8 bits (Timer 0 và Timer 2).
• Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết
kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài.
• bô CCP( Capture / Compare/ PWM).
• 1 bộ biến đổi AD 10 bits, 8 ngõ vào.
• bộ so sánh tương tự (Compartor).

• 1 bộ định thời giám sát (WatchDog Timer).
• Một cổng song song 8 bits với các tín hiệu điều khiển.
• Một cổng nối tiếp.
• 15 nguồn ngắt.
• Có chế độ tiết kiệm năng lượng.
• Nạp chương trình bằng cổng nối tiếp ICSP ( In-Circuit Serial
Programming).
• Được chế tạo bằng công nghệ CMOS
• 35 tập lệnh có độ dài 14 bits.
• Tần số hoạt động tối đa 20MHz.
Các Đặc Tính Ngoại VI Bao Gồm Các Tính 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
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.
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

6


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

• 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 saùnh.
Bên Cạnh Đó Là Một Vài Đặc Tính Khác Của Vi Điều Khiển :
• 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. 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.
1.2 Sơ lượt về các chân của PIC

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

7


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

8



ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

9


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

10


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

PIC16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức
năng khác nhau. Trong đó có một số chân đa công dụng: mỗi chân có thể hoạt
động như một đường xuất nhập hoặc là một chân chức năng đặc biệt dùng để
giao tiếp với các thiết bị ngoại vi.

SƠ ĐỒ KHỐI PIC 16F877A :

1.3 MỘT SỐ ĐIỂM ĐẶC BIỆT CỦA CPU :
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

11


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.1 Dao động :
PIC16F877A có thể hoạt động trong
bốn chế độ dao động khác nhau:





LP low-power crystal
XT crystal/resonatpor
HS high-speed crystal/resonatpor
RC resistor/capacitor

Trong các chế độ LP, XT và HS chúng ta
sử dụng thạch anh dao động nối vào các chân
OSC1 và OSC2 để tạo dao động.
Việc lựa chọn tụ trong dao động thạch anh dựa vào bảng sau:


Lưu ý:Tụ có giá trị lớn sẽ tăng tính ổn
như
định của dao động nhưng cũng làm tăng
thời gian khởi động.

Chế độ dao động RC được sử dụng
một giải pháp tiết kiệm trong các ứng
dụng không cần sự chính xác về thời gian.

Cách Tính Chu Kì Máy
Ví dụ ta sử dụng thạch anh 10Mhz. Khi đó: Tần số dao động của
thạch anh là Fosc = 10Mhz → Chu kỳ dao ñộng của thạch anh là Tosc =
1/Fosc= 1/10*106(s)
Chu kỳ máy: T_instruction = 4*Tosc = 4/10*106(s) = 0.4 µs = 400
ns

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

12


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.2 RESET :
PIC16F877A có thể bị reset bởi nhiều nguyên nhân khác nhau như :
• Power-on Reset (POR)

• MCLR Reset during sleep
• MCLR Reset during normal operation
• WDT Reset (during normal operation)
• WDT Wake-up (during sleep)
• Brown-out Reset (BOR)

1.3.3 MCLR :
PIC16F877A có một bộ lọc nhiễu ở phần MCLR. Bộ lọc nhiễu này sẽ phát hiện
và bỏ qua các tín hiệu nhiễu. Ngõ vào MCLR trên chân 4 của PIC16F877A. Khi
đưa chân này xuống thấp thì các thanh ghi bên trong VĐK sẽ được tải những giá trị
thích hợp để khởi động lại hệ thống. (Lưu ý: Reset do WDT không làm chân MCLR
xuống mức thấp).

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

13


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.4 INTERRUPTS

PIC16F877A có nhiều nguồn ngắt khác nhau. Đây là một số ngắt tiêu biểu :
• Ngắt ngoài xảy ra trên chân INT.
• Ngắt do Timer0.
• Ngắt do Timer1.
• Ngắt do Timer2.

• Ngắt do thay ñổi trạng thái trên các chân PortB.
• Ngắt so sánh ñiện thế.
• Ngắt do Port song song.
• Ngắt USART.
• Ngắt nhận dữ liệu.
• Ngắt truyền dữ liệu .
• Ngắt chuyển ñổi ADC.
• Ngắt màn hình LCD.
• Ngắt hoàn tất ghi EEPROM.
• Ngắt module CCP.
• Ngắt Module SSP.
Các thanh ghi chức năng ngắt: INTCON, PIE1, PIR1, PIE2, PIR2 (các
thanh ghi này sẽ ñược nghiên cứu ở các phần sau).

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

14


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.5 CHẾ ĐỘ NGUỒN THẤP SLEEP (POWER DOWN MODE)
Đây là chế độ hoạt động của VđK khi lệnh sleep được thực thi. Khi đó nếu
được cho phép hoạt động, bộ đếm của WDT sẽ bị xóa nhưng WDT vẫn tiếp
tục hoạt động bit PD (STATUS <3>) được reset về không, bit TO được set,
oscillator ngưng hoạt động và các PORT giữ nguyên trạng thái như trước khi
lệnh sleep được thực thi.

Do khi chế độ sleep dòng cung cấp cho VđK là rất nhỏ nên ta cần
thực hiện các bước sau trước khi VđK thực thi lệnh sleep.
• Đưa tất cả các chân về trạng thái VDD hoặc VSS.
• Cần đảm bảo rằng không có mạch ngoại vi nào được điều khiển
bởi dòng điện của VđK vì dòng điện nhỏ không đủ khả năng
cung cấp cho các mạch ngoại vi hoạt động.
• Tạm ngưng hoạt động của khối A/D và không cho phép các
xung clock bên ngoài tác dụng vào VđK.
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

15


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

• Để ý chức năng ñiện trở kéo lên của PORTB.
• Pin MCLR phải ở mức logic cao.
1.3.6 BỘ ĐỊNH THỜI GIÁM SÁT (WATCH DOG TIMER -WDT)

Giả sử bạn viết một chương trình, bạn mong đợi chương trình này sẽ
chạy nếu không có gì trục trặc xảy ra thì nó sẽ không bao giờ dừng lại, như
vậy bạn phải làm một vòng lặp để khi chương trình chạy đến điểm cuối thì nó
lại quay trở về điểm bắt đầu. Nhưng mà hãy xem một trường hợp: Giả sử
chương trình kiểm tra một chân input, nếu nó lên mức cao thì Pic16f877A sẽ
tiếp tục kiểm tra một chân input thứ hai có lên mức cao hay không, nếu chân
input thứ hai không lên mức cao, con Pic sẽ ngồi đó chờ và nó sẽ chỉ thoát
ra khỏi chỗ ngồi của nó nếu chân input thứ hai lên mức cao.

Bây giờ hãy xem một trường hợp khác, giả sử như bạn viết một chương
trình, bạn compiled nó thành công, và ngay cả bạn đã cho chạy mô phỏng
từng bước, từng bước một trên máy tính, bằng MPLAB chẳng hạn, có vẻ như
mọi chuyện đều tốt, bạn đem nạp vào con Pic. Sau một thời gian chạy thử,
con Pic thình lình bị kẹt vào nơi nào đó trong chương trình mà không thể
thoát ra được trạng thái hiện tại. Điều gì là cần thiết ñể giải quyết hai trường
hợp trên, reset lại hay vẫn để cho nó bị kẹt không thoát ra được, đó là mục
đích của mạch Watchdog.
Mạch Watchdog thì không phải là mới mẽ gì, có rất nhiều
microprocessors và microcontrollers đã có mạch Watchdog, nhưng mà nó làm
việc ra sao ?
Bên trong vi xử lí Pic có một mạch RC, mạch này cung cấp 1 xung
Clock độc lập với bất kỳ xung Clock nào cung cấp cho Pic. Khi Watchdog
Timer (viết tắt là WDT) được cho phép (enabled), nó sẽ đếm bắt đầu từ 00 và
tăng lên 1 cho đến FFh, khi nó tăng từ FFh đến 00 ( FFh+1) thì con Pic sẽ bị
Reset bất kể đang làm gì, chỉ có 1 cách là ngăn không cho WDT đếm tới 00.
Khi Pic16F877A bị kẹt không thể thoát ra khỏi tình trạng hiện tại thì WDT
vẫn tiếp tục đếm mà không bị bất kỳ ñiều gì ngăn cấm nó đếm tới FF và đến
FF+1, vì vậy nó sẽ reset làm cho chương trình phải khởi động lại từ ñầu.
Để Sử




Dụng WDT Chúng Ta Cần Làm 3 Việc :
Thứ nhất, cần thời gian bao lâu để reset WDT ?
Thứ hai, làm sao xoá WDT ?
Cuối cùng, chúng ta phải nói cho Pic biết chương trình cho phép WDT
hoạt động.


SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

16


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1 . 4 TỔ CHỨC BỘ NHỚ :
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm các bộ nhớ
chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory).
1.4.1 Bộ Nhớ Chương Trình :
PIC16F877A có bộ đếm chương trình dài 13 bits có thể định địa chỉ
cho khoảng không gian nhớ 8K x 14bits. Không gian bộ nhớ này được chia
làm 8 trang, có địa chỉ từ 0005h đến 1FFFh.
Mọi sự truy cập ngoài vùng không gian nhớ này sẽ không có tác dụng.
Ngoài ra, bộ nhớ chương trình còn bao gồm một ngăn xếp (Stack) 8 mức.
Vector Reset được đặt tại địa chỉ 0000h và vector ngắt được đặt tại địa chỉ
0004h.
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ì moät lệnh sau khi mã hóa sẽ có dung
lượng 1 word (14 bit).
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm
chương trình có dung lượng 13 bit (PC<12:0>). 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
SVTH : HUỲNH QUANG NINH

LƯU HOÀNG TÚ

17


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector).
Bộ đếm 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. Bộ nhớ stack sẽ được đề cập cụ thể trong phần sau.

1.4.2 Bộ Nhớ Dữ Liệu:
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra laøm nhiều bank.
Đối với PIC16F877A bộ nhớ dữ liệu được chia ra laø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
(Special Function Register) nằm ờ các 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ỉ còn lại
trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh
ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ lệu giúp ta thuận tiện
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

18


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM


trong quá trình truy xuất và lam2giam4 bớt lệnh của chương trình. Sơ đồ cụ
thể của bộ nhớ dữ liệu PIC16F877A như sau:

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

19


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

20


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.2.1 Vùng Ram đa Mục đích
Vùng RAM đa mục đích có chiều rộng 8 bit và có thể được truy nhập trực
tiếp hoặc gián tiếp thông qua thanh ghi FSR. Vùng RAM đa mục đích được
phân phối ở các Bank như sau:
• Bank 0: 96 Bytes từ địa chỉ 20h đến địa chỉ 7Fh.
• Bank 1: 80 Bytes từ địa chỉ A0h đến địa chỉ EFh.

• Bank 2: 96 Bytes từ địa chỉ 110h đến địa chỉ 16Fh.
• Bank 3: 96 Bytes từ địa chỉ 190h đến địa chỉ 1EFh.
1.4.2.2 Vùng Thanh Ghi Chức Năng đặc Biệt
Các thanh ghi chức năng đặc biệt được sử dụng bởi bộ xử lý trung tâm
CPU hoặc các module ngoại vi để điều khiển hoạt động của VđK. Các thanh
ghi chức năng đặc biệt này được chia làm 2 loại: loại thứ nhất dùng cho các
chức năng của CPU, loại thứ 2 dùng cho các chức năng ngoại vi.

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

21


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

22


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM


23


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.3 Các Thanh Ghi Chức Năng Đặc Biệt
1.4.3.1 Thanh Ghi Trạng Thái ( Status Register)
SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

24


ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010

ĐỀ TÀI: MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

Thanh ghi trạng thái chứa các trạn thái số học của bộ ALU, trạng thái
Reset và các bit chọn Bank của bộ nhớ dữ liệu.

End

Bit 7 IRP: Bit lựa chọn bank thanh ghi ( Sử dụng cho định địa chỉ gián tiếp ).
1 = Bank 2, 3 (100h – 1FFh )
0 = Bank 0, 1 (00h – FFh)
Bit 6 – 5 RP1 – RP0: Bit lựa chọn bank thanh ghi (Dùng trong định điạ chỉ trực
tiếp).

11 = Bank 3 ( 180h – 1FFh)
10 = Bank 2 (100h – 17Fh)
01 = Bank 1 (80h – FFh)
00 = Bank 0 (00h_7Fh)
Each bank is 128 bytes
Bit 4 TO: Bit báo hiệu hoạt động của WDT.
1: Lệnh xóa WDT hoặc Sleep xảy ra.
0: WDT hoạt động.
Bit 3 PD: Bit báo công suất thấp ( Power down bit).
1: Sau khi nguồn tăng hoặc có lệnh xóa WDT.
0: Thực thi lệnh
Sleep. Bit 2 Z: bit Zero
1: Khi kết quả của một phép toán bằng 0.
0: Khi kết quả của một phép toán
khác 0. Bit 1 DC: Digit Carry
1: Có một số nhớ được sinh ra bởi phép cộng hoặc phép trừ 4 bit
thấp.
0: Không có số nhớ sinh
ra. Bit 0 C: cờ nhớ (Carry Flag)
1: Có một số nhớ sinh ra bởi phép cộng hoặc phép trừ.
0: Không có số nhớ sinh ra.
1.4.3.2 Thanh Ghi Tùy Chọn (Option-Reg Register):
Thanh ghi tùy chọn chứa các bit điều khiển để cấu hình cho các chứa
năng như: ngắt ngoài, Timer 0 chức năng kéo lên Vdd của các chân Port B, và
thời gian chờ của WDT.

SVTH : HUỲNH QUANG NINH
LƯU HOÀNG TÚ

25



×