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

Đồ án tốt nghiệp điều khiển tốc độ động cơ DC

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

Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG
KHOA ĐIỆN TỬ - TIN HỌC
---o0o---

ĐỒ ÁN TỐT NGHIỆP
Đề tài:

ĐIỀU KHIỂN TỐC ĐỘ
ĐỘNG CƠ DC
GVDH:
SVTH:

Nguyễn Hữu Phước
Trần Công Danh
Trần Vũ Phi Long

Tp.Hồ Chí Minh-Tháng 7-2010

trang2
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010


GVHD: Nguyễn Hữu Phước

Nhận xét của giáo viên hướng dẫn
---o0o---

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
……………………………
………………………………………………………………………………
Tp. HCM, ngày …. tháng …. năm 2010
Giáo viên hướng dẫn

Nguyễn Hữu Phước


trang3
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Nhận xét của giáo viên phản biện
---o0o---

....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................

....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
Tp.HCM, ngày …. tháng…. năm 2010
Giáo viên phản biện

trang4
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Lời cảm ơn
Trong suốt thời gian học tập tại trường Cao Đẳng Kỹ
Thuật Cao Thắng, chúng em nhận được sự giảng dạy cũng
như sự chỉ dẫn một cách tận tình của quí thầy cô về những
kiến thức trong học tập cũng như trong cuộc sống.
Chúng em xin chân thành cảm ơn quí thầy cô trong khoa
Điện Tử_ Tin Học đã giảng dạy cho chúng em những kiến
thức chuyên môn và tạo điều kiện cho chúng em hoàn thành
tốt khóa học, qua đó giúp chúng em định hướng được trong
việc lựa chọn và thực hiện đề tài “Điều khiển tốc độ động
cơ DC” trong khả năng của mình.
Chúng em cũng xin chân thành cảm ơn cô Nguyễn Hữu

Phước, đã tận tình theo dõi, giúp đỡ và hướng dẫn chúng em
trong suốt thời gian chúng em thực hiện và hoàn thành đồ án
này.
Nhóm sinh viên thực hiện
Trần Công Danh
Trần Vũ Phi Long

trang5
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Lời nói đầu
Ngày nay, khoa học công nghệ đạt được một trình độ phát triển rất

nhanh và mạnh mẽ, cùng với sự phát triển của các ngành kỹ thuật nói chung
và công nghệ điện tử nói riêng. Những thành tựu đạt được cũng như các ứng
dụng của công nghệ kỹ thuật điện tử ngày càng được sử dụng nhiều trong
cuộc sống hàng ngày của con người và trong các ngành công nghiệp sản xuất
và chế biến. Đặc biệt trong lĩnh vực vi xử lý, những ứng dụng của nó đã
mang lại hiệu quả rất thiết thực cho cuộc sống như quang báo điện tử, đồng
hồ số, điều khiển tốc độ động cơ, hệ thông đếm sản phẩm, ngôi nhà thông
minh…
Nắm được tầm quan trọng đó, nhóm chúng em đã quyết định chọn đề tài
“Điều khiển tốc độ động cơ DC” để làm đồ án tốt nghiệp của mình. Để qua

đó thể hiện được một phần mô hình của những hệ thống điều khiển tự động
trong các nhà máy sản xuất và cũng như trong các ngành công nghiệp khác.
Bằng những kiến thức đã đạt được trong quá trình học tập tại nhà
trường và những tìm hiểu nghiên cứu bên ngoài cùng với những nỗ lực của
bản thân mỗi sinh viên trong nhóm chúng em sẽ được đánh giá qua đợt bảo
vệ đồ án lần này. So với thời gian học tập tại trường thì có thể kết quả mang
lại của đề tài này tuy không lớn nhưng đó cũng là thành quả của quá trình
học tập tại nhà trường, những thành công ban đầu trước khi tốt nghiệp.
Nhóm chúng em đã cố gắng nỗ lực hết mình trong suốt thời gian thực
hiện đề tài này nhưng với lượng kiến thức còn hạn hẹp và thời gian cho phép
còn hạn chế nên đồ án còn nhiều thiếu xót. Nhóm chúng em mong nhận được
nhiều nhận xét và ý kiến đóng góp của quý thầy cô và các bạn về đề tài này
cũng như phương hướng phát triển mở rộng để đề tài được hoàn thiện hơn.
Nhóm chúng em xin chân thành cảm ơn.

trang6
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

CHƯƠNG DẪN NHẬP
1.1/ Đặt vấn đề:
Với những thành tựu về khoa học kỹ thuật cũng như nhu cầu của con người ngày
càng cao. Vì vậy đòi hỏi nhiều ứng dụng của khoa học kỹ thuật vào các ngành công nghệp
nói chung và kỹ thuật điện tử nói riêng được ứng dụng vào cuộc sống. Nó giúp cho các ngành

công nghiệp liên quan phát triển, đồng thời giúp cho cuộc sống của con người ngày càng
nâng cao hơn.
Một trong các ứng dụng được sử dụng rộng rãi trong công nghiệp đó là hệ thống điều
khiển tự động. Đồ án này nhóm chúng em xin trình bày về mạch điều khiển tốc độ động cơ
để một phần thấy rõ được nguyên tắc làm việc căn bản của hệ thống điều khiển tự động.
1.2/ Các yêu cầu cần đạt được và giới hạn của đề tài:
Một và mạch điều khiển tốc độ động cơ thì các yêu cầu tối thiểu mà đề tài cần đạt
được đó là đếm và hiện ra led 7-đoạn tốc độ động cơ, cho động cơ chạy thuận nghịch được
cuối cùng là cho động cơ chạy theo số vòng định trước.
Nhưng vì khó khăn về giới hạn thời gian và trình độ cho phép, mạch của chúng em
chỉ dừng lai ở điều khiển được tốc độ động cơ DC. Vấn đề cho động cơ chạy theosố vòng
định trước còn sai xót .
1.3/ Mục đích nghiên cứu:
Trong quá trình nghiên cứu và thực hiện đề tài này giúp cho người thực hiện:
- Tăng khả năng tự học, tự nghiên cứu và giải quyết vấn đề.
- Tiếp xúc trực tiếp với thực tế, nâng cao kinh nghiệm nghề nghiệp chuyên ngành.
- Phải nắm vững và vận dụng những kiến thức chuyên ngành, tìm hiểu nghiên cứu tài
liệu qua sách vở, giáo trình nước ngoài và các mạch điện và mô hình thực tế liên quan để thi
công phần cứng.
1.4/ Đối tượng nghiên cứu, ứng dụng và hướng phát triển của đề tài:
Lập trình vi xử lý cho hoạt động của mạch nên đối tượng nghiên cứu chính là vi điều
khiển Pic16F877A, IC số cho vấn đề điều khiển và hiện thị.
Đề tài này được ứng dụng rộng rãi và phổ biến trong các nhà máy, các khu công
nghiệp, các ngành công nghiệp sản xuất và chế biến .
Hướng phát triển của đề tài là xem xét nghiên cứu các ứng dụng trong thực tế để có
thể mở rộng và phát triển đề tài lên thành các hệ thống hoạt động trong nhà máy.

trang7
Khoa ĐT-TH


SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Chương 2:

GIỚI THIỆU MỘT SỐ IC
ĐƯỢC SỬ DỤNG
TRONG MẠCH
2.1/ Giới thiệu về PIC:
2.1.1/Tổng quan về họ vi điều khiển:
Dòng PIC đầu tiên là PIC1650 được phát triển Microelectronics Division thuộc
General_Instrument. PIC bắt nguồn từ chữ viết tắc của “Programmable Intelligent Computer”
(Máy tính khả trình thông minh) là một sản phẩm của hãng General Instruments đặt cho
dong2san3 phẩm đầu tiên của họ là PIC1650. Lúc này, PIC 1650 được Pic là một ho vi điều
khiển RISC được san xuất bởi công ty Mirochip Technology. dùng để giao tiếp với các thiết
bị ngoại vi cho các máy chủ 15 bit CP1600, vì vậy, người ta cũng gọi PIC “Peripheral
Interface Controller” (Bộ điều khiển giao tiếp ngoại vi). CP1600 là một CPU tốt, nhưng lại
kém về các hoạt động xuất nhập, vì vậy PIC 8_bit được phất triển vào khoảng năm 1975 để
hộ trợ hoạt động xuất nhập cho CP1600. PIC sử dụng microcode đơn giản đặt trong ROM, và
mặc dù cụm từ RISC chưa được sử dủng thời bấy giờ, nhưng PIC thật sự là một vi điều khiển
với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động). Năm 1985
General Instruments bán bộ phận vi điện tử của họ, và chủ sở hữu hũy bỏ hầu hết các dự ánlúc đó quá lỗi thời. Tuy nhiên, PIC được bổ xung EPROM để tạo thành một bộ điều khiển
vào ra khả trình. Ngày nay rất nhiều dòng PIC được sản xuất với hàng loạt các modele ngoại
vi tích hợp sẵn (như USART,PWM,ADC….), với bộ nhớ chương trình từ 512 Word đến 32k
Word.
2.1.1.1/Một số đặc tính của Vi điều khiển PIC:

Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng nhưng chúng ta
có thể điểm qua một vài nét sau:

8/16 bit CPU, xây dựng theo kiến trúc Harward co sữa đổi.

Flsah và ROM có thể tùy chọn từ 256 byte đến 256 Kbyte.

Các cổng xuất/nhập (I/O) mức logic thường từ 0V đến 5.5V, ứng với logic 0 và
1.

8/16 bit timer.

Các chuẩn giao tiếp nối tiếp đồng bộ, khung đồng bộ USART.

Bộ chuyển đổi ADC Analog_to_digital converters, 10/12 bit.

Bộ so sánh điện áp.

Các module Capture/Cmpare/PWM.

LCD.

MSSP Peripheral dựng cho các giao tiếp IC2,SPI.

Bộ nhớ nội EPROM-có thể ghi/xóa lên tới một triệu lần.
trang8
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long



Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước


Moudle điều khiển động cơ,d0oc5 encoder.

Hỗ trợ giao tiếp USB.

Hỗ trợ giao tiếp CAN.

Hỗ trợ giao tiếp LIN.

Hỗ trợ giao tiếp IRDA.

Một số dòng có tích hop7675bo65 RF (PIC16f639,và RFPIC).

KEELOQ mã hóa và giải mã.

DSP những tính năng xử lý tín hiệu số (dsPIC) đặc điểm thực thi tốc độ cao của
RISC CPU của họ vi điều khiển PIC16F87XA.

Chỉ gồm 35 lệnh đơn.

Tất cả các lệnh là một chu kỳ ngoại trừ chương trình con là hai chu kỳ.

Tốc độ hoạt động:
• DC_20MHz ngõ vào xung clock.
• DC_200ns chu kỳ lệnh.

2.1.1.2/Những đặc tính ngoại vi:

Timer0 : 8_bit định thời/điếm với 8_bit, prescaler.

Timer1 : 16_bit định thời/điếm với prescaler, có thể được tăng
lên trong suốt chế độ Sleep qua thạch anh/xung clock bên ngoài.

Timer2 : 8_bit định thời/điếm với 8_bit, prescaler, postscaler.

Hai module Capture, Compare,PWM:
• Capture có độ rộng 16 bit, độ phân giải 12,5ns.
• Compare có độ rộng 16 bit, độ phân giải 200ns.
• Độ phân giải lớn nhất của PWM là 10bit.

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

Dòng vào và ra lớn:
• 25mA dòng vào cho mỗi chân.
• 20mA dòng ra cho mõi chan.
2.1.1.3/Đặc điểm về tương tự:
10 bit, với 8 kênh của bộ chuyển đổi tương tự sang số (A/D).
Brown_out Reset(BOR).
Module sosanh về tương tự:
• Hai bộ so sánh tương tự.
• Module điện ap chuẩn VREF có thể lập trình trên PIC.
Có thể lập trình ngõ vào đến từ những ngõ vào của PIC và trên điện áp bên trong.
Những ngõ ra của bộ so sánh có thể sử dụng cho bên ngoài.
2.1.1.4/Các đặc điểm đặc biệt:

Có thề ghi/xóa tới 100000 lần với kiểu bộ nhớ chương trình Enhanced Flash.


1000000 lần ghi/xóa với kiểu bộ nhớ EPROM.

EPROM có thể lưu trữ dư liệu hơn 40 năm.

Có thể lập trình lại dưới sự điều khiển của phần mền,

Mạch lập trình nối tiếp qua hai chân.

Nguồn đơn 5V cấp cho mạch lập trình nối tiếp.
trang9
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước


Watchdog Timer (WDT) với bộ dao dộng RC tích hợp sẵn trên Chip cho hoạt
động đáng tin cậy.

Có thể lập trình màng bảo vệ.

Tiết kiệm năng lượng với chế độ Sleep.

Có thể lựa chọn bộ dao động.
2.1.1.5/Công nghệ CMOS:


Năng lượng thấp, tốc độ caoFlash/cong nghệ EPROM.

Việc thiết kế hoàn toàn tĩnh.

Khỏang điện áp hoạt động từ 2V đến 5,5V.

Tiêu tốn năng lượng thấp.
2.1.2 / Giới thiệu về PIC16F8XX và PIC16F877A:
 PIC16F8XX lò nhóm PIC trong họ PIC16FXX của họ vi điều khiển 8_bit, tiêu tốn
năng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tĩnh điện tuyệt đối.
Bao gồm các nhóm sau:
• PIC16F83
• PIC16CR83
• PIC16F84
• PIC16CR84
 Tất cả các PIC16/17 điều có cấu trúc RICS. PIC16CXX các đặc tính nỗi bậc, 8 mắc
ngăn xếp tack, nhiều nguồn ngắt tích hợp bên trong lẫn bên ngoài. Có cấu trúc Haward với
các bus dữ liệu và bus thực thi chương trình riêng biệt nhau cho phép độ dài một lệnh là
14_bit và bus dữ liệu 8_bit cách biệt nhau. Tất cả các lệnh điều mất một chu kỳ lệnh ngoại
trừ các lệnh rẽ nhánh chương trình mất hai chu kỳ lệnh. Chỉ có 35 lệnh và một lượng lớn các
thanh ghi cho phép đáp ứng cao trong ứng dụng.
 Họ PIC16F8XX có nhiều tính năng đặc biệt làm giảm các thiết bị ngoạ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ụ năng lượng thấp. Ở dây có bốn sự
lựa chon5bo65 dao động và chỉ có chân kết nối bộ dao dộng RC nên có giải pháp tiết kiệm
cao. Chế độ SLEEP tiết kiệm nguồn và có thể được dánh thức bởi các nguồn reset. Và còn
nhiều phần khác đó được giới thiệu bên trên sẽ được nói ở các phần kế tiếp.
 PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân,
bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của PIC16F877A như
sau:

 8 K Flash ROM.
 368 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 (Timer 0 và Timer 2).
 Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết
kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài.
 2 bô CCP( Capture / Compare/ PWM).
 1 bộ biến đổi AD 10 bits, 8 ngõ vào.
 2 bộ so sánh tương tự (Compartor).
 1 bộ định thời giám sát (WatchDog Timer).
trang10
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010









GVHD: Nguyễn Hữu Phước

Một cổng song song 8 bits với các tín hiệu điều khiển.

Một cổng nối tiếp.
15 nguồn ngắt.
Có chế độ tiết kiệm năng lượng.
Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming)
Được chế tạo bằng công nghệ CMOS
35 tập lệnh có độ dài 14 bits.
Tần số hoạt động tối đa 20MHz.

2.1.2.1/các đặc tính ngoại vi bao gồm các khối chức năng :

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.

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ộ 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 nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.

Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.

Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được
chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân.
Watchdog Timer với bộ dao động trong.

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


Chế độ Sleep.

Có thể hoạt động với nhiều dạng Oscillator khác nhau.
2.1.2.2/ Sơ lược về vi điều khiển PIC 16F877A:
Sơ đồ chân :

trang11
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Hình 2.1 Sơ đồ khối PIC 16F877A

trang12
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Sơ đồ nguyên lý:


Hình 2.2 Sơ đồ nguyên lý PIC 16F877A
Nhận xét:
Từ sơ đồ chân và sơ đồ nguyên lý ở trên, ta rút ra các nhận xét ban đầu như sau :
 PIC16F877A có tất cả 40 chân
 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân
GND, 2 chan thạch anh và một chân dùng để RESET vi điều
khiển.
5 port của PIC16F877A bao gồm :




PORTB : 8 chân



PORTD : 8 chân



PORTA : 6 chân



PORT E : 3 chân.

trang13
Khoa ĐT-TH


SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

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

trang14
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

trang15
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước


Hình 2.3 Sơ đồ khối cấu trúc bên trong PIC 16F877A

trang16
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

2.1.2.3/ Cấu trúc phần cứng của PIC 16F877A:
PIC là tên viết tắt của “ Programmable Intelligent computer” do hãng General
Instrument đặt tên cho con vi điều khiển đầu tiên của họ. Hãng Micrchip tiếp tục phát triển
sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau.
PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả
các ứng dụng thực tế. Đây là dòng PIC khá dễ cho người mới làm quen với PIC có thể học
tập và tạo nền tản về họ vi điều khiển PIC của mình.


Cấu trúc tổng quát của PIC16F877A như sau :



8K Flash Rom




368 bytes Ram



256 bytes EFPROM



5 port vào ra với tín hiệu điều khiển độc lập



2 bộ định thời Timer0 và Timer2 8 bit



1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm năng

lượng với nguồn xung clock ngoài


2 bộ Capture/ Compare/ PWM



1 bộ biến đổi Analog -> Digital 10 bit, 8 ngõ vào



2 bộ so sánh tương tự




1 bộ định thời giám sát (Watch Dog Timer)



1 cổng song song 8 bit với các tín hiệu điều khiển



1 cổng nối tiếp



15 nguồn ngắt



Sơ đồ khối

trang17
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước


Hình 2.4 Sơ đồ khối bên trong của vi điều khiển 16F877A
2.1.2.4/ Một số chế độ đặt biệt của vi điều khiển PIC 16F877:.
2.1.2.4.1/ Dao độn:
PIC16F877A có thể hoạt động trong bốn chế độ dao động khác nhau:
• LP low-power crystal
• XT crystal/resonatpor
• HS high-speed crystal/resonatpor
• RC resistor/capacitor

trang18
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

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

Hình 2.6 Giá trị tụ trong dao động thạch anh
Tụ có giá trị lớn sẽ mang tính ổn định của dao động nhưng làm tăng thời gian khởi
động.
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 thì 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
2.1.2.4.2/ Reset:
trang19
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010








GVHD: Nguyễn Hữu Phước

PIC16F877A có thể bị reset bởi nhiều nguyên nhân khác nhau:
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)

Hình 2.7 Các chế độ reset

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

Hình 2.8 Mạch MCLR
2.1.2.4.4/ Interrupts:
PIC16F877A có nhiều nguồn ngắt khác nhau. Đây là một số ngắt tiêu biểu:
trang20
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010
*

GVHD: Nguyễn Hữu Phước

Ngắt ngoài xảy ra trên chân INT.
Ngắt do Timer0.
Ngắt do Timer1.
Ngắt do Timer2.
Ngắt do thay đổi trạng thái trên các chân PortB.
Ngắt so sánh điện thế.
Ngắt do Port song song.
Ngắt USART.
Ngắt nhận dữ liệu.
Ngắt truyền dữ liệu .

Ngắt chuyển đổi ADC.
Ngắt màn hình LCD.
Ngắt hoàn tất ghi EEPROM.
Ngắt module CCP.
Ngắt Module SSP.
Các thanh ghi chức năng ngắt: INTCON, PIE1, PIR1, PIE2, PIR2 (các thanh ghi này
sẽ được nghiên cứu ở các phần sau).

Hình 2.9 Các chế độ ngắt

trang21
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

2.1.2.3.5/ Chế độ nguồn thấp Sleeep (Power Down Mode):
Đây là chế độ hoạt động của VĐK khi lệnh sleep được thực thi. Khi đó nếu được cho
phép hoạt động, bộ đếm của WDT sẽ bị xóa nhưng WDT vẫn tiếp tục hoạt động bit PD
(STATUS <3>) được reset về không, bit TO được set, oscillator ngưng hoạt động và các
PORT giữ nguyên trạng thái như trước khi lệnh sleep được thực thi.
Do khi chế độ sleep dòng cung cấp cho VĐK là rất nhỏ nên ta cần thực hiện các bước
sau trước khi VĐK thực thi lệnh sleep.

Đưa tất cả các chân về trạng thái VDD hoặc VSS.


Cần đảm bảo rằng không có mạch ngoại vi nào được điều khiển bởi dòng
điện của VĐK vì dòng điện nhỏ không đủ khả năng cung cấp cho các mạch
ngoại vi hoạt động.

Tạm ngưng hoạt động của khối A/D và không cho phép các xung clock bên
ngoài tác dụng vào VĐK.

Để ý chức năng điện trở kéo lên của PORTB.

Pin MCLR phải ở mức logic cao.
2.1.2.4.6 Bộ định thời giám sát (Watch Dog Timer – WDT):
Giả sử bạn viết một chương trình, bạn mong đợi chương trình này sẽ chạy nếu
không có gì trục trặc xảy ra thì nó sẽ không bao giờ dừng lại, như vậy bạn phải làm một
vòng lặp để khi chương trình chạy đến điểm cuối thì nó lại quay trở về điểm bắt đầu.
Nhưng mà hãy xem một trường hợp: Giả sử chương trình kiểm tra một chân input,
nếu nó lên mức cao thì Pic16f877A sẽ tiếp tục kiểm tra một chân input thứ hai có lên mức
cao hay không, nếu chân input thứ hai không lên mức cao, con Pic sẽ ngồi đó chờ và nó sẽ
chỉ thoát ra khỏi chỗ ngồi của nó nếu chân input thứ hai lên mức cao.
Bây giờ hãy xem một trường hợp khác, giả sử như bạn viết một chương trình, bạn
compiled nó thành công, và ngay cả bạn đã cho chạy mô phỏng từng bước, từng bước một
trên máy tính, bằng MPLAB chẳng hạn, có vẻ như mọi chuyện đều tốt, bạn đem nạp vào con
Pic. Sau một thời gian chạy thử, con Pic thình lình bị kẹt vào nơi nào đó trong chương trình
mà không thể thoát ra được trạng thái hiện tại. Điều gì là cần thiết để giải quyết hai trường
hợp trên, reset lại hay vẫn để cho nó bị kẹt không thoát ra được, đó là mục đích của mạch
Watchdog.
Mạch Watchdog thì không phải là mới mẽ gì, có rất nhiều microprocessors và
microcontrollers đã có mạch Watchdog, nhưng mà nó làm việc ra sao ?
Bên trong vi xử lí Pic có một mạch RC, mạch này cung cấp 1 xung Clock độc lập với
bất kỳ xung Clock nào cung cấp cho Pic. Khi Watchdog Timer (viết tắt là WDT) được cho
phép (enabled), nó sẽ đếm bắt đầu từ 00 và tăng lên 1 cho đến FFh, khi nó tăng từ FFh đến 00

( FFh+1) thì con Pic sẽ bị Reset bất kể đang làm gì, chỉ có 1 cách là ngăn không cho WDT
đếm tới 00.
Khi Pic16F877A bị kẹt không thể thoát ra khỏi tình trạng hiện tại thì WDT vẫn tiếp
tục đếm mà không bị bất kỳ điều gì ngăn cấm nó đếm tới FF và đến FF+1, vì vậy nó sẽ reset
làm cho chương trình phải khởi động lại từ đầu.
Để Sử Dụng WDT Chúng Ta Cần Làm 3 Việc

Thứ nhất, cần thời gian bao lâu để reset WDT ?

Thứ hai, làm sao xoá WDT ?
trang22
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010


GVHD: Nguyễn Hữu Phước

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.

Hình 2.10 Bộ định thời giám sát WDT
2.1.2.5/ Tổ chức bộ nhớ:
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình
(Program memory) và bộ nhớ dữ liệu (Data Memory).
2.1.2.5.1/ Bộ nhớ chương trình:

Hình 2.11 Bộ nhớ chương trình PIC 16F877A

trang23
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ Flash, dung lượng 8K
word (1 word chứa 14bit) và được phân thành nhiều trang như hình trên.
Để mã hóa được địa chỉ 8K word bộ nhớ chương trình, thanh ghi đếm chương trình
PC có dung lượng 13 bit.
Khi vi điều khiển reset, bộ đếm chương trình sẽ trỏ về địa chỉ 0000h. Khi có ngắt xảy
ra thì thanh ghi PC sẽ trỏ đến địa chỉ 0004h.
Bộ nhớ 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.
2.1.2.5.2/ Bộ nhớ dữ liệu:
Bộ nhớ dữ liệu của PIC l bộ nhớ EEPROM được chia ra lm nhiều bank.
Bộ nhớ dữ liệu của PIC16F877A được chia thành 4 bank. Mỗi bank có dụng lượng
128 byte.
Nếu như 2 bank bộ nhớ dữ liệu của 8051 phân chia riêng biệt : 128 byte đầu tiên
thuộc bank1 là vùng Ram nội chỉ để chứa dữ liệu, 128 byte còn lại thuộc bank 2 là cùng các
thanh ghi có chức năng đặc biệt SFR mà người dùng không được chứa dữ liệu khác trong đây
thì 4 bank bộ nhớ dữ liệu của PIC16F877A được tổ chức theo cách khác.
Mỗi bank của bộ nhớ dữ liệu PIC16F877A bao gồm cả các thanh ghi có chức năng
đặc biệt SFR nằm ở các các ô nhớ địa chỉ thấp và các thanh ghi mục đích dùng chung GPR
nằm ở vùng địa chỉ còn lại của mỗi bank thanh ghi. Vùng ô nhớ các thanh ghi mục đích dùng
chung này chính là nơi người dùng sẽ lưu dữ liệu trong quá trình viết chương trình. Tất cả các

biến dữ liệu nên được khai báo chứa trong vùng địa chỉ này.
Trong cấu trúc bộ nhớ dữ liệu của PIC16F877A, các thanh ghi SFR nào mà thường
xuyên được sử dụng (như thanh ghi STATUS) sẽ được đặt ở tất cả các bank để thuận tiện
trong việc truy xuất. Sở dĩ như vậy là vì, để truy xuất một thanh ghi nào đó trong bộ nhớ của
16F877A ta cần phải khai báo đúng bank chứa thanh ghi đó, việc đặt các thanh ghi sử dụng
thường xuyên giúp ta thuận tiên hơn rất nhiều trong quá trình truy xuất, làm giảm lệnh
chương trình.

trang24
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Hình 2.12 Bộ nhớ dữ liệu PIC 16F877A
trang25
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


Đồ án tốt nghiệp khóa 2007-2010

GVHD: Nguyễn Hữu Phước

Dựa trên sơ đồ 4 bank bộ nhớ dữ liệu PIC16F877A ta rút ra các nhận xét như sau :

- Bank0 gồm các ô nhớ có địa chỉ từ 00h đến 77h, trong đó các thanh ghi dùng chung để chứa
dữ liệu của người dùng địa chỉ từ 20h đến 7Fh. Các thanh ghi PORTA, PORTB, PORTC, PORTD,

PORTE đều chứa ở bank0, do đó để truy xuất dữ liệu các thanh ghi này ta phải chuyển đến
bank0. Ngoài ra một vài các thanh ghi thông dụng khác ( sẽ giới thiệu sau) cũng chứa ở
bank0
- Bank1 gồm các ô nhớ có địa chỉ từ 80h đến FFh. Các thanh ghi dùng chung có địa
chỉ từ A0h đến Efh. Các thanh ghi TRISA, TRISB, TRISC, TRISD, TRISE cũng được chứa ở
bank1
- Tương tự ta có thể suy ra các nhận xét cho bank2 và bank3 dựa trên sơ đồ trên.
Cũng quan sát trên sơ đồ, ta nhận thấy thanh ghi STATUS, FSR… có mặt trên cả 4 bank. Một
điều quan trọng cần nhắc lại trong việc truy xuất dữ liệu của PIC16F877A là : phải khai báo
đúng bank chứa thanh ghi đó. Nếu thanh ghi nào mà 4 bank đều chứa thì không cần phải
chuyển bank.


Vùng Ram đa mục đích
Vùng RAM đa mục đích có chiều rộng 8 bit và có thể được truy nhập trực tiếp hoặc

gián tiếp thông qua thanh ghi FSR. Vùng RAM đa mục đích được phân phối ở các Bank như
sau:
-

Bank 0: 96 Bytes từ địa chỉ 20h đến địa chỉ 7Fh.
Bank 1: 80 Bytes từ địa chỉ A0h đến địa chỉ EFh.
Bank 2: 96 Bytes từ địa chỉ 110h đến địa chỉ 16Fh.
Bank 3: 96 Bytes từ địa chỉ 190h đến địa chỉ 1EFh.
• 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.
Bảng tóm tắt các thanh ghi chức năng đặc biệt:

trang26
Khoa ĐT-TH

SVTH: Trần Công Danh – Trần Vũ Phi Long


×