Chương 1 Tổng quan đề tài 1.1 Lý do chọn đề tài Ngày nay, với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nhệ kỹ thuật điện tử mà trong đó kỹ thuật điều khiển tự động đó
Trang 1BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ
MÔN HỌC: Thiết kế hệ thống cơ điện tử
Đề tài: Máy phân loại trái cây theo màu
Lớp học phần: DHCDT15ATT Nhóm: 2
GVHD: Lê Duy Tuấn
Trang 2Thành phố Hồ Chí Minh,18 tháng 6 năm 2022
BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ
MÔN HỌC: Thiết kế hệ thống cơ điện tử
Đề tài: Máy phân loại trái cây theo
Trang 32 Phạm Thanh
4 5 6
Thành phố Hồ Chí Minh, 18 tháng 6 năm 2022
LỜI CẢM ƠN
Để hoàn thành báo cáo đồ án này, lời đầu tiên nhóm em xin cảm
ơn chân thành đến toàn thể thầy cô trong trường Đại học Công nghiệpTPHCM và các thầy cô trong khoa Cơ khí, những người đã tận tình hướngdẫn, dạy dỗ và trang bị cho nhóm em những kiến thức bổ ích trongnhững năm vừa qua, đặc biệt là trong giai đoạn dịch Covid 19 hoànhthành
Đặc biệt nhóm em xin gửi lời cảm ơn chân thành đến thầy Lê DuyTấn đã hướng dẫn cho em những kiến thức, kỹ năng cơ bản cần có đểhoàn thành đồ án này
Trang 4Tuy nhiên trong quá trình làm đồ án, vì kiến thức còn hạn chế nên
em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá và trình bày về đồ án.Rất mong nhận được sự quan tâm, góp ý của các thầy cô giảng viên bộmôn để đồ án của em được đầy đủ và hoàn chỉnh hơn
Em xin chân thành cảm ơn
Trang 5LỜI MỞ ĐẦU
Xã hội ngày càng phát triển, nhu cầu vật chất và tinh thần của con người ngày càng cao, vì thế bài toàn về cung – cầu đang được các nhà sản xuất tìm cách giải quyết Tự độnghóa trong dây chuyền sản xuất là một phương án tối ưu, nó đòi hỏi sự nhanh chóng, chính xác và giảm thiểu được nhân công lao động Quá trình sản xuất càng được tự động hóa cao càng nâng cao năng suất sản xuất giảm chi phí tăng tính cạnh tranh cho các doanh nghiệp
Vì vậy đề tài này được nghiên cứu và thực hiện nhằm góp một phần nhỏ vào mục đích nêu trên, đồng thời giúp cho học sinh sinh viên thấy được mối liên hệ giữa những kiến thức đã học ở trường với những ứng dụng bên ngoài thực tế
Đề tài mà em thực hiện có nhiều ứng dụng quan trọng trong nhiều lĩnh vực như vận chuyển sản phẩm, đếm sản phẩm và phân loại sản phẩm Với hệ thống tự động hóa này chúng ta có thể giảm thiểu nhân công đi kèm với giảm chi phí sản xuất
Trên đây là đề tài : “Máy phân loại Trái cây theo màu ” do Thầy Lê Duy Tuấn hướng dẫn đã thực hiện Đề tài gồm những nội dung sau:
Trang 6Chương 1 Tổng quan đề tài
1.1 Lý do chọn đề tài
Ngày nay, với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nhệ kỹ thuật điện tử mà trong đó kỹ thuật điều khiển tự động đóng một vai trò vô cùng quan trọng và góp mặt trong mọi lĩnh vực từ dân dụng cho tới công nghiệp Do vậy là một sinh viên chuyên ngành cơ điện tử chúng ta phải biết nắm bắt và vận dụng một cách hiệuquả những kiến thức học được để đáp ứng được nhu cầu của xã hội, nâng cao trình độ của bản thân và góp phần thúc đẩy sự phát triển của nước nhà Trong quá trình đi tham quan thực tế và đọc tài liêu thực tế nhóm em thấy được các hệ thống máy móc thực tế trong các xưởng sảnxuất, cách thức vận hành cũng như các khâu điều khiển tự động hóa và bên cạnh đó cũng có không ít các hệ thống điều khiển theo kiểu thủ công, nghĩa là mỗi khâu trong đó điều phải có một hoặc nhiều công nhân đứng vận hành trực tiếp Điều này thứ nhất làm cho hiệu suất sản xuất không cao, quá trình sản xuất không đảm bảo tính liên tục và tính chính xác của hệ thống mà phần nhiều do lỗi của người công nhân vận hành Thứ hai không thống mà phần nhiều do lỗi của người công nhân vận hành Thứ hai không đảm bảo an toàn lao động cho các công nhân vận hành do tiếp xúc trực tiếp với bảng điều khiển mà nó có thể phát sinh các sự cố như chập điện do các nguyên nhân nào đó không biết trước được Thứ ba là do mỗi khâu sản xuất phải có các nhân công vận hành điều này sẽ gây lãng phí nhân lực, từ đó chi phi sản xuất sẽ tăng cao Từ những ưu và khuyết điểm trên cho thấy vai trò quan trọng của việc áp dụng kỹ thuật điều khiển tự động vào các dây chuyền sản xuất
Do đó trong đồ án này tôi chọn đề tài “Thiết kế mô hình phân loại trái cây theo màu sử dụng vi điều khiển PIC16F877A” Trong mô hình này
Trang 7toàn bộ hệ thống sản xuất (ở đây là hệ thống băng chuyền) sẽ được điềukhiển một cách tự động phân loại màu và đếm số lượng trên lcd,và người điều khiển chỉ cần sử dụng các nút nhấn để cài đặt Vì vậy dây chuyền sản xuất sẽ hoạt động một cách liên tục từ đó nâng cao hiệu suất sản xuất nhưng chỉ với một người điều khiển duy nhất Đồng thời người vận hành được cách ly hoàn toàn với thao tác cơ khí nguy hiểm như đã đề cập ở trên và việc điều khiển trở nên linh hoạt hơn và người vận hành có thể theo dõi được các trạng thái hoạt động của hệ thống qua giao diện trực quan trên màn hình máy tính giúp kiểm soát được quá trình sản xuất
1.2 Mục tiêu của đề tài
Mục tiêu chính :
-Hoàn thành hoàn chỉnh sản phẩm máy của nhóm nghiên cứu
Mục tiêu cụ thể :
-Nắm bắt được cấu trúc phần cứng , sơ đồ nguyên lý mạch
-Nắm bắc được cấu trúc phần mêm , lập trình pic16f877A với ngôn ngữ C++
-Thiết kế và vẽ 3D Trên phần mêm solitword
-Sữ dụng được các ứng dụng văn phòng để làm đồ án hoàn chỉnh cho việc làm đồ
án tốt nghiệp hiện tại và về sau
1.3 Đối tượng nghiên cứu :
Pic16f877A
TCS3200
LCD16x2
Động cơ Servo MR996
Băng tải đai + hộp giảm tốc
1.4 Phương pháp nghiên cứu :
-Thu thập tài liệu trên internet
-Thu thập tài liệu từ các nghiên cứu đã được làm qua
-Phân tích thiết kế và vận hành máy
Trang 81.5 Phạm vi đề tài
Với thời hạn 2 tháng thực hiện đề tài , cũng là thời gian ảnh hưởng dịch covic, với trình độ chuyên môn và năng lực hiện tại , nhóm tui em cố gắng hết sức hoàn thành sản phẩm này đúng thời hạn nộp.Báo cáo gốm những vấn đề sau:
Tìm hiểu về vi điều khiển 16F877A
Thiết kê mạch và sản phẩm
Viết chương chình phần mêm để đáp ứng yêu cầu phân loại sản phẩm
Chương 2 Cơ sở lý thuyết
2.1 Giới thiệu về PIC16F877A
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máytính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiểnđầu tiên của họ PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điềukhiển CP1600 Vi điều khiển này sau đó được hãng Microchip nghiên cứu phát triểnthê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 (Mid
Range), 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 9cho các ứng dụng thông thường
Trang 102.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 được thết
kế theo kiến trúc Harvard
Hình 2.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à đủ
Trang 112.1.2 Tính năng cơ bản của PIC16F877A:
Đâ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 tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượ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ều
khiển RD, WR, CS ở bên ngoài
Serial Programming) thông qua 2 chân
Trang 12Watchdog Timer với bộ dao động trong Chức năng bảo mật mã chương trình.
32chân vào/ra
5 port, với 33chân
tiếp song song PSP
1 bộ giao tiếp nối tiếp
đồng bộ SSP.Capture/sosánh/PW
Trang 132.1.3 Sơ đồ khối và tính năng các chân PIC16F877A: 2.1.3.1 Sơ đồ khối :
Hình 2.2: Sơ đồ khối PIC16F877A
Như đã nói ở trên , vi điều khiển PIC có kiến trúc Harvard, trong đó CPUtruy 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
Trang 14Việ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.1.3.2 Sơ đồ chân PIC16F877A:
Hình2.3 Sơ đồ chân PIC16F877A
2.1.3.3 Tính năng các chân :
Trang 15A CHỨC NĂNG CÁC CHÂN CỦA PORTA
Chân RA0/AN0/ULPWU/C12IN0- (2): có 4 chức năng:
+ RA0: xuất/ nhập số – bit thứ 0 của port A
+ AN0: ngõ vào tương tự của kênh thứ 0
Chân RA1/AN1/C12IN1- (3): có 3 chức năng:
+ RA1: xuất/nhập số – bit thứ 1 của port A
+ AN1: ngõ vào tương tự của kênh thứ 1
Chân RA2/AN2/VREF-/CVREF/C2IN+ (4): có 5 chức năng:
+ RA2: xuất/nhập số – bit thứ 2 của port A
+ AN2: ngõ vào tương tự của kênh thứ 2
+ VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC
+ CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh
Chân RA3/AN3/VREF+/C1IN+ (5): có 4 chức năng:
+ RA3: xuất/nhập số – bit thứ 3 của port A
+ AN3: ngõ vào tương tự kênh thứ 3
+ VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D
+ C1IN+: ngõ vào dương của bộ so sánh C1
+ Chân RA4/TOCKI/C1OUT (6): có 3 chức năng:
RA4: xuất/nhập số – bit thứ 4 của port A
+ TOCKI: ngõ vào xung clock từ bên ngoài cho Timer0
+ C1OUT: ngõ ra bộ so sánh 1
+ Chân RA5/AN4/ SS / C2OUT (7): có 4 chức năng:
+ RA5: xuất/nhập số – bit thứ 5 của port A
+ AN4: ngõ vào tương tự kênh thứ 4
+ SS : ngõ vào chọn lựa SPI tớ (Slave SPI device)
+ C2OUT: ngõ ra bộ so sánh 2
Chân RA6/OSC2/CLKOUT (14): có 3 chức năng:
+ RA6: xuất/nhập số – bit thứ 6 của port A
Trang 16+ OSC2: ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộ cộng hưởng.
Chân RA7/OSC1/CLKIN (13): có 3 chức năng
+ RA7: xuất/nhập số – bit thứ 7 của port A
+ OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài
B CHỨC NĂNG CÁC CHÂN CỦA PORTB
Chân RB0/AN12/INT (33): có 3 chức năng:
+ RB0: xuất/nhập số – bit thứ 0 của port B
+ AN12: ngõ vào tương tự kênh thứ 12
+ INT: ngõ vào nhận tín hiệu ngắt ngoài
+ Chân RB1/AN10/C12IN3- (34): có 3 chức năng:
RB1: xuất/nhập số – bit thứ 1 của port B
+ AN10: ngõ vào tương tự kênh thứ 10
+ C12IN3-: ngõ vào âm thứ 3 của bộ so sánh C1 hoặc C2
+ Chân RB2/AN8 (35): có 2 chức năng:
RB2: xuất/nhập số – bit thứ 2 của port B
+ AN8: ngõ vào tương tự kênh thứ 8
+ Chân RB3/AN9/PGM/C12IN2 (36): có 4 chức năng:
RB3: xuất/nhập số – bit thứ 3 của port B
+ AN9: ngõ vào tương tự kênh thứ 9
+ PGM: Chân cho phép lập trình điện áp thấp ICSP
+ C12IN1-: ngõ vào âm thứ 2 của bộ so sánh C1 hoặc C2
+ Chân RB4/AN11 (37): có 2 chức năng:
RB4: xuất/nhập số – bit thứ 4 của port B
+ AN11: ngõ vào tương tự kênh thứ 11
+ Chân RB5/ AN13/T1G (38): có 3 chức năng:
RB5: xuất/nhập số – bit thứ 5 của port B
+ AN13: ngõ vào tương tự kênh thứ 13
+ T1G (Timer1 gate input): ngõ vào Gate cho phép time1 đếm dùng để đếm
độ rộng xung
+ Chân RB6/ICSPCLK (39): có 2 chức năng:
Trang 17 RB6: xuất/nhập số.
+ ICSPCLK: xung clock lập trình nối tiếp
+ Chân RB7/ICSPDAT (40): có 2 chức năng:
RB7: xuất/nhập số
+ ICSPDAT: ngõ xuất nhập dữ liệu lập trình nối tiếp
C CHỨC NĂNG CÁC CHÂN CỦA PORTC
Chân RC0/T1OSO/T1CKI (15): có 3 chức năng:
+ RC0: xuất/nhập số – bit thứ 0 của port C
+ T1OSO: ngõ ra của bộ dao động Timer1
+ T1CKI: ngõ vào xung clock từ bên ngoài Timer1
Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:
+ RC1: xuất/nhập số – bit thứ 1 của port C
+ T1OSI: ngõ vào của bộ dao động Timer1
+ CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2
Chân RC2 /P1A/CCP1 (17): có 3 chức năng:
+ RC2: xuất/nhập số – bit thứ 2 của port C
+ P1A: ngõ ra PWM
+ CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1
Chân RC3/SCK/SCL (18): có 3 chức năng:
+ RC3: xuất/nhập số – bit thứ 3 của port C
+ SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.+ SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C
Chân RC4/SDI/SDA (23): có 3 chức năng:
+ RC4: xuất/nhập số – bit thứ 4 của port C
+ SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI
+ SDA: xuất/nhập dữ liệu I2C
Chân RC5/SDO (24): có 2 chức năng:
+ RC5: xuất/nhập số – bit thứ 5 của port C
+ SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI
Chân RC6/TX/CK (25): có 3 chức năng:
+ RC6: xuất/nhập số – bit thứ 6 của port C
Trang 18+ TX: ngõ ra phát dữ liệu trong chế độ truyền bất đồng bộ USART.+ CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ USART.
Chân RC7/RX/DT (26): có 3 chức năng:
+ RC7: xuất/nhập số – bit thứ 7 của port C
+ RX: ngõ vào nhận dữ liệu trong chế độ truyền bất đồng bộ EUSART.+ DT: ngõ phát và nhận dữ liệu ở chế độ truyền đồng bộ EUSART
D CHỨC NĂNG CÁC CHÂN CỦA PORTD
E CHỨC NĂNG CÁC CHÂN CỦA PORTE
Chân RE0/AN5 (8): có 2 chức năng:
+ RE0: xuất/nhập số
+ AN5: ngõ vào tương tự 5
Trang 19 Chân RE1/AN6 (9): có 2 chức năng:
+ RE1: xuất/nhập số
+ AN6: ngõ vào tương tự kênh thứ 6
Chân RE2/AN7 (10): có 2 chức năng:
+ RE2: xuất/nhập số
+ AN7: ngõ vào tương tự kênh thứ 7
Chân RE3/ MCLR /VPP (1): có 3 chức năng:
+ RE3: xuất/nhập số – bit thứ 3 của port E
Có thể dùng đồng bên trong hoặc bên ngoài
Có thể chọn cạnh xung của xung đồng hồ
Có thể chọn hệ số chia đầu vào (lập trình bằng phần mền)
Ngắt tràn
b/ Hoạt động của Timer 0:
Timer 0 có thể hoạt động như một bộ định thời hoặc một bộ đếm.Việc chọn bộđịnh thời hoặc bộ đếm có thể được xác lập bằng việc xoá hoặc đặt bít TOCScủa thanh ghi OPTION_REG<5>
Nếu dùng hệ số chia xung đầu vào thì xoá bit PSA của thanh ghi
Trang 20 Trong chế độ bộ định thời được lựa chọn bởi việc xoá bit T0CS (OPTIONREG<5>), nó sẽ được tăng giá trị sau một chu kỳ lệnh nếu không chọn hệ sốchia xung đầu vào.Và giá trị của nó được viết tới thanh ghi TMR0.
Khi dùng xung clock bên ngoài cho bộ định thời Timer0 và không dùng hệ sốchia clock đầu vào Timer0 thì phải đáp ứng các điều kiện cần thiết để có thểhoạt động đó là phải bảo đảm xung clock bên ngoài có thể đồng bộ với xungclock bên trong (TOSC)
Hệ số chia dùng cho Timer 0 hoặc bộ WDT Các hệ số nay không có khả năngđọc và khả năng viết Để chọn hệ số chia xung cho bộ tiền định của Timer0hoặc cho bộ WDT ta tiến hành xoá hoặc đặt bít PSA của thanh ghiOPTION_REG<3>
Những bít PS2, PS1, PS0 của thanh ghi OPTION_REG<2:0> dùng để xác lậpcác hệ số chia
Bộ tiền định có giá trị 1:2 chẳng hạn, có nghĩa là : bình thường không sử dụng
bộ tiền định của Timer0 (đồng nghĩa với tiền định tỉ lệ 1:1) thì cứ khi có tácđộng của 1 xung clock thì timer0 sẽ tăng thêm một đơn vị Nếu sử dụng bộ tiềnđịnh 1:4 thì phải mất 4 xung clock thì timer0 mới tăng thêm một đơn vị Vôhình chung, giá trị của timer0 (8 bit) lúc này không còn là 255 nữa mà là255*4=1020
c/ Ngắt của bộ Timer0
Ngắt của bộ Timer 0 được phát sinh ra khi thanh ghi TMR0 bị trμn tức từFFh quay về 00h.Khi đó bít T0IF của thanh ghi INTCON<2> sẽ được đặt Bít nμy phải được xóa bằng phần mềm nếu cho phép ngắt bit T0IE của thanh ghi INTCON<5> được set.Timer0 bị dừng hoạt ở chế độ SLEEP ngắt Timer 0 không đánh thức bộ xử lý ở chế độ SLEEP
d/ Các thanh ghi liên quan đến Timer0 bao gồm:
- Thanh ghi OPTION_REG : điều khiển hoạt động của Timer0
Trang 212.1.3 Sơ đồ khối và tính năng các chân PIC16F877A: 2.1.3.1 Sơ đồ khối :
Trang 22Hình 2.2: Sơ đồ khối PIC16F877A
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.
Trang 23Việ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 (working register) 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ực hiện các phép cộng, trừ, dịch bit và các phép toán logic
2.1.3.2 Sơ đồ chân PIC16F877A:
Trang 24Hình2.3 Sơ đồ chân PIC16F877A
2.1.3.3 Tính năng các chân :
Trang 25A CHỨC NĂNG CÁC CHÂN CỦA PORTA
Chân RA0/AN0/ULPWU/C12IN0- (2): có 4 chức năng:
+ RA0: xuất/ nhập số – bit thứ 0 của port A.
+ AN0: ngõ vào tương tự của kênh thứ 0.
Chân RA1/AN1/C12IN1- (3): có 3 chức năng:
+ RA1: xuất/nhập số – bit thứ 1 của port A.
+ AN1: ngõ vào tương tự của kênh thứ 1
Chân RA2/AN2/VREF-/CVREF/C2IN+ (4): có 5 chức năng:
+ RA2: xuất/nhập số – bit thứ 2 của port A.
+ AN2: ngõ vào tương tự của kênh thứ 2.
+ VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.
+ CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh.
Chân RA3/AN3/VREF+/C1IN+ (5): có 4 chức năng:
+ RA3: xuất/nhập số – bit thứ 3 của port A.
+ AN3: ngõ vào tương tự kênh thứ 3.
+ VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.
+ C1IN+: ngõ vào dương của bộ so sánh C1.
+ Chân RA4/TOCKI/C1OUT (6): có 3 chức năng:
RA4: xuất/nhập số – bit thứ 4 của port A.
+ TOCKI: ngõ vào xung clock từ bên ngoài cho Timer0.
+ C1OUT: ngõ ra bộ so sánh 1.
+ Chân RA5/AN4/ SS / C2OUT (7): có 4 chức năng:
+ RA5: xuất/nhập số – bit thứ 5 của port A.