1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển đèn phòng và theo dõi nhiệt độ phòng qua máy tính

39 659 1
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Điều Khiển Đèn Phòng Và Theo Dõi Nhiệt Độ Phòng Qua Máy Tính
Trường học University of Technology
Chuyên ngành Electrical Engineering
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hanoi
Định dạng
Số trang 39
Dung lượng 5,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Điều khiển đèn phòng và theo dõi nhiệt độ phòng qua máy tính

Trang 1

MỤC LỤC

Trang 2

CHUONGI

TONG QUAN ĐỒ AN “DIEU KHIEN ĐÈN PHÒNG VÀ

THEO DOI NHIET DO PHONG QUA MAY TiNH ”

1.1 GIỚI THIỆU CHUNG

1.1.1 Mục đích chương

%

s* Khái quát được mục đích và yêu cầu cần thực hiện của đề tài

s* Mô tả đề tài

s* Giới hạn phạm vi nghiên cứu của đề tài

1.1.2 Các chủ đề được trình bày trong chương

Nguyên lý hoạt động của mạch là điều khiển sáng tắt đèn và dùng cảm

biến nhiệt độ để đo nhiệt độ môi trường và đưa giá trị lên máy tính Từ đó điều

khiển đèn phòng sáng tắt theo ý muốn của người dùng và xem được giá trị nhiệt

độ trực tiếp của phòng qua máy tính

Thực hiện đề tài này vừa là một cơ hội để tìm hiểu nhiều hơn, rõ ràng hơn, cũng như Ứng dụng của PIC 16F877A và cảm biến nhiệt độ DS18B20 cùng các linh kiện khác trong thực tế Bên cạnh đó, cũng cho thấy việc Ứng dụng quan

GVHD: Thầy Phạm Quang Trí

Trang 3

trọng của máy tính vào trong công nghệ và cuộc sống Đồng thời học hỏi thêm kinh nghiệm trong việc thiết kế và lắp ráp mạch điện tử

1.3 GIỚI THIỆU VỀ ĐỀỂTÀI:

Tên đề tài “ĐIỀU KHIỂN ĐÈN PHÒNG VÀ THEO DÕI NHIỆT ĐỘ PHÒNG QUA MÁY TÍNH”

Từ mục đích và yêu cầu của đề tài, chúng em xây dựng hƯớng đi cho đề tài

nhƯ sau:

© SỬ dụng vi điều khiển PIC 16F877A lam chip điều khiển trung tâm

© - Dùng cảm biến nhiệt DS18B20 để đo nhiệt đỘ cỦa môi trường

¢ str dung giao tiếp USART với máy tính để hiển thị nhiệt độ phòng

đo được và điều khiển đèn phòng

© Khi nhiệt độ của mỘt phòng vượt ngưỡng đã định thì lập tức ngắt điện toàn bộ phòng đó

Về chỉ tiết, những phần sau của đề tài sẽ được trình bày rõ ràng hơn

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

Trong phạm vi của đề tài là thiết kế và thi công mạch với chức năng đo

nhiệt độ phòng và bật tắt đèn phòng với sự hỗ trợ của PIC 16F877A và cảm biến

nhiệt độ DS18B20 Chức năng chính của đề tài này là điều khiển đèn từng phòng

và dùng DS18B20 đo nhiệt đỘ của môi trường thông qua chức năng xử lý của PIC16F877A, việc điều khiển và giá trị nhiệt độ được hiển thị trực tiếp trên máy

tính

GVHD: Thầy Phạm Quang Trí

Trang 4

CHƯƠNG II

CÁC LINH KIỆN ĐƯỢC SỬ DỤNG 2.1 GIỚI THIỆU CHUNG

2.1.1 Mục đích chương

Đưa ra các linh kiện được sử dụng trong đỒ án

© Chi tiét về sơ đồ cấu tạo, nguyên lý hoạt động, chức năng của các linh

2.2.1 Khái quát về cảm biến nhiệt độ DS18B20

DS18B20 là một sản phẩm của công ty Dallas (Mĩ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời bus một dây và cảm biến một dây

Hình dạng bên ngoài của cảm biến DS18B20 được mô tả trên hình vẽ sau:

Trang 5

DS18B20 có 3 chân chính: 2 chân cấp nguồn và 1 chân out tín hiệu digital

Hình dạng bên ngoài của cảm biến một dây DS18B20 được mô tả trên hình vẽ, trong đó dạng vỏ TO-92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả

da người

Những thông số chính của DS18B20:

DS18B20 là nhiệt kế số có độ phân giải 9-12 bit giao tiếp với vi điều

khiển trung tâm thông qua 1 dây duy nhất (1 wire communication: 1 dây thông tin liên lạc)

DS18B20 hoạt động với điện áp từ 3V-5.5V

Nó có thể đo nhiệt đỘ trong tầm -55°C - 125°C(-67°F — 257°F) với độ

chính xác +-0.5°C

Mỗi DS18B20 có một Serial code 64bits duy nhất, điều này cho phép

kết nối nhiều IC trên cùng đường bus

Chuẩn 1 wire có những đặc điểm sau:

- Chỉ có một master trong hệ thống

- Giá thành thấp

- Tốc độ đạt dược tối đa 16kbps

- Khoảng cách truyền xa nhất là 300m

- Lượng thông tin trao đổi nhỏ

2.2.2 Sơ đồ khối của cảm biến DS18B20:

GVHD: Thầy Phạm Quang Trí

Trang 6

2.2.3 Thanh ghỉ dữ liệu

Mỗi IC DS18B20 có một mã 64bit riêng biệt bao gồm: 8 bit Family code, 48

bit serial code va 8 bit CRC code được lưu trong Rom Các giá trị này giúp phân biệt

giỮa các IC với nhau trên cùng 1 bus Giá trị Family code của DS18B20 là 28h và giá trị CRC là kết quả của quá trình kiểm tra 56 bits trước đó

Tổ chức bộ nhớ Scratchpad: Bộ nhớ DS18B20 bao gồm 9 thanh ghi 8bits

Byte 0 và 1 lưu giá trị nhiệt độ chuyển đổi

Byte 2 và 3 lưu giá trị ngưỡng nhiệt độ (giá trị này được lưu khi mất điện) Byte 4 là thanh ghi cấu hình cho hoạt động của DS18B20

Byte 5, 6 và 7 không sử dụng

Byte 8 là thanh ghi chỉ đọc lưu giá trị CRC từ byte 0 đến byte 7

Dữ liệu trong byte 2, 3, 4 được ghi thông qua lệnh Write Scratchpad [4Eh] và

dữ liệu được truyền đến DS18B20 với bit LSB của byte 2, sau khi ghi dữ liệu có

GVHD: Thầy Phạm Quang Trí

Trang 7

thể được đọc lại thông qua lệnh Read Scratchpad [BEh] và khi đọc Scratchpad thì

bit LSB của byte 0 sẽ được gửi đi trước tất cả các byte đều được đọc, nhưng chỉ ghi được byte 2, 3 và 4 Để chuyển giá trị TH và TL từ bộ nhờ vào EEPROM thì cần gửi lệnh Copy Scratchpad [48h] đến DS1820 Và dữ liệu từ EPROM cũng có thể được chuyển vào thanh ghi TH, TL thông qua lệnh Recall E2 [B8h]

2.2.4 Trao đổi dữ liệu giữa vi điều khiển và DS18B20 thông qua ba bước sau:

Bước 1: Khởi tạo

Quá trình khởi tạo bao gồm 1 xung reset do vi điều khién master gửi đến slave DS1820, sau đó là xung presence từ DS18B20 gửi đến vi điều khiển, để chỉ

ra sự hiện diện của vi điều khiển và DS18B20 và quá trình hoạt động trao đổi dữ

liệu có thể bắt đầu

Bước 2: Lệnh điều khiển ROM

Các lệnh này làm việc với 64bits serial code ROM, lệnh này được phát ra

sau quá trình khởi tạo Lệnh cho phép vi điều khiển biết có bao nhiêu thiết bị và

thiết bị loại gì trên bus

Bước 3: Lệnh điều khiển DS1820

Sau khi vi điều khiển định địa chỉ thiết bị cần giao tiếp thông qua các lệnh ROM, vi điều khiển sẽ gửi các lệnh điều khiển hoạt động của DS1820 Những lệnh này cho phép vi điều khiển ghi và đọc dữ liệu từ bộ nhờ Scratchpad của DS1820, bắt đầu quá trình chuyển đổi nhiệt độ và xác định chế độ cấp nguồn

Có 5 lệnh điều khiển ROM:

> SEARCH ROM [F0h]: Khi hệ thống bắt đầu hoạt động, thì vi điều khiển

sử dụng lệnh này để kiểm tra code ROM của tất cả các thiết bị có trên bus cho phép vi điều khiển biết được số thiết bị và loại của thiết bị trên bus Nếu trên bus chỉ có 1 thiết bị thì có thể sử dụng lệnh Read_ROM thay cho

lệnh Search _ROM Sau mỗi quá trình Search_ROM thì cần phải quay lại quá trình khởi tạo để reset hệ thống

> READ ROM [33h]: Lệnh này được sử dụng khi chỉ có 1 thiết bị trên bus

Lệnh này cho phép vi điều khiển đọc 64bit ROM code của thiết bị Nếu trên

GVHD: Thầy Phạm Quang Trí

Trang 8

bus có nhiều thiết bị thì lệnh này sé gay ra sự xung đột bus dữ liệu giữa các thiết bị

> MATCH ROM [55h]: Lénh nay theo sau bởi 64 bit ROM code cho phép vi

điều khiển định địa chỉ thiết bị cần giao tiếp Chỉ thiết bị có ROM code phù hợp sẽ trả lời, các thiết bị còn lại sễ đợi xung reset tiếp theo

> SKIP ROM [CCh]: Lénh nay cho phép vi điều khiển gửi đồng thời đến tất

cả các thiết bị trên bus mà không cần bất cứ thông tin nào về ROM Code Ví

dụ, muốn gửi lệnh Convert_T đến tất cả các thiết bị trên bus, thì đầu tiên ta

gửi lệnh Skip_ROM sau đó tiếp theo là gửi lệnh Convert_T Tương tự như

vậy, nếu theo sau lệnh Skip_ROM là lệnh Read_ Scratchpad thì dữ liệu trên DS1820 được đọc về, và lưu ý rằng lệnh này chỉ thực hiện được khi trên bus có 1 thiết bị, nếu trên bus có nhiều thiết bị thì sẽ gây ra xung đột bus

> ALARM SEARCH [ECh]: Lénh nay gan giống với lệnh Search ROM, nhưng lệnh này chỉ tác động đến thiết bị mà cờ alarm được bật lên sẽ trả lời Lệnh này cho phép xác định các thiết bị mà ở đó nhiệt độ đo được vượt qua ngưỡng nhiệt đỘ, và sau khi lệnh này được thực thi thì vi điểu khiển

phải lập lại quá trình khởi tạo

2.2.5 Cách Đọc Giá Trị Nhiệt ĐỘ

- Bên trong DS18B20 sẽ có bộ chuyển đổi giá trị nhiệt đỘ sang giá trị sỐ va

được lưu trong các thanh thi ở bộ nhớ scratchpad ĐỘ phân giải nhiệt độ đo có thể

được cấu hình ở chế độ 9 bits, 10bits, 11bits, 12bits Ở chế độ mặc định thì

DS18B20 hoạt động ở độ phân giải 12bits

- Để bắt đầu quá trình đọc nhiệt độ, và chuyển đổi từ giá trị tương tự sang

giá trị số thì vi điều khiển gửi lênh Convert T [44h], sau khi chuyển đổi xong thì giá trị nhiệt độ sẽ được lưu trong 2 thanh ghi nhiệt độ ở bộ nhớ scratchpad và IC

trở về trạng thái nghỉ

- Nhiệt độ được lưu bên trong DS18B20 được tính ở nhiệt độ Celcius nếu

tính ở nhiệt độ Fahrenheit can phải xây dựng thêm bảng chuyển đổi nhiệt độ Giá

GVHD: Thầy Phạm Quang Trí

Trang 9

trị nhiệt độ lưu trong bộ nhớ gồm 2bytes-16bits: số âm sẽ được lưu dưới dạng bù

- Nhiệt đỘ sau khi được lưu vào trong 2 thanh ghi bộ nhớ sẽ được so sánh

với 2 thanh ghi ngưỡng nhiệt độ TH và TL Các giá trị ngưỡng nhiệt độ do người dùng quy định, và nó sẽ không thay đổi khi mất điện

- Như vậy chỉ có phần nguyên, các bit 11-4 của giá trị nhiệt độ được so sánh

với thanh ghi ngưỡng Nếu giá trị nhiệt độ đọc về nhỏ hơn mức TL hoặc lớn hơn

mức TH thì cờ báo quá nhiệt sẽ được bật lên, và nó sẽ thay đổi ở mỗi quá trình đọc nhiệt đỘ Vi điều khiển có thể kiểm tra trạng thái quá nhiệt bằng lệnh Alarm

Search [ECh]

GVHD: Thầy Phạm Quang Trí

Trang 10

2.3, PIC 16F877A:

Sơ lược về các chân của PIC16F877A :

PIC16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về các tính năng, có 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 PIC 16F877A được mô tả như sau :

8K Flash ROM

360 Bytes RAM

256 Bytes EEPROM

5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập

2 bộ định thời 8 bits (Timer0 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

2 bộ CCP (Capture / Compartor / PWM)

GVHD: Thầy Phạm Quang Trí

Trang 11

— _ 1 bộ biến đổi AD 10 bits, B ngõ vào

— 2 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

—_ 15nguồ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

osci/cuxin aE0/a0*/ANs |—Ê 3 chân

2 thân RE1/NR*/AN6 PortE

Thechvanh : O5C2/CIKOUT RE2/CS*/AN7

Trang 12

eet Cola] SPI USARTIIE 10 T1 T2

Từ sơ đỒ chân và sơ đồ nguyên lý ở trên, ta rút ra nhận xét nhƯ sau:

> PIC 16F877A c6 tt ca 40 chân

> 40 chan dugc chia thành 5 port, 2 chân cấp nguồn, 2 chân mass, 2 chân thạch

anh và 1 chân RESET

> 5 PORT cla PIC 16F877A bao g6m:

Trang 13

Sơ đồ khối của PIC 16F877A:

Sơ đồ khối bao gồm các khối chức năng cơ bản sau :

> Kh6i ALU : Arithmetic Logic Unit

> Khối bộ nhớ chương trình : Flash Program Menmory

WV Bộ nhớ file thanh ghi RAM: RAM File Register

Khối giải mã lệnh và điều khién: Instruction Decode Control

Khối thanh ghi đặc biệt

Khối ngoại vi timer

Khối giao tiếp nối tiếp

Khối chuyển đổi tín hiệu tương tự sang số ADC

Khối các PORT xuất nhập

GVHD: Thầy Phạm Quang Trí

Trang 15

Ưu điểm của PIC 16F877A so với các loại vi xử lý khác :

Chỉ cần xét qua các PORT và chức năng của các PORT ta có thể nhận thấy

ưu điểm vượt trội của nó so với các dòng vi sử lý khác

Bộ nhớ EEPROM co thể lưu trữ dữ liệu hơn 40 năm

Trên đây là mỘt vài chức năng cơ bản cũng như ưu điểm của PIC16F877A,

để biết chỉ tiết về cấu tạo cũng như nguyên lý hoạt động, cùng nguyên lý xử lý dữ

liệu của PIC ta có thể đọc datasheet để hiểu rõ hơn( ở thư mục “tài liệu tham

khảo” có trình bày)

2.4 GIAO TIẾP VỚI MÁY TÍNH USART:

USART (Universal Synchronous Asynchronous Receiver Transmitter) 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 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ị ngoại 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:

Trang 16

Genetator) 8bit dùng cho giao diện USART BRG thực chất là một bộ đếm có thể được sử dụng cho cả hai dạng đồng bộ và bất đồng bộ và được điều khiển bởi

thanh ghi PSBRG Ở dạng bất đồng bộ, BRG còn được điều khiển bởi bit BRGH

(TXSTA<2>) Ở dạng đồng bộ tác động của bit BRGH được bỏ qua Tốc độ baud

do BRG tạo ra được tính theo công thỨc sau:

Trong đó X là giá trị của thanh ghi RSBRG ( X là số nguyên và 0<X<255)

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

TXSTA (địa chỉ 98h): chọn chế độ đòng bộ hay bất đồng bộ ( bit SYNC) và chọn mức tốc đỘ baud (bit BRGH)

RCSTA (địa chỉ 18h): cho phép hoạt động cổng nối tiếp (bit SPEN)

RSBRG (dia chi 99h): quyết định tốc đỘ baud

2.4.11 TRUYỀN DỮ LIEU QUA CHUAN GIAO TIEP USART BAT

DONG BO

Thành phần quan trọng nhất của khối truyền dữ liệu là thanh ghi dịch dữ liệu TSR (Transmit Shift Register) Thanh ghi TSR sẽ lấy dữ liệu từ thanh ghi đệm dùng cho quá trình truyền dữ liệu TXREG Dữ liệu cần truyền phải đựợc đưa trước vào thanh ghi TXREG Ngay sau khi bit Stop của dữ liệu cần truyền trước

đó được truyền xong, dữ liệu từ thanh ghi TXREG sẽ được đưa vào thanh ghi TSR, thanh ghi TXREG bị rỗng, ngắt xảy ra và cờ hiệu TXIF (PIR1<4>) được set

GVHD: Thầy Phạm Quang Trí

Trang 17

Ngắt này được điều khiển bởi bit TXIE (PIE1<4>) CỜ hiệu TXIF vẫn được set bất chấp trang thái cỦa bit TXIE hay tác động của chương trình (không thể xóa

TXIF bằng chương trình) mà chỉ reset về 0 khi có dữ liệu mới được đưa vào

thanhh ghi TXREG

Hình 24a Sơ đồ khối của khối truyền dữ liệu USART

Trong khi cỜ hiệu TXIF đóng vai trò chỉ thị trạng thái thanh ghi TXREG thì cỜ hiệu

TRMT (TXSTA<1>) có nhiệm vụ thể hiện trạng thái thanh ghi TSR Khi thanh ghi TSR rong, bit TRMT sẽ được set Bit này chỉ đọc và không có ngắt nào được gắn

với trạng thái của nó Một điểm cần chú ý nữa là thanh ghi TSR không có trong bộ nhớ dữ liệu và chỉ được điều khiển bởi CPU

Khối truyền dữ liệu được cho phép hoạt động khi bit TXEN (TXSTA<5>)

được set Quá trình truyền dữ liệu chỉ thực sự bắt đầu khi đã có dữ liệu trong thanh ghi TXREG và xung truyền baud được tạo ra Khi khối truyền dữ liệu được

khởi động lần đầu tiên, thanh ghi TSR rỗng Tại thời điểm đó, dữ liệu đưa vào thanh ghi TXREG ngay lập tức được load vào thanh ghi TSR và thanh ghi TXREG

bị rỗng Lúc này ta có thể hình thành một chuỗi dữ liệu liên tục cho quá trình truyền dữỮ liệu Trong quá trình truyền dữ liệu nếu bit TXEN bị reset về 0, quá

trình truyền kết thúc, khối truyền dữ liệu được reset và pin RC6/TX/CK chuyển đến trạng thái high-impedance

Trong trường hợp dữ liệu cần truyền là 9 bit, bit TX9 (TXSTA<6>) được

set và bit dữ liệu thứ 9 sẽ được lưu trong bit TX9D (TXSTA<0>) Nên ghi bit dữ

GVHD: Thầy Phạm Quang Trí

Trang 18

liệu thứ 9 vào trước, vì khi ghi 8 bit dữ liệu vào thanh ghi TXREG trước có thể xảy ra trường hợp nội dung thanh ghi TXREG sẽ được load vào thanh ghi TSG trước, như vậy dữ liệu truyền đi sễ bị sai khác so với yêu cầu

Tóm lại, để 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

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

3 Set bit TXIE nếu cần sử dụng ngắt truyền

4 Set bit TX9 nếu định dạng dữ liệu cần truyền là 9 bit

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 8bit 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 PIR1 (địa chỉ 0Ch): chứa cỜ hiệu TXIE

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

2.4.1.2 NHẬN DỮ LIỆU QUA CHUẨN GIAO TIẾP USART BẤT ĐỒNG BỘ

Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối phục hồi dữ

GVHD: Thầy Phạm Quang Trí

Trang 19

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 và 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 ghi nhận dữ liệu sẽ bằng với tần số baud hoặc tần số cla oscillator

Hình 2.4b Sơ đỒ khối của khối nhận dữ liệu USART

Bit điểu khiển cho phép khối nhận dữ liệu là bit RCEN (RCSTA<4>)

Thành phần quan trọng nhất của khối nhận dữ liệu là thanh ghi nhận dữ liệu RSR (Receive Shift Register) Sau khi nhận diện bit Stop của dữ liệu truyền tới, dữ liệu

nhận được trong thanh ghi RSR sẽ được đưa vào thanh ghi RCGER, sau đó cờ

hiệu RCIF (PIR1<5>) sẽ được set và ngắt nhận được kích hoạt Ngắt này được

điều khiển bởi bit RCIE (PIE1<5>) Bit cờ hiệu RCIF là bit chỉ đọc và không thể

được tác động bởi chương trình RCIF chỉ reset về 0 khi dữ liệu nhận vào ở thanh

ghi RCREG đã được đọc và khi đó thanh ghi RCREG rỗng Thanh ghi RCREG là

thanh ghi có bộ đệm kép (double-buffered register) và hoạt động theo cơ chế FIFO (Eirst In First OuÐ) cho phép nhận 2 byte và byte thứ 3 tiếp tục được đưa vào thanh

ghi RSR

Nếu sau khi nhận được bit Stop của byte dữ liệu thứ 3 mà thanh ghi

RCREG vẫn còn đẩy, cờ hiệu báo tràn dữ liệu (Ovemun Emor bit)

OERR(RCSTA<1>) sẽ được set, dữ liệu trong thanh ghi RSR sẽ bị mất đi và quá trình đưa dữ liệu từ thanh ghi RSR vào thanh ghỉ RCREG sẽ bị gián đoạn Trong

GVHD: Thầy Phạm Quang Trí

Ngày đăng: 02/03/2013, 16:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w