1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đề tài thiết kế mạch điều khiển thiết bị điện qua điện thoại di động

81 285 3
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Định dạng
Số trang 81
Dung lượng 24,02 MB
File đính kèm PIC16F877A+MT8870.rar (24 MB)

Nội dung

Đề tài thiết kế mạch điều khiển thiết bị điện qua điện thoại sử dụng vi điều khiển PIC giao tiếp với IC MT8870 kết hợp hiển thị trên LCD. Trong quá trình thực hiện đề tài em đã tìm hiểu về điện thoại và tín hiệu DTMF. Một chiếc điện thoại di động hay để bàn thông thường sử dụng mười sáu cặp tín hiệu DTMF để biểu diễn các số bấm trên bàn phím bấm, nghĩa là một phím bấm được miêu tả bởi hai tín hiệu có tần số khác nhau. Do vậy em đã tìm hiểu khá kĩ về tín hiệu DTMF vì nó là cơ sở lý thuyết quan trọng trong đề tài này. Về việc giải mã DTMF em sử dụng vi mạch MT8870, đây là vi mạch chuyên dụng để giải mã tín hiệu DTMF. Vi mạch MT8870 lấy tín hiệu DTMF từ đường điện thoại vào chân hai (IN-) còn tín hiệu được giải mã thành mã BCD 4 bit thì xuất ra bốn chân Q1,Q2,Q3,Q4, chân StD là chân báo khi có nhấn phím. Em cũng đã tìm hiểu và làm chủ được vi điều khiển PIC 16F877A của hãng Microchip. Vi điều khiển PIC 16F887A được tích hợp khá nhiều module, thêm vào đó là có thể sử dụng khá nhiều ngôn ngữ lập trình. Khối hiển thị thông tin em sử dụng LCD 1602 (2 dòng, 16 kí tự). Em đã thực hiện được việc hiển thị lên màn hình LCD, lập trình hiển thị lên LCD khá đơn giản vì đã có hàm xây dựng sẵn trong thư viện của CCS. Màn hình LCD được chia làm hai dòng, dòng đầu tiên có địa chỉ bắt đầu là 0x80 và địa chỉ kết thúc là 0x8f, còn dòng thứ hai có địa chỉ bắt đầu là 0xc0 và địa chỉ kết thúc là 0xcf. Lập trình cho PIC em sử dụng ngôn ngữ C chuẩn, viết bằng phần mềm CCS PIC C Compiler phiên bản 3.249. Phần mềm CCS hỗ trợ một thư viện với khá nhiều hàm con nên việc lập trình trở nên dễ dàng hơn. Giao diện của phần mềm khá đẹp và có thể sử dụng một cách dễ dàng. Thêm vào đó CCS cung cấp một trang web có nhiều code chuẩn để tham khảo: ccsinfo.com/forum. Em sử dụng phần mềm WinPic800 để nạp chương trình vào vi điều khiển PIC.

Trang 1

Đồ án tốt nghiệp

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

KHOA KĨ THUẬT ĐIỆN TỬ I

KHOA LUẬN

TĨT NGHIỆP ĐẠI HỌC

Dé tai: “ THIET KE MACH DIEU KHIEN THIET BI BIEN QUA ĐIỆN THOAI DI DONG ”

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

Lớp :

Khố : Hệ :

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ễ dàng hoạt động khi di chuyển mọi lúc mọi nơi Chính vì vậy ngồ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 đi động, IC thu phát DTMF rất phong phú và phức tạp, do vậy trong đề 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

> Diéu khién bật/tắt thiết bị điện

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

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

Trang 3

Đồ án tốt nghiệp

LỜI CẢM ƠN

Lời đầu tiên trong khố luận em xin bày tỏ lịng biết ơn tới tồ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 dỗ 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 hồn thành khố 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 hồn thành đồ án tốt nghiệp

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

Nguyễn Trung Kiên

Trang 4

Đồ án tốt nghiệp

NHAN XET, DANH GIA, CHO DIEM

2 (bằng chữ: )

Đồng ý/Khơng đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?

„ NO“) — thăng năm 20

CAN BO- GIANG VIEN HUONG DAN (ky, ho tén)

NGUYEN HONG HOA

Trang 5

Đồ án tốt nghiệp

MỤC LỤC

¡009 2 1 DANH MỤC CAC HINH VỄ Ác S111 E111 11 1111151111 1111 11 1111181111111 1111 E re rrrkg 5 DANH MỤC CÁC TỪ VIẾT TẮTT si tt E111 E6 1151851811111 E111 E13 E111 EsEsred 8

ea:i0/90 S651 9

GIỚI THIỆU ĐÈ TÀII - - St SE SE S 198 8E S3 E8 EEE S311 16 111 111 EEE 1111111 1111111 111111111113 9 1.1 Ý tưởng bài fốn c- St ch c n1 TT HT HH T111 T101 TT 11101111111 1011111 9

1.2 Câu tạo cơ bản và nguyên lý hoạt động của điện thoại -cs: 9 1.2.1 cấu AO CO DAN c.cccccecccsescsceccscesesesscscscescsccescsecacsecacsesscscsacaseccsssucasecsucacacacsaeas 9 1.2.2 Nguyen ly hoat dOmg cece cccccsssssececeeeeceasesescceeeeeeaesesscceeeeeeusegseseseeeeuaages 10 1.3 Tín hiệu DTME G1111 E1 9111515111111 111111 1111111111111 6111515011111 HH, 10 IENEĐ)001i0/ 401V 10 5.2 11 1.3.3 IC MT8870 thu tin hiGu DIMEF c.ccccccccccccscecescseecesescscececcscsesctecacaceeseeacereaees 13 a:i0/9) 622 19

TÌM HIẾU VI ĐIÊU KHIỂN PIC 16FE877A - - - tt S3 E8 E518 E8 853 ESESEEEE SE EeEserrrsed 19

2.1 Giới thiệu PIC 16EĐ77A St SE TT HT TH H1 TH ng chg 19

2.2 Các thành phân chính trong vi điều khiển PIC 16F877A ¿c6 Sex: 21

2.3 Tổ chức bộ nhớ - (tt S118 111151111111 11 1111151111 1111111111111 1111111111 11111 E1 ce2 23

2.3.1 Thanh ghi chức năng đặc biệt SER SG S QC nen Hs Ỳ ng nha 26

Trang 6

Đồ án tốt nghiệp 2.3.2 Thanh ghi mục đích chung GPR CĐ Q1 n SH HH HH HH hen 27 “Z6: v ad 28 2.4 Các cơng xuất nhập của PIC16EĐ777A - - - SE S1 E1 E111 115151 111 1611111111 2e 28 86.? vn ố 29 8:9): 29 "1 Ố 0:9): 9n e Ả 30 2.4.4 POR'TD - cà tt TH TH TH TH HH TH HH TH 11g 1 111g 30 ÕƯ 90:90:00 7 30 2.5 Các bộ định thời ¿Sẻ SE 111111111213 E111151 151111111 11111111111 1111011111110 grtkg 30 2.5.1 TIMER ( cc Cà S111 H11 1111111111 1111110111 1H11 0H 1g 0g 30 2.5.2 TIMER . - c1 TT 111111111111 111111011111 11 11110101101 1g 32 2.5.3 TIMER2 tt TH HH HH1 T1 TH TH HH1 H1 11111 g1 1111 g 34 J0 9H .- ÝäÝÝ 36 2.7 NGÁT (INTERRUPTT) G1 SE 1E E111151115 11111 1E1111111111111111 011111110 prrtkg 37 8p /-1i TƠ 38 2.7.2 Ngắt do sự thay đổi trạng thái các Pin trong PORTB -cccccscs¿ 39 2.7.3 Watchdog 090 20029500 39 ;z#.1e.r T1 ậa.a 39 2.7.5 “Đánh thức” Vi điều khiỂn St 1 1 E2 E1 1212121111111 kg 40 :i0/9)/6E 115 43 THIET KE MẠCH ĐIÊU KHIÉN THIẾT BỊ ĐIỆN QUA ĐIỆN THOẠI DI ĐỘNG 43 S042 43

3.2 Sơ đồ khối của mạch - tt St T111 1818115111111 11111111111 1311111811 E811 8 111 cxcrz 44

Trang 7

Đồ án tốt nghiệp

3.3 [20 ,>:800i 0001757557 .Ơ 45

3.3.1 Thực hiện đơi passSWOrC - cv HH 111151 101 HH1 110101 1 rk 46

3.3.2 Thực hiện bật tắt thiết bị điện .- ¿(Sàn tt HH in 46

3.3.3 Thực hiện hẹn giờ bật tắt thiết bị 6 cọ S1 HH HH ưyg 48

3.4 Thiết kế phần cứng - ch 1 1115111511110 011111511111 1101010111111 1 1 1101112 ceg 48 3.4.1 Thiết kế mạch nguyên lý - ¿- tt St St St St SE St SE ST SE HE rr tru 48

s0 4/06i on ai 49

3.4.3 Khối thu và giải mã DTME - St SE S111 511111 8111118101111 r2 51 3.4.4 Kh6i hién thị thơng tin - St St S12 E111 111151511101 8111111111111 kg 51 3.4.5 KhGi nguén nuGi ccccccccccccccccscecsecececcecsesescscececeseseevececeeecucsvsveresececueeesevenes 52

3.4.6 Khối diéu khién thiét bi din ccc e cesses 53

3.4.7 Khối tín hiệu phản hồi .-.- - - 5c SE SE 11115151 1 1 8111111111111 k0 53

3.4.8 Mạch in thực tế sau khi thiết kế . - it S3 E181 55353 S858 3E EsEczErze: 33

3.5 Thiết kế phần mềm - - G111 1 19158 1E S118 E1 1111111 11111111 11113 HE 1k ru 54

3.5.1 Lập trình cho PÏC ¿6k tt E1 EỀ21811121 1111213111111 E1111 111kg 54

3.5.2 Thuật tốn điều khiỂn . - ¿(6 St 1118211111215 111101111 111111 1g t0 55 3.5.3 Giới thiệu vỀ CŒS tt 121v E1 1101110111111 31 11011 giàu 55 3.5.4 Thuật tốn điều khiển . - ¿L6 S1 111811111115 811110111311 1111 1g kg 72

e:i/9)/6 1n 73

KẾT LUẬN VÀ HƯỚNG PHÁT TRIÊN ĐẼ TÀI . 5c Sẻ << S6 +x‡£‡tetcveeed 73 4.1 Danh gid két na ai 73

4.1.1 Tổng quan kết §ị':.(.iddatầỒỎỒ 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ử ¬ = 73

4.2 Lý do chọn PIC 16EĐ77A ¿tt 13 E11E111111E1511115111115 1111111111111 1x0 74 4.3 Hướng phát triỀn đề tài ¿- tà 1 11115111311 1111 11111111 11111111111 ru 75

DANH MỤC CÁC TÀI LIỆU THAM KHẢO -¿-©- - EckekESEEEEEEckekeerekerred 77

Trang 9

Đồ án tốt nghiệp Hình 1.1: Hình 1.2: Hình 1.3: Hình 1.4: Hình 1.5: Hình 1.6: Hinh 2.1: Hình 2.2: Hình 2.3: Hình 2.4: Hình 2.5: Hình 2.6: Hình 2.7: Hình 2.8: Hình 2.9: Hình 3.1: Hình 3.2: $VTH: Nguyễn Trung Kiên - D07KTDT1 DANH MỤC CÁC HÌNH VẾ IP11-š)i8i 1s) 80Đ94N 700111177 11 Bàn phím chuẩn 12 nt.c.ccccccccccccccscccsssccsssescesessesesnssesevsvecceeesssvsvscseaeeeeenevees 12 Bàn phím mở rộng l6 phím - - - 111113111111 10 121 1 1 11g xe 12 IC thụ DTME MTT8870 (cà t SE 1 11H11 1111 1111 1x 11g HH na 13

Sơ đồ khối của MTT8870 Làn ST 11111111 1011110111111 11 1 1x 15 Sơ đồ mạch test thử với IC M T8870 5c St về E2 EEEEExrkerrrkrvet 17

Sơ đồ chân của PICI6E77A ¿cv 11111 111218111111 15111111 1 11x 19

Sơ đồ khối của PIC16EĐ'77A ¿c1 1v 1E 1111115102111 11 1131111111 tre 22 Bộ nhớ chương trình PIC I6FE8777A (6 St SE *kEk*EEkEEEEkEE E2 v32 xá 24 Bộ nhớ đữ liệu của PIC 16EĐ77A ¿- c5: E13 13 1111111111111 11e te 25

Sơ đồ khối của Timer ( ng E1 S111 1111151111111 11 1 E1 181 HE ng rec 31

Sơ đồ khối của Timer L -¿- 5c St tt SE 1 1E E1 112151E211111113111111 1 1xx 33

Sơ đồi khối của Tiimer2 -¿- c5 S1 SE 111111181 E1111 111151111111 1 1x tr 34 Sơ đồ khối bộ chuyển đổi ADC c CS S111 TS 111011111111 1kg ckreg 37 Sơ đồ logic của tất cả các ngắt trong PICI6EF877A c-ccccct cv seeeg 38

Sơ đồ khối của mạch it n 111 1811111111111 1111 E1 181cc ren rec 44

Trang 10

Đồ án tốt nghiệp

Hình 3.3: Sơ đồ nguyên lý của PIC16F877A trong mạch - - - 56tr cei 50 Hình 3.4: Sơ đồ nguyên lý kết nối trong mạch ctla IC MT8870 ccecceccsctesseseeeeseeeees 51 Hình 3.5: Sơ đồ nguyên lý kết nối của LCD1602 trong mạch điện - 5-5 6c sẻ 52 Hình 3.6: Sơ đồ nguyên lý nguồn nuơi của mạch c6 xxx rerered 32 Hình 3.7 : Sơ đồ nguyên lý khối đĩng ngắt thiết bị điện -G- St rrei 53 Hình 3.8: Sơ đồ nguyên lý khối tín hiệu phản hồi . 5-6 1S rrered 53

Hình 3.9: Sơ đồ mạch ¡n thực tế sau thiết kế - St E K11 SE 1815111 1tr rei 54

Hình 3.10: Giao diện của PIC C CompIÏ€r cc c << 231 3 3 3 3111111111151 15 555 55 Hình 3.11: Tạo Project bằng PIC Wizard tt TH HH ng HH net 56 Hình 3.12: Ctra s6 Save AS wicccccccccccccccsssessscscsssscscscscssecscscssesecanacecscscsesesesssacacsnsessenseees 37 s00.) 8€ ¡v0 nh a44 37 Hình 3.14: Tab CommmunIcafIons - «(<< cv 0v xen 58 Hinh 3.15: Tab SPI and LCD wo cccccccceeceseeeeeeeeeeceeeseseeseasaaaeeaenenaeeaeeeeeeeeeeeeeeeeees 59

50006000.) 9: án 4 Ả 60

5000 W2.) 0.919, 11 61

Hirh 3.18: Tab Otner i Ha 62

Hinh 3.19: Tab Interrupts c 63 Hitth 3.20 : TabDriver icc .dẢẢ 63

Hinh 3.21: PG2C mach nap PIC qua cơng COM St E1 St 4 1kg rrei 64

Trang 11

Đồ án tốt nghiệp

Hình 3.22: Giao diện phần mềm nạp WinPic800 tt vn rrei 65

Hình 3.23: Test cabl€ cccc CC QQĐ c HH 9 ng HH ng ng ng c0 0 868835 60 65

Hình 3.24: Test HardWare - c cc CĐ HH ng n HH TK kg ĐK E05 06165 66

Hinh 3.25: Vi diéu khién PIC 40 chati.iccccccccse esses 67

Hình 3.26:Vi điều khiển PIC 18 chân - - (5c St S313 E3 SE re 67

Hình 3.27: Vi điều khiển PIC 28chân G1 E1 3 1E SE E1 13 2111 11x 1 xrkprrk 68 Hình 3.28:Vi điều khiển PIC 8 chân - (5c St SEE3 3E E3 EEEEE HH cxcxrg 68

Hình 3.29: Quá trình Dectect Vi điều khiỂn - kh k ST ng Hưng 69

Hình 3.30:Quá trình nạp file Hex vào Vi điều khiển PIC - cv ceở 70 Hình 3.31:Đọc chương trình ra từ Vi điều khiển PIC . G- 6 Street 71 Hình 3.32: So sánh để kiểm tra quá trình nạp file Hex -©©- 5s c+c+ee£eceẻ 71

Hình 3.33: Lưu đồ thuật tốn điều khiến ©6331 E E111 72

Hình 4.1: Mạch thực tế sau khi thiết kế và chạy thử tt nevrvrrei 74

Trang 12

Đồ án tốt nghiệp DANH MỤC CÁC TỪ VIẾT TẮT STT | Thuật ngữ Ý nghĩa 1 | ADC Analog-to-Digital Converter 2 | CCP Capture/Compare/PWM

3 | CCS Custom Computer Services

4 |DIME Dual Tone Multi Frequency

5 | FSG File Select Register

6 | GPR General Purpose Register

7 | 2C 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

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài

CHƯƠNG 1

GIỚI THIỆU ĐÈ TÀI

1.1Ý tưởng bài tốn

Ngày nay, cơng nghệ điện thoại di động ngày một phát triển mạnh Điện thoại trở thành một nhu cầu khơng thể thiêu được của con người trong nhịp sống hiện đại chiếc điện thoại

gần như lúc nào cũng được chúng ta mang theo bên người Bởi vậy ngồi khả năng nghe,

ĐỌI, nhắn tin, truy cập Internet, giải trí vv thì một câu hỏi được đặt ra là: Cĩ thể dùng

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

tính, lị vi sĩng, quạt điện, đèn chiều sáng, binh 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 ngồi mà quên khơng tắt máy tính, điều hồ, 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ý do 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ĩ san 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 DTMEF từ điện thoại di độ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

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài > Phan thu va phat tin 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 phát thoại: Gồm cĩ loa và mic Loa cĩ nhiệm vụ biến đổi tín hiệu âm

thanh thành tín hiệu điện và míic 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 DTME

1.3.1 Định nghĩa

DTMF(Dual Tone Multi Frequency): là 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,5KHz DTMF phát ra là I 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 hố 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 dung (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 rai

Trang 15

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài 1.3.2 KEYPAD Trong DTMF mỗi chữ số chọn lựa cĩ tín hiệu dưới dạng tổ hợp của hai tần số xoay chiêu: DTMF Signal In—— ———

Hình I.I: Dụng tín hiệu DTME

Khi một nút được bẫm, hai tần số mơ tả chữ số được phát ra và được gửi một cách

đồ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 DTME 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 bẫm đượ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 DTME riêng được

tổng hợp bởi hai tần số tương ứng với hàng và cột mà phim đĩ đ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 | 1 | 12] | | HT = 1209 Hz H2 = H3 = 1336 1477 l2=770Hz| 4] 15] ]/6 |] L3=852Hz]7]]e8]]o |] l4=941Hz]~- | ]o] | a4]

Hinh 1.2: Ban phim chuẩn 12 nit

Chuong 1: Gidi 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 697 Hz & T70Hz oa kK Š 852 Hz 941 Hz

Hinh 1.3: Ban phim mé rong 16 phim

Trang 17

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài 1.3.3 IC MT8870 thu tín hiệu DTMF | —— INt Vdd ie | | 3 IN- SGT 46 | Li 4 GS ESt “18 — | 5 Vref StD 44 | | ồ INH Q4 43 | LÌ 7 PWDN Q3 co | 8 OSE1T 82 aq | | 9 ĐSG2 l1 1g — | L—“AVWs TOE -—*—] MT8870

Hinh 1.4: IC thu DITIMF 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: Ng6 vao đảo

- PIN3(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: Ngo vao tac d6ng mức cao (Khi chân nay tac động thi sé cấm mach dao động và IC 8870 hoạt động)

- PIN 7 (OSC 1): Clock ngé vao MHz

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

Trang 18

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài PIN 9 (Vss): Nối GND

PIN 10(TOE) Three Stage Output Enable: Ngõ vào, Ngõ ra QI1-Q4 hoạt động khi TOE ở mức cao

PIN 11-14 từ Q1-Q4: Ngõ ra (khi TOE ở mức cao các chân này cung cấp mã tương ứng với các cặp Tone dị tìm được theo bảng chức năng Khi TOE ở mức thấp dữ liệu ngõ ra ở trạng thái trở kháng cao) PIN 15 (STD) Delayed Stcering: Ngõ ra, ở mức cao khi gặp tần số Tone đã được ghi nhận và gõ ra chốt thích hợp, trở về mức thấp khi

điện áp trên ST/GT nhỏ hơn điện áp ngưỡng Vst

PIN 16 (EST): Early Steering (ngõ ra), chân này lên mức [I | khi bộ

thuật tố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 (ng6 ra), khi dién

áp Vc lớn hơn V+sr thi 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 DTME 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 đề tài r*> 01 r* (2 r> Q3 Hè 04 YDD VSS VRef INH 4 a Bias PWON “1 — Circuit VRef Buffer rs Chip Chip 7

Power Bias High Group Digital Code

Filter Detection Converter

Algorithm and Lateh IN+ ba Zero Crossing Filef Detectors IN q8 — Low Group h Filter —>— Đà — 5 Steering À Clocks €— GT Loạt r1 NN A ¥ ¥

05C1 OSC2 SUGT ESt STD TOE

Hinh 1.5: So dé khéi của MT8870

Trang 21

Đồ Lá án tốt nghiệp Mạch Test thử với MT8870: Chương 1: Giới thiệu đề tài “xả o Po +5V $1 POWER ON $1, S2 = OM/OFF SWITCH C4 O.1p = i R1 AS “50W sek 56K >- 4 ị OPTIONAL TELEPHONE LINE Ic MT8870/ sip FAIS a ề ; - LEDS : oak et KT3170 ‘© a—— > ° R14 ở a san OE givens | R13 Q2 LED3 13 1 @1 mi hự É LED2 12 á 1 lš lê giteo | es) 6 9 | R11-15 = 1K LOCAL TELEPHONE

Trang 22

Đồ án tốt nghiệp Chương 1: Giới thiệu đề tài Q1: Logic 1 Tha nut ‘1’: TOE: Logic 0 Q4: Logic 0 Q3: Logic 0 Q2: Logic 0 Q1: Logic 1 Khi bắm và giữ nút ‘2’: TOE: Logic 1 Q4: Logic 0 Q3: Logic 0 Q2: Logic 1 Q1: Logic 0 Tha nit ‘2’: TOE: Logic 0 Q4: Logic 0 Q3: Logic 0 Q2: Logic 1 Q1: Logic 0

Khi bam sé dién thoai thi StD cé mitc logic 14 ‘1’, cịn khi ta khéng bam thi StD cĩ mức

logic la “0° Cịn các chân QI, Q2, Q3, Q4 là mã BCD của số điện thoại

Trang 23

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

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ã

DTMF đưa ra tín hiệu điều khiến thiết bị Sơ đồ chân VĐK PIC 16F877A: 40-Pin PDIP | M*CSLR/VvEr ——— LỊ 1 — 4dũ| ]——> FEE7/FGD RAGQANO —+ E]2 35 LỊ —~ RRSFGC RA1/ANI ——H]: 3ã FD] eee RS RAZAN SY RE-ACVAREF -=—+ L] 4d 37L] =—>~ FBd RA3IAN3/VnEF+ —[]5 ¬s F—— RFEB+'PGM RA.4/TDCHIC 1OUT ——— LÍ 6 35 LÌ——> RE2 RASIANdISSKC2OUT =——~[Ì]ï = 34 F]——>~ REI

REGREUAS =—— [J 3 rm 33 Cee REOVINT

REIWRANS ——e [J 5 ` 32 Cl —— Voo RE2CSAN?T =—~ F] 10 + 31 =——v5ä wpo—— LH 11 fp 3o [Ì—— RD?7rPsP7 Vas_ 12 wo 0 29 LI = ROBPSsPSs G5C1/C LEI —— L] 1: — 28] —— REDSFäSFS GSC2/CLKO ——L 14 = 27 H—— RP4rsPa RCUVT 1OSCMT1CKI ~— + LÍ] 1E 2g [L]=~ RC7/RXIDT RC1/T1OS5UCCP2 =— LÍ 1s 2s FÌ>—— RCS/TXICK R.C2/C=E1 es 17 24 C RECđS5nơ RC3/5CL/SCL —=—— F] 1ã z3 '1——> F:C4/5DVU5DA RDOIPSPũ —— LH] 13 22? O — FL+F5SF3 RD1PˆSF1 —> LH 21 LÍ ———> RFL2/rsF2 Hình 2.1: Sơ đồ chân của PIC16F877A Chức năng các chân VĐK:

e Chân OSC1/CLKI1(13): Ngõ vào kết nối với dao động thạch anh hoặc ngõ vào

nhận xung clock từ bên ngồi

e _ Chân OSC2/CLK0(14): Ngõ ra dao động thạch anh hoặc ngõ cấp xung clock e Chân MCLR /Vpp(1) Cĩ 2 chức năng:

MCLR : Ngõ vào reset tích cực ở mức thấp

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

Trang 24

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A Chan RA0/ANO(2), RA1/AN1(3), RA2/AN2 co 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-/VREFE+(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/VREE+(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/TOCK1/CIOUT(6): xuất nhập số/ ngõ vào xung clock bên ngồi cho TIMERƠ0/ ngõ ra bộ so sánh 1 Chân RA5/AN4/ SS /C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/ ngõ vào lựa chọn ŠPI phụ/ ngõ ra bộ so sảnh 2 Chân RB0/INT(3): xuất nhập số/ ngõ vào tín hiệu ngắt ngồi Chân RB1(34), RB2(35): xuất nhập sé Chân RB3/PGM(26): xuất nhập số/ cho phớp lập trính điện áp thấp ICSP Chân RB4(37), RB5(38): xuất nhập sé

Chân RB6/PGC(29): 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ữ liệu lập trình ICSP

Chân RC0/T1OCO/TICKI(15): xuất nhập số/ ngõ vào dao động Timerl/ ngõ vào xung clock bên ngồi Timer].,

Chân RC1/T1OSUCCP2(16): xuất nhập số/ ngõ vào bộ dao động Timerl/ ngõ vào capture2, ngõ ra compare2, ngõ ra PWM2

Chân RC2/CCPI(17): xuất nhập số/ ngõ vào Capturel, ngõ ra Comparel, ngõ ra PWNI1

Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ, ngõ ta ché d6 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 SPU xuất nhập I2C Chân RC5/SDO(24): xuất nhập số/ dt 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ộ USARTT Chân RD0-+ 7/PSP0+ 7(19+ 30): xuất nhập số/ dữ 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 RE1/ 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 /AN7(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(11, 32) và VSS(12, 31): là chân nguồn của Pic

Trang 25

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

2.2 Các thành phân chính trong vi điều khiến PIC 16F877A À Re Sơ đồ khơi: t8 Deia Bus 3 PORTA Pissh iI | 4 RAVAN Program Đ/ ¬ RA2/AN2NWaz=-'DOVsez Memory E RAM —” 4 Rá3/ÁAN3/Vsez~ B a Flo +—> RA4/Tư0KI/G4GUT a Registers + RARANd.SSG20UT Progam „ 4 = Bus RAM Addit) yp a D /⁄ Add: MUX éX Instruction reg a ae Direct Addr 7 PORTE 7 + RB0/INT 4 RB 4 3 RB2 5 RB3/PGM B + + RES RB4 - RB6/'PGC Power-up mm Timer rurtion Cacilistor Tee j= | Start-up Timer Contre Pawar-an Reset PORTC

Tinng | + - Watendog 4 RC0'T1OSO/T1CKI

Bị ==") Generation [:— Timer + RC1/T10SI/GG OSC1/CLKI Brown-out + RC2CCF° 05G2/GLKO Reset 4 RC3/SCK/SCL In-Cireuit ; 4 RO4/SDI/SDA Debugger 3 RC5/SDO Lww-Violtag e ¬ RCSTX/GK Programming la RC7/RXDT MCLR oo, Vss Timerd Timer1 Timar2 40-bit A/D IL | | ll lI IL i I I 11 che Voltsa=

Dets EEPROM CCP1.2 — si ag USART Comparstor fidiaitied

Device Program Flash Data Memory Date EEPROM

Pic 18F S734 4K words 482 Bytes 128 Bytes

Pic 16F S764 SK words 355 Bytes 256 Bytes

Note 7: Hioner order pits sre from tne Status recister

Trang 26

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

Hình 2.2: Sơ đồ khối của PIC16F877A

Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh cĩ độ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối đa cho

phép là 20 MHz với một chu ki lệnh là 200ns Bộ nhớ chương trình SKx14 bịt, bộ nhớ dữ

liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin V/O

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

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

Timerl: bộ đếm 16 bit với bộ chia tần số, cĩ thê thực hiện chức năng đếm dựa vào

xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep

Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler

Hai bộ Capture/so sánh/điều chế độ rộng xung

Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C Chuẩn giao tiếp nối tiếp USART với 9 bít đị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 ngồ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 Programming) thơng qua 2 chân

Trang 27

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A Watchdog Timer với bộ dao động trong

Trang 28

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A Hình 2.3: Bộ nhớ chương trình PIC1Iĩ6F§77A1

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ừ page0 đến page 3)

Nhu vậy, bộ nhớ chương trình cĩ khả năng chứa được 8*1024 = 8192 lệnh (vi một lệnh

sau khi mã hĩa sẽ cĩ dung lượng 1 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 (Intcrrupt 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ớ dữ liệu: ,

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra lam 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 Eunction Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR(Genecral 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ụ nhu thanh ghi STATUS) sé duoc dat 6 tat cả các bank của bộ nhớ đữ 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ớ đỡ liệu PICI6F877A như sau:

Trang 29

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A File Address

Indirect addr Í?| 00h indirect addr) | son indirect addr!) 100h | IndirectaddrPÌ +anh TMRO 01h OPTION_REG| Sth TMRO 101h | OPTION REG| 181h PCL 02h PCL 62h PCL 102h PCL 182h STATUS 03h STATUS 63h STATUS 103h STATUS 183h FSR 04h FSR B4h FSR 104h FSR 184h PORTA 05h TRISA 85h 105h 185h PORTB O6h TRISB 66h PORTS 106h TRISB 186h PORTC 07h TRISC B7h 107h 187h PORID"! | 08h TRISD | 88h 108h 189h PORIE® | 08h TRISE™ | 89h {09h 189h

PCLATH OAh PCLATH BAR PCLATH 1O0Ah PCLATH 18Ah

INTCON OBh INTCON BBh INTCON 10Bh INTCON 18Bh

PIR1 OCh PIE BCh EEDATA 10Ch EECON 1 18Ch PIR2 ũDh PIE2 &Dh EEADR 10Dh EECON2 1anh

TMRIL |0Eh PCON - | 8Eh EEDATH | iũEh Reserved! | 18Eh

TMRIH | 0Fh SFh EEADRH | 10Fh Reserved! | 18Fh TTICON 10h qnh 110h 490h TMR2 11h SSPCOM2 | 31h 111h 181h T2CON 12h PR2 g2h 112h 182h SSPBUF | 13h SSPADD | 93h 113h 183h SSPCON 14h SSPSTAT odh 114h +104h CCPRIL 15h 95h 115h 795h CCPRIH 16h 96h 116h 46h CCPICON | 17h 97h somal 117h ae 197h

RCSTA | têh TXSTA 88h Register 118h Register 198h

TXREG | têh SPBRG 88h lệ Byles | 119h lêByes | 199h

RCREG 14h OAn VIAn 1GAh

CCPR2L | 1Bh oBh 11Bh 19Bh

CCPB2H_ | 1Ch 9Ch 11Ch 19Ch

CCP2CON | 1Dh 9Dh 11Dh 180h

ADRESH | 1Eh ADRESL SEh 11Eh 10Eh

ADCONO | 1Fh ADCON 1 oFh 11Fh 19Fh

20h Anh 120h 4Anh

General General General General

Purpose Purpose Purpose Purpose

Register Register Register Register

96 Bytes a0 Bytes = 80 Bytes 7 80 Bytes 4EFh

atcesses | FON accesses | 170h accesses | 1FOh

T0h-7Fh 70h-7Fh 70h - 7Fh

7Fh : FFh 17Fh 4FFh

Bank 0 Bank 1 Bank 2 Bank 3

Hinh 2.4: B6 nho dir liéu cua PIC 16F 877A

Trang 30

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

2.3.1 Thanh ghỉ chức nang dac 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 SER 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 ngồ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 tố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

RW0 RAO RWO RỈ R-1 RANX RWX RAW-X | mp | apr | RP0 | to | po | z | œ | c€Cï| bit 7 bit 0 Thanh ghi OPTION_REG (81h, 181h): thanh ghi nay cho phép doc va 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 H/N-0 R/W-D H/W-0 R-1 R-1 H/W-x H/W-x HW-x | inp | RP1! | R0 | Tơ | PO | z | oc |] c | bit 7 bit 0

Thanh ghi INTCON (OBh, 8Bh,10Bh, 18Bh): thanh ghi cho phép doc va 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 cua PORTB

RAW-O R/W-0 R/W-0 H/Ww-0 truWw-0 R/Ww-0 RAW-O R/W-0

|PsPie™ | ADIE | RƠE | TXIE | SSPIE | CCPIIE | TMR2IE | TMRIIE |

bit 7 bit 0

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

Trang 31

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

RWO RWO RO R-0 R0 RAMOD RAMD RAO

IPSPIFf”| ADIE | RCIF | TXIF | SSPIF | CCPIIF | TMR2IF | TMRIIF |

bit 7 bit 0

Thanh ghi PIRI (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 PIEI

RW-O RWD R-0 R-0 RWO RAO RWD RWO

| PsPIFU) | ADIF | RCIF | TXIF | SSPIF | CCP1IF | TMR2IF | TMR1IF |

bit 7 bit 0

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

U-0 R/W-D U-đ "N-D R/w-0 U-0 U-0 RiW-0

| — | cme | — | EEE | BoE | — | — |CCP2E |

bit 7 bịt

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 U-0 RW-O0 UO RW R/W-0 U-0 UO RAWM-D | — | CMF | — | EEF | BCUIFE | — | — |CCPF2F | bit 7 bit 0 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 U-0 U-0 U-0 U-D U-0 U-0 RAM0 R/W-1 a SS ee Fn | Er

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) Day la 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 16F®77A

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, gia tri cua 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 lay 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

Can 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é hoan tồ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) chính là phương tiện mà vi điều khiển đùng để tương tác với thế giới bên ngồi Sự tương tác này rất đa dạng và 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 (L/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 tính 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 ngồi Chức năng của từng chân xuất nhập trong mỗi cơng hồn tồn cĩ thê được xác lập và điều khiển được thơng qua các thanh ghi SER 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 16F®77A

Vi điều khiển PIC16F877A 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 Day 1a cdc chan “hai chiéu” (bidirectional pin), nghĩa là cĩ thể xuất và nhập được Chức năng LO 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? bít đ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 1a output, ta “clear” bit diéu khién tuong

ứng với chân đĩ trong thanh ghi TRISA Thao tác này hồn tồ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 (dia chi 05h): chứa gia tri cac 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 (dia chỉ 9Fh): thanh ghi điều khiển bộ ADC

2.4.2 PORTB

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 SER liên quan đến PORTB bao gồm:

PORTB (dia chi 06h,106h): chứa giá trị các pm trong PORTB

Trang 34

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A TRISB (dia chỉ 86h,186h): điều khiển xuất nhập

OPTION REG (địa chỉ S1h,18§1h): điều khiến ngắt ngoại vi và bộ T1mecr0

2.4.3 PORTC

PORTC (RPC) gồm 8 pin LO 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

Cac thanh ghi diéu khién lién quan dén PORTC:

PORTC (dia chi 07h): chứa giả trị các pin trong PORTC TRISC (dia chi 87h): diéu khién xuat nhập

2.4.4 PORTD

PORTD (RPD) gém 8 chan L/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 chân IL/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ủa chuẩn giao tiếp PSP

Các thanh ghi liên quan đến PORTE bao gồm: PORTE: chira giá trị các chan trong PORTE

TRISE: diéu khién xuat 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 PICI6F877A Timer0 là bộ đếm 8 bít được kết nối với bộ chia tần số (prescaler) 8 bit Cấu trúc của

Trang 35

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A 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<5>) là bịt điều khiển của Timer0

TMR0IE=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 Timecr0 như sau: CLKO (= Fos c/4) Data Bus † “8 đ M 1 ⁄ RA4/T0CKI X pin po ‘iT, ) ) - aT v M Sync “ 0 U - 2 TMRO Reg & — x Cycles TOSE | ae PSA Set Flag bit TMROIF on Overflow PRESCALER eae ae ae BS 5 eee eae pare ee ¬ 0 | —— | —— M Ty 86-bit Prescaler | U Watchdog Wx | 8/ | Timer | | | | 8-to-1 MUX ®—— PS2:PSD | | PSA i yr (as a (eee eee es) es ee 1 WDT Enabie bít ũ | 1 MUX ——— PSˆ WDT Time-out Note: TDCS, TđSE, PSA, PS2:PS0 are (OPTIOM_REG<5:0>)

Hình 2.5: Sơ đồ khối của Timer 0

Muén Timer0 hoat dong & ché d6 Timer ta clear bit TOSC (OPTION _REG<S>), khi do gia tri thanh ghi TMRO sé tang theo timg chu ki xung déng hồ (tần số vào Timer0

bang % tan s6 oscillator) Khi gia trị thanh ghi TMRO0 từ EFh trở về 00h, ngắt Timer0 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 déng & ché d6 counter ta set bit TOSC (OPTION REG<S5>) Khi dé xung tác động lên bộ đếm được lấy tir chan RA4/TOCK1 Bit TOSE (OPTION REG<4>)

Trang 36

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

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 TMRO0 bị tran, bit TMROIF (INTCON<2>) sé duoc set Day chinh 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>) xác định đố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 (đị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 và PEIE)

OPTION REG (dia chỉ 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

(TMR1H:TMRIL) Cờ ngắt của Timerl là bit TMRIIF (PIRI<0>) Bit điều khiển của Timerl sẽ là TMRIIE (PIE<0>)

Tương tự như Timecr0, 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 lay từ bên ngồi thơng qua chân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên)

Trang 37

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

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 TMR1CS (TICON<I>) Sau đây là sơ đồ khối của Timerl: Set Flag bit TMR1IF on Overflow a e Synchronized TMR1 # : Clock Input TMR1H TMR1L | , | 1Ì|=———D TMR1ON Ễ Men ie sine On/Off aC UNE - > T1SYNC ›: T1IOSC ; RCO/T1OSO/TICKI x L; +— ' Synchronize ai Re | Prescaler : + “S¬ T1IOSCEN Ƒosg4 1,2, 4, 8 _# det 1 “—— Enable Internal RC1/T1OSI/CCP2/?) bx} 16] 1 Oscillator Clock ! iwN] 1 z2 Q Clock | teen T1CKPS1:T1CKPS0 TN | Note 1; When the T1OSCEN bit is cleared, the inverter is turned off This eliminates power drain

Hinh 2.6: So dé khéi cia Timer!

Ngoai ra, Timer1 con cé chirc nang reset input bên trong được điều khiển bởi một

trong hai khéi CCP (Capture/Compare/P WM)

Khi bit T1OSCEN (T1CON<3>) dugc set, Timerl sé lẫy xung clock từ hai chân:

RC1/TIOSI/CCP2 va RCO/T1OSO/TICKI lam 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> duoc gan gid tri 0 Khi clear bit TLOSCEN 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 = I xung đếm lẫy từ bên ngồi sẽ khơng được đồng bộ hĩa với xung clock

bên trong, Timerl 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 bat

đồ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 Timerl sẽ khơng hoạt động khi vi điều khiển đang ở chế độ sleep

Trang 38

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A Các thanh ghi liên quan đến Timerl bao gồm:

INTCON (dia chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE)

PIR1 (dia chi OCh): chita cd ngat Timerl (TMRIIF) PIE1( dia chi 8Ch): cho phép ngat Timerl (TMRIIE)

TMRIL (địa chỉ 0Eh): chứa giá trị 8 bit thấp của b6 dém Timer! TMRIH (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timerl TICON (địa chỉ 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⁄ 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 bít T2CKPS1:T2CKPS0 (T2CONK<1:0>) Sets Flag bit TMR2IF | QuteutŒ® Reset Prescaler ¬ — 4:4, 1:4, 1:16|— FOSG/4 Postscaler 1:1 t0 1:16 [eq G Leomparator t } 2 T2CKPS1: 4 T2CKPSO T2OUTPS3: T2OUTESD

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 của Timer2

Trang 39

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

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 resct về 00h Khi reset thanh ghi

PR2 được nhận giá trị mặc định FEh

Ngõ ra của Timer2 được đưa qua bộ chia tần số postscaler với các mức chia từ 1:1 đế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

Ngồ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 (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép tồn bộ các ngắt (GIE va

PEIE)

PIRI (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF) PIEI (địa chị 8Ch): 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, Timerl và Timer2 như sau:

Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khi Timerl là bộ đếm 16 bit (giá trị đếm tối đa 1a FFFFh)

Timer0, Timerl và Timer2 đều cĩ hai chế độ hoạt động là timer và 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

Trang 40

Đồ án tốt nghiệp Chương 2: Tìm hiểu về VDK PIC 16F®77A

2.6 ADC

ADC (Analog to Digital Converter) là bộ chuyên đổi tín hiệu giữa hai dạng tương tự và số PIC1I6F877A cĩ 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệu điện thế chuẩn VREF 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 va 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 hồ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 PEIE Set bit GIE

> Doi cho téi khi qua trinh lay mẫu hồn tất > Bat đầu quá trình chuyền đổi (set bit comonr )

Ngày đăng: 30/12/2017, 15:59

TỪ KHÓA LIÊN QUAN

w