Tải bản đầy đủ (.pdf) (53 trang)

Nghiên cứu chế tạo tín hiệu đèn giao thông sử dụng ở những đoạn đường ngập lụt

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 (1.49 MB, 53 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA VẬT LÝ

HOÀNG THỊ HÀ

NGHIÊN CỨU CHẾ TẠO ĐÈN TÍN HIỆU GIAO THÔNG
SỬ DỤNG Ở NHỮNG ĐOẠN ĐƯỜNG NGẬP LỤT

Chuyên ngành: Sư phạm kỹ thuật

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

1


Người hướng dẫn khoa học:
ThS. GVC NGUYỄN MẪU LÂM

HÀ NỘI - 2013
LỜI CẢM ƠN

Để hoàn thành khóa luận tốt nghiệp này, tôi xin bày tỏ lòng biết ơn
chân thành tới ThS.GVC Nguyễn Mẫu Lâm đã tận tình chỉ dẫn, giúp đỡ tôi
từ những bước đầu tiên và trong suốt thời gian làm khóa luận tốt ngiệp.
Đồng thời tôi xin chân thành cảm ơn các Thầy giáo, Cô giáo trong tổ bộ
môn Vật Lý-Kĩ Thuật, các thầy, cô giáo trong khoa Vật Lý cùng toàn thể các
bạn đã tạo điều kiện cho tôi hoàn thành tốt khóa luận này.
Xin trân trọng cảm ơn!

Hà Nội, tháng 5 năm 2013
Sinh viên


Hoàng Thị Hà

2


LỜI CAM ĐOAN

Tôi xin cam đoan nội dung đề tài:“Nghiên cứu chế tạo đèn tín hiệu giao
thông sử dụng ở những đoạn đường ngập lụt”là kết quả của cá nhân tôi
dưới sự hướng dẫn của ThS.GVC Nguyễn Mẫu Lâm trong quá trình học tập
và nghiên cứu tại trường ĐHSP Hà Nội 2.
Trong quá trình thực hiện khóa luận này, tôi có tham khảo tài liệu của
một số nhà nghiên cứu, một số tác giả. Tuy nhiên đó là cơ sở để tôi thực hiện
đề tài này. Đề tài này là kết quả nghiên cứu của cá nhân tôi, các nội dung
nghiên cứu và kết quả trong đề tài này là trung thực và chưa từng được ai
công bố trong bất cứ công trình nghiên cứu nào trước đây. Nếu phát hiện bất
cứ gian lận nào tôi xin chịu hoàn toàn trách nhiệm trước hội đồng.
Tôi xin chân thành cảm ơn.

Hà Nội, tháng 5 năm 2013
Tác giả

Hoàng Thị Hà

3


DANH MỤC HÌNH

Hình 1.1: Kiến trúc Havard và kiến trúc Von-Neuman

Hình 2.1: Sơ đồ chân PIC 12F629
Hình 2.2: Sơ đồ khối của PIC 12F629
Hình 2.3: Sơ đồ nhớ chương trình nhớ và stack
Hình 2.4: Sơ đồ bộ nhớ dữ liệu PIC 12F629
Hình 2.5: Cho thấy các máy tính được tải về 1 ghi vào PCL
Hình 2.6: Địa chỉ gián tiếp PIC 12F629
Hình 2.7: Sơ đồ khối của GP0 và GP1
Hình 2.8: Sơ đồ khối của GP2
Hình 2.9: Sơ đồ khối của GP3
Hình 2.10: Sơ đồ khối của GP4
Hình 2.11: Sơ đồ khối của GP5
Hình 2.12: Sơ đồ khối timer 0
Hình 2.13: Sơ đồ khối cơ bản timer 1 mô đun
Hình 2.14: So sánh đơn
Hình 2.15: So sánh phương thức hoạt động I/O
Hình 2.16: Mạch tương tự chế độ đầu vào
Hình 2.17: Sơ đồ khối, bộ so sánh đầu ra
Hình 2.18: Sơ đồ khối đơn giản của vi mạch reset trên chip
Hình 2.19: Mạch MCLR
Hình 3.1:Sơ đồ nguyên lý
4


Hình 3.2: Mạch nguyên lý
Hình 3.3: Mạch in

MỤC LỤC

LỜI CẢM ƠN .................................................................................................
LỜI CAM ĐOAN ...........................................................................................

DANH MỤC HÌNH ........................................................................................
MỞ ĐẦU ....................................................................................................... 1
1. Lý do chọn đề tài ........................................................................................ 1
2. Mục đích nghiên cứu .................................................................................. 2
3. Đối tượng nghiên cứu ................................................................................. 2
4. Nhiệm vụ nghiên cứu ................................................................................. 2
5. Phương pháp nghiên cứu ............................................................................ 2
6. Đóng góp của luận văn ............................................................................ 2
7. Cấu trúc khóa luận...................................................................................... 3
NỘI DUNG
Chương 1. Tổng quan về vi điều khiển PIC ................................................ 4
1.1 Sự phát triển của vi điều khiển ........................................................... 11
1.1.1 Vài nét về vi điều khiển ................................................................ 11
1.1.2 Các loại vi điều khiển ..................................................................... 4

5


1.2 Vi điều khiển PIC.................................................................................. 5
1.2.1 Kiến trúc PIC .................................................................................. 5
1.2.2 Dòng PIC và cách lựa chọn dòng PIC ............................................. 7
1.2.3Vài đặc tính về vi điều khiển PIC..................................................... 7
1.2.3.1 Các đặc tính của vi điều khiển PIC ........................................... 7
1.2.3.2 Tổ chức bộ nhớ ......................................................................... 9
1.2.3.3 Lập trình cho chip ................................................................... 10
Chương 2. Giới thiệu về PIC 12F629 ........................................................ 11
2.1 Tổng quan về PIC 12F629 ................................................................... 11
2.1.1 Giới thiệu .......................................................................................... 11
2.1.2 Sơ đồ khối và chức năng của các chân............................................. 11
2.2 Tổ chức bộ nhớ .................................................................................... 14

2.2.1 Bộ nhớ chương trình........................................................................ 15
2.2.2 Bộ nhớ dữ liệu ................................................................................ 16
2.2.2.1 Thanh ghi mục đích chung ....................................................... 16
2.2.2.2 Thanh ghi chức năng đặc biệt ................................................... 17
2.2.3 PCL và PCLATH ........................................................................... 18
2.2.4 Địa chỉ gián tiếp, thanh ghi INDF và FSR ...................................... 19
2.3 Cổng GPIO .......................................................................................... 20
2.3.1 Thanh ghi xuất nhập (I/O) thông thường và thanh ghi xuất nhập 3
trạng thái điều khiển bit ................................................................................ 20
2.3.2 Mô tả chân và sơ đồ ........................................................................ 21
2.4 Timer 0 ................................................................................................ 26
2.5 Timer 1 ................................................................................................ 27
2.6 So sánh mô đun ................................................................................... 28
2.6.1 Cơ chế hoạt động ............................................................................ 29

6


2.6.2 So sánh cấu hình ............................................................................. 30
2.6.3 Mạch tương tự đầu vào kết nối ....................................................... 30
2.7 Bộ nhớ dữ liệu EEPROM .................................................................... 31
2.7.1 EEADR .......................................................................................... 32
2.7.2 Thanh ghi EECON 1 và EECON 2 ................................................. 32
2.8 Tính năng đặc biệt của CPU ................................................................ 33
2.8.1 CONFIGURATION bit .................................................................. 34
2.8.2 Cấu hình bộ dao động ..................................................................... 35
2.8.3 Các chế độ reset .............................................................................. 36
Chương 3. Kết quả và bàn luận ................................................................. 39
3.1 Lựa chọn phương án thiết kế. .............................................................. 39
3.2 Mạch thiết kế ...................................................................................... 39

3.2.1 Sơ đồ nguyên lý......................................................................................40
3.2.2 Mạch nguyên lý..............................................................................40
3.3 Chế tạo và thử nghiệm..............................................................................41
KẾT LUẬN ................................................................................................. 51
TÀI LIỆU THAM KHẢO .......................................................................... 45

7


MỞ ĐẦU

1. LÝ DO CHỌN ĐỀ TÀI
Trong những năm gần đây ngành điện tử phát triển mạnh mẽ và được
ứng dụng nhiều trong thực tiễn như sản xuất, đo lường, giám sát… bằng việc
sử dụng những vi mạch điều khiển. Vi điều khiển quản lý và điều khiển hoạt
động theo chương trình đã nạp sẵn, đọc các tín hiệu từ bên ngoài đưa vào sau
đó lưu giữ và xử lý, đưa ra tín hiệu điều khiển các thiết bị bên ngoài hoạt
động theo đúng yêu cầu của hệ thống.
Chính nhờ tính năng ưu việt của bộ vi điều khiển, như khả năng lập
trình mềm dẻo phù hợp với qui mô thiết kế lớn, nhỏ. Bên cạnh đó các họ vi
điều khiển giao tiếp với các thiết bị ngoại vi và máy tính dễ dàng vì vậy đã
đem lại sự hoàn hảo, độ chính xác và tính mềm dẻo cao. Hiện nay vi điều
khiển ngày càng được ưa chuộng và ứng dụng rộng rãi. Trong công nghiệp vi
điều khiển và máy tính thực hiện nhiệm vụ điều khiển và giám sát hệ thống
góp phần tiết kiếm sức lao động của con người, và có thể thay thế con người
trong những công việc nặng nhọc, nguy hiểm, hay khi làm việc trong môi
trường độc hại. Ngoài ra vi điều khiển cũng có mặt trong các sản phẩm công
nghiệp và tiêu dùng như: lò vi ba, lò sưởi, hệ thống cảnh báo và giám sát
phương tiện giao thông…
Như vậy trong đời sống hiện đại ngày nay, với những ứng dụng của khoa

học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn
minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt
những thiết bị với các đặc điểm nổi bật như độ chính xác cao, tốc độ xử lí
nhanh, thiết bị gọn nhẹ là những yếu tố rất cần thiết góp phần làm cho hoạt
động của con người đạt hiệu quả đặc biệt là trong những lĩnh vực tự động hóa.
Các loại thiết bị điện tử giám sát và cảnh báo nguy hiểm trong giao
thông hiện nay trên thế giới được nghiên cứu và sử dụng rộng rãi. Tuy nhiên
8


các thiết bị giám sát và cảnh báo đó chưa phù hợp với điều kiện giao thông
trong mùa mưa lũ của việt nam, cũng như giá thành của sản phẩm tương đối
cao không phù hợp với điều kiện kinh tế của Việt nam.
Việt nam là nước có khí hậu nhiệt đới, hàng năm phải gánh chịu một
lượng mưa khá lớn, Việt nam cũng là nước phải chịu ảnh hưởng trực tiếp của
biến đổi khí hậu. Vì vậy hàng năm, người dân ở một số địa phương vẫn phải
chịu tổn thất đáng kể về con người và của cải do ngập đường giao thông. Điển
hình vụ trôi xe ô tô chở khách ở Hà Tĩnh do nước lũ làm ngập đường trong
khi lại không có thiết bị cảnh báo mối nguy hiểm đó, đã làm hàng chục người
chết.Chính vì những lí do trên đã thúc đẩy chúng tôi nghiên cứu đề tài:
“Nghiên cứu chế tạo đèn tín hiệu giao thông sử dụng ở những đoạn
đường ngập lụt”.
2. MỤC ĐÍCH NGHIÊN CỨU
Nghiên cứu chế tạo đèn tín hiệu dùng giao thông sử dụng ở những đoạn
đường ngập lụt.
3. ĐỐI TƯỢNG NGHIÊN CỨU
Đèn tín hiệu giao thông.
Vi điều khiển PIC 12F629.
4. NHIỆM VỤ NGHIÊN CỨU
Tìm hiểu về hoạt động viđiều khiển họ PIC 12F629.

Nghiên cứu chế tạo đèn tín hiệu dùng giao thông sử dụng ở những đoạn
đường ngập lụt.
5. PHƯƠNG PHÁP NGHIÊN CỨU.
Nghiên cứu lí luận và những tài liệu liên quan.
Nghiên cứu theo phương pháp lý thuyết kết hợp với thực nghiệm.
6. ĐÓNG GÓP CỦA LUẬN VĂN.
Cụ thể khi nghiên cứu thực hiện đề tài này chúng tôi muốn phát huy
những thành quả ứng dụng của vi điều khiển PIC vào thực tiễn, nhằm tạo ra
9


những sản phẩm, những thiết bị hoạt động có hiệu quả và giúp ích trong cuộc
sống.
Mặt khác tập luận văn này cũng có thể làm tài liệu tham khảo cho sinh
viên khóa sau giúp họ hiểu rõ hơn về những ứng dụng của vi điều khiển.
7. Cấu trúc khóa luận
Chương 1: Tổng quan về vi điều khiển.
Chương 2: Giới thiệu về PIC 12F629.
Chương 3: Kết quả và bàn luận.

10


NỘI DUNG
CHƯƠNG 1
TỔNG QUAN VỀ VI ĐIỀU KHIỂN
1.1 Sự phát triển của vi điều khiển.
1.1.1 Vài nét về vi điều khiển.
Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường
được sử dụng để điều khiển các thiết bị điện tử. Vi điều khiển thực chất là

một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp
(khác với các bộ vi xử lý đa năng dùng trong máy tính) kết hợp với các khối
ngoại vi như bộ nhớ, các mô đun vào/ra, các mô đun biến đổi số sang tương
tự và tương tự sang số,... Ở máy tính thì các mô đun thường được xây dựng
bởi các chíp và mạch ngoài.
Vi điều khiển thường được dùng để xây dựng các hệ thống nhúng. Nó
xuất hiện khá nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi
sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động,
v.v.
Hầu hết các vi điều khiển ngày nay được xây dựng dựa trên kiến trúc
Harvard, kiến trúc này định nghĩa bốn thành phần cần thiết của một hệ thống
nhúng. Những thành phần này là lõi CPU, bộ nhớ chương trình(thông thường
là ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), một hoặc vài bộ định
thời và các cổng vào/ra để giao tiếp với các thiết bị ngoại vi và các môi
trường bên ngoài - tất cả các khối này được thiết kế trong một vi mạch tích
hợp. Vi điều khiển có thể hoạt động chỉ với vài vi mạch hỗ trợ bên ngoài.
1.1.2 Các loại vi điều khiển.
Một số loại vi điều khiển thông dụng gồm:
- Vi điều khiển 8051
- Vi điều khiển AVR
- Vi điều khiển PIC
11


- Vi điều khiển MCUS của Philips
Các loại vi điều khiển chuyên dụng của các hãng sản xuất khác: Các loại
vi điều khiển này được sử dụng chuyên dụng theo chức năng cần điều khiển.
1.2 Vi điều khiển PIC.
PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip
Technology. Thế hệ PIC đầu tiên là PIC1650 được phát triển bởi

Microelectronics Division thuộc General – Instrument.
PIC là viết tắt của "Programmable Intelligent Computer" là một sản
phẩm của hãng GeneralInstruments đặt cho dòng sản phẩm đầu tiên PIC1650.
Tại thời điểm đó PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho
máy chủ 16 bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral
Interface Controller" –bộ điều khiển giao tiếp ngoại vi.
CP1600 là một CPU mạnh nhưng lại yếu về 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ợ cho hoạt động xuất
nhập của CP1600.
PIC ROM để chứa mã, mặc dù khái niệm RISC chưa được sử dụng thời
bấy giờ, nhưng PIC thực sự là một vi điều khiển với khiến trúc RISC, chạy
một lệnh với một chu kỳ máy – gồm 4 chu kỳ của bộ giao động.
Năm 1985 General Instruments bán công nghệ các vi điện tử của họ, và
chủ sở hữu mới đã hủy bỏ hầu hết các dự án – lúc đó đã quá lỗi thời. Tuy
nhiên PIC được bổ sung EEPROM để tạo thành một bộ điều khiển vào ra lập
trình.
Ngày nay rất nhiều dòng PIC được xuất xưởng và hàng loạt các mudule
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.
1.2.1 Kiến trúc PIC.
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo 2 dạng
kiến trúc: Kiến trúc Von-Neuman và kiến trúc Havard.
12


Hình 1.1: Kiến trúc Havard và kiến trúc Von-Neuman
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard. Điểm
khác biệt giữa kiến trúc Havard và kiến trúc Von-Neuman là cấu trúc bộ nhớ
dữ liệu và bộ nhớ chương trình.
Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình

nằm chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh
hoạt bộ nhớ chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý
nghĩa khi tốc độ xử lý của CPU phải rất cao, vì với cấu trúc đó, trong cùng
một thời điểm CPU chỉ có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ
chương trình. Như vậy có thể nói kiến trúc Von-Neuman không thích hợp với
cấu trúc của một vi điều khiển.
Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách
ra thành hai bộ nhớ riêng biệt. Do đó trong 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 được cải
thiện đáng kể. Và để tiếp tục cải thiện tốc độ thực thi lệnh, tập lệnh của họ vi
điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định và cho
phép thực thi lệnh trong một chu kì của xung clock. Điều này có nghĩa là tập
lệnh của vi điều khiển thuộc cấu truc Havard sẽ ít lệnh hơn, ngắn hơn, đơn
giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định.
Vi điều khiển được tổ chức theo cấu trúc Havard còn được gọi là vi
điều khiển RISC hay vi điều khiển có tập lệnh rút gọn. Vi điều khiển được
13


thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC hay
vi điều khiển có tập lệnh phức tạp.
1.2.2 Dòng PIC và cách lựa chọn vi điều khiển PIC.
Các kí hiệu của vi điều khiển PIC:
PIC 12xxxx: Độ dài lệnh 12 bit.
PIC 16xxxx: Độ dài lệnh 14 bit.
PIC 18xxxx: Độ dài lệnh 16 bit.
C: PIC có bộ nhớ EEPROM.
F: PIC có bộ nhớ flash.
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp .
Bên cạnh đó một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu

có thêm chữ A ở cuối là flash. Ở Việt Nam phổ biến nhất là các họ vi điều
khiển PIC do hãng Microchip sản xuất.
Cách lựa chọn một vi điều khiển PIC phù hợp:
Trước hết cần chú ý tới số chân của vi điều khiển cần thiết cho ứng
dụng. Có nhiều vi điều khiển PIC với số chân khác nhau, thậm chí có vi điều
khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44... chân.
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương
trình nhiều lần.
Cần chú ý tới các khối chức năng được tích hợp sẵn trong vi điều khiển,
các chuẩn giao tiếp bên trong.
Cuối cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho
phép.
1.2.3 Vài đặc điểm về vi điều khiển PIC.
1.2.3.1 Các đặ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 như sau:
 8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi.

14


 FLASH và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte.
 Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5.5V,

ứng với logic 0 và logic 1)
 8/16/32 Bit Timer.
 Các chuẩn Giao Tiếp Ngoại Vi Nối Tiếp Đồng bộ/Không đồng

bộ USART, AUSART, EUSARTS.
 Bộ chuyển đổi ADC.

 Bộ so sánh điện áp (Voltage Comparators).
 Các module Capture/Compare/PWM.
 MSSP Peripheral dùng cho các giao tiếp I2C, SPI, và I2S.
 Bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần.
 FLASH (dùng cho bộ nhớ chương trình) có thể ghi/xóa 10.000 lần.
 Module điều khiển động cơ, module đọc encoder.
 Hỗ trợ các giao thức USB, CAN, Ethernet, IrDA,LIN.
 Một số dòng có tích hợp bộ RF (PIC16F639, và rfPIC).
 KEELOQ Mã hoá và giải mã.
 DSP những tính năng xử lý tín hiệu số (dsPIC).
 Bộ nhớ EEPROM nội- có thể ghi/ xoá lên tới 1 triệu lần.
 Một số dòng có tích hợp bộ RE (PIC16F639, và rfPIC).
 DSP những tính năng xử lý tín hiệu số (ds PIC).

 Đặc tính ngoại vi.
 Timer0: là bộ định timer/counter 8 bit có bộ chia trước.
 Timer1: là bộ định timer/counter 16 bit có bộ chia trước có thể đếm

khi CPU đang trong chế độ ngủ với nguồn xung từ tụ thạch anh hoặc
nguồn xung bên ngoài.
 Timer2: là bộ định timer/counter 8 bit với 8 thanh ghi 8-bit chia trước

và postscaler.
 Hai khối Capture, compare, PWM.

15


- 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à 10-bit.

 Các đặc tính về tương tự.
 Có 8 kênh chuyển đổi tín hiệu tương tự thành tín hiệu số ADC 16bit.
 Có reset BOR ( Brown – OutReset).
 Khối so sánh điện áp tương tự:

- Hai bộ so sánh tương tự.
- Khối tạo điện áp chuẩn VREF tích hợp bên trong có thể lập trình.
- Đa hợp ngõ vào lập trình từ ngõ vào của CPU với điện áp chuẩn
bên trong.
- Các ngõ ra của bộ so sánh có thể truy xuất từ bên ngoài.

 Các đặc tính đặc biệt của vi điều khiển:
 Bộ nhớ chương trình Enhanced Flash cho phép xóa và ghi 100000 lần.
 Bộ nhớ dữ liệu EEPROM cho phép xóa và ghi 100000 lần.
 Bộ nhớ EEPROM có thể lưu trữ giữ liệu hơn 40 năm và có thể tự lập

trình lại dưới sự điều khiển của phần mềm.
 Mạch lập trình nối tiếp ICSP thông qua 2 chân (In-Circuit Serial

Programming).
 Nguồn sử dụng là nguồn đơn 5V cấp cho mạch lập trình nối tiếp.
 Có Watchdog Timer (WDT) với bộ dao động RC tích sẵn trên Chip.
 Có thể lập trình mã bảo mật.
 Có thể hoạt động ở chế độ Sleep để tiết kiệm năng lượng.
 Có thể lựa chọn bộ dao động.
 Có mạch điện gỡ rối ICD thông qua 2 chân.

1.2.3.2 Tổ chức bộ nhớ

PIC được xây dựng theo kiến trúc Hardvard, bộ nhớ dữ liệu và bộ nhớ chương
trình tách biệt nhau. Do đó CPU có thể truy xuất đồng thời bộ nhớ chương
trình và bộ nhớ dữ liệu.
16


 Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều
bank. Tùy từng loại PIC khác nhau mà có các bank khác nhau
Đối với PIC16F877A bộ dữ liệu được chia ra làm 4 bank. Mỗi bank có
dung lượng 128byte, bao gồm các thanh ghi có chức năng đặc biệt SFG
(Special FunctionRegister) nằm ở các 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ỉ còn lại trong
bank. Các thanh ghi SER thường xuyên được sử dụng (ví dụ như thanh ghi
STARUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp thuận tiện
cho quá trình truy xuất và làm giảm bớt lệnh của chương trình.
 Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển PIC 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ừ page 0
đến page 3).
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm
chương trình có dung lượng 13 bit.
Khi PIC được reset, bộ đếm chương trình sẽ đếm địa chỉ 0000h (Reset
vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đếm địa chỉ 0004h
(Interrupt vector).
1.2.3.2 Lập trình cho PIC.
Hãng Microchip cung cấp môi trường lập trình MPLAB nó bao gồm
phần mềm mô phỏng, trình dịch ASM, liên kết và gỡ rối. Ngoài ra hãng này
cũng bán trình biên dịch C cho các dòng PIC18 và dsPIC tích hợptrong
MPLAB.

Ngoài ra còn một số công ty khác cung cấp trình biên dịch C,
PASCAL, BASIC cho PIC đó có thể là phần mềm thương mại hoặc phần
mềm mã nguồn mở.

17


CHƯƠNG 2
GIỚI THIỆU VỀ PIC 12F629
2.1 Tổng quan về PIC 12F629.
2.1.1 Giới thiệu.
PIC 12F629 có 8 chân với cấu trúc như sau:

Hình2.1:Sơ đồ chân PIC 12F629
2.1.2 Sơ đồ khối và chức năng của các chân
 Sơ đồ khối của PIC 12F629
Sơ đồ khối của PIC gồm các khối:
- KhốiALU – Arithmetic Logic Unit.
- Khối bộ nhớ chứa chương trình – Flash Program Memory.
- Khối bộ nhớ chứa dữ liệu EEPROM – Data EPROM.
- Khối 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 sang số - ADC.
- Khối các port xuất nhập.

18



Hình 2.2: Sơ đồ khối của PIC 12F629
 Chức năng của các chân
Kiểu
Tên

Chức năng đầu
vào

Kiểu
đầu

Mô tả

ra
Hai chiều I/OW/lập

GP0

TTL

CMOS

trình kéo lên và
ngắt on thay đổi

GP0/CIN+/ICSPDAT
CIN+

AN


ICSPDAT

TTL

19

So sánh đầu vào
CMOS

Nối tiếp lập trình I/O


Hai chiều I/OW/lập
GP1

TTL

CMOS

on thay đổi

GP1/CNI-/
ICSCPCLK

trình kéo lên và ngắt

CNI_

AN


ICSPCLK

ST

Đồng hồ nối tiếp lập
trình
Hai chiều I/OW/lập

GP2

ST

CMOS

trình kéo lên và ngắt
on thay đổi

GP2/TOCKI/INT/
COUT

TOCKI

ST

INT

ST

COUT

GP3
GP3/ MCLR /Vpp

TMRO đồng hồ đầu
vào
Ngắt ngoài
CMOS

Đầu vào cổng w/gián

TTL

MCLR

ST

Vpp

HV

So sánh đầu ra

đoạn về
Master clear (chủ rõ
ràng) biến đổi
Lập trình điện áp
Hai chiều I/OW/lập

GP4


TTL

CMOS

trình kéo lên và ngắt
on thay đổi

GP4/ T1G
/OSC2/CLKOUT

GP5/T1CKI/CLKIN

T1G

ST

Cổng TMR1

OSC2

XTAL

CLKOUT

CMOS

GP5

TTL


20

CMOS

Tinh thể Crystal/
cộng hưởng
FOSC/4 đầu ra
Hai chiều I/OW/lập
trình kéo lên và ngắt


on thay đổi
T1CKI

ST

Xung nhịp TMR1
(TMR1 đồng hồ)
Bên ngoài xung kết

CLKIN

ST

nối đầu vào/đầu dao
động RC

VDD

VDD


VSS

VSS

Năng
lượng
Năng
lượng

Nối đất

Nối lên dương nguồn

2.2 Tổ chức bộ nhớ.
Cấu trúc bộ nhớ chương trình bao gồm: Bộ nhớ chương trình và Bộ nhớ
dữ liệu.
2.2.1 Bộ nhớ chương trình.
Bộnhớ chương trình của vi điều khiển PIC 12F629 là bộ nhớ flash,
dung lượng bộ nhớ 8K word (Như vậy bộ nhớ chương trình có khả năng chứa
8*1024 = 8192 lệnh).
Để mã hóa được địa chỉ của 8K word, bộ nhớ chương trình, bộ đếm
chương trình có dung lượng 13 bit (PC<12:0>).
Khi vi điều khiển được reset, bộ nhớ chương trình sẽ chỉ đến địa chỉ
0000h. Khi có ngắt xảy ra, bộ nhớ chương trình sẽ chỉ địa chỉ 0004h.

21


Hình 2.3: Sơ đồ nhớ chương trình nhớ và stack

2.2.2 Bộ nhớ dữ liệu.
Bộ nhớ dữ liệu của PIC 12F629 là bộ nhớ EEPROM và được chia làm
hai bank. Trong đó có các thanh ghi mục đích chung và thanh ghi chức năng
đặc biệt. Các thanh ghi chức năng đặc biệt được đặt tại 32 vị trí đầu tiên của
bank. Đăng kí địa điểm 20h-5Fh của thanh ghi mục đích chung thực hiện
trong quá trình truy xuất và làm giảm bớt lệnh của chương trình.
Tất cả các RAM chưa thực hiện sẽ trả về ‘0’ khi đọc RPO là bit bank
lựa chọn:
RPO = 0 Bank 0 được chọn
RPO = 1 Bank 1 lựa chọn
Sơ đồ cụ thể bộ nhớ dữ liệu PIC 12F629 như sau:

22


Hình 2.4: Sơ đồ bộ nhớ dữ liệu PIC 12F629
2.2.2.1 Thanh ghi mục đích chung.
Các tập thanh ghi được tổ chức như 64*8 trong PIC 12F629 thiết bị mỗi thanh
ghi được truy cập hoặc trực tiếp hoặc gián tiếp thông qua file chọn thanh ghi
FSR.

23


2.2.2.2 Thanh ghi chức năng đặc biệt.
Thanh ghi đặc biệt có thể được chia làm hai loại: Thanh ghi liên quan
đến chức năng bên trong CPU và thanh ghi dùng để thiết lập và điều khiển
các khối chức năng bên ngoài.
Các thanh ghi chức năng đặc biệt được sử dụng bởi CPU và các chức
năng ngoại vi khác để kiểm soát các hoạt động mong muốn của các thiết bị

chúng là những thanh Ram tĩnh (SRAM). Các thanh ghi chức năng đặc biệt có
thể được phân loại theo hai nhóm: Nhóm nội và nhóm ngoại.
 Thanh ghi STATUS(03h, 83h): Thanh ghi chứa kết quả thực hiện
phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất
trong bộ nhớ dữ liệu.

 Thanh ghi OPTION(81h): Thanh ghi OPTION là một thanh ghi có
thể đọc và ghi, trong đó có các bit điều khiển các cấu hình khác nhau:
+ TMRO/WDT: Bộ đếm gộp trước
+ GP2/INF: Bên ngoài bị gián đoạn
+ TMRO

 Thanh ghi INTCON (0Bh, 8Bh): Các thanh ghi INTCON là một
thanh ghi có thể đọc và ghi, chứa các bit điều khiển và các bit cờ hiệu khi
TMR0 tràn, cổng GPIO thay đổi và bên ngoài chân GP2/Int ngắt.

24


 Thanh ghi PIE1 (8Ch): Các thanh ghi PIE1 chứa các bit điều khiển
chi tiết các ngắt của các khối chức năng ngoại vi.

 Thanh ghi PIR1 (0Ch): Chứa ờ ngắt của các khối chức năng ngoại vi.

 Thanh ghi PCON (8Eh): Chứa các cờ hiệu cho biết trạng thái của các
chế độ reset của vi điều khiển.

 Thanh ghi OSCCAL(90h): Thanh ghi OSCCAL của bộ dao động
chuẩn được sử dụng để hiệu chỉnh dao động 4Mhz nội bộ. Nó bao gồm 8 bit
để điều chỉnh tần số lên xuống để đạt được 4Mhz.


2.2.3 PCL và PCLATH
Bộ đếm chương trình là 13 bit. Bit thấp xuất phát từ thanh ghi PCL, là
một thanh ghi có thể đọc và ghi được. Các byte cao (PC <00 : 08 >) xuất phát
trực tiếp từ PCLATH không thể đọc và ghi được.

25


×