1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

135 383 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 135
Dung lượng 9,62 MB

Nội dung

2.3 Phương pháp đếm sản phẩm dùng vi điều khiển : Ngoài những ưu điểm có được của hai phương pháptrê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ớ tron

Trang 1

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

CHƯƠNG DẪN NHẬP

1 ĐẶT VẤN ĐỀ :

Ngày nay cùng với sự phát triển của các ngànhkhoa học kỹ thuật, kỹ thuật điện tử mà trong đó là kỹthuật số đóng vai trò quan trọng trong mọi lĩnh vực khoahọc kỹ thuật, quản lí, công nghiệp tự động hóa, cungcấp thông tin… do đó chúng ta phải nắm bắt và vậndụng nó một cách có hiệu quả nhằm góp phần vàosự phát triển nền khoa học kỹ thuật thế giới nói chungvà trong sự phát triển kỹ thuật điện tử nói riêng

Xuất phát từ những đợt đi thực tập tốt nghiệp tạinhà máy 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óatrong quá trình sản xuất Một trong những khâu đơn giảntrong dây chuyền sản xuất tự động hóa đó là số lượngsản phẩm làm ra được đếm một cách tự động

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 trongnhững khâu đếm sản phẩm, đóng bao bì mà vẫn cònsử dụng nhân công

Từ những điều đã được thấy đó và khả năng củachúng em, chúng em muốn làm một điều gì nhỏ đểgóp phần vào giúp người lao động bớt phần mệt nhọcchân tay mà cho phép tăng hiệu suất lao động lên gấpnhiều lần, đồng thời đảm bảo được độ chính xác cao.Nên chúng em quyết định thiết kế một mạch đếm sảnphẩm vì nó rất gần gũi với thực tế và nó thật sự rấtcó ý nghĩa đối với chúng em vì đã làm được một phầnnhỏ đóng góp cho xã hội

Để làm được mạch này cần thiết kế được hai phầnchính là: bộ phận cảm biến và bộ phận đếm

* Bộ phận cảm biến: gồm phần phát và phần thu.

Thông thường người ta sử dụng phần phát là led hồngngoại để phát ra ánh sáng hồng ngoại mục đích đểchống nhiễu so với các loại ánh sáng khác, còn phầnthu là transistor quang để thu ánh sáng hồng ngoại

* Bộ phận đếm có nhiều phương pháp thực thi đĩ là : -Lắp mạch dùng kỹ thuật số với các IC đếm,chốt, so sánh ghép lại

-Lắp mạch dùng kỹ thuật vi xử lí

-Lắp mạch dùng kỹ thuật vi điều khiển

GVHD : NGUYỄN TRỌNG KHANH 1 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 2

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

2 CHỌN PHƯƠNG ÁN THIẾT KẾ :

2.1 Phương pháp đếm sản phẩm dùng IC số :

Các ưu điểm 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 của mạch nhanh, cho phép đếmvới tần số cao

 Khoảng cách đặt phần phát và phần thu xa nhaucho 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 pinhoặc acquy

 Khả năng đếm rộng

 Giá thành hạ

 Mạch đơn giản dễ thực hiện

Với việc sử dụng kỹ thuật số khó có thể đápứng được việc thay đổi số đếm Muốn thay đổi mộtyêu cầu nào đó của mạch thì buộc lòng phải thay đổiphần cứng.Do đó mỗi lần phải lắp lại mạch dẫn đếntốn kém về kinh tế mà nhiều khi yêu cầu đó khôngthực hiện được bằng phương pháp này

Với sự phát triển mạnh của nghành kỹ thuật sốđặc biệt là cho ra đời các họ vi xử lí và vi điều khiểnrất đa chức năng do đó việc dùng kỹ thuật vi xử lí, kỹthuật 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 lạikhông thực hiện được

2.2 Phương pháp đếm sản phẩm dùng kỹ thuật xử lí :

Ngoài những ưu điểm như đã liệt kê trong phươngpháp dùng IC rời thì mạch đếm sản phẩm dùng 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ạtbằng việc thay đổi phần mềm, trong khi đó phầncứng không cần thay đổi mà mạch dùng IC rờikhông thể thực hiện được mà nếu có thể thựchiện được thì cũng cứng nhắc mà người côngnhân cũng 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 đếm sản phẩmdùng IC rời và có phần cài đặt số đếm banđầu

GVHD : NGUYỄN TRỌNG KHANH 2 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 3

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

 Mạch có thể lưu lại số liệu của các ca sản xuất

 Mạch có thể điều khiển đếm được nhiều dâychuyền sản xuất cùng lúc bằng phần mềm

 Mạch cũng có thể kết nối giao tiếp được vớimáy tính thích hợp cho những người quản lí tạiphòng kỹ thuật nắm bắt được tình hình sản xuấtqua màn hình của máy vi tính

Nhưng trong thiết kế người ta thường chọn phươngpháp tối ưu nhưng kinh tế do đó chúng em chọn phươngpháp đếm sản phẩm dùng kỹ thuật vi điều khiển

2.3 Phương pháp đếm sản phẩm dùng vi điều khiển :

Ngoài những ưu điểm có được của hai phương pháptrê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 đốivới những chương trình có quy mô nhỏ, rất tiện lợimà vi xử lí không thực hiện được

 Nó có thể giao tiếp nối tiếp trực tiếp với máytính mà vi xử lí cũng giao tiếp được với máy tínhnhưng là giao tiếp song song nên cần có linh kiệnchuyển đổi dữ liệu từ song song sang nối tiếp đểgiao tiếp với máy tính

3 MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI :

Trong đồ án này chúng em thực hiện mạch đếmsản phẩm bằng phương pháp đếm xung Như vậy mỗisản phẩm đi qua trên băng chuyền phải có một thiết

bị để cảm nhận sản phẩm, thiết bị này gọi là cảmbiến Khi một sản phẩm đi qua cảm biến sẽ nhận vàtạo 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 khuvực sản xuất hay mỗi ca sản xuất lại yêu cầu với sốđếm khác nhau vì thế phải có sự linh hoạt trong việcchuyển đổi số đếm Bộ phận chuyển đổi trực quannhất là bàn phím Khi cần thay đổi số đếm người sửdụng chỉ cần nhập số đếm ban đầu vào và mạch sẽtự động đếm Khi số sản phẩm được đếm bằng với sốđếm ban đầu thì mạch sẽ tự động dừng Từ đây suy ramục đích yêu cầu của đề tài:

 Số đếm phải chính xác, và thay đổi việc cài đặtsố đếm ban đầu một cách linh hoạt

GVHD : NGUYỄN TRỌNG KHANH 3 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 4

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

 Bộ phận hiển thị phải rõ ràng

 Mạch điện không quá phức tạp, bảo đảm được sự

an toàn,dễ sử dụng

 Giá thành không quá mắc

4 GIỚI HẠN CỦA ĐỀ TÀI :

 Các sản phẩm rất đa dạng với nhiều chủng loại:đặc, rỗng, kích cỡ khác nhau Nhưng với khả năngcủa thiết bị lắp thì mạch chỉ có thể đếm đốivới sản phẩm có khả năng che được ánh sángvà có kích thước từ 10cm3 đến 30cm3

 Đếm số sản phẩm trong một thùng phạm vi thayđổi từ 2  999

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, 40châ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ủaPIC16F877A 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 ngồ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

GVHD : NGUYỄN TRỌNG KHANH 4 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 5

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

 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ăngngoạ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 ngồ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 :

 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 SerialProgramming) thơng qua 2 chân Watchdog Timer với bộ dao độngtrong

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

GVHD : NGUYỄN TRỌNG KHANH 5 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 6

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

GVHD : NGUYỄN TRỌNG KHANH 6 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 7

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

GVHD : NGUYỄN TRỌNG KHANH 7 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 8

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

GVHD : NGUYỄN TRỌNG KHANH 8 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 9

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : 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

GVHD : NGUYỄN TRỌNG KHANH 9 SVTH : TRẦN THẾ HUY LƯƠNG ĐỨC HUY

Trang 10

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

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 :

GVHD : NGUYỄN TRỌNG KHANH 10 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 11

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3 MỘT SỐ ĐIỂM ĐẶC BIỆT CỦA CPU :

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 Chế độ dao động RC được sử dụng

như

định của dao động nhưng cũng làm tăng một giải pháp tiết kiệm trong các ứngthời gian khởi độ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

GVHD : NGUYỄN TRỌNG KHANH 11 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 12

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : 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 :

đư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ị

GVHD : NGUYỄN TRỌNG KHANH 12 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 13

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.4 I N T E R R U P T S

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

LƯƠNG ĐỨC HUY

Trang 14

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.3.5 C H Ế Đ Ộ N G U Ồ N T H Ấ P S L EE P ( P O W E R D O W N M O D E )

Đâ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ếptụ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 khilệ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

GVHD : NGUYỄN TRỌNG KHANH 14 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 15

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : 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âninput 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ươngtrình, bạn compiled nó thành công, và ngay cả bạn đã cho chạy mô phỏngtừ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ườnghợ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ềumicroprocessors và microcontrollers đã có mạch Watchdog, nhưng mà nó làmviệc ra sao ?

Bên trong vi xử lí Pic có một mạch RC, mạch này cung cấp 1 xungClock độc lập với bất kỳ xung Clock nào cung cấp cho Pic Khi WatchdogTimer (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ì WDTvẫ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à đếnFF+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

GVHD : NGUYỄN TRỌNG KHANH 15 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 16

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1 4 TỔ CHỨ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 ngồi vùng khơng gian nhớ này sẽ khơng cĩ tác dụng Ngồ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ềutrang ( 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 1word (14 bit)

Để mã hĩa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếmchương trình cĩ dung lượng 13 bit (PC<12:0>) Khi vi điều khiển được reset,

GVHD : NGUYỄN TRỌNG KHANH 16 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 17

ĐỒ ÁN TỐT NGHIỆP KHĨA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector) Khi cĩ ngắtxả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 làm nhiềubank Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗibank cĩ dung lượng 128 byte, bao gồm các thanh ghi cĩ chức năng đặc biệtSFG (Special Function Register) nằm ờ các vùng địa chỉ thấp và các thanh ghimục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ cịn lạitrong bank Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanhGVHD : NGUYỄN TRỌNG KHANH 17 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 18

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ lệu giúp ta thuận tiệntrong 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:

GVHD : NGUYỄN TRỌNG KHANH 18 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 19

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : 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 đượcphâ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

GVHD : NGUYỄN TRỌNG KHANH 19 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 20

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

GVHD : NGUYỄN TRỌNG KHANH 20 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 21

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

GVHD : NGUYỄN TRỌNG KHANH 21 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 22

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : 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 :

GVHD : NGUYỄN TRỌNG KHANH 22 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 23

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.3.1 Thanh Ghi Trạng Thái ( Status Register) :

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

Bit 7 IRP: Bit lựa chọn bank thanh ghi ( Sử dụng cho định địa chỉ gián tiếp )

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 P D : 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

GVHD : NGUYỄN TRỌNG KHANH 23 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 24

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

Bit 7 RBPU : Bit cho phép PORTB được kéo lên nguồn

1: Không cho phép PORTB kéo lên nguồn

0: Cho phép PORTB kéo lên nguồn

Bit 6 INTEDG: Bít lựa chọn cạnh tác ñộng ngắt (INTERRUPT EDGE)

1: Ngắt sẽ được tác động bởi cạnh lên của chân RB0/INT

0: Ngắt sẽ được tác động bởi cạnh xuống của chân RB0/INTBit 5 T0CS: Bit lựa chọn nguồn xung Clock cho Timer 0

1: Xung Clock cung cấp bởi nguồn ngoài qua chân RA4/T0CKI 0: Xung Clock cung cấp bởi nguồn dao động nội

Bit 4 T0SE: Bit lựa chọn cạnh nào của xung clock tác động lên timer0

8ms 36ms 72 ms

144 ms

288 ms

576 ms 1.1 s

GVHD : NGUYỄN TRỌNG KHANH 24 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 25

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.3.3 Thanh Ghi Điều Khiển Ngắt INTCON ( Interrupt Control Register) :

Bit 7 GIE: Bit cho phép ngắt toàn cục

1: Cho phép ngắt toàn cục

0: Không cho phép ngắt

Bit 6 PEIE: Bit cho phép ngắt khi ghi vào EEPROM hoàn tất

1: Cho phép ngắt ghi vào EEPROM hoạt động

0: Không cho phép ngắt ghi vào EEPROM hoạt động

Bit 5 TMR0IE: Bit cho phép ngắt khi timer0 tràn

1: Cho phép ngắt khi timer0 tràn

0: Không cho phép ngắt khi timer0 tràn

Bit 4 INTE: Bit cho phép ngắt ngoại vi trên chân RB0/INT

1: Cho phép ngắt ngoại vi

0: Không cho phép ngắt ngoại vi

Bit 3 RBIE: Cho phép ngắt khi trạng thái PORTB thay đổi

0: Không có thay đổi xảy ra trên PORTB

1.4.3.4 Thanh Ghi Cho Phép Ngắt Ngoại Vi 1 (PIE1 Register) :

GVHD : NGUYỄN TRỌNG KHANH 25 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 26

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

Chú ý: Bit PEIE (INTCON<6>) phải được set để cho phép bất kì ngắt

ngọai vi nào xảy ra

Bit 7 PSPIE: Bit cho phép ngắt đọc/ ghi Port song song

1.4.3.5 Thanh Ghi Cờ Của Các Ngắt Ngoại Vi 1 :

Bit 7 PSPIF: Cờ ngắt đọc/ ghi của Port song song

1: Một hoạt động đọc/ghi đã diễn ra (phải xóa bằng phần mềm)

0: Không có hoạt động đọc/ghi

GVHD : NGUYỄN TRỌNG KHANH 26 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 27

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

Bit 6 ADIF: Cờ báo ngắt chuyển đổi A/D

1: Một quá trình chuyển đổi A/D đã hoàn thành

0: Chuyển đổi A/D chưa hoàn tất

Bit 5 RCIF: Cờ báo ngắt nhận USART

1: Buffer nhận USART đầy 0: Buffer nhận USART trống

Bit 4 TXIF: Cờ báo ngắt phát USART

1: Buffer truyền USART trống

0: Buffer truyền USART đầy

Bit 3 SSPIF: Cờ báo ngắt port nối tiếp đồng bộ (ngắt SSP)

1: Ngắt SSP xảy ra và phải được xóa bằng phần mềm trước khi trởlại chương trình chính từ chương trình phục vụ ngắt

0: Khi các giá trị so sánh trong thanh ghi TMR1 không được thỏa

Chế độ PWM: Không sử dụng trong chế độ này

Bit 1 TMR2IF: Cờ báo ngắt xảy ra khi giá trị trong thanh ghi TMR2 bằng trong thanh ghi PR2

1: Giá trị trong thanh ghi TMR2 bằng thanh ghi PR2 (phải được xóa bằng phần mềm)

0: Giá trị trong thanh ghi TMR2 chưa bằng thanh ghi PR2

Bit 0 TMR1IF: Cờ báo tràn thanh ghi TMR1

1: Thanh ghi TMR1 tràn (phải được xóa bắng phần mềm)

0: Thanh ghi TMR1 chưa tràn

1.4.3.6 Thanh Ghi Cho Phép Ngắt Ngoại Vi 2 :

Chú ý: Bit PEIE (INTCON<6>) phải được set để cho phép bất kì ngắt ngọai vi nào xảy ra

Bit 7,5,2,1 Unimplemented : read as ‘0’

Bit 6 CMIE: Bit cho phép ngắt do bộ so sánh điện thế

1: Cho phép

GVHD : NGUYỄN TRỌNG KHANH 27 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 28

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.3.7 Thanh Ghi Cờ Của Các Ngắt Ngoại Vi 2 :

Bit 7,5,2,1 Unimplemented : read as ‘0’ Bit 6 CMIF: Cờ báo ngắt do bộ so sánh

1: Ngõ vào bộ so sánh đã thay đổi (phải được xóa bằng phần mềm) 0: Ngõ vào bộ so sánh không thay đổi

Bit 4 EEIF: Cờ báo ngắt ghi EEPROM

1: Ghi EEPROM hoàn tất (phải được xóa bằng phần mềm)

0: Ghi EEPROM chưa hoàn tất

Bit 3 BCLIF: Cờ báo ngắt do xung đột bus

1: Xung đột bus đã xuất hiện trong chế độ SSP

0: Không có xung đột bus xảy ra

Bit 0 CCP2IF: Cờ báo ngắt CPP2

Chế độ Capture (bắt giữ):

1: Một sự bắt giữ thanh ghi TMR1 đã xảy ra (phải được

xóa bằng phần mềm) 0: Không xảy ra Capture thanh ghi TMR1

Chế độ Compare (So sánh):

1: Một thuật toán so sánh trong thanh ghi TMR1 xảy ra (phải

được xóa bằng phần mềm)0: Không xảy ra thuật toán so sánh

GVHD : NGUYỄN TRỌNG KHANH 28 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 29

ĐỒ ÁN TỐT NGHIỆP KHÓA 2007-2010 ĐT : MẠCH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM

1.4.4 PCL và PCLATH :

Bộ đếm chương trình PC

(program counter) có độ dài 13

bit, được dùng để chứa địa chỉ của

lệnh được thực thi kế tiếp Byte

thấp chứa trong thanh ghi PCL có

thể đọc/ghi một cách trực tiếp Các

bit cao (bit 12:8) chứa trong thanh

ghi PCLATH, không thể đọc

nhưng có thể ghi gián tiếp bằng

GVHD : NGUYỄN TRỌNG KHANH 29 SVTH : TRẦN THẾ HUY

LƯƠNG ĐỨC HUY

Trang 30

cách sử dụng thanh ghi PCLATH

Khi cĩ bất kì sự Reset nào xảy ra, các bit cao của bộ đếm chương trình CP sẽ bị xĩa

1.4.5 Ngăn Xếp Stack :

Stack cho phép 8 lệnh gọi chương trình con và ngắt hoạt động Stack chứa địachỉ mà chương trình chính sẽ quay về thực hiện từ sau chương trình con hay ngắt đối với PIC16F877A Stack cĩ độ sâu 8 lớp

Stack khơng nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà la2mot65vùng nhớ đặc biệt khơng cho phép đọc hay ghi Khi lệnh CALL được thực hiệnhay 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ươngtrình PC tự động được vi điều khiển cắt vào trong stack Khi một trong các lệnhRETURN, 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ớ Stacklần thứ 9 sẽ ghi đề lên giá trị cắt vào trong 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 trong Stack lần thứ 2

Cần chú là khơng cĩ cờ hiệu nào cho biết trạng thái stack, do đĩ ta khơng biếtđược khi nào stack tràn Bên cạnh đĩ tập lện của vi điều khiển PIC cững khong

cĩ lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hồn tồn được điềukhiển của CPU

1.4 6 Địa Chỉ Trực Tiếp Và Địa Chỉ Gián Tiếp, Thanh Ghi INF Và Thanh Ghi FSR :

Thanh ghi INF khơng phải là một thanh ghi vật lí Nĩ chứa giá trị của thanh ghi

cĩ địa chỉ nằm ở thanh ghi FSR

Ví dụ: Thanh ghi tại địa chỉ 10h cĩ giá trị 5Ah Nếu ta đưa 10h vào thanh ghi FSR thì

Trang 31

1.5 I/O PORTS :

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ươngtác đối với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trìnhtương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng

Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theocách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập với số lượngchân trong có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bêntrong các đặc tính giao tiếp ngoại vi nên bên cạch chức năng là cổng xuất nhậpthô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 đều thể hiện

Trang 32

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 Chứcnagn8 của từng chân xuất nhập trong hoàn toàn có thể được xác lập và điều khiểnthông qua các thanh ghi SFR liên quan đến chân xuất nhập đó.

Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE

1.5.1 PortA Và Thanh Ghi TRISA :

Port A gồm 6 chân từ RA0 đến

RA5 Việc ghi giá trị vào thanh ghi

TRISA sẽ qui định các chân của Port A là

input hay output (nếu là 1 thì là input, là

output nếu là 0) Việc đọc thanh ghi Port

A sẽ đọc trạng thái của các chân ở Port A

Việc ghi giá trị vào thanh ghi Port A sẽ

thay đổi trạng thái của các chân Port A

Riêng chân RA4 được tích hợp chức năng

là chân cung cấp xung clock ngoài cho

Timer 0 (RA4/T0CKI) Những chân

khác của Port A được đa hợp với các chân

ngõ vào Analog của ADC và chân ngõ

vào điện thế so sánh của bộ so sánh

Comparator Hoạt động của những chân

này được quy định bằng những bit tương

ứng trong các thanh ghi ADCCON1 và

CMCON1

Khi các chân của Port A được sử

dụng làm ngõ vào Analog thì các bit trong thanh ghi TRISA phải được set bằng 1

Trang 33

Chức năng của portA :

Cấu trúc bên trong và chức năng cụ thể của từng chân trong PORTA sẽ được trìnhbày cụ thể trong phụ lục 1

Trang 34

Các thanh ghi SFR liên quan đến PORTA bao gồm:

 PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA

 TRISA (địa chỉ 85h) : điều khiển xuất nhập

 CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh

 CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp

 ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC

Chi tiết về các thanh ghi sẽ được trình bày cụ thể trong phụ lục 2

1.5.2 Port B Và Thanh Ghi TRISB

Port B gồm 8 chân từ chân RB0-RB7 Việc ghi giá trị vào thanh ghi TRISB sẽquy định các chân của Port B là input hay output (1:input, 0: output) Việc đọcthanh ghi PortB sẽ đọc trạng thái của các chân ở Port B Việc ghi giá trị vào thanhghi Port B sẽ thay đổi trạng thái của các chân PortB

Ba chân của Port B được đa hợp với chức năng In-Circuit Debugger vàLow Voltage Programming function: RB3/PGM, RB6/PGC, RB7/PGD Mỗi chânPort B có một transistor kéo lên Vdd Chức năng này hoạt động khi bit RBPU(Option <7>) được xóa Chức năng này sẽ tự động được xóa khi Port B được quyđịnh là input

Bốn chân của Port B từ RB7 đến RB4 có chức năng ngắt khi trạng thái chânPortB thay đổi (Khi Port B được quy định là output thì chức năng này không hoạtđộng Giá trị chân của PortB được so sánh với giá trị đã được lưu trước đó, khi có

sự sai lệch giữa 2 giá trị này ngắt sẽ xảy ra với cờ ngắt RBIF (INTCON<0) sẽ bậtlên Ngắt có thể làm cho VđK thoát khỏi trạng thái SLEEP

Bất cứ sự truy xuất nào trên PortB sẽ xóa trạng thái sai lệch, kết thúc ngắt vàcho phép xóa cờ ngắt RBIF

Trang 35

Bảng chức năng PortB :

PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB

TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập

OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0

1.5.3 PortC và Thanh Ghi TrisC

Port C gồm 8 chân từ chân RC0-RC7 Việc ghi giá trị vào thanh ghi TRISC

sẽ quy định các chân của Port C là input hay output (1: input, 0: output) Việc đọcthanh ghi Port C sẽ đọc trạng thái của các chân ở Port C Việc ghi giá trị vào thanh ghi Port C sẽ thay đổi trạng thái của các chân PortC

Các chân của Port C được đa hợp với các chức năng ngoại vi

Khi các chức năng ngoại vi được cho phép ta cần quan tâm chặt chẽ tới giá trị các bit của thanh ghi TRISC Một số chức năng ngoại vi sẽ ghi đè giá trị 0 lên các bit của thanh ghi TRISC và mặc định các chân này là output, ngoài ra một số chức năng ngoại vi khác sẽ tự động mặc định một số chân là ngõ vào Do đó cần xem xét

kĩ các tính năng của các hàm ngoại vi để thiết lập giá trị các bit trong thanh ghi TRISC cho thích hợp

Trang 36

Các thanh ghi điều khiển liên quan đến PORTC:

1.5.4 Port D Và Thanh Ghi TRISD :

Port D gồm 8 chân từ chân RD0-RD7 Bên cạnh chức năng là port xuấtnhập, PortD còn có thể hoạt động như một cổng song song bằng cách set bit

Trang 37

PSPMODE (TRISD<4>), trong chế độ này buffer ngõ vào là TTL PORTD còn làcổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port).

Bảng chức năng Port D

Các thanh ghi liên quan đến PORTD bao gồm:

 Thanh ghi PORTD : chứa giá trị các pin trong PORTD

 Thanh ghi TRISD : điều khiển xuất nhập

 Thanh ghi TRISD : điều khiển xuất nhập PORTD và chuẩn giao tiếp PSP

1.5.4 Port E Và Thanh Ghi TRISE :

Port E có 3 chân RE0 /RD/AN5, RE1/WR /AN6, RE2 /CS/AN7, có thể được cấu hình như các chân xuất nhập thông thường

Các chân của Port E có thể trở thành các chân điều khiển cho cổng song song của VđK khi bit PSPMODE (TRISE<4>) được set bằng 1 Trong chế độ này, người

sử dụng phải đảm bảo các chân của PortE là ngõ vào

Ngoài ra các chân Port E còn có thể được cấu hình như các ngõ vào Analog, tại chế độ này, khi đọc giá trị của các chân này sẽ cho ta giá trị là 0

Thanh ghi TRISE quy định chức năng xuất nhập của Port E ngay cả khi nó được sử dụng như các ngõ vào Analog Phải đảm bảo các chân này được quy định là

Trang 38

Bảng chức năng các chân Port E :

Các thanh ghi liên quan đến PORTE bao gồm:

 PORTE: chứa giá trị các chân trong PORTE

 TRISE: điều khiển xuất nhập và xác lập các thông sốá cho chuẩn gia tiếp PSP

 ADCON1 : thanh ghi điều khiển khối ADC

CHƯƠNG 2 : BỘ ĐỊNH THỜI

2.1 Bộ Định Thời Timer0 :

2.1.1 Giới Thiệu :

Module Timer0 là một bộ định thời/ đếm 8 bit, có khả năng đọc và ghi được,

có một bộ tiền định tỉ lệ (Prescaler) 8 bit lập trình được, có bit lựa chọn nguồn xungclock trong hoặc ngoài, có ngắt khi Timer tràn, có bit lựa chọn cạnh tác động củaxung clock ngoài

Trang 39

2.1.2 Hoạt động Của Bộ định thời :

Chế độ định thời được chọn bằng cách xóa bit T0CS (OPTION_REG <5>).Trong chế độ này thanh ghi TMR0 sẽ tăng lên sau mỗi chu kì (prescaler không cótác dụng hoặc tỉ lệ 1 :1) Nếu thanh ghi TMR0 được ghi một giá trị mới, giá trịtrong thanh ghi này sẽ không tăng trong 2 chu kỳ lệnh kế tiếp.Vì vậy để khắc phụchiện tượng này chúng ta có thể hiệu chỉnh giá trị nhập vào thanh ghi TMR0

Chế độ đếm được lựa chọn bằng cách set bit T0CS (OPTION_REG <5>).Trong chế độ đếm, thanh ghi TMR0 sẽ tăng lên khi có cạnh lên hoặc cạnh xuốngxuất hiện trên chân T0CKL (cạnh lên hoặc cạnh xuống được lựa chọn bởi bitT0SE (OPTION_REG<4>, xóa bit T0SE sẽ lựa chọn cạnh lên)

2.1.3 Ngắt Timer0 :

Ngắt Timer 0 được tạo ra khi thanh ghi TMER0 tràn từ 0FFh đến 00h Khixảy ra tràn, cờ T0IF(INTCON<2>) được bật lên Ngắt có thể được ngăn chặnbằng cách xóa bit T0IE (INTCON<5>) Cờ ngắt T0IF phải được xóa bằng phầnmềm truớc khi thoát khỏi chương trình ngắt trở về chương trình chính

Lưu ý : Ngắt Timer 0 không làm VðK thoát khỏi trạng thái ngủ.

Trang 40

2.1.4 Sử Dụng Timer 0 Với Nguồn Xung Clock Ngoài.

Khi bộ tiền định tỉ lệ không được sử dụng, ngõ vào xung clock ngoại cũnggiống như ngõ ra bộ tiền định tỉ lệ Nguồn xung clock ngoại sẽ được đồng bộ vớixung clock nội bằng cách: nó sẽ ñược lấy mẫu tại chu kỳ Q2 và Q4 của xungclock nội Do đó, T0CKI phải ở mức cao ít nhất 2 Tosc và ở mức thấp ít nhấtcũng là 2 Tosc

2.1.5 Bộ Tiền định Tỉ Lệ 8 bit Của Timer0

Bộ đếm 8 bit được sử dụng như bộ tiền định tỉ lệ cho Timer 0 hoặc bộ hậu định

tỉ lệ cho WDT Bit PSA (OPTION_REG<3>) sẽ lựa chọn bộ đếm này sẽ sửdụng cho Timer0 hay WDT, các bit PS2, PS1, PS0 sẽ xác định tỉ lệ của bộ đếm

Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:

 TMR0 (địa chỉ 01h, 101h) : chứa giá trị đếm của Timer0

 INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE

và PEIE)

 OPTION_REG (địa chỉ 81h, 181h): điều khiển prescaler

2.2 Bộ Định Thời Timer1:

2.2.1 Giới Thiệu :

Timer 1 là một bộ định thời đếm 16 bit bao gồm hai thanh ghi 8 bit (TMR1H

và TMR1L), có khả năng đọc được và ghi được Cặp thanh ghi TMR1H vàTMR1L sẽ tăng từ 0000h lên FFFFh rồi sau đó tràn về 0000h Nếu được chophép (bit

Ngày đăng: 06/09/2017, 23:45

TỪ KHÓA LIÊN QUAN

w