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

ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2

64 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế, Chế Tạo Mạch Đo Nhiệt Độ Hiển Thị Trên LCD 16x2
Tác giả Phạm Văn Thực, Thân Thị Thương
Người hướng dẫn Nguyễn Viết Ngư
Trường học Không có thông tin
Chuyên ngành Không có thông tin
Thể loại Đồ án môn học
Năm xuất bản 2015
Thành phố Không có thông tin
Định dạng
Số trang 64
Dung lượng 1,4 MB

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

Nội dung

2.1 Tìm hi ể u v ề c ả m bi ế n nhi ệ t đ ộ LM35.LM35 là một cảm biến nhiệt độ analog, thuộc họ IC cảm biến nhiệt độsản xuất theo công nghệ bán dẫn dựa trên các chất bán dẫn dễ bị tác độ

Trang 1

ề tài:

THIẾT KẾ, CHẾ TẠO MẠCH ĐO NHIỆT ĐỘ HIỂN THỊ TRÊN LCD 16X2

Giáo viên h ướ ng d ẫ n : Nguyễn Viết Ngư

Sinh viên th ự c hi ệ n : Phạm Văn Thực

Thân Thị Thương

L ớ p : 112134.1

Trang 3

Ngày tháng 10 năm

2015 Giáo viên hướng dẫn

Trang 5

Lý do chọn đề tài

MỞ ĐẦU

Ngày nay khoa học công nghệ hiện đại đã có những bước tiến nhanh và xa

đi theo nó là những thành tựu ứng dụng trong các lĩnh vực đời sống, côngnghiệp Kỹ thuật điều khiển trong tiến trình hoàn thiện lý thuyết cũng đã tạocho mình nhiều phát triển có ý nghĩa Bây giờ khi nhắc tới điều khiển conngười dường như hình dung tới độ chính xác, tốc độ xử lý và thuật toánthông minh đồng nghĩa là lượng chất xám cao hơn Hiện nay trên thị trường

có rất nhiều loại viđiều khiển như 8051, Motorola 68HC, AVR, ARM, Ngoài họ 8051 đượchướng dẫn một cách căn bản ở môi trường đại học, chúng em đã chọn viđiều khiển PIC để mở rộng vốn kiến thức và phát triển các ứng dụng trêncông cụ này vì các nguyên nhân sau:

Họ vi điều khiển nàycó thể tìm mua dễ dàng tại thị trường Việt Nam

Có đầy đủ tính năng của một vi điều khiển khi hoạt động độc lập

Là sự bổ sung rất tốt về kiến thức cũng như ứng dụng cho họ vi điềukhiển mang tính truyền thống: họ vi điều khiển 8051 Giá thành khôngđắt

Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạpchương trình từ dơn giản tới phức tạp

Các tính năng đa dạng của vi điều khiển PIC và các tính năng này khôngngừng được phát triển

Số lượng người sử dụng họ vi điều khiển PIC trên thế giới cũng nhưViệt Nam khá nhiều.Đã tạo thuận lợi trong quá trình tìm hiểu và pháttriển các ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở

đã được phát triển, dễ dàng trao đổi, học tập, dễ dàng tìm được hỗ trợkhi gặp khó khăn

Trang 6

Vì vậy, sau một thời gian học tập và tìm hiểu tài liệu với sự giảngdạy của các thầy cô giáo Cùng với sự dẫn dắt nhiệt tình của giáo viên

hướng dẫn thầy Nguyễn Viết Ngư Chúng em đã chọn đề tài:

thiết kế chế tạo mạch đo nhiệt độ hiển thị trên LCD 16x2” làm đồ án tích hợp 1 của mình

Trang 7

Đối tượng nghiên cứu

Với đề tài này chúng em tập trung vào:

Tìm hiểu về vi điều khiển PIC 16F877A

Nghiên cứu và chế tạo thiết bị đo nhiệt độ phòng

Mục đích nghiên cứu

Khi nghiên cứu đồ án này chúng em đã:

Hiểu được cách thức và chế độ hoạt động của VĐK PIC 16F877A

Hiểu được cách thức hoạt động của cảm biến nhiệt độ LM 35

Thiết kế, chế tạo được mạch đo nhiệt độ phòng dùng PIC 16F877A

Phương pháp nghiên cứu

Do đây là một đồ án sản phẩm, nên chúng em đã áp dụng phương phápnghiên cứu lý thuyết, nghiên cứu thực nghiệm trực tiếp trên sản phẩm thật,chạy thử và hoàn thiện chương trình

Ý nghĩa nghiên cứu

Như đã nói ở trên thì nếu thực hiện thành công đề tài này sẽ mang lại ýnghĩa to lớn về cả thực tiễn và lý luận

Ý nghĩa lý luận:

Toàn bộ chương trình và bản thuyết minh của đề tài sẽ trở thành tài liệunghiên cứu, tham khảo nhanh, dễ hiểu, thiết thực cho các bạn sinh viên, nhữngngười thích tìm hiểu về đề tài này của chúng em

Ý nghĩa thực tiễn:

Với sự thành công của đề tài sẽ góp phần giúp cho các bạn sinh viên mới nóichung và các bạn sinh viên khoa Điện Điện Tử nói riêng thấy rõ được ýnghĩa thực tế và thêm yêu thích chuyên ngành mình đã chọn

Do kiến thức và trình độ năng lực hạn hẹp nên việc thực hiện đề tài này khôngthể tránh được thiếu sót, kính mong nhận được sự thông cảm và góp ý củathầy giáo, cô giáo và các bạn để đồ án này hoàn chỉnh hơn

Chúng em xin trân thành cảm ơn!

Sinh viên thực

Phạm Văn Thực

Trang 8

T h â n

T h ị

T h ư ơ n g

Trang 9

CHƯƠNG I: CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ

1.1 Khái niệm về nhiệt độ:

1.1.1 Khái niệm:

Nhiệt độ là đại lý đặc trưng cho cường độ chuyển động của các nguyên

tử, phân tử của một hệ vật chất Tuỳ theo từng trạng thái của vật chất ( rắn,lỏng, khí) mà chuyển động này có khác nhau ở trạng thái láng, các phân tửdao động quanh vi trí cân bằng nhưng vi trí cân bằng của nó luôn dịch chuyểnlàm cho chất lỏng không có hình dạng nhất định Còn ở trạng thái rắn, cácphần tử, nguyên tử chỉ dao động xung quanh vị trí cân bằng Các dạng vậnđộng này của các phân tử, nguyên tử được gọi chung là chuyển động nhiệt

Khi tương tác với bên ngoài có trao đổi năng lượng nhưng không sinh công,thì quá trình trao đổi năng lượng nói trên gọi là sự truyền nhiệt Quá trìnhtruyền nhiệt trên tuân theo 2 nguyên lý:

Bảo toàn năng lượng

Nhiệt chỉ có thể tự truyền từ nơi có nhiệt độ cao đến nơi có nhiệt độthất Ở trạng thái rắn, sự truyền nhiệt xảy ra chủ yếu bằng dẫn nhiệt và bức

xạ nhiệt

Đối với các chất lỏng và khí ngoài dẫn nhiệt và bức xạ nhiệt còn cótruyền nhiệt bằng đối lưu Đó là hiện tượng vận chuyển năng lượng nhiệtbằng cách vận chuyển các phần của khối vật chất giữa các vùng khác nhaucủa hệ do chênh lệch về tỉ trọng

Trang 10

1.1.2 Sơ lược về phương pháp đo nhiệt độ:

Nhiệt độ là đại lượng chỉ có thể đo gián tiếp trên cơ sở tính chất của vật phụ thuộc nhiệt độ Hiện nay chóng ta có nhiều nguyên lí cảm biến khácnhau để chế tạo cảm biến nhiệt độ như: nhiệt điện trở, cặp nhiệt ngẫu,phương pháp quang dùa trên phân bố phổ bức xạ nhiệt, phương pháp dùa trên

sự dãn nở của vật rắn, lỏng, khí hoặc dùa trên tốc độ âm… Có 2 phươngpháp đo chính:

Ở dải nhiệt độ thấp và trung bình phương pháp đo là phương pháp tiếpxúc, nghĩa là các chuyển đổi được đặt trực tiếp ngay trong môi trường đo

Thiết bị đo như: nhiệt điện trở, cặp nhiệt, bán dẫn

Ở dải nhiệt độ cao phương pháp đo là phương pháp không tiếp xúc( dông cụ dặt ngoài môi trường đo) Các thiết bị đo nh: cảm biến quang, hoảquang kế ( hoả quang kế phát xạ, hoả quang kế cường độ sáng, hoả quang kếmàu sắc)…

1.2 Đo nhiệt độ bằng phương pháp tiếp xúc

1.2.1 Đo nhiệt độ bằng nhiệt điện trở:

Nguyên lý hoạt động:

Điện trở của một số kim loại thay đổi theo nhiệt độ và dùa vào sự thay đổi điện trở đó người ta đo được nhiệt độ cần đo

Nhiệt điện trở dùng trong dụng cụ đo nhiệt độ làm việc với dòng phụ tải nhỏ

để nhiệt năng sinh ra do dòng nhiệt điện trở nhỏ hơn so với nhiệt năng nhậnđược từ môi trường thí nghiệm

Yêu cầu cơ bản đối với vật liệu dùng làm chuyển đổi của nhiệt điện trở là có hệ số nhiệt độ lớn và ổn định, điện trở suất khá lớn…

Trang 11

Trong công nghiệp nhiệt điện trở được chia thành nhiệt điện trở kim loại và nhiệt điện trở bán dẫn.

1.2.2 Đo nhiệt độ bằng cặp nhiệt ngẫu:

EAB = eAB(t0) + eAB(t0) = 0

Từ đó rót ra: eAB = eAB(t0)Khi t0 và t khác nhau thì sức điện động tổng bằng:

EAB = eAB(t) – e+AB(t0)Phương trình trên là phương trình cơ bản của cặp nhiệt ngẫu ( sức điện động phụ thuộc vào hệ số nhiệt độ của mạch vòng t và t0)

Nh vậy bằng cách đo sức điện động ta có thể tìm được nhiệt độ của đối tượng

Phương pháp này được sửnhững nơi có nhiệt độ cao

dụng nhiều trong công nghiệp khi cần đo

1.2.3 IC cảm biến nhiệt độ

Có rất nhiều hãng chế tạo linh kiện điện tử đã sản xuất ra các loại IC bán dẫn dùng để đo dải nhiệt độ từ 55‚ 150 0C Trong các mạch tổ hợp IC,

Trang 12

độ dài của sóng.

Quan hệ giữa mật độ bức xạ của vật đen tuyệt đối với nhiệt độ và độ dài sóng được biểu diễn bởi công thức:

l = C1.l (e 2/l T1)Trong đó: C1: Hằng số và C1= 37,03.107 (Jm2/s)

C2: Hằng số vá C2= 1,432.102 (m.độ)

l : Độ dài sóngT: Nhiết độ tuyệt đối

CH

ƯƠ NG II: C Ơ S Ở LÝ THUY Ế T

Trang 13

2.1 Tìm hi ể u v ề c ả m bi ế n nhi ệ t đ ộ LM35.

LM35 là một cảm biến nhiệt độ analog, thuộc họ IC cảm biến nhiệt độsản xuất theo công nghệ bán dẫn dựa trên các chất bán dẫn dễ bị tác động bởi

sự thay đổi của nhiệt độ, đầu ra của cảm biến là điện áp (V) tỉ lệ với nhiệt độ

mà nó được đặt trong môi trường cần đo

Họ LM35 có rất nhiều loại và nhiều kiểu đóng vỏ khác nhau:

Hình 1.1: Cảm biến nhiệt độ LM35.

Đ

ặ c đi ể m n ổ i b ậ t:

Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35

- Điện áp đầu vào từ 4V đến 30V

- Độ phân giải điện áp đầu ra là 10mV/0C

- Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy

- Ở nhiệt độ 25(0C) nó có sai số không quá 1% Với dải đo từ 50 đến150(0C), tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tínhiệu ngõ vào

Thông s ố k ỹ thu ậ t:

Trang 14

- Tiêu tán công suất thấp.

- Dòng làm việc từ 400µA đến 5mA

- Dòng ngược 15mA

- Dòng thuận 10mA

- Độ chính xác cao: khi làm việc ở nhiệt độ 250C là 0,50C

- Trở kháng đầu ra thấp 0,1 cho 1mA tải

Đ

ặ c tính đi ệ n:

Dải nhiệt độ đo được của LM35 là từ 550C đến 1500C với các mức điện

áp ra khác nhau Vậy ứng với tầm hoạt động từ 0(0C) đến 100(0C)ta có sựbiến thiên điện áp ngõ ra là:

PIC là viết tắt của “Programmable 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ề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 nay hãng đã tạo ra gần 100 loại sản phẩm khác nhau

2.2.2Các 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:

- PIC12xxxx: độ dài lệnh 12 bit

- PIC16xxxx: độ dài lệnh 14 bit

- PIC18xxxx: độ dài lệnh 16 bitC: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)F: PIC có bộ nhớ flash

Trang 15

LF: PIC có bộ nhớ flash hoạt động ở điện áp thấpLV: tương tự như LF, đây là kí hiệu cũ

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 (ví dụ PIC16F877 là EEPROM, còn PIC16F877A làflash) Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC Ở ViệtNam 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ú ý đến số chân của vi điều khiển cần thiết cho ứngdụng Có nhiều vi điều khiển PIC với số lượng 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ớ được nhiều lần hơn

flash để có thể nạp xóa chương trình

Tiếp theo cần chú ý đến 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 Sau cùng cần chú ý đến bộ nhớchương trình mà vi điều khiển cho phép Ngoài ra mọi thông tin về cách lựachọn vi điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PICguide” do nhà sản xuất Microchip cung cấp

Do thời gian làm đồ án có hạn nên chúng em chỉ tập trung tìm hiểu các tính năng của PIC 16F877A có liên quan đến đề tài

2.2.3Các dòng PIC và cách lựa chọn vi điều khiển PIC.

PIC 16F877A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ chohầ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ớilàm quen với PIC có thể học tập và tạo nền tảng về họ vi điều khiển PIC củamình

PIC 16F877A thuộc họ vi điều khiển 16Fxxx có các đặc tính ngoại vi sau:

- Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit

- Tất cả các câu lệnh thực hiện trong một chu kì lệnh ngoại trừ một số câulệnh rẽ nhánh thực hiện trong hai chu kì lệnh Chu kì lệnh bằng 4 lần chu

kì dao động của thạch anh

Trang 16

- Bộ nhớ chương trình Flash 8Kx14 words, với khả năng ghi xóa khoảng 100ngàn lần.

- Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8byte RAM và bộnhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với33pin I/O

- Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài)

- Ngăn nhớ Stack được chia làm 8 mức

- Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp

- Dải điện thế hoạt động rộng: 2.0V đến 5.5V

- Nguồn sử dụng 25mA

- Công suất tiêu thụ thấp:<0.6mA với 5V, 4MHz ; 20µA với nguồn 3V, 32 KHz

- Có 3 timer:

Timer 0: bộ đếm 8 bit với bộ chia tần số 8 bit

Timer 1: 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

Timer 2: 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ộ 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

Trang 17

- 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

Trang 18

Hình 1.2: Hình ảnh thực tế và sơ đồ chân của PIC 16F877A.

Trang 19

Hình 1.3: Sơ đồ khối bộ vi điều khiển PIC 16F877A.

Trang 20

PIC 16F877A có tất cả 40 chân,được chia thành 5 PORT, 2 chân cấp nguồn,

2 chân GND, 2 chân thạch anh và 1 chân dùng để RESET vi điều khiển

- Vpp: ngõ vào nhận điện áp lập trình khi lập trình cho PIC

+ Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2(3): có 2 chức năng

- RA0,1,2: xuất/ nhập số

- AN 0,1,2: ngõ vào tương tự của kênh thứ 0,1,2

+ Chân RA2/AN2/VREF/CVREF+(4): xuất nhập số/ ngõ vào tương tựcủa kênh thứ 2/ ngõ vào điện áp chuẩn thấp của bộ AD/ ngõ vào điện áp chẩncao của bộ AD

+ Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõvào điện áp chuẩn (cao) của bộ AD

+ Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài cho Timer 0/ ngõ ra bộ so sánh 1

+ Chân RA5/AN4/ / C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh4/ ngõ vào chọn lựa SPI phụ/ ngõ ra bộ so sánh 2

+ Chân RB0/INT (33): xuất nhập số/ ngõ vào tín hiệu ngắt ngoài

+ Chân RB1(34), RB2(35): xuất nhập số

+ Chân RB3/PGM(36): xuất nhập số/ cho phép lập trình điện áp thấpICSP

+ Chân RB4(37), RB5(38): xuất nhập số

Trang 21

+ Chân RB6/PGC(39): xuất nhấp số/ mạch gỡ rối và xung clock lập trình ICSP.

+ Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ ICSP

+ Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữliệu I2C

+ Chân RC5/SDO(24): xuất nhập số/ dữ liệu ra SPI

+ Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xungđồng bộ USART

+ Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART

+ Chân RD07/PSP07(1930): xuất nhập số/ dữ liệu port song song

2.2.4Tổ chức bộ nhớ.

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ dữ liệu(Data memory) và bộ nhớ chương trình (Program memory)

- ộ nh B ớ d ữ li ệ u:

Bộ nhớ dữ liệu của PIC là bộ nhớ EFPROM được chia ra làm nhiều bank

Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗi bank códung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFR(Special Funcition Register) 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ỉ trong bank.các

Trang 22

thanh ghi SFR thường xuyên được sử dụng sẽ được đặt ở tất cả các bank của

bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnhcủa chương trình Sơ đồ cụ thể của bộ nhớ dữ liệu PIC 16F877A như sau:

Hình 1.4: Bộ nhớ dữ liệu của PIC.

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ừpage 0 đến page 3) Như vậy bộ nhớ chương trình có thể chứa được8*1024=8192 lệnh (vì mỗi lệnh sau khi mã hóa sẽ có dung lượng 1 word=14 bit)

Trang 23

Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chươngtrình có dung lượng 13 bit Khi vi điều khiển được reset, bộ đếm chương trình

sẽ chỉ đến địa chỉ 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ớ 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

Hình 1.5: Bộ nhớ chương trình PIC 16F877A.

Thanh ghi ch ứ c năng đ ặ c bi ệ t sfr

Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập

và điều khiển các khối chức năng được tích hợp trong vi điều khiển Có thểphân thanh ghi SFR làm 2 loại: thanh ghi SFR liên quan đến chứcnăng bên

trong(CPU) và thanh ghi SFR dùng để thiết lập và điều khiển các khối bênngoài (ví dụ ADC…) Phần này sẽ đề cập đến các thanh ghi liên quan đến cácchức năng bên trong Các thanh ghi dùng để thiết lập và điều khiển các khốichức năng sẽ được nhắc đến khi ta đề cập đến các khối chức năng đó

Thanh ghi STATUS (03h, 83h, 103h, 183h): 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

Trang 24

xuất trong bộ nhớ dữ liệu.

Trang 25

Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi,

cho phép điều khiển chức năng pullup của các chân trong PORTB, xác lập cácthông số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0

Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh): thanh ghi cho phép đọc và ghi,

chứa các bit diều khiển và các cờ

hiệu khi Timer 0 bị tràn, ngắt ngoại viRB0/INT và ngắt interruptonchange tại các chân của PORTB

Thanh ghi PIE1 (8Ch): 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 cờ ngắt của các khối chức năng ngoại vi, các

ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1

Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối chức

năng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM

Trang 26

Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại vi,

các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2

Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế

độ reset của vi điều khiển

Thanh ghi m ụ c đích chung gpr

Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông quathanh ghi FSG(File Select Register) Đây là các thanh ghi dữ liệu thôngthường, người sử dụng có thể tùy theo mục đích chương trình mà có thể dùngcác thanh ghi này để chứa các biến số, hằng số, kết quả hoặc các tham sốphục vụ cho chương trình

2.2.5Stack.

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ựchiện hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếmchương trình PC tự động được vi điều khiển cất vào trong stack Khi mộttrong các lệnh RETURN, RETLW khi RETFIE được thực thi, giá trị PC sẽ tựđộng lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theođúng quy trình định trước

Bộ nhớ Stack trong vi điều khiển PIC

Trang 27

được 8 địa chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ

Trang 28

nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị Stack lần đầu tiên và giá trị cất vào bộnhớ Stack lần thứ 10 sẽ ghi đè giá trị 6 vào Stack lần thứ 2.

Cần chú ý là không có cờ hiệu nào chi biết trạng thái stack, do đó ta khôngbiết được khi nào stack tràn Bên cạnh đó tập lệnh của vi điều khiển dòng PICcũng không có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàntoàn được điều khiển bởi CPU

2.2.6Các cổng xuất, nhập của PIC 16F877A.

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 Sự tương tác rất đa dạng và thông qua trìnhtương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng

Một cổng xuất nhập của vi điều khiển gồn nhiều chân (I/O pin), tùy theocách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và sốlượng chân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiểnđược tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi bên cạnh chứcnăng là công xuất nhập thông thường, một số chân xuất nhập còn có thêm cácchứ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 Chức năng của từng chân xuất nhập trong mỗicổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanhghi SFR liên quan đến các chân xuất nhập đó

Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD, và PORTE Cấu trúc và chức năng của cổng xuất nhập sẽđược đề cập ở phần sau

Port A

PORTA (RPA) bao gồm 6 I/O pin Đây là chân “hai chiều” (bidirectionalpin),nghĩa là có thể xuất và nhập được

Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h)

Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điềukhiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xáclập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển

Trang 29

tương ứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương

tự đối với các PORT và các thanh ghi điều khiển tương ứng TRIS

Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog,ngõ vào xung clock của Timer0 và ngõ vào của bộ

Synchronous Serial Port)

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

giao tiếp MSSP (Master

- PORTA(địa chỉ 05h) : chứa giá trị các pin trong PORTA

- TRISA (địa chỉ 85h) : điều khiển xuất nhập

- CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh

- CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp

- ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC

Port B

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

PORTB cò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 được điều khiển bởi chương trình

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

- PORTB(địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB

- TRISB(địa chỉ 86h, 186h) : điều khiển xuất nhập

- OPTION_REG(địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0

Port C

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

Các thanh ghi điều khiển liên quan đến PORTC : PORTC(địa chỉ 07h) : chứa giá trị các pin trong PORTC TRISC (địa chỉ 87h) : điều khiển xuất nhập

Port D

Trang 30

PORTD (RPD) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISD PORTD còn là cổng xuất dữ liệu của chuẩ giao tiếp PSP (parallel slavePort).

Các thanh ghi gồm :

- PORTD : chứa giá trị các pin trong PORTD

- TRISD : điều khiển xuất nhập

Port E

PORTE (RPE)gồm 3 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISE.Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn làcác chân điều khiển củag chuẩn giao tiếp PSP

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

- PORTE : chứa giá trị các chân trong PORTE

- TRISE: điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp

- PSP ADCON1 : thanh ghi điều khiển khối ADC

2.2.7Các Timer.

Timer 0

Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiểnPIC16F877A Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần số(prescaler) 8 bit Cấu trúc của Timer0 cho phép ta lựa chọn xung clock tác động

và cạch tích cực của xung clock Ngắt Timer0 sẽ xuất hiện khi Timer 0 bị tràn

Bít TMR0IE (INTCON<5>) là bít điều khiển của Timer0 TMR0IE=1 cho phép ngắt Timer0 tác động TMR0IE=0 không cho phép ngắt Timer0 tác động

Sơ đồ khối của Timer0 như sau :

Trang 31

Hình 1.6: Sơ đồ khối của Timer0.

Muốn Timer 0 hoạt động ở chế độ Timer ta clear bit TOSC, khi đó giá trịthanh ghi TMR0 sẽ tăng theo từng chu kỳ xung đồng hồ(tần số vào Timer0bằng ¼ tần số oscillator) Khi giá trị thanh ghi TMR0 từ FFh trở về 00h, ngắtTimer0 sẽ xuất hiện Thanh ghi TMR0 cho phép ghi và xóa được giúp ta ấnđịnh thời điểm ngắt Timer0 xuất hiện một cách linh động

Muốn Timer0 hoạt động ở chế độ counter ta set bit TOSC Khi đó xung tácđộng lên bộ đếm được lấy từ chân RA4/TOCK1 Bit TOSE cho phép lựa chọncạnh tác động vào bộ đếm Cạnh tác động sẽ là cạnh lên nếu TOSE=0 vàcạnh tác động sẽ là cạnh xuống nếu TOSE=1

Thi thanh ghi TMR0 bị tràn, bit TMR0IF sẽ được set Đây chính là cờ ngắtcủa Timer0 Cờ ngắt này phải được xóa bằng chương trình trước khi bộ đếmbắt đầu thực hiện lại quá trình đếm Ngắt Timer0 không thể “đánh thức” viđiều khiển từ chế độ sleep

Trang 32

Bộ chia tần

số (prescaler) được chia sẻ giữa Timer0 và WDT(watchdogtimer) Điều đó có nghĩa là nếu prescaler được sử dụng cho Timer0 thì WDT sẽkhông có được hỗ trợ của prescaler và ngược lại

Các lệnh tác động lên giá trị thanh ghi TMR0 sẽ xóa chế độ hoạt động củaprescaler nhưng không làm thay đổi đối tượng tác động của prescaler Khi đốitượng tác động là WDT, lệnh CLRWDT sẽ xóa prescaler, đồng thời prescaler

sẽ ngưng tác vụ hỗ trợ cho WDT

Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:

- TMR0(địa chỉ 01h, 101h): chứa giá trị đếm của Timer0

- INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động(GIE

Tương tự như Timer0, Timer1 cũng có 2 chế độ hoạt động: chế độ địnhthời và chế độ đếm

Ngày đăng: 23/12/2023, 22:36

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Cảm biến nhiệt độ  LM35. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.1 Cảm biến nhiệt độ LM35 (Trang 13)
Hình 1.2: Hình ảnh thực tế và sơ đồ chân của PIC 16F877A. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.2 Hình ảnh thực tế và sơ đồ chân của PIC 16F877A (Trang 18)
Hình 1.3: Sơ đồ khối bộ vi điều khiển PIC 16F877A. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.3 Sơ đồ khối bộ vi điều khiển PIC 16F877A (Trang 19)
Hình 1.4: Bộ nhớ dữ liệu của PIC. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.4 Bộ nhớ dữ liệu của PIC (Trang 22)
Hình 1.5: Bộ nhớ chương trình PIC 16F877A. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.5 Bộ nhớ chương trình PIC 16F877A (Trang 23)
Hình 1.6: Sơ đồ khối của Timer0. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.6 Sơ đồ khối của Timer0 (Trang 31)
Hình 1.7: Sơ đồ khối của Timer1. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.7 Sơ đồ khối của Timer1 (Trang 33)
Hình 1.8: Sơ đồ khối của Time 2. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.8 Sơ đồ khối của Time 2 (Trang 35)
Hình 1.9:   Nguyên lí hoạt động của một bộ so sánh đơn giản. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.9 Nguyên lí hoạt động của một bộ so sánh đơn giản (Trang 38)
Hình 1.10: Sơ đồ khối bộ tạo điện áp so  sánh. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.10 Sơ đồ khối bộ tạo điện áp so sánh (Trang 40)
Hình 1.11: Hình dáng của loại LCD thông dụng. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.11 Hình dáng của loại LCD thông dụng (Trang 45)
Hình 1.12:   Sơ đồ chân của LCD. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 1.12 Sơ đồ chân của LCD (Trang 46)
Sơ đồ và nguyên lý hoạt động mạch ổn áp một chiều 5V: - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Sơ đồ v à nguyên lý hoạt động mạch ổn áp một chiều 5V: (Trang 51)
Hình 2.3: Sơ đồ mắc mạch chuyển đổi nguồn AC thành  DC. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
Hình 2.3 Sơ đồ mắc mạch chuyển đổi nguồn AC thành DC (Trang 51)
3.1.2. Sơ đồ nguyên lý. - ĐỒ án môn học đ ề tài THIẾT kế, CHẾ tạo MẠCH đo NHIỆT độ HIỂN THỊ TRÊN LCD 16x2
3.1.2. Sơ đồ nguyên lý (Trang 54)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w