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

Khóa luận thiết kế mạch điều khiển thiết bị điện qua điện thoại di động

81 785 4
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Khóa luận Thiết kế Mạch Điều Khiển Thiết Bị Điện Qua Điện Thoại Di Động
Thể loại Khóa luận
Định dạng
Số trang 81
Dung lượng 29,12 MB

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

Nội dung

Khóa luận thiết kế mạch điều khiển thiết bị điện qua điện thoại di động luận văn, đồ án, đề tài tốt nghiệp

Trang 1

ĐỒ án tốt nghiệp

Gs

HỌC VIEN CONG NGHE BUU CHINH VIEN THONG

KHOA LUAN TOT NGHIEP DAI HOC

Đề tài: “ THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA ĐIỆN

THOẠI DI ĐỘNG ”

Giảng viên hướng dẫn : Sinh viên thực hiện :

Lớp : Khoá :

Hệ :

ThS NGUYEN HONG HOA NGUYEN TRUNG KIEN D07-KTDT1

2007-2012 Chinh quy

Hà Nội, tháng 12 năm 2011

SVTH : Nguyễn Trung Kiên - D07KTDTI

Trang 2

ĐỒ án tốt nghiệp

LỜI NÓI ĐẦU

Ngày nay, ngành công nghệ thông tin đã đạt được những tiến bộ vượt bậc với sự ra đời của ngành công nghiệp phần cứng, cũng như phần mềm việc giải quyết các công việc giúp con người trở nên dễ dàng, thuận tiện và nhanh chóng

Cùng với sự phát triển của ngành công nghệ thông tin là sự phát triển mạnh mẽ của

các hệ thống thông tin liên lạc, sự ra đời của các dịch vụ điện thoại mà cụ thế là điện thoại

di động với ưu thế đễ dàng hoạt động khi di chuyển mọi lúc mọi nơi Chính vì vậy ngoài

việc dùng điện thoại đề liên lạc một vấn đề được đặt ra là chúng ta có thể sử dụng điện thoại như một chiếc Remote để điều khiển các thiết bị điện từ xa Từ yêu cầu trên và

những kiến thức em được học ở trường em đã lựa chọn đề tài: “Điều khiển thiết bị điện điện sử dụng điện thoại di động.”

Giới hạn đề tài: Việc thiết kế các ứng dụng của PIC với điện thoại di động, IC thu phát DTMF rất phong phú và phức tạp, do vay trong dé tài này em tập trung giải quyết

các vấn đề chính:

> Thiết kế phần cứng điều khiển thiết bị điện thong qua IC MT8870

> Điều khiển bật/tắt thiết bị điện

> Hen giờ bật/tắt thiết bị điện

> Hién thị trên LCD mã điều khiển dé kiểm tra

Trang 3

ĐỒ án tốt nghiệp

LỜI CẢM ƠN

Lời đầu tiên trong khoá luận em xin bày tỏ lòng biết ơn tới toàn thể

các thầy, cô giáo trong Khoa Kĩ Thuật Điện Tử - Học Viện Công Nghệ Bưu

Chính Viễn Thông đã nhiệt tình chỉ bảo, dạy đỗ em trong suốt những năm

học vừa qua

Em xin chân thành cảm ơn cô giáo Nguyễn Hồng Hoa đã hướng dẫn,

quan tâm, chỉ bảo tận tình để em hoàn thành khoá luận tốt nghiệp này

Cảm ơn gia đình, bạn bè đã động viên, khích lệ, giúp đỡ về mọi mặt

trong quá trình em hoàn thành đồ án tốt nghiệp

Hà Nội, tháng 12 năm 2011 Sinh viên thực hiện

Nguyễn Trung Kiên

Trang 4

(ky, ho tén)

NGUYEN HONG HOA

Trang 5

ĐỒ án tốt nghiệp

MỤC LỤC MỤC LỤC 2-5 Sk SE SE EE2E1211111111111211 1111111121111 1111 T11 1 1111210111111 cy 1 DANH MUC CAC HINH VE vu.ecescssesssesssssesssesecsecssssvcsvesecsusssecsucsecsutssessesessusssesseesesseeese 5 DANH MỤC CÁC TỪ VIẾT TẮTT -2- 2 + E‡+Et+EESEEEEEEEEESEEEEEEEE1121121111111111 112 8 CHUONG Uoieeescceccsscessessesssessessesscssvcsvsssessessussvcssessessvssvcasessessessessucsscsuessesssesueeuessesssseeeneese 9 GIGI THIEU DE TAL oc.ccecceccececscssesssessessessecsvessessessssvcssessessessesssesscsuessessvesecsuessessessneeseese 9 LLY tur@ng bai ton ooo eee eecceessesssecssesssesssecssessvesseessesssesssesssesseesseesseessesssesssesaseesetseeess 9

1.2 Cấu tạo cơ bản và nguyên lý hoạt động của điện thoại .-. - + +-s++s++x++sx++ 9 1.2.1 cấu tạo CO DAMN eeecceccsesessesessesesecsesecerscecsvsucecsesusersusessvsrsavstsasevsesasstetsevevesevaees 9

1.2.2 Nguyén ly hoat GONG 10 1.3 Tin higtu DIME ececcesecssesscessessesssssessessesssssessesecsassssssuessesucssessvessssasssessvessesnesseess 10 1.3.1 Dinh ghia eee 10 1.3.2 KEYPAD ooececcecccsscessessessessessvessessessesovesssssessessvesessuessessesecssessessessseanessesseeseees II 1.3.3 IC MT§870 thu tín hiệu DTME ¿- 2 2 E£SE2E2EEEEEEEEEEEEEEEEEEErkerkrrek 13 CHƯNG 2 522221 2 2112212212211211211211112111111111 11.11.211.111 11 01111 ye 19 TÌM HIẾU VI DIEU KHIEN PIC 16F877A 2© £+52+EE+EE+EE££E2EE2EE+EE£Ezresrxee 19 2.1 Giới thiệu PIC I6FÑ77A - ¿+ ©SE+EE+EE2EEEEEE2E1211211111111111111111 1111111111 xe 19 2.2 Các thành phần chính trong vi điều khiển PIC 16FÑ77A -¿-¿52z2cs+¿ 21 2.3 Tổ chức bộ nhhớ - 2 ®+ +£EE+EE+EE+E£EE+EEEEEEEEEE211111111111111111111 1111111 1xeU 23 2.3.1 Thanh ghi chức năng đặc biệt SFR - ¿5< S* + E+vEseEsesresrerresxe 26

Trang 6

; y8 727 ”'4+4 32

"hy ¡1 h 34

PT on 36 2.7 NGẮT (INTERRUPTT) 22 ©22222+22EE+2SEEE2EEEEEEEEE22212731227112221122112711 221 re, 37

2.7.1 Ngắt INT ác sec St T211 211211 11 T1 T1 11 11 1 11111 erey 38 2.7.2 Ngắt do sự thay đổi trạng thái các Pin trong PORTTB 2-54 39

PA (19096000) 39

2.7.4 Chế độ SleepD - + + s+x2 E2 19E1921211211211711112112111111211 111111 c0 39

2.7.5 “Đánh thức” Vi điều khiển -2¿©2222x+222x 2211271127112 21121 tr re 40 0:09) 44 43

THIET KE MACH DIEU KHIẺN THIẾT BỊ ĐIỆN QUA ĐIỆN THOẠI DI ĐỘNG 43

h7 43 3.2 Sơ đồ khối của mạch ¿2+ +++E+++2E++22EY+22211271112711127112211221112211 11 re 44

Trang 7

ĐỒ án tốt nghiệp

3.3 Nguyén ly hoat (011157 45

3.3.1 Thực hiện đối U00 4AỤ 46

3.3.2 Thực hiện bật tắt thiết bị điện 22-©222222x22EE22EEEEEESEEEcrkrrrrkee 46 3.3.3 Thực hiện hẹn giờ bật tắt thiết bị 2-22 ©2z+2EES2E222122712271 22121 czrxe 48 3.4 Thiết kế phần cứng 2 %©k£SE£EEE2E12E1E7111121121111112111111 111.1 11 11a 48 3.4.1 Thiết kế mạch nguyên lý ¿- ¿+ 2+SE+EE£EE£EE2EE2E1EE17121121111 1111, 48 3.4.2 Khối xử lý trung tâm ¿2 2+x++E£2EE+EE2EEEEEE2121121127171211211 21111 c0, 49 3.4.3 Khối thu và giải mã D'TME 2- 2-22 +E+SEE2EE2EEEE211271127122712271 2212 xe 51 3.4.4 Khối hién thi thong tit ceccceccccsesssesssesseesseesseesseessecssecssessssssesseesseesseesees 51 3.4.5 KhOi nguOn 0 5 52 3.4.6 Khối diéu khién thiét bi Gin cece essesssesseesssesseceseesseessecssecseeseeseesses 53 3.4.7 Khối tín hiệu phản hồi - 2-2-2 £+SE+EE£EE£EE2EE2EEEEEEEE2EE211221 212k, 33

3.4.8 Mạch in thực tế sau khi thiết KẾ - 2c sSk+EEE£EEeEEEEEEEEEEEEkeEkrkrrkerkee 33

3.5.1 Lap trinh Cho PIC 0 ⁄134 54 3.5.2 Thuật todn didu Khi6n oe ceccecccsccsssssssssesssecsssecsssecsssscsseccssscssseesssecsseceasecease 55 3.5.3 Giới thiệu VE CCS cecccccecsssesssessssesssecsssscsssecsssecssecssneessnecsusecssecesneesseesseesies 55 3.5.4 Thuat toán điều khiển . 2-22©2+++++E++EEtEEEtEEEvEErerxrerkrsrxrerrrrrvee 72

CHUONG 277.5 -.4‹{gŒg䣌gÂ.,.BH H,H,H, 73

KÉT LUẬN VÀ HƯỚNG PHÁT TRIÊN ĐÈ TÀI ¿- 2¿22+2c+++2zxe+cxxesres 73 4.1 Đánh giá kẾt quả 2¿- 21x 2 12E157171121121121171121121111 1111.111111 11 xe 73 4.1.1 Tổng quan kết quả - 2 25s + +E£SE2EE+EE£EEEEEEEEEEEEEEEEE1711211211 2121 73

Trang 8

ĐỒ án tốt nghiệp

4.1.2 Mạch thực tế sau khi thiết kế và chạy thử . ¿- 2c 5+ z+E++xxerxerxerxez 73

4.3 Hướng phát triỀn d6 tai cc ccccccsssssseesseesseessessuessseessesseessecssecsneesseesueeseesseesseessees 75 DANH MUC CAC TAI LIEU THAM KHAO cscsssesssesssesssesssessssessessecssecasecssecsteesveesecs 77

Trang 9

DANH MUC CAC HiNH VE

Dạng tín hiệu DTMP uo eee eceeseeseeseeeeseeseeeeeeceeeeeceeeceeeeeeeaeeaeeaeeaeeaeeaeeaeeate 11

Bàn phím chuẩn 12 mt c.cccccessessessssssessessesssssessessussssssessessessseesessessessseeees 12 Bàn phím mở rộng l6 phím - ¿6+ +3 *+tE+tE+EE+EE+eExekekreterkrrerrerre 12

i@8099).50Ẻ76012300ã00057 13

Sơ đồ khối của MTT8Ñ70 22¿22+22++222E+222122711271127112211 2221 11 cre, 15

Sơ đồ mạch test thử với IC M T8Ñ70 ¿ 2¿+©++2++2x++zx++zx++rxsrxesrx 17

Sơ đồ chân của PIC1@FÑ77A -2 ©2+22+++22++2EEE2EEEtEEEEtEEEvrtrkrerkrrrrkr 19

Sơ đồ khối của PICI6FÑ77A -:-2+2++22+++2E++2EEE22E1223E221E2221 2E re 22

Bộ nhớ chương trình PIC IÓEFÑ777A - ¿- 6- +++*£+xE+vE+vE+vEeekeekeekreersrrvrs 24

Bộ nhớ đữ liệu của PIC 16Fѧ77A ¿-©2¿22++22S+2EEEvEEE+erxxrerrerrrreeee 25

} 0500 0 0 31 } 0500 o0 0 aa 33

Sơ đồi khối của Tiimer2 - 2: 2:22 ©22+x+2EE2EEvEEEeEEErEEEeEErerkrerkrsrkrsrkrres 34

Sơ đồ khối bộ chuyển đổi ADC - 2-2-2 t+EE+EE£EEEEE£EESEEEEEEEErErrrkrree 37

Sơ đồ logic của tất cả các ngắt trong PICI6F877A - 2-2 ++cxzx+rscrez 38

Sơ đồ khối của mạch -2¿- 2¿©2+2E+++2E++2EEE+2EE12711271122112221 221 cre, 44

Sơ đồ mạch nguyên lý hệ thống 2-2-2 2+2 +E+EE£+E£2E£+EE+EE+EEezEz+rxrree 49

Trang 10

ĐỒ án tốt nghiệp

Hình 3.3: Sơ đồ nguyên lý của PIC16F877A trong mạch - 2-2 sx2+zz2zz+cx+¿ 50 Hình 3.4: Sơ đồ nguyên lý kết nói trong mạch của IC MT8§70 - 2 ¿s2 =5+- 51 Hình 3.5: Sơ đồ nguyên lý kết nối của LCD1602 trong mạch điện . 52

Hình 3.6: Sơ đồ nguyên lý nguồn nuôi của mạch 2 2 + 2+2 ££E+£EtzEz+Exerxz 52

Hình 3.7 : Sơ đồ nguyên lý khối dong ngat thiét bi Gi@m eee esseeseeeeeseeseeeeeeees 53 Hình 3.8: Sơ đồ nguyên lý khối tín hiệu phan Gi oo ceccececsesseeseesecsesseeseeesesseesesseeeees 53

Hình 3.9: Sơ đồ mạch in thực té sau thiét Ko eee eeeeesssssssseeesesessssnneeeessssssneneess 54

Hình 3.10: Giao diện của PIC C COImpIÏ€T - óc 3 31311331 EE+eEEeeEeeeeeeerrve 55

Hinh 3.11: Tao Project bang PIC Wizard 0 cccccscssssesseessessessessesssesessesstsssesessessessseeeee 56

0000 co co 57

Hình 3.13: Tab eneral ¿+5 SE 121191231 1E 111 111 101 1H HH HH Hi 57 Hình 3.14: Tab CommuniCafiOTNS .- -¿ ¿6 6 S31 E2E E521 E21 11 1E Ekrkrkree 58 Hinh 3.15: Tab SPI and LCTD - ¿+ + E‡EEE+E+EEEEeEeEEkekkkEkrekrkekekrkrkrrkrkrkrkre 59 I§0)i6 (11100), 11 60

Hình 3.17: Tab AnalOg - óc + 11921111919 T1 TH ng TH HH ng 61

Hình 3.18: Tab Other ¿65c 1S 21 1211912111121 11 0121010101 TH HH Hi 62 I0) E108) 5uiì) 11111 63 Iÿ00)i6 20060.190.110 63 Hình 3.21: PG2C mạch nạp PIC qua cổng COM - 2 2 + +E£2E£+EE£EE+EEtzE+rxeree 64

Trang 11

ĐỒ án tốt nghiệp

Hình 3.22: Giao diện phần mềm nạp WinPic800 - 2-2 s2 +222++zx+zxezxezxesrxee 65 I§0)i6 Xá 65 Hình 3.24: Test Har(WAarG - c1 1n TH TH TH HH TH TT Thu nh nh TC nành 66

Hình 3.25:Vi điều khiển PIC 40 chân : ©22+t S2+vvttEEEEvtitttkttrrirtrttrrrrrrrrrrre 67 Hình 3.26: Vi điều khiển PIC 18 chân -¿ ©2c+++2+++++ttEEEkerrrtrtkrrrrrrrrrr 67 Hình 3.27:Vi điều khiển PIC 28chân ¿ ©22+++tE++++ttEEEkrrrtrtrrrrrrrrrrr 68 Hình 3.28:Vi điều khiển PIC § chân . - 22c 52SvvttEEEktrittttrtrrrrtrtrrrrrrrrre 68 Hình 3.29: Quá trình Dectect Vỉ điều khiển 5ccctttttiittttiirrrtriirrrrrire 69

Hình 3.30:Quá trình nạp file Hex vào Vi điều khiển PIC . 2- 2 52+5z2zz+c5+2 70 Hình 3.31:Đọc chương trình ra từ Vi điều khiển PIC -2 ¿©2¿+s+z+zxz£z+zxe+rxee 71

Hình 3.32: So sánh đề kiểm tra quá trình nạp file Hex cecceecceseescessesseeseessessesseesesseeee 71

Hình 3.33: Luru dé thuat todin di€u Khi6n a eeeeeceseeeeeeeeeesssnsneeeeeeeeessnnneeeeessesssnnneess 72

Hình 4.1: Mạch thực tế sau khi thiết kế và ð 0111111577 74

Trang 12

ĐỒ án tốt nghiệp

DANH MỤC CÁC TỪ VIẾT TẮT

1 | ADC Analog-to-Digital Converter

2 | CCP Capture/Compare/PWM

3 | CCS Custom Computer Services

4 |DTMF Dual Tone Multi Frequency

5 | FSG File Select Register

6 | GPR General Purpose Register

7 |I2C Inter Intergrated Circuit

8 | ICSP In-Circuit Serial Programming

9 | LCD Liquid Crytal Display

10 | MCLR Master Clear

11 | PIC Programmable Intergrated Circuit

12 | PWM Pulse Width Modulation

13 | SFG Special Function Register

14 | SPI Serial Pripheral Interface

15 | SSP Synchronous Serial Port

16 | WDT 'Watchdog Timer

Trang 13

Dé an tốt nghiệp Chuong 1: Giới thiệu đề tài

điện thoại di động đề điều khiển các thiết bị điện như Tủ lạnh, TV, điều hoà nhiệt độ, máy

tính, lò vi sóng, quạt điện, đèn chiếu sáng, bình nóng lạnh vv không?

Trong thực tế cuộc sống có không ít lần chúng ta đi đến công ty hay đi ra ngoài mà quên không tắt máy tính, điều hoà, bình nóng lạnh .vv và nhiều khi chúng ta phải trở về nhà chỉ để tắt các thiết bị này bởi nhiều lý đo như: nguy cơ cháy nổ, nguy hiểm, hỏng hóc,

tốn điện Trong những ngày mùa đông lạnh trước khi đi làm về chúng ta muốn có sẵn

nước nóng đề tắm cho thoải mái sau một ngày làm việc hay chúng ta muốn ngồi một chỗ

để điều khiển công việc từ xa vv

Xuất phát từ những yêu cầu thực tế cuộc sống đề tài của em nghiên cứu thu tín

hiệu DTMF từ điện thoại đi động để từ đó giải mã và đưa ra được các tín hiệu điều khiến bật /tắt thiết bị điện Với khả năng này chúng ta chỉ cần mang điện thoại ra và gọi điện nhập mã điều khiến là có thể yên tâm các thiết bị điện chúng ta đã ở trạng thái tắt/bật như

ý muốn

1.2 Cấu tạo cơ bản và nguyên lý hoạt động của điện thoại

1.2.1 cấu tạo cơ bản

Gồm ba phần chính sau:

> Phần chuyển đổi mạch điện: Phần này gồm hệ thống lá mạ tiếp điểm và có

nhiệm vụ đóng mở mạch điện khi có yêu cầu

Trang 14

Dé an tốt nghiệp Chuong 1: Giới thiệu đề tài

> Phan thu và phát tín hiệu gọi: Phần này gồm hai phần chính là máy điện quay tay

có nhiệm vụ phát tín hiệu gọi lên đường truyền và phần chuông máy có nhiệm vụ

biến dòng tín hiệu gọi thành tín hiệu gọi

> Phan thu phat thoai: Gồm có loa và mỉc Loa có nhiệm vụ biến đổi tín hiệu âm thanh thành tín hiệu điện và mic thì có nhiệm vụ ngược lại biến tín hiệu điện thành tín hiệu âm thanh

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

Khi ta thực hiện cuộc gọi dao động âm thanh của tiếng nói sẽ tác động vào màng

rung của mic làm xuất hiện dòng điện biến đổi tương ứng trong mạch Dòng điện biến đồi

này được truyền trên đường dây điện thoại và được chuyên mạch đến máy điện thoại

được gọi, làm cho màng rung của loa dao động, lớp không khí trước màng sẽ dao động theo phát ra âm thanh tác động đến tai người nghe và quá trình truyền dẫn ngược lại cũng

tương tự

1.3 Tín hiệu DTMEF

1.3.1 Định nghĩa

DTMF(Dual Tone Multi Frequency): 1a tín hiệu gồm có hai tần số xếp trồng lên

nhau Mỗi tần số được lựa chọn sao cho có lợi cho việc thiết kế bộ lọc và dễ dàng truyền

đi trên đường dây điện thoại có băng thông khoảng chừng 3,5SKHz DTMEF phát ra là 1 tín hiệu âm thanh ghép của 2 tín hiệu trong dải tần số từ 697Hz đến 1633Hz

Phiên bản của DTME sử dụng cho tín hiệu điện thoại được biết đến như hãng

Touch-Tone, và được tiêu chuẩn hoá bởi ITU-T là Q.23 Tín hiệu DTME có thé được phát

hoặc thu bằng một IC chuyên dụng (VD: MTD887X)

Hệ thống DTMF đang phát triển và trở thành phổ biến trong hệ thống điện thoại hiện nay Hệ thống này được hình thành vào năm 1960 nhưng mãi đến năm 1970 mới

được phát triển rộng rãi

Trang 15

Dé an tốt nghiệp Chuong 1: Giới thiệu đề tài

đồng thời Đặc biệt là hai âm thanh này không cùng âm, tức là tần số của âm thanh này không có cùng ước số chung với âm thanh kia, điều này để tránh sự nhầm lẫn vô tình với

âm hiệu nói, sự phân tách rõ ràng giữa hai loại này là rất cần thiết Ví dụ như hai tần số

750 và 500 là hai tần số không thể kết hợp thành tín hiệu DTMF vì có cùng ước số chung

là 250, hai tần số này là hai âm thanh cùng âm

Keypad chuẩn là một ma trận chữ nhật gồm ba cột và bốn hàng (3x4) tạo nên tổng cộng là 12 phím nhấn: trong đó có 10 phím cho chữ số (từ 0 đến 9), hai phím đặc biệt là

“*' và #', Mỗi hàng trên bàn phím bam được gán cho một tần số tín hiệu thấp, mỗi cột được gán cho tần số tín hiệu cao Mỗi một phím sẽ có một tín hiệu DTMEF riêng được tổng hợp bởi hai tần số tương ứng với hàng và cột mà phím đó đang đứng Những tần số này đã được lựa chọn cần thận sao cho có lợi cho việc thiết kế bộ lọc và dễ dàng truyền đi

trên đường dây điện thoại

Trang 16

ĐỒ án tốt nghiệp

L1 =697 Hz L2 = 770 Hz L3 = 852 Hz L4 = 941 Hz

Hình I.2: Bàn phím chuẩn 12 nit

Chương 1: Giới thiệu dé tai

Ngày nay, người ta còn cho thêm một vài phím đề tạo nên bảng mã được nằm trong một ma trận (4x4) với mỗi hàng miêu tả bằng một tần số thấp và mỗi cột miêu tả bằng

một tân sô cao

1209 Hz 1336 Hz 1477 Hz 1633 Hz

High Tone Group

Trang 17

ĐỒ án tốt nghiệp Chương 1: Giới thiệu dé tai

1.3.3 IC MT8870 thu tin hiệu DTMF'

—#lvss Toe | 104

MT8870

Hinh 1.4: IC thu DTMF MT8870 Định nghĩa các chân như sau:

PIN 1 (IN+) Non- Investing op-amp: Ngõ vào không đảo

PIN 2 (IN-) Investing op-amp: Ngõ vào đảo

PIN 3 (GS) Gain Select: Giúp truy xuất ngõ ra của bộ khuếch đại vi sai đầu cuối qua điện trở hồi tiếp

PIN 4 (Vref ) Reference Voltage: Ngõ ra (Thông thường bằng

VDD/2)

PIN 5 (INH) Inhibit: Ngõ vào (Khi chân này ở mức logic cao thì

không nhận được ký tự A,B,C ở ngõ ra)

PIN 6 ( PWDN) Power down: Ngõ vào tác động mức cao (Khi chân này tác động thì sẽ cắm mach dao động và IC 8870 hoạt động) PIN 7 (OSC 1): Clock ngõ vào MHz

PIN 8 (OSC 2): Clock ngõ ra (Nối hai chân 7 và 8 với thạch anh 3.579545 MHz, để tạo một mạch dao động nội)

SVTH: Nguyễn Trung Kiên - D07KTDTI 13

Trang 18

ĐỒ án tốt nghiệp Chương 1: Giới thiệu dé tai

điện áp trên ST/GT nhỏ hơn điện áp ngưỡng V+st, PIN 16 (EST): Early Steering (ngõ ra), chân này lên mức [I] khi bộ thuật toán nhận được cặp tone và trở về mức[0] khi mất Tone

PIN 17 (ST/GT): Steering Input /Guard tune output (ngõ ra), khi điện

dp Vc lớn hơn V+sr thì ST sẽ điều khiển đò tìm cặp Tone và chốt ngõ

Ta

PIN 18 (VDD): Điện áp cung cấp, thường là +5V

IC nhận tín hiệu DTMF từ đường điện thoại qua chân 2 (IN -), sau khi thực hiện

giải mã nó đưa đữ liệu ra 4 chân (từ chân 11 đến chân 14) dưới dạng 4 bit nhị phân

Trang 19

ĐỒ án tốt nghiệp Chương 1: Giới thiệu dé tai

Algorithm and Latch

051 0502 SUGT ESt STD TOE

Hình 1.5: Sơ đồ khối cúa MT8870

Trang 21

va ‘i 1 ấ 3 = RB + i ! ! 250V At 8S 10K FoF! Dag SIRI

& —AMW AM 390K $ 1 100K

=_ L ne 16 FES i '

SeV 47K£ OPTIONAL ZENER Vee

TELEPHONE

LINE "

Bt Sev R4 88K MT8870/ so P15 LEDS sek ZENER 56K KT3170 1°

Trang 22

Dé an tốt nghiệp Chuong 1: Giới thiệu đề tài

Khi bam s6 dién thoai thi StD cé mite logic 1a ‘1’, còn khi ta không bắm thì StD có mức

logic là ‘0’ Con các chân QI, Q2, Q3, Q4 là mã BCD cua số điện thoại

Trang 23

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

CHƯƠNG 2

TIM HIEU VI DIEU KHIEN PIC 16F877A 2.1 Giới thiệu PIC 16F877A

Vi điều khiển với chức năng là bộ sử lý trung tâm, nhận tín hiệu từ bộ thu và giải mã

DTME đưa ra tín hiệu điều khiển thiết bị

Sơ đồ chân VĐK PIC 16F877A:

40-Pin PDIP

THETRVrP——~llt `7 4oH~—Rgzrep

RAŒANO ~—+~ [j2 3s FI~——~ ResreC

RA1⁄ANt —>la 38 [l— res

RA2IAN2/Uner-CVner =—+ [| 4 37 + Rea

RA2/AN3WREF+ =— [j5 2s l—— RBxroew RA4/TOCKIC1OUT ——~ LÌ6 3sH—— R£=

RASIAN4/SSC2OUT =—~ 7 £ 3H~—~ REi REGIRDVANS =— L] 2 3sH~—— Rmiwr RE1ANRJANS =—* Lj 9 320 —Voo RE2SIAN7 =—~ L] 1O 3t Fl=———vss

Vop—— LÍ +! E ao l~—— RDz/PsP7

OSCICLKI——.[]2a 285ƑFI—— RCSPsrs GSC2/CLKO ~———L| 14 2 27 —— RDwPsPa RCO(T 1OSO/T1CKI ~—~ [| 15 2ø [~——~ RC7/RXIDT RC1/T1OSVUCCP2 =— [] 16 25 ÏH—— Rcerrx/ck RC2/CCP1 —— L| 17 24 H—— Rcsspo RC3SCK/SCL =—~ F] 18 23 FI——~ RC4/sDusDa RDO/PSPoO —— L t9 z2 Ï—— Rnssr3

'Vpp: Ngõ vào nhận điện áp lập trình khi lập trình cho pic

SVTH: Nguyễn Trung Kiên - D07KTDTI 19

Trang 24

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

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

RA0, 1, 2: Ngõ vào xuất/nhập SỐ

ANO, 1, 2: Ngõ vào tương tự của kênh 0, 1, 2

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

Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào kênh tương tự 3/ ngõ vào điện

áp chuân(cao) của bộ AD

Chân RA4/TOCKI1/CIOUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài cho TIMER(0/ ngõ ra bộ so sánh I

Chân RA5/AN4/ SS /C2OUT(7): xuat nhập số/ ngõ vào tương tự kênh 4/ ngõ vào

Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ, ngõ

ra chế độ SPI/ ngõ vào xung clock đồng bộ, ngõ ra chế độ I2C

Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập 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 RD0+ 7/PSP0+ 7(19-+ 30): xuất nhập sô/ đữ liệu port song song

Chân RE0/ RD /AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào tương

tự kênh 5

Chân REI/ WR /AN6(9): xuất nhập số/ điều khiến ghi port song song/ ngõ vào tương tự kênh 6

Chân RE2/ CS /AN?7(10): xuất nhập số/ chân chọn lựa điều khiển port song song/

ngõ vào tương tự kênh 7

e Chân VDD(I1, 32) và VSS(12, 31): là chân nguồn của Pic

Trang 25

Timi ont ‘Watchdog I RC0/T10SO/T1CKI

Dats EEPROM CCPt¿2 een USART Comparator cua

Device Program Flash Data Memory Date EEPROM PIC16F873A 4K words 192 Bytes 128 Bytes

PIC 16F 876A BK words 368 Bytes 256 Bytes

Note 1: Higher order bits ave from the Stetus register

SVTH: Nguyễn Trung Kiên - D07KTDTI

21

Trang 26

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

Hình 2.2: Sơ đồ khối cúa PICI6F877A

Đây là vi điều khiển thuộc họ PICI6Fxxx với tập lệnh gồm 35 lệnh có độ dai 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 8KxI14 bit, bộ nhớ dữ

liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT

VO là 5 với 33 pin LO

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

Chuan 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

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

Trang 27

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

'Watchdog Timer với bộ dao động trong

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

Stack Level 1

Stack Level 2

Trang 28

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

Hình 2.3: Bộ nhớ chương trình PICI6F877A

Bộ nhớ chương trình của vi điều khiển PICI6F877A là bộ nhớ flash, dung lượng

bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3) Như vậy, bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng | word (14 bit)

Để 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ộ đế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

Bộ nhớ đữ liệu của PIC là bộ nhớ EEPROM đượ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 SFG (Special Function 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ỉ con lai trong bank Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) 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ệnh của chương trình Sơ đồ cụ thé của bộ nhớ

dữ liệu PIC16F877A như sau:

Trang 29

ĐỒ án tốt nghiệp

Indirect addr] 00h | Indirect addr") gon ‘| Indirect addr") 100n | Indirect addr.) 420n

TMRO 01h OPTION_REG| 81h TMRO 101h =| OPTION_REG| 181h PCL 02h PCL 82h PCL 102h PCL 182h

STATUS _| 03h §TATUS | 83h STATUS | 103h STATUS | 183h

INTCON |0Bh INTCON_ | 8Bh INTCON_ | 10Bh INTCON_ | 18Bh

PIR1 0Ch PIE1 8Ch EEDATA | 10Ch EECON1 | 18Ch

PIR2 0Dh PIE2 8Dh EEADR | 10Dh EECON2 | 1aDh TMR1L | OEh PCON _ | 8Eh EEDATH_ | 10Eh Reservedz | 18Eh TMRIH |0Fh 8Fh EEADRH | 10Fh Reserved®) | 18Fh

T1CON 10h 90h 110h 190h

T2CON |12h PR2 92h 112h 192h SSPBUF _| 13h SSPADD | 93h 113h 193h SSPCON | 14h $$PSTAT | 94h 114h 194h CCPRIL | 15h 95h 115h 195h

CCPR1H 16h 96h Pere 116h gees 196h

CCPICON | 17h 97h ene! 117h neral 197h

RCSTA _ | 18h TXSTA | 98h Roser | liên Rover | 198h

TXREG | 18h §PBRG_ | 99h 16Bytes | 119h l6Byes | 199h

€CPR2L | 1Bh 98h 11Bh 198h CCPR2H | 1Ch 9Ch 11Ch 19Ch CCP2CON | 1Dh 9Dh 11Dh 190h ADRESH | !Eh ADRESL | 9Eh 11Eh 19Eh

General General General General

Purpose Purpose Purpose Purpose

Register Register Register Register

96 Bytes Eyes EFh 16Fh So Byes | trrn

accesses | F0h accesses | 170h accesses | TF0h T0h-7Fh 70h-7Fh T0h - TFh

Bank 0 Bank 1 Bank 2 Bank 3

Hình 2.4: Bộ nhớ dit ligu cua PIC 16F877A

SVTH: Nguyễn Trung Kiên - D07KTDTI

Chương 2: Tìm hiểu về VDK PIC 16F877A

25

Trang 30

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

2.3.1 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 bên trong vi điều khiển Có thể phân thanh ghi SER làm hai lọai: thanh ghi SFR liên quan đến các chức năng bên trong (CPU) và thanh ghi SRF dùng để thiết lập và điều khiển các khối chức năng bên ngoài (ví dụ như ADC, PWM, .) Phần này sẽ đề cập đến các thanh ghi liên quan đến các chức năng bên trong Các thanh ghi dùng để thiết lập và điều khiển các khối chứ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 xuất trong bộ nhớ dữ liệu

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 pull-up của các chân trong PORTB, xác lập các tham 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 điều khiển và các bit cờ hiệu khi timer0 bị tràn, ngắt ngoại vi RB0/INT và ngắt interrput-on-change tai cac chan cla PORTB

[PsPlEf?| AplE | RGIE | TXIE | $$PIE | CCPtIE | TMR2IE | TMRIIE |

bít 7 bit 0

Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chỉ tiết các ngắt của các khối chức

năng ngoại vi

Trang 31

Dé an tốt nghiệp Chuong 2: Tim hiéu vé VDK PIC 16F877A

|PsPIFf? | apie | RciF | TxIF | sspiF | ccPtiF | TMR2IF | TMRIIF |

Thanh ghi PIE2 (SDh): 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

U-0 Riw-0 U-0 RWw-0 8/w-0 U-0 U-0 RiW-0

2.3.2 Thanh ghi muc dich 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 qua thanh ghi FSG (File Select Register) Đây là các thanh ghi dữ liệu thông thường, người sử dụng

có thể tùy theo mục đích chương trình mà có thể dùng cá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

Trang 32

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

2.3.3 Stack

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùng

nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiệ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ộ đếm chương trình PC tự động

được vi điều khiển cất vào trong Stack Khi một trong các lệnh RETURN, RETLW hat RETFIE được thực thị, giá trị PC sẽ tự động được lấy ra tir trong Stack, vi diéu khién sé thực hiện tiếp chương trình theo đúng qui trình định trước

Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa

chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2

Cần chú ý là không có cờ hiệu nào cho biết trạng thái Stack, do đó ta không biế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 PIC cũng không có

lệnh POP hay PUSH, các thao tác với bộ nhớ Stack sẽ hoàn toàn được điều khiển bởi

CPU

2.4 Các công xuất nhập của PIC16F877A

Cổng xuất nhập (I/O port) chinh là phương tiện mà vi điều khiến dùng dé tương tác

với thế giới bên ngoài Sự tương tác này rất da dang va thông qua quá trình tươ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 bao gồm nhiều chân (I/O pin), tùy theo cá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 tinh giao tiếp ngoại vi nên bên cạnh chức nă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ác chức năng khác đề thể hiện sự tác động của các

đặc tính ngoại vi nêu trên đối với thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi công hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR liên quan đến chân xuất nhập đó

Trang 33

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

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

2.4.1 PORTA

PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectional pin),

nghĩa là có thể xuất và nhập được Chức năng I/O này được điề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ều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA 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 (đối với PORTA là TRISA, đối với

PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD và đối với

PORTE là TRISE) 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ộ giao tiếp MSSP (Master Synchronous Serial Port)

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

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

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

2.4.2 PORTB

PORTB (RPB) gồm 8 pin LO 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ị cac pin trong PORTB

SVTH: Nguyễn Trung Kiên - D07KTDTI 29

Trang 34

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A TRISB (dia chi 86h,186h): dié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

2.4.3 PORTC

PORTC (RPC) gồm 8 pin /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ộ Timerl, 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

2.4.4 PORTD

PORTD (RPD) gồm § chân 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ẩn giao tiếp PSP (Parallel Slave Port)

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

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

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

Thanh ghi TRISE: điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP

2.4.5 PORTE

PORTE (RPE) gém 3 chan I/O Thanh ghi diéu khiển xuất nhập tương ứng là TRISE Cac 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ủa chuẩn giao tiếp PSP

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

PORTE: chwa gia tri cac chan trong PORTE

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

ADCON: thanh ghi điều khiến khối ADC

2.5 Các bộ định thời

2.5.1 TIMER 0

Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F877A

Trang 35

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

Timer0 cho phép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock Ngắt

Timer0 sẽ xuất hiện khi Timer0 bị tràn Bit TMR0IE (INTCON<2>) là bit điều khiển của Timer0

TMRO0IE=I cho phép ngắt Timer0 tác động, TMR0IF= 0 không cho phép ngắt Timer0 tác động Sơ đồ khối của Timer0 như sau:

Hình 2.5: Sơ đồ khối cia Timer 0

Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC (OPTION_REG<5>),

khi đó giá trị thanh ghi TMRO sẽ tăng theo từng chu kì xung đồng hồ (tần số vào Timer0 bằng 1⁄4 tần số oscillator) Khi giá trị thanh ghi TMR0 từ FFh trở về 00h, ngắt Timer0 sẽ xuất hiện Thanh ghi TMRO 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 (OPTION_REG<5>) Khi đó

xung tác động lên bộ đếm được lấy từ chân RA4/TOCKI Bit TOSE (OPTION_REG<4>)

SVTH: Nguyễn Trung Kiên - D07KTDTI 31

Trang 36

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

cho phép lựa chọn cạ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=I

Khi thanh ghi TMRO bị tràn, bít TMROIF (TNTCON<2>) sẽ được set Đây chính là cờ ngắt của Timer0 Cờ ngắt này phải được xóa bằng chương trình trước khi bộ đếm bắ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

Bộ chia tần số (prescaler) được chia sẻ giữa Timer0 và WDT (Watchdog Timer)

Đ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 Prescaler được điều khiển bởi thanh ghi

OPTION_REG Bit PSA (OPTION_REG<3>) xac dinh đối tượng tác động của prescaler Các bit PS2:PS0 (OPTION_REG<2:0>) xác định tỉ số chia tần số của prescaler Xem lại thanh ghi OPTION_REG để xác định lại một cách chỉ tiết về các bit điều khiển trên

Các lệnh tác động lên giá trị thanh ghi TMRO sẽ xóa chế độ hoạt động của prescaler Khi

đối tượng tác động là Timer0, tác động lên giá trị thanh ghi TMRO sẽ xóa prescaler nhưng không làm thay đổi đối tượng tác động của prescaler Khi đối tượ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:

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

INTCON (địa chi 0Bh, §Bh, 10Bh, I§Bh): cho phép ngắt hoạt động (GIE và PEIE)

OPTION_REG (địa chi 81h, 181h): điều khiển prescaler

2.5.2 TIMER 1

Timerl là bộ định thời 16 bịt, giá trị của Timerl sẽ được lưu trong hai thanh ghi (TMRIH:TMRIL) Co ngat của Timerl là bit TMRIIF (PIRI<0>) Bit điều khiển của

Timerl sé la TMRIIE (PIE<0>)

Tương tự như Timer0, Timerl cũng có hai chế độ hoạt động: chế độ định thời

(timer) với xung kích là xung clock của oscillator (tần số của timer bằng 1⁄4 tần số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm

Trang 37

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter) được điều khiến bởi bit TMRICS (TICONK<1>)

Sau đây là sơ đồ khối của Timerl:

1,2,4,8 -TIOSCEN Fos det

' Fee 9 Internal foe

Hình 2.6: Sơ đồ khối của Timerl

Ngoài ra, Timer1 còn có chức năng reset input bên trong được điều khiển bởi một

trong hai khéi CCP (Capture/Compare/PWM)

Khi bit TIOSCEN (TICON<3>) được set, Timer1 sẽ lấy xung clock từ hai chan:

RC1/TIOSLU/CCP2 và RC0/T1OSO/TICKI làm xung đếm Timerl sẽ bắt đầu đếm sau cạnh xuống đầu tiên của xung ngõ vào Khi đó PORTC sẽ bỏ qua sự tác động của hai bit TRISC<1:0> va PORTC<2:1> duge gan giá trị 0 Khi clear bit TIOSCEN Timer! sé lay xung đếm từ oscillator hoặc từ chân RC0/T1OSO/TICKI Timerl có hai chế độ đếm là đồng bộ (Synchronous) và bất đồng bộ (Asynchronous)

Chế độ đếm được quyết định bởi bit điều khiển TISYNC (TICON<2>)

Khi TISYNC = 1 xung đếm lấy từ bên ngoài sẽ không được đồng bộ hóa với xung clock bên trong, Timer1 sẽ tiếp tục quá trình đếm khi vi điều khiển đang ở chế độ sleep và ngắt

do Timerl tạo ra khi bị tràn có khả năng “đánh thức” vi điều khiển Ở chế độ đếm bất đồng bộ, Timerl không thể được sử dụng để làm nguồn xung clock cho khối CCP (Capture/Compare/Pulse width modulation)

Khi TISYNC = 0 xung đếm vào Timerl sẽ được đồng bộ hóa với xung clock bên trong

Ở chế độ này Timer1 sẽ không hoạt động khi vi điều khiển đang ở ché dé sleep

SVTH: Nguyễn Trung Kiên - D07KTDTI 33

Trang 38

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

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

INTCON (địa chỉ 0Bh, §Bh, 10Bh, I8Bh): cho phép ngắt hoạt động (GIE và

PEIE)

PIRI (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMRIIF)

PIEI( địa chỉ 8Ch): cho phép ngắt Timer1 (TMRIIE)

TMRIL (địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm Timerl

TMRIH (địa chỉ 0Eh): chứa giá trị 8 bit cao cua bộ đếm Timerl

TICON (địa chi 10h): xác lập các thông số cho Timerl

2.5.3 TIMER2

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

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

Note 1: TMR2 register output can be software selected by the

SSP module as a baud clock

Hình 2.7: Sơ đồi khối ctia Timer2

Trang 39

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A

Timer2 còn được hỗ trợ bởi thanh ghi PR2 Giá trị đếm trong thanh ghi TMR2 sẽ tăng từ 00h đến giá trị chứa trong thanh ghi PR2, sau đó được reset về 00h Khi reset thanh ghi PR2 được nhận giá trị mặc định FFh

Ngõ ra của Timer2 được đưa qua bộ chia tần số postscaler với các mức chia từ 1:1 dén 1:16 Postscaler được điều khiến bởi 4 bit T2OUTPS3:T2OUTPS0 Ngõ ra của postscaler đóng vai trò quyết định trong việc điều khiển cờ ngắt

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

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

INTCON (dia chi OBh, 8Bh, 10Bh, 18Bh): cho phép toàn bộ các ngat (GIE va

PEIE)

PIRI (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF)

PIEI (địa chị §Ch): chứa bit điều khiển Timer2 (TMR2IE)

TMR2 (địa chỉ 11h): chứa giá trị đếm của Timer2

T2CON (địa chỉ 12h): xác lập các thông số cho Timer2

PR2 (địa chỉ 92h): thanh ghi hỗ trợ cho Timer2

Ta có một vài nhận xét về Timer0, Timer1 và Timer2 như sau:

Timer0 và Timer2 là bộ đếm § bit (giá trị đếm tối đa là FFh), trong khi Timer1 là bộ đếm

16 bít (giá trị đếm tối đa là FFFFh)

Timer0, Timerl và Timer2 đều có hai chế độ hoạt động là timer va counter Xung clock

có tần số bằng 1⁄4 tần số của oscillator

Xung tác động lên Timer0 được hỗ trợ bởi prescaler và có thế được thiết lập ở

nhiều chế độ khác nhau (tần số tác động, cạnh tác động) trong khi các thông số của xung tác động lên Timerl là cố định Timer2 được hỗ trợ bởi hai bộ chia tần số prescaler và postcaler độc lập, tuy nhiên cạnh tác động vẫn được có định là cạnh lên

Timerl có quan hệ với khối CCP, trong khi Timer2 được kết nối với khối SSP

Một vài so sánh sẽ giúp ta dễ dàng lựa chọn được Timer thích hợp cho ứng dụng

SVTH: Nguyễn Trung Kiên - D07KTDTI 35

Trang 40

ĐỒ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F877A 2.6 ADC

ADC (Analog to Digital Converter) là bộ chuyên đổi tín hiệu giữa hai đạng tương

tự và số PICI6F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệu điện thế chuẩn VREE có thể được lựa chọn là VDD, VSS hay hiệu điện thế chuẩn được xác lập trên hai chân RA2 và RA3

Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL Khi không sử dụng bộ chuyền đối ADC, các thanh ghi này có thê được sử dụng như các thanh ghi thông thường khác Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được lưu vào hai thanh ghi ADRESH:ADRESL, bit (ADCON0<2>) được xóa về 0 và cờ ngắt ADIF được set

Qui trình chuyên đổi từ tương tự sang số bao gồm các bước sau:

> Thiết lập các thông số cho bộ chuyến đổi ADC

Chọn ngõ vào analog, chọn điện áp mẫu (dựa trên các thông số của thanh ghi

ADCONI)

Chọn kênh chuyên đối AD (thanh ghi ADCON0)

Chọn xung clock cho kênh chuyên đổi AD (thanh ghi ADCON0)

Cho phép bộ chuyển đổi AD hoạt động (thanh ghi ADCON0)

> Thiết lập các cờ ngắt cho bộ AD

Clear bit ADIF

Set bit ADIE

Set bit PETE

Set bit GIE

> Doi cho toi khi quá trình lấy mẫu hoàn tắt

> Bắt đầu quá trình chuyến đối (set bit comove `)

> Doi cho téi khi quá trình chuyển đổi hoàn tất bằng cách:

Kiểm tra bit eopone Nếu 6opoxe_ =0, quá trình chuyên đổi đã hoàn tắt

Kiểm tra cờ ngắt

> Đọc kết quá chuyến đối và xóa cờ ngắt, set bit copoxr (nếu cần tiếp tục

Ngày đăng: 25/10/2013, 12: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