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

54 418 2

Đ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 54
Dung lượng 1,72 MB

Nội dung

USART đ ng bồ khối ột số đặc tính của vi điều khiển PIC.. ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC.. ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC..

Trang 1

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

M c l c ục lục ục lục

L i nói đ u ời nói đầu ầu.

Ph n 1: ầu Lý thuy t – gi i thi u các linh ki n chính c a ết – giới thiệu các linh kiện chính của ới thiệu các linh kiện chính của ệu các linh kiện chính của ệu các linh kiện chính của ủa

m ch ạch.

Ch ương 1: PIC 16F877a ng 1: PIC 16F877a.

1 T ng quát v vi đi u khi n PIC ổng quát về vi điều khiển PIC ề vi điều khiển PIC ề vi điều khiển PIC ển PIC.

1.1 Gi i thi u v vi đi u khi n PIC.ới thiệu về vi điều khiển PIC ệu về vi điều khiển PIC ề vi điều khiển PIC ề vi điều khiển PIC ển PIC

1.1.1 T ch c ph n c ng.ổ chức phần cứng ức phần cứng ần cứng ức phần cứng

1.1.2 M t s đ c tính c a vi đi u khi n PIC.ột số đặc tính của vi điều khiển PIC ố đặc tính của vi điều khiển PIC ặc tính của vi điều khiển PIC ủa vi điều khiển PIC ề vi điều khiển PIC ển PIC

1.1.3 Nh ng đ c tính ngo i vi.ững đặc tính ngoại vi ặc tính của vi điều khiển PIC ại vi

1.1.4 Đ c đi m v tặc tính của vi điều khiển PIC ển PIC ề vi điều khiển PIC ương tự.ng t ự

1.1.5 Các đ c đi m đ c bi t.ặc tính của vi điều khiển PIC ển PIC ặc tính của vi điều khiển PIC ệu về vi điều khiển PIC

1.1.6 Công ngh CMOS.ệu về vi điều khiển PIC

1.2 Gi i thi u v PIC16F8XX và PIC 16F877a.ới thiệu về vi điều khiển PIC ệu về vi điều khiển PIC ề vi điều khiển PIC

2 S đ kh i và tính năng các chân PIC 16F877a ơng 1: PIC 16F877a ồ khối và tính năng các chân PIC 16F877a ối và tính năng các chân PIC 16F877a

2.1 S đ kh iơng tự ồ khối ố đặc tính của vi điều khiển PIC

2.2 S đ chân ơng tự ồ khối

2.3 T ch c b nhổ chức phần cứng ức phần cứng ột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC

2.3.1 B nh chột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC ương tự.ng trình

2.3.2 B nh d li uột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC ững đặc tính ngoại vi ệu về vi điều khiển PIC

2.3.3 B nh EEROMột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC

2.5 Các chân dao đ ng (OSC1 – OSC2) và chân RESET.ột số đặc tính của vi điều khiển PIC

2.6 Các b đ nh th iột số đặc tính của vi điều khiển PIC ịnh thời ời

2.6.1 Timer 0

2.6.2 Timer 1

2.6.3 Timer 2

2.7 ADC

2.8 Truy n d n n i ti p USARTề vi điều khiển PIC ẫn nối tiếp USART ố đặc tính của vi điều khiển PIC ếp USART

2.8.1 USART b t đ ng bất nhập ồ khối ột số đặc tính của vi điều khiển PIC

2.8.1.1 USART truy n b t đ ng bề vi điều khiển PIC ất nhập ồ khối ột số đặc tính của vi điều khiển PIC

Trang 2

2.8.1.2 USART nh n b t đ ng bập ất nhập ồ khối ột số đặc tính của vi điều khiển PIC.

2.8.2 USART đ ng bồ khối ột số đặc tính của vi điều khiển PIC

2.8.2.1 Truy n d li u ch đ MASTERề vi điều khiển PIC ững đặc tính ngoại vi ệu về vi điều khiển PIC ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC

2.8.2.2 Nh n d li u ch đ MASTERập ững đặc tính ngoại vi ệu về vi điều khiển PIC ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC

2.8.3 USART ch đ Slaveở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC

2.8.3.1 Truy n d li u ch đ Slaveề vi điều khiển PIC ững đặc tính ngoại vi ệu về vi điều khiển PIC ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC

2.8.3.2 Nh n d li u ch đ Slaveập ững đặc tính ngoại vi ệu về vi điều khiển PIC ở chế độ MASTER ếp USART ột số đặc tính của vi điều khiển PIC

2.9.2 Truy n d li u ề vi điều khiển PIC ữ liệu ệu các linh kiện chính của

2.9.3 Nh n d li u ận dữ liệu ữ liệu ệu các linh kiện chính của

2.10 Ng t ắt

Ch ương 1: PIC 16F877a ng 2: IC gi i mã led 7 đo n – 74247 ải mã led 7 đoạn – 74247 ạch.

1 Led 7 đo n ạch.

2 IC 74247.

Ch ương 1: PIC 16F877a ng 3: IC TL082.

Ch ương 1: PIC 16F877a ng 4: IC n áp ổng quát về vi điều khiển PIC.

Ch ương 1: PIC 16F877a ng 5: 2SC1815.

Ph n 2: ầu Thi công – tình toán v t ng kh i trong m ch ề vi điều khiển PIC ừng khối trong mạch ối và tính năng các chân PIC 16F877a ạch.

 Yêu c u v đ án.ần cứng ề vi điều khiển PIC ồ khối

 Ưu và nhược điểm của đồ án.u và nhược điểm của đồ án.c đi m c a đ án.ển PIC ủa vi điều khiển PIC ồ khối

 Gi i h n và hới thiệu về vi điều khiển PIC ại vi ưới thiệu về vi điều khiển PIC.ng phát tri n thêm v đ án.ển PIC ề vi điều khiển PIC ồ khối

Ch ương 1: PIC 16F877a ng 1: S đ kh i ơng 1: PIC 16F877a ồ khối và tính năng các chân PIC 16F877a ối và tính năng các chân PIC 16F877a

Ch ương 1: PIC 16F877a ng 2: M ch nguyên lý ạch.

1 Tìm hi u v kh i vi đi u khi n Pic 16f877a.ển PIC ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC ề vi điều khiển PIC ển PIC

2 Tìm hi u v kh i hi n th ển PIC ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC ển PIC ịnh thời

3 Tìm hi u v kh i bàn phím.ển PIC ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC

4 Tìm hi u v kh i phân lo i s n ph m.ển PIC ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC ại vi ản phẩm ẩm

5 Tìm hi u v kh i ngu n.ển PIC ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC ồ khối

Ch ương 1: PIC 16F877a ng 4: L u đ gi i thu t ch ư ồ khối và tính năng các chân PIC 16F877a ải mã led 7 đoạn – 74247 ận dữ liệu ương 1: PIC 16F877a ng trình

1 L u đ gi i thu t ph n phân lo i s n ph mư ồ khối ản phẩm ập ần cứng ại vi ản phẩm ẩm

2 L u đ gi i thu t ph n hi n thư ồ khối ản phẩm ập ần cứng ển PIC ịnh thời

Ch ương 1: PIC 16F877a ng 5: Ch ương 1: PIC 16F877a ng trình ho t đ ng ạch ộng

Trang 3

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

1. K t lu nếp USART ập

2. Tài li u tham kh oệu về vi điều khiển PIC ản phẩm

V i s phát tri n không ng ng c a khoa h c công ngh , cu c s ng conới thiệu về vi điều khiển PIC ự ển PIC ừng của khoa học công nghệ, cuộc sống con ủa vi điều khiển PIC ọc công nghệ, cuộc sống con ệu về vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ố đặc tính của vi điều khiển PIC

ngườii ngày càng tr nên ti n nghi và hi n đ i h n Đi u đó đem l i cho chúngở chế độ MASTER ệu về vi điều khiển PIC ệu về vi điều khiển PIC ại vi ơng tự ề vi điều khiển PIC ại vi

ta nhi u gi i pháp t t h n, đa d ng h n trong vi c x lý nh ng v n đ tề vi điều khiển PIC ản phẩm ố đặc tính của vi điều khiển PIC ơng tự ại vi ơng tự ệu về vi điều khiển PIC ử lý những vấn đề tưởng ững đặc tính ngoại vi ất nhập ề vi điều khiển PIC ưở chế độ MASTERng

ch ng nh r t ph c t p g p ph i trong cu c s ng Vi c ng d ng các thànhừng của khoa học công nghệ, cuộc sống con ư ất nhập ức phần cứng ại vi ặc tính của vi điều khiển PIC ản phẩm ột số đặc tính của vi điều khiển PIC ố đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC ức phần cứng ụng các thành

t u khoa h c kỹ thu t hi n đ i trong t t c các lĩnh v c đã và đang r t phự ọc công nghệ, cuộc sống con ập ệu về vi điều khiển PIC ại vi ất nhập ản phẩm ự ất nhập ổ chức phần cứng

bi n trên toàn th gi i, thay th d n nh ng phếp USART ếp USART ới thiệu về vi điều khiển PIC ếp USART ần cứng ững đặc tính ngoại vi ương tự.ng th c th công , l c h uức phần cứng ủa vi điều khiển PIC ại vi ập

và ngày càng được điểm của đồ án ản phẩm ếp USARTc c i ti n hi n đ i h n, hoàn mỹ h n.ệu về vi điều khiển PIC ại vi ơng tự ơng tự

Cùng v i s phát tri n chung đó, nới thiệu về vi điều khiển PIC ự ển PIC ưới thiệu về vi điều khiển PIC.c ta cũng đang m nh mẽ ti n hànhại vi ếp USARTcông cu c công nghi p hóa và hi n đ i hóa đ t nột số đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC ệu về vi điều khiển PIC ại vi ất nhập ưới thiệu về vi điều khiển PIC.c đ theo k p s phát tri nển PIC ịnh thời ự ển PIC

c a các nủa vi điều khiển PIC ưới thiệu về vi điều khiển PIC.c trong khu v c và trên th gi i Trong đó lĩnh v c đi n t đangự ếp USART ới thiệu về vi điều khiển PIC ự ệu về vi điều khiển PIC ử lý những vấn đề tưởngngày càng đóng vai trò quan tr ng trong vi c phát tri n kinh t và đ i s ngọc công nghệ, cuộc sống con ệu về vi điều khiển PIC ển PIC ếp USART ời ố đặc tính của vi điều khiển PIC.con ngườii S ph bi n c a nó đóng góp không nh t i s phát tri n c a t tự ổ chức phần cứng ếp USART ủa vi điều khiển PIC ỏ tới sự phát triển của tất ới thiệu về vi điều khiển PIC ự ển PIC ủa vi điều khiển PIC ất nhập

c các ngành s n xu t, gi i trí.ản phẩm ản phẩm ất nhập ản phẩm

V i ng d ng r ng rãi trong đ i s ng hi n nay, đ c bi t là trong cácới thiệu về vi điều khiển PIC ức phần cứng ụng các thành ột số đặc tính của vi điều khiển PIC ời ố đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC ặc tính của vi điều khiển PIC ệu về vi điều khiển PIC.ngành công nghi p, thì vi c phân lo i và đ m s n ph m có t m h t s c quanệu về vi điều khiển PIC ệu về vi điều khiển PIC ại vi ếp USART ản phẩm ẩm ần cứng ếp USART ức phần cứng

tr ng, vì v y đ có th hi u rõ v t m quan tr ng c a v n đ này, chúng emọc công nghệ, cuộc sống con ập ển PIC ển PIC ển PIC ề vi điều khiển PIC ần cứng ọc công nghệ, cuộc sống con ủa vi điều khiển PIC ất nhập ề vi điều khiển PIC

đã ch n đ tài t t nghi p là “ọc công nghệ, cuộc sống con ề vi điều khiển PIC ố đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC Đ m và phân lo i s n ph m” ết – giới thiệu các linh kiện chính của ạch ải mã led 7 đoạn – 74247 ẩm”.

Trong th i gian ng n th c hi n đ tài c ng v i ki n th c còn nhi u h nời ắn thực hiện đề tài cộng với kiến thức còn nhiều hạn ự ệu về vi điều khiển PIC ề vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC ếp USART ức phần cứng ề vi điều khiển PIC ại vi

ch , nên trong t p đ án này không tránh kh i thi u sót, nhóm th c hi n r tếp USART ập ồ khối ỏ tới sự phát triển của tất ếp USART ự ệu về vi điều khiển PIC ất nhậpmong được điểm của đồ án ự.c s đóng góp ý ki n c a th y cô và các b n sinh viên.ếp USART ủa vi điều khiển PIC ần cứng ại vi

Nhóm th c hi n đ tài: ực hiện đề tài: ện đề tài: ề tài:

Tô Văn T m.ủa vi điều khiển PIC.Nguy n Tr n Nhân Tâm.ễn Trần Nhân Tâm ần cứng

Trang 4

Phần 1

Lý thuyết Giới thiệu các linh kiện chính trong mạch

Chương 1 PIC 16F877A

1 Tổng quát về vi điều khiển PIC

1.1 Giới thiệu về vi điều khiển 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ềukhiể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 hãng Microchip nghiên cứuphát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay

 Cách phân lọai PIC theo chữ cái:

Các họ PIC xxCxxx được đưa vào một nhóm, gọi là OPT (One TimeProgrammable) : chúng ta chỉ có thể nạp chương trình cho nó một lần duy nhất

Nhóm thứ hai có chữ F hoặc LF:chúng ta gọi nhóm này là nhóm Flash ,nhómnày cho phép ghi xóa nhiều lần bằng các mạch điện tử thông thường

 Cách phân lọai PIC theo hai con số đầu tiên của sản phẩm :

 Loại thứ nhất là dòng PIC cơ bản (Base_line), gồm các PIC 12Cxxx,

có độ dài lệnh 12 bit

 Loại thứ hai là dòng PIC 10F, 12F , 16F, gọi là dòng phổ thông (MidRange), có độ dài lệnh là 14 bit

 Loại thứ ba là dóng PIC 18F (High End) , độ dài lệnh là 16 bit

PIC 16F877A là dòng PIC phổ biến nhất , đủ mạnh về tính năng, bộ nhớ đủ

Trang 5

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

1.1.1 Tổ chức phần cứng

Tổ chức phần cứng của một vi điều khiển có thể thiết kế theo một trong haikiến trúc: Harvard và Von Neumann.Tổ chức phần cứng của PIC16F877A đượcthết kế theo kiến trúc Harvard

Hình 1.1.1: Kiến trúc Harvard và Von Neumann.

Trên hình vẽ ta thấy, ở cấu trúc Von Neumann thì bộ nhớ chương trình và bộnhớ dữ liệu nằm chung trong một bộ nhớ CPU truy cập vào hai bộ nhớ này thôngqua một bus, vì vậy một thời điểm CPU chỉ có thể truy cập vào một trong hai bộnhớ

Đối với cấu trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình được tổchức riêng Do đó, cùng một thời điểm, CPU có thể tương tác với cả hai bộ nhớ,như vậy tốc độ xử lý của vi điều khiển sẽ nhanh hơn

Vì PIC16F877A được thiết kế với kiến trúc Harvard nên nó có tập lệnh rút

gọn RISC (reduced instruction set computer) nên tập lệnh của PIC16F877A không

có lệnh nhân, chia mà phép nhân và chia thay bằng thực hiện liên tiếp nhiều phépcộng và trừ do đó chỉ cần lệnh ADD và lệnh SUBB là đủ

1.1.2 Một số đặc tính của vi điều khiển PIC

Đâ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ốc độ hoạt động

Trang 6

tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dunglượng 256byte Số PORT I/O là 5 với 33 pin I/O.

 Các đặc tính ngoại vi bao gồm các khối chức 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đếm dựa vào xung clock 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

 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ềukhiể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 sánh

 Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

 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 động trong

 Chức năng bảo mật mã chương trình

Trang 7

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

 Có thể hoạt động với nhiều dạng Oscillator khác nhau

1.1.3 Những đặc tính ngoại vi

 Timer0 : 8- bit đ nh th i/ đ m v i 8- bit prescaler.ịnh thời ời ếp USART ới thiệu về vi điều khiển PIC

 Timer1 : 16- bit đ nh th i/ đ m v i prescaler, có th định thời ời ếp USART ới thiệu về vi điều khiển PIC ển PIC ược điểm của đồ án.c tănglên trong su t ch đ Sleep qua th ch anh/ xung clock bên ngoài.ố đặc tính của vi điều khiển PIC ếp USART ột số đặc tính của vi điều khiển PIC ại vi

 Timer2 : 8- bit đ nh th i/đ m v i 8- bit, prescaler và postscalerịnh thời ời ếp USART ới thiệu về vi điều khiển PIC

 Hai module Capture, Compare, PWM

 Capture có đ r ng 16 bit, đ phân gi i 12.5nsột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ản phẩm

 Compare có đ r ng 16 bit, đ phân gi i 200nsột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ản phẩm

 Đ phân gi i l n nh t c a PWM là 10bit ột số đặc tính của vi điều khiển PIC ản phẩm ới thiệu về vi điều khiển PIC ất nhập ủa vi điều khiển PIC

 Có 13 ngõ I/O có th đi u khi n tr c ti pển PIC ề vi điều khiển PIC ển PIC ự ếp USART

 Dòng vào và dòng ra l n :ới thiệu về vi điều khiển PIC

 25mA dòng vào cho m i chânỗi chân

 20mA dòng ra cho m i chân.ỗi chân

1.1.4 Đặc điểm về tương tự

 10 bit, v i 8 kênh c a b chuy n đ i tới thiệu về vi điều khiển PIC ủa vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ển PIC ổ chức phần cứng ương tự.ng t sang s (A/D).ự ố đặc tính của vi điều khiển PIC

 Brown – out Reset (BOR)

 Module so sánh v tề vi điều khiển PIC ương tự.ng t ự

 Hai b so sánh tột số đặc tính của vi điều khiển PIC ương tự.ng t ự

 Module đi n áp chu n VREF có th l p trình trên PIC.ệu về vi điều khiển PIC ẩm ển PIC ập

 Có th l p trình ngõ ra vào đ n t nh ng ngõ vào c a PIC và trênển PIC ập ếp USART ừng của khoa học công nghệ, cuộc sống con ững đặc tính ngoại vi ủa vi điều khiển PIC

đi n áp bên trong.ệu về vi điều khiển PIC

 Nh ng ngõ ra c a b so sánh có th s d ng cho bên ngoài.ững đặc tính ngoại vi ủa vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ển PIC ử lý những vấn đề tưởng ụng các thành

1.1.5 Các đ c đi m đ c bi tặc tính của vi điều khiển PIC ển PIC ặc tính của vi điều khiển PIC ệu về vi điều khiển PIC

 Có th ghi/ xoá 100.000 l n v i ki u b nh chển PIC ần cứng ới thiệu về vi điều khiển PIC ển PIC ột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC ương tự.ng trìnhEnhanced Flash

 Ghi/ xoá v i ki u b nh EPROM.ới thiệu về vi điều khiển PIC ển PIC ột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC

 EPROM có th l u tr d li u h n 40 năm.ển PIC ư ững đặc tính ngoại vi ững đặc tính ngoại vi ệu về vi điều khiển PIC ơng tự

 Có th t l p trình l i dển PIC ự ập ại vi ưới thiệu về vi điều khiển PIC ự ề vi điều khiển PIC.i s đi u khi n c a ph n m m.ển PIC ủa vi điều khiển PIC ần cứng ề vi điều khiển PIC

Trang 8

 M ch l p trình n i ti p qua 2 chân.ại vi ập ố đặc tính của vi điều khiển PIC ếp USART

 Ngu n đ n 5V c p cho m ch l p trình n i ti p.ồ khối ơng tự ất nhập ại vi ập ố đặc tính của vi điều khiển PIC ếp USART

 Watchdog Timer (WDT) v i b dao đ ng RC tích h p s n trênới thiệu về vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ợc điểm của đồ án ẵn trênChip cho ho t đ ng đáng tin c y.ại vi ột số đặc tính của vi điều khiển PIC ập

 Có th l p trình m b o v ển PIC ập ời ản phẩm ệu về vi điều khiển PIC

 Ti t ki m năng lếp USART ệu về vi điều khiển PIC ược điểm của đồ án.ng v i ch đ Sleep.ới thiệu về vi điều khiển PIC ếp USART ột số đặc tính của vi điều khiển PIC

 Có th l a ch n b dao đ ng.ển PIC ự ọc công nghệ, cuộc sống con ột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC

 M ch d sai (ICD : In- Circuit Debug) qua 2 chânại vi ở chế độ MASTER

1.1.6 Công ngh CMOSệu về vi điều khiển PIC

 Năng lược điểm của đồ án.ng th p, t c đ cao Flash/ công ngh EPROMất nhập ố đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC

 Vi c thi t k hoàn toàn tĩnhệu về vi điều khiển PIC ếp USART ếp USART

 Kho ng đi n áp ho t đ ng t 2V đ n 5.5Vản phẩm ệu về vi điều khiển PIC ại vi ột số đặc tính của vi điều khiển PIC ừng của khoa học công nghệ, cuộc sống con ếp USART

 Tiêu t n năng lố đặc tính của vi điều khiển PIC ược điểm của đồ án.ng th p.ất nhập

1.2.Gi i thi u v PIC 16F8XX và PIC 16F877a ới thiệu các linh kiện chính của ệu các linh kiện chính của ề vi điều khiển PIC.

PIC16F8X là nhóm PIC trong h PIC16XX c a h Vi đi u khi n 8-bit, tiêuọc công nghệ, cuộc sống con ủa vi điều khiển PIC ọc công nghệ, cuộc sống con ề vi điều khiển PIC ển PIC.hao năng lược điểm của đồ án.ng th p, đáp ng nhanh, ch t o theo công ngh CMOS, ch ngất nhập ức phần cứng ếp USART ại vi ệu về vi điều khiển PIC ố đặc tính của vi điều khiển PIC.tĩnh đi n tuy t đ i Nhóm bao g m các thi t b sau:ệu về vi điều khiển PIC ệu về vi điều khiển PIC ố đặc tính của vi điều khiển PIC ồ khối ếp USART ịnh thời

 PIC16F83

 PIC16F84

T t c các PIC16/17 đ u có c u trúc RISC PIC16CXX các đ c tính n iất nhập ản phẩm ề vi điều khiển PIC ất nhập ặc tính của vi điều khiển PIC ổ chức phần cứng

b c, 8 m c ngăn x p Stack, nhi u ngu n ng t tích h p bên trong l n ngoài Cóập ức phần cứng ếp USART ề vi điều khiển PIC ồ khối ắn thực hiện đề tài cộng với kiến thức còn nhiều hạn ợc điểm của đồ án ẫn nối tiếp USART

c u trúc Havard v i các bus d li u và bus th c thi chất nhập ới thiệu về vi điều khiển PIC ững đặc tính ngoại vi ệu về vi điều khiển PIC ự ương tự.ng trình riêng bi tệu về vi điều khiển PIC.nhau cho phép đ dài 1 l nh là 14-bit và bus d li u 8-bit cách bi t nhau T tột số đặc tính của vi điều khiển PIC ệu về vi điều khiển PIC ững đặc tính ngoại vi ệu về vi điều khiển PIC ệu về vi điều khiển PIC ất nhập

c các l nh đ u m t 1 chu kỳ l nh ngo i tr các l nh rẽ nhánh chản phẩm ệu về vi điều khiển PIC ề vi điều khiển PIC ất nhập ệu về vi điều khiển PIC ại vi ừng của khoa học công nghệ, cuộc sống con ệu về vi điều khiển PIC ương tự.ng trình

m t 2 chu kỳ l nh Ch có 35 l nh và 1 lất nhập ệu về vi điều khiển PIC ỉ có 35 lệnh và 1 lượng lớn các thanh ghi cho phép đáp ệu về vi điều khiển PIC ược điểm của đồ án.ng l n các thanh ghi cho phép đápới thiệu về vi điều khiển PIC

Trang 9

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

H PIC16F8X có nhi u tính năng đ c bi t làm gi m thi u các thi t bọc công nghệ, cuộc sống con ề vi điều khiển PIC ặc tính của vi điều khiển PIC ệu về vi điều khiển PIC ản phẩm ển PIC ếp USART ịnh thờingo i vi, vì v y kinh t cao, có h th ng n i b t đáng tin c y và s tiêu thại vi ập ếp USART ệu về vi điều khiển PIC ố đặc tính của vi điều khiển PIC ổ chức phần cứng ập ập ự ụng các thànhnăng lược điểm của đồ án.ng th p đây có 4 s l a ch n b dao d ng và ch có 1 chân k t n iất nhập Ở đây có 4 sự lựa chọn bộ dao dộng và chỉ có 1 chân kết nối ự ự ọc công nghệ, cuộc sống con ột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ỉ có 35 lệnh và 1 lượng lớn các thanh ghi cho phép đáp ếp USART ố đặc tính của vi điều khiển PIC

b dao đ ng RC nên có gi i pháp ti t ki m cao Ch đ SLEEP ti t ki m ngu nột số đặc tính của vi điều khiển PIC ột số đặc tính của vi điều khiển PIC ản phẩm ếp USART ệu về vi điều khiển PIC ếp USART ột số đặc tính của vi điều khiển PIC ếp USART ệu về vi điều khiển PIC ồ khối

và có th đển PIC ược điểm của đồ án.c đánh th c b i các ngu n reset Và còn nhi u ph n khác đóức phần cứng ở chế độ MASTER ồ khối ề vi điều khiển PIC ần cứng

được điểm của đồ án.c gi i thi u bên trên sẽ đới thiệu về vi điều khiển PIC ệu về vi điều khiển PIC ược điểm của đồ án.c nói rõ các ph n k ti p.ở chế độ MASTER ần cứng ếp USART ếp USART

PIC16F877A có 40/44 chân v i s phân chia c u trúc nh sau :ới thiệu về vi điều khiển PIC ự ất nhập ư

 Có 5 port xu t/nh pất nhập ập

 Có 8 kênh chuy n đ i A/D 10-bitển PIC ổ chức phần cứng

 Có b nh g p đôi so v i PIC16F873A và PIC16F874A2.2.1 T ch cột số đặc tính của vi điều khiển PIC ới thiệu về vi điều khiển PIC ất nhập ới thiệu về vi điều khiển PIC ổ chức phần cứng ức phần cứng.thanh ghi

2 Sơ đồ khối và tính năng các chân PIC16F877A

2.1 Sơ đồ khối :

Hình 2.1: Sơ đồ khối PIC 16F877a.

Trang 10

Như đã nói ở trên , vi điều khiển PIC có kiến trúc Harvard, trong đó CPU truy cập chương trình và dữ liệu được trên hai bus riêng biệt, nên làm tăng đáng kể băng thông so với kiến trúc Von Neumann trong đó CPU truy cập chương trình và

dữ liệu trên cùng một bus

Việc tách riêng bộ nhớ chương trình và bộ nhớ dữ liệu cho phép số bit của từlệnh có thể khác với số bit của dữ liệu Ở PIC 16F877A, từ lệnh dài 14 bit , từ dữliệu 8 bit

PIC 16F877A chứa một bộ ALU 8 bit và thanh ghi làm việc WR (workingregister) ALU là đơn vị tính toán số học và logic, nó thực hiên các phép tình số vàđại số Boole trên thanh ghi làm việc WR và các thanh ghi dữ liệu ALU có thể thựchiện các phép cộng, trừ, dịch bit và các phép toán logic

2.2 Sơ đồ chân PIC16F877A:

Trang 11

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

Vpp

Vào ra số lối vào analog 2 Lối vào điện

áp chuẩn V-ref của ADC Lối ra Vref so sánh

áp chuẩn V-ref của ADC

ngoài cho timer Lối ra bộ so sánh 1

ngoài cho timer 1

Lối ra Compare2 Lối ra PWM2

Trang 12

Lối ra PWM1

I2C

bộ Xung nhịp truyền đồng bộ

liệu đồng bộ RD0

I/O I/O I/O I/O I/O I/O I/O I/O

Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra sô Cổng song song tớ

Trang 13

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

2.3 Tổ chức bộ nhớ.

Có 3 bộ nhớ riêng biệt trong vi điều khiển PIC16F877A gồm: Bộ nhớ dữliệu, bộ nhớ chương trình , bộ nhớ EEPROM

2.3.1 Bộ nhớ chương trình.

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

0000h (Reset vector) Khi có ngắt xảy

ra, bộ đếm chương trình sẽ chỉ đến địa

chỉ 0004h (Interrupt vector) Bộ nhớ

Trang 14

chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếmchương trình.

Hình 2.3.1: Bộ nhớ chương trình PIC16F877A 2.3.2 Bộ nhớ dữ liệu.

Bộ nhớ dữ liệu được chia thành 4 bank, mỗi bank có dung lượng 128 byte

RAM tĩnh Mỗi bank bao gồm các thanh ghi có chức năng đặc biệt SFR (Special Function Register) nằm ở 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ỉ cao Các thanh ghi SFR thường

xuyên được sử dụng như STATUS, INTCON, FSR được bố trí trên tất cả các bankgiúp thuận tiện trong quá trình truy xuất

Trang 15

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

Hình 2.3.2: Sơ đồ tổ chức bộ nhớ dữ liệu PIC16F877A

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là mộtvùng nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiện haykhi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình

PC tự động được vi điều khiển cất vào trong stack Khi một trong các lệnh

Trang 16

RETURN, 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 địnhtrướ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 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 Stack lần thứ 2

2.3.3 Bộ nhớ EEPROM

Một bộ nhớ dữ liệu đặc biệt kiểu EEPROM dung lương 256 byte được tíchhợp trong PIC 16F877A và được xem như thiết bị ngoại vi được nối vào bus dữliệu, bộ nhớ này có thể ghi đọc trong quá trình hoạt động dưới sự điều khiển củachương trình Bộ nhớ EEPROM thường dùng các lưu trữ các chương trình không bịthay đổi như các hằng chuẩn, các dữ liệu của người sử dụng và không bị mất đi khingắt nguồn nuôi

2.4 Các cổng xuất nhập.

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ương tác với thế giới bên ngoài Bên cạnh đó, do vi điều khiển được tích hợp sẵnbên trong các đặc tính giao tiếp ngoại vi nên bên cạnh 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 để thể hiện

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

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

Trang 17

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

Hình 2.4: Cấu trúc cơ bản của chân port.

2.4.1 Port A.

PORTA bao gồm 6 I/O pin ( RA0 –RA5) Đây là các chân “hai chiều”(bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O này được điềukhiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của một chântrong PORTA là input, ta “set” bit điều khiển tương ứng với chân đó trong thanhghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA làoutput, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA

Chân RA4 dùng chung với lối vào xung nhịp cho timer0 khi dùng bộ đếmxung từ bên ngoài

Các chân khác của cổng A được ghép lối vào của các bộ so sánh tương tự và

bộ biến đổi ADC 8 kênh

2.4.2 Port B.

PORTB (RPB) gồm 8 pin I/O ( RB0 – RB7) Thanh ghi điều khiển xuất nhậptương ứng là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trongquá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTBcòn liên quan đến ngắt ngoại vi và bộ Timer0

PORTB còn được tích hợp chức năng điện trở kéo lên (20k ohm) được điềukhiển bởi chương trình

Chân RB0 có thể lựa chọn là lối vào của ngắt ngoài Extint

Trang 18

Có 3 chân của cổng B được ghép lối với chức năng ICSP là RB6, RB7, RB3tương ứng với lối vào PGC, PGD, LVP khi nạp trình.Lối vào RB4 và RB7 làm phátsinh ngắt RBIF khi thay đổi trạng thái khi các chân này định nghĩa là các lối vào.Trạng thái hiện tại của lối vào này được so sánh với trạng thái được chốt lại tại lầnđọc trước đó Khi có sự khác nhau thì cờ ngắt RBIF được lập.

2.4.3 Port C.

PORTC (RPC) gồm 8 pin I/O (RC0 – RC7) Thanh ghi điều khiển xuất nhậptương ứng là TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ sosánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART

2.5 Các chân dao động (OSC1-OSC2), Reset

Đây là 2 chân cung cấp dao động cho PIC 16F877A ,có thể họat động trong 4 chế

Trang 19

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

 Tín hiệu RESET

 Reset khi vi điều khiển mới được cấp nguồn POR (Power on Reset)

 Lối vào MCRL Master Clear trong chế độ hoạt động bình thường

 Lối vào MCRL Master Clear trong chế độ nghỉ SLEEP

 Bộ đếm WDT tràn tạo ra tín hiệu Reset khi hoạt động bình thường

 Bộ đếm WDT tràn tạo ra tín hiệu Wake-up trong chế độ SLEEP

 Khối giám sát điện áp nguồn tạo tín hiệu Reset khi nguồn cấp sụt quángưỡng

Trang 20

 Chọn xung nhịp bên ngoài hoặc bên trong.

 Sinh ngắt TOIF khi tràn chuyền từ FFh→ 00h

 Chọn sườn xung khi lấy xung nhịp từ bên ngoài

Timer0 dùng làm bộ đếm xung nhịp của vi điều khiển vể tạo ra một bộ đếmthời gian Chế độ đếm thời gian được chọn bằng cách đặt bit T0CS = 0 (bitOPTION<5>) Trong các chế độ đếm thời gian, thanh ghi TMR0 tăng một đơn vịsau mỗi chu kỳ máy Thanh ghỉ TMR0 có thể được ghi đọc trong chương trình đểxác lập hoặc lấy giá trị hiện thời của timer0

Hình 2.6.1: Sơ đồ khối Timer0.

Timer0 dùng để đếm các xung từ bên ngoài cấp vào chân RA4 Chế độ đếmxung được chọn bằng cách đặt T0CS = 1 Trong chế độ này thanh ghi Timer0 tăngmột đơn vị sau mỗi sườn lên hoặc sườn xuống tùy thuộc vào trạng thái của bitT0SE

Bộ chia trước được dùng chung cho hai khối watchdog và Timer0 Việc gắn

bộ chia trước cho khối nào được chọn bằng bít PSA(OPTION<3>) Hệ số chia phụthuộc giá trị của bit PS2:PS1:PS0 của thanh ghi OPTION

Trang 21

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

Ngắt timer0 xảy ra khi thanh ghi TMR0 tràn, chuyển từ FFh→00h Sự trànnày sẽ đặt bít T0IF = 1 Ngắt T0IF có thể che bằng bit T0IE Cờ T0IF phải được xóabằng phần mềm

2.6.2 Timer 1

Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanhghi (TMR1H:TMR1L) Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>) Bit điềukhiển của Timer1 sẽ là TMR1IE (PIE<0>) Tương tự như Timer0, Timer1 cũng cóhai chế độ hoạt động: chế độ định thời (timer) với xung kích là xung clock củaoscillator (tần số của timer bằng ¼ tần số của oscillator) và chế độ đếm (counter)với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài thông quachân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên) Việc lựa chọn xung tác động(tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter) được điềukhiển bởi bit TMR1CS (T1CON<1>) Sau đây là sơ đồ khối của Timer1:

Hình 2.6.2: Sơ đồ khối của Timer1.

2.6.3 Timer 2.

Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler

và postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bit cho phép ngắtTimer2 tác động là TMR2ON (T2CON<2>) Cờ ngắt của Timer2 là bit TMR2IF(PIR1<1>) Xung ngõ vào (tần số bằng ¼ tần số oscillator) được đưa qua bộ chiatần số prescaler 4 bit (với các tỉ số chia tần số là 1:1, 1:4 hoặc 1:16 và được điềukhiển bởi các bit T2CKPS1:T2CKPS0 (T2CON<1:0>))

Trang 22

Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP.

Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khiTimer1 là bộ đếm 16 bit (giá trị đếm tối đa là FFFFh) Timer0, Timer1 và Timer2đều có hai chế độ hoạt động là timer và counter Xung clock có tần số bằng ¼ tần sốcủa oscillator Xung tác động lên Timer0 được hỗ trợ bởi prescaler và có thể đượcthiết lập ở nhiều chế độ khác nhau (tần số tác động, cạnh tác động) trong khi cácthông số của xung tác động lên Timer1 là cố định Timer2 được hỗ trợ bởi hai bộchia tần số prescaler và postcaler độc lập, tuy nhiên cạnh tác động vẫn được cố định

là cạnh lên Timer1 có quan hệ với khối CCP, trong khi Timer2 được kết nối vớikhối SSP

Hình 2.6.3: Sơ đồ khối của Timer 2.

2.7 ADC

ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạngtương tự và số PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệuđiện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩnđược xác lập trên hai chân RA2 và RA3 Kết quả chuyển đổi từ tín tiệu tương tựsang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghiADRESH:ADRESL

Trang 23

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

 INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bitGIE, PEIE)

 PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF)

 PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE)

 ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghichứa kết quả chuyển đổi

 ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông

số cho bộ chuyển đổi

 PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõvào analog ở PORTA

 PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõvào analog ở PORTE

Hình 2.7: khối ADC.

2.8 Truyền nhận nối tiếp USART

Bộ truyền nhận nối tiếp USART (Universal Synchronous Asynchronous Receiver Transmitter) là một trong hai bộ giao tiếp nối tiếp Có thể sử dụng bộ giao

Trang 24

tiếp này để giao tiếp với các thiết bị ngoại vi, máy tính, vi điều khiển Các chế độhoạt động của USART là:

Bất đồng bộ song công (full-duplex).

Đồng bộ_ Master bán song công (half-duplex).

Đồng bộ_ Slave bán song công (half-duplex).

Hai chân dùng cho bộ này này RC7/RX/DT và RC6/TX/CK Muốn sử dụnghai chân này thì phải đặt bit SPEN (RCSTA<7>) và các bit TRISC<7:6>

PIC16F877A được tích hợp sẵn bộ tao tốc độ baud BRG (Baud Rate Generator) 8 bit dùng cho USART Đây là bộ đếm có thể sử dụng cho cả hai chế độ

đồng bộ và bất đồng bộ được điều khiển bởi thanh ghi PSBRG

Các thanh ghi liên quan tới quá trình truyền dữ liệu bằng USART:

 Thanh ghi INTCON (địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép tất cả cácngắ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(chân RC7/RX/DT và RC6/TX/CK)

 Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền

 Thanh ghi TXSTA (địa chỉ 98h): thanh ghi xác lập thông số cho việc truyền

 Thanh ghi SPBRG (địa chỉ 99h): xác định tốc độ baud

2.8.1 USART bất đồng bộ

Chế độ truyền này USART hoạt động theo chuẩn NRZ Zero), nghĩa là các bit truyền đi sẽ bao gồm 1 bit Start, 8 hay 9 bit dữ liệu (thôngthường là 8 bit) và 1 bit Stop Bit LSB sẽ được truyền đi trước Các khối truyền vànhận data độc lập với nhau sẽ dùng chung tần số tương ứng với tốc độ baud cho quátrình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc độ dịch dữ liệu tùy theo giá trịcủa bit BRGH), và để đảm bảo tính hiệu quả của dữ liệu thì hai khối truyền và nhậnphải dùng chung một định dạng dữ liệu

Trang 25

(None-Return-to-Đồ án tốt nghiệp Đếm và phân loại sản phẩm

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ácngắ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 (haipin

 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

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) Dữ liệu truyền được ghi vào thanh ghi TXREG.

Ngay sau khi bit stop của dữ liệu trước được truyền, thanh ghi TSR lấy dữ liệu từthanh ghi đệm dùng trong quá trình truyền dữ liệu TXREG, thanh ghi TXREG rỗng,

cờ hiệu TXIF (PIR1<4>) được đặt Ngắt này được điều khiển bởi bit TXIE(PIE1<4>) Cờ hiệu TXIF vẫn được set không phụ thuộc thang thái bit TXIE haytác động của phần mềm Không thể xóa TXIF bằng chương trình mà chỉ xóa về 0khi có dữ liệu mới đưa vào thanh ghi TXREG

Trang 26

Hình 2.8.1.1: Sơ đồ khối của bộ truyền dữ liệu USART.

Khi truyền dữ liệu xong, thanh ghi TSR rỗng thì cờ TRMT được set Bit nàychỉ đọc và không tạo ngắt Thanh ghi TSR không coq trong bộ nhớ dữ liệu và chỉđược điều khiển bởi CPU

Khối truyền dữ liệu chỉ hoạt động khi đặt bit TXEN (TXSTA<5>) Quá trìnhtruyền dữ liệu chỉ bắt đầu khi dữ liệu được ghi vào thanh ghi TXREG và xung baudđược tạo ra

Nếu muốn truyền 9 bit dữ liệu bit TX9 (TXSTA<6>) phải được set và bit dữliệu thứ 9 được đưa vào bit TX9D (TXSTA<0>) Nên ghi bit thứ 9 vào trước khighi dữ liệu vào thanh ghi TXREG Nếu dữ liệu được ghi vào thanh ghi TXREGtrước khi ghi bit thứ 9 thì sẽ không gửi được bit thứ 9 vì hoạt động truyền bắt đầungay khi dữ liệu được ghi vào thanh ghi TXREG

Các bước cần tiến hành để truyền dữ liệu:

 Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiểnRSBRD và bit điều khiển tốc độ baud BRGH

 Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bit SPEN

 Set bit TXIE nếu cần sử dụng ngắt

 Set bit TX9 nếu sử dụng chế độ truyền 9 bit

Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng được set)

Trang 27

Đồ án tốt nghiệp Đếm và phân loại sản phẩm

 Nếu gửi 9 bit dữ liệu thì ghi bit thứ 9 vào TX9D

 Đưa 8 bit dữ liệu vào thanh ghi TXREG

 Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanh ghiINTCON

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 là bộ ghi dịch tốc độ cao và có tần số hoạt động gấp 16hoặc 64 lần tần số baud

Hình 2.8.1.2: Sơ đồ khối của bộ nhận dữ liệu USART.

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

tâm của khối nhận là thanh ghi RSR (Receive Shift Register) Sau khi nhận bit stop

của dữ liệu truyền tới, dữ liệu nhận được trong thanh ghi RSR được đưa vào thanhghi RCREG, sau đó cờ RCIF (PIR1<5>) được set và ngắt có thể được kích hoạt Bit

cờ RCIF là bit chỉ đọc, không thể tác động bởi phần mềm RCIF chỉ được xóa về 0khi dữ liệu trong 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 (First In First Out) cho phép nhận 2 byte và byte thứ 3 được

đưa vào thanh ghi RSR Nếu bit stop của byte thứ 3 được nhận mà vẫn còn 2 byte

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

TỪ KHÓA LIÊN QUAN

w