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

Thiết Kế Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)

127 626 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

Định dạng
Số trang 127
Dung lượng 12,84 MB
File đính kèm File + Slide Kèm Theo.rar (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

b- Điều khiển từ xa hữu tuyến:Với dạng điều khiển này ta lợi dụng vào đường truyền của điện thoại để điều khiển các thiết bị từ xa.. Đối với hệ thống điều khiển xa bằng mạng không dây th

Trang 1

XA QUA MẠNG ĐIỆN THOẠI – MẠNG INTERNET

VÀ GIAO TIẾP MÁY VI TÍNH

Giáo viên hướng dẫn : Th.S Lâm Tăng Đức

Sinh viên thực hiện : Hồ Thanh Hà

Mã số sinh viên : 05SK1

Đà Nẵng - 2009

Trang 2

ĐẠI HỌC ĐÀ NẴNG Cộng hòa xã hội chủ nghĩa Việt Nam

KHOA SƯ PHẠM KỸ THUẬT

NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP

Sinh viên thực hiện : Nguyễn Uyên Thảo

1 TÊN ĐỀ TÀI:

NGHIÊN CỨU -THIẾT KẾ - LẮP RÁP

HỆ THỐNG BÁO TRỘM VÀ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN

QUA MẠNG ĐIỆN THOẠI - MẠNG INTERNET

VÀ GIAO TIẾP MÁY VI TÍNH

2 NỘI DUNG CHÍNH:

Chương 1: Giới thiệu tổng quan về đề tài.

Chương 2: Giới thiệu phương thức hoạt động của tổng đài và thuê bao Chương 3: Giới thiệu các linh kiện dùng trong mạch

Chương 4: Thiết kế tính toán phần mạch

Chương 5: Giao tiếp máy vi tính với vi điều khiển 89C51

Trang 3

1.1 Giới thiệu chung 1

1.2 Tóm tắt nội dung đề tài 3

1.2.1 Điều khiển thiết bị điện từ xa và báo trộm thông qua mạng điện thoại có phản hồi bằng giọng nói 3

1.2.2 Mục đích điều khiển thiết bị 3

1.2.3 Điều khiển hệ thống bằng máy tính 4

1.3 Phương án thiết kế 4

1.3.1 - Phương án 1: Dùng vi điều khiển với tín hiệu phản hồi và phát đi tiếng nói từ máy tính 4

1.3.2 - Phương án 2: Dùng vi điều khiển với tín hiệu phản hồi và phát đi tiếng nói từ IC thu, phát tiếng nói 5

1.3.3 - Lựa chọn phương án thiết kế 5

1.4 Sơ đồ khối của mạch 6

1.4.1 Sơ đồ khối của mạch 6

1.4.2 Nhiệm vụ từng khối 6

1.5 Giải thích mối quan hệ giữa các khối 8

CHƯƠNG 2: GIỚI THIỆU PHƯƠNG THỨC HOẠT ĐỘNG CỦA TỔNG ĐÀI VÀ THUÊ BAO 10

2.1 Giới thiệu chương 10

2.2 Giới thiệu phương thức làm việc của tổng đài 10

2.2.1 Đặc tính và các thông số cơ bản của điện thoại 10

2.2.2 Hệ thống âm hiệu giao tiếp giữa tổng đài và thuê bao 11

2.3 Phương thức làm việc giữa tổng đài và thuê bao 14

2.3.1 Phương thức làm việc giữa tổng đài và thuê bao 14

2.3.2 Vòng nội bộ 15

CHƯƠNG 3: GIỚI THIỆU CÁC LINH KIỆN DÙNG TRONG MẠCH 17

Trang 4

3.1 Vi điều khiển 89C51 17

3.1.1 Giới thiệu MSC-51 17

3.1.2 Sơ lược về các chân của 89C51 18

3.1.3 Khảo sát các khối bên trong 89c51 − tổ chức bộ nhớ 20

3.1.4 Hoạt động của bộ định thì timer 23

3.1.5 Hoạt động của bộ ngắt (INTERRUPT) 29

3.2 Giới thiệu IC thu DTMF – MT8870 33

3.2.1 Sơ đồ chân3.2.2 Sơ lược về các chân của 89C51 33

3.2.2 Giới thiệu các chân 33

3.2.3 Chức năng các chân 35

3.3 Giới thiệu về IC OPTO 4N35 38

3.3.1 Mô tả chung 38

3.3.2 Hình dạng và mô tả chân 39

3.3.3 Tính chất 39

3.4 Giới thiệu vi mạch MAX232 39

3.4.1 Mô tả chung 39

3.4.2 Chức năng 40

3.5 Giới thiệu về IC thu phát tiếng nói ISD1420 40

3.5.1 Mô tả chung 40

3.5.2 Chức năng .40

3.6 Giới thiệu IC LM324 41

3.6.1 Mô tả chung 41

3.6.2 Chức năng .41

3.7 Giới thiệu IC LM386 42

3.7.1 Mô tả chung 42

3.7.2 Chức năng 42

CHƯƠNG 4: THIẾT KẾ TÍNH TOÁN PHẦN MẠCH 43

4.1 Khối cảm biến chuông 43

4.2 Khối kết nối thuê bao 45

4.3 Khối giải mã DTMF 48

4.4 Khối phát tiếng nói 49

Trang 5

4.5 Khối khuếch đại âm thanh 52

4.6 Khối điều khiển thiết bị 53

4.7 Khối cảm biến hồng ngoại 54

4.8 Khối cảm biến tín hiệu đảo cực 55

4.9 Mạch chuông báo động 56

4.10 Khối giao tiếp với máy tính 57

4.11 Khối điều khiển trung tâm 58

CHƯƠNG 5: GIAO TIẾP MÁY TÍNH VỚI VI ĐIỀU KHIỂN 89C51 59

5.1 Ghép nối qua cổng nối tiếp 59

5.1.1 Giới thiệu chung 59

5.1.2 Một số yêu cầu .59

5.1.3 Đầu nối trên máy tính PC 60

5.1.4 Tốc độ truyền 62

5.2 Giao tiếp máy tính với Visual Basic 63

CHƯƠNG 6: THIẾT KẾ PHẦN MỀM 70

6.1 Giới thiệu chung 70

6.2 Lưu đồ thuật toán 70

6.2.1 Lưu đồ chương trình chính 70

6.2.2 Lưu đồ chương trình con DIEU_KHIEN 71

6.2.3 Lưu đồ chương trình con NHAN_TH_DTMF 72

6.2.4 Lưu đồ chương trình con THOI_GIAN_CHO-NHAN 73

6.2.5 Lưu đồ chương trình truyền dữ liệu lên máy tính 74

6.2.6 Lưu đồ chương trình con ngắt khi có trộm 74

6.2.7 Lưu đồ chương trình con ngắt nhận dữ liệu từ máy tính 75

6.2.8 Lưu đồ chương trình con XUNG và SO0, SO1, SO2, SO3, SO4, SO5, SO6, SO7, SO8, SO9

76 CHƯƠNG 7: PHỤ LỤC 78

7.1 Mô hình nhà 78

7.2 Mô hình mạch 80

7.3 Chương trình giao tiếp với máy tính VB6.0 81

7.3.1 Form1 81

7.3.2 Form2 82

7.3.3 Form3 89

Trang 6

7.4 Chương trình vi điều khiển AT89C51 91

Trang 7

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 GIỚI THIỆU CHUNG:

Đất nước ta đang trên đà phát triển và hội nhập với nền kinh tế thế giới Một đất nước phát triển không thể dựa vào một ngành nông nghiệp, lâm nghiệp, ngư nghiệp mà cần phải có một ngành công nghiệp phát triển mạnh Như vậy ngành công nghiệp đó luôn đi đôi các thiết bị máy móc tinh vi hơn, hiện đại và phức tạp hơn Với nền công nghiệp phát triển như thế, điều khiển từ xa đóng vai trò quan trọng trong công cuộc công nghiệp hóa, hiện đại hóa đất nước

Trong công nghiệp, tại các lò phản ứng, các nhà máy hay ở những nơi có mức độ nguy hiểm cao mà con người không thể tiếp cận điều khiển được, ta cần đến các bộ điều khiển từ xa để điều khiển Trong công cuộc nghiên cứu vũ trụ, điều khiển từ xa được sử dụng trong các phi thuyền không người lái, các tàu do thám không gian

Điều khiển từ xa không chỉ phục vụ cho công nghiệp, quân sự hay nghiên cứu khoa học mà nó còn đóng góp một phần nhỏ vào phục vụ cho nhu cầu cuộc sống hàng ngày của chúng ta

Trong công cuộc công nghiệp hóa, hiện đại hóa đất nước, con người phải lao động cật lực, thường xuyên ở cơ quan, xí nghiệp, hay tại công trường nên ít

có thời gian ở nhà Vì vậy, điều khiển từ xa giúp chúng ta không cần phải về nhà

mà cũng có thể điều khiển đóng ngắt các thiết bị hoặc tự động báo cho ta biết khi

ở nhà có sự cố

Dựa vào các ứng dụng thực tiễn của điều khiển từ xa ta có thể chia làm 2 dạng: Điều khiển từ xa vô tuyến và điều khiển từ xa hữu tuyến

a- Điều khiển từ xa vô tuyến:

Có thể điều khiển từ xa bằng tia sáng hồng ngoại hay sóng siêu âm Môi trường truyền là không khí Với tia hồng ngoại ta chỉ có thể điều khiển các thiết

bị ở khoảng cách gần Vì vậy nó được ứng dụng nhiều cho các thiết bị dân dụng

Trang 8

b- Điều khiển từ xa hữu tuyến:

Với dạng điều khiển này ta lợi dụng vào đường truyền của điện thoại để điều khiển các thiết bị từ xa Có thể sử dụng dây song hành, cáp đồng trục, cáp quang để truyền tải tín hiệu

Đối với hệ thống điều khiển xa bằng mạng không dây thì giới hạn về khoảng cách là yếu điểm của kỹ thuật này, ngược lại với mạng điện thoại đã được mở rộng với quy mô toàn thế giới thì giới hạn xa không phụ thuộc vào khoảng cách đã mở ra một lối thoát mới trong lĩnh vực tự động điều khiển

Hiện nay, do nhu cầu trao đổi thông tin của người dân ngày càng tăng đồng thời việc gắn các thiết bị điện thoại ngày càng phổ biến rộng rãi, do đó việc

sử dụng mạng điện thoại để truyền tín hiệu điều khiển là phương thức thuận tiện nhất, tiết kiệm nhiều thời gian cho công việc, vừa đảm bảo các tính năng an toàn cho các thiết bị điện gia dụng vừa tiết kiệm được chi phí sử dụng và đảm bảo an toàn cho tính mạng và tài sản của mỗi người dân

“Mạch điều khiển thiết bị điện từ xa thông qua mạng điện thoại” giúp

ta điều khiển các thiết bị điện gia dụng khi không có ai ở nhà hoặc ở những môi trường nguy hiểm mà con người không thể làm việc được hoặc một dây chuyền sản xuất để thay thế con người Chẳng hạn, muốn điều khiển các thiết bị điện trong nhà khi vắng người, ta quay số điện thoại về nhà và gởi mã lệnh đóng hay ngắt thiết bị thì mạch sẽ thực hiện Khi mạch thực hiện xong lệnh của ta thì mạch

sẽ gởi tín hiệu phản hồi cho ta biết mạch đã thực hiện xong lệnh hay chưa

“Mạch báo động từ xa qua mạng điện thoại và mạng internet” là một

ứng dụng vô cùng hữu ích Nó thể hiện sự hiện đại trong việc ứng dụng trong lĩnh vực thông tin Chúng ta có thể biết tình trạng nguy hiểm như có trộm qua mạng điện thoại và gửi email đến địa chỉ mail đã lập trình

Trang 10

1.2 TÓM TẮT NỘI DUNG ĐỀ TÀI:

1.2.1 Điều khiển thiết bị điện từ xa và báo trộm thông qua mạng điện thoại có phản hồi bằng giọng nói.

1.2.1.1 Mục đích báo trộm qua mạng điện thoại:

Khi phát hiện trộm, mạch sẽ tự động gọi đến 3 số thuê bao Nếu thuê bao nhấc máy, mạch sẽ phát thông báo: "Có trộm, về ngay" Sau khoảng thời gian được lập trình sẵn, mạch sẽ gọi đến thuê bao tiếp theo

1.2.1.2 Mục đích báo trộm qua mạng Internet:

Khi phát hiện trộm, đồng thời với việc mạch tự động gọi điện thông báo,

hệ thống sẽ kích hoạt gửi email đến địa chỉ gmail đã được ấn định với nội dung email "Nhà bạn có trộm! Về ngay!", với tiêu đề "Báo động!"

1.2.2 Mục đích điều khiển thiết bị:

Để điều khiển các thiết bị, đầu tiên người điều khiển phải gọi đến số máy điện thoại nơi lắp đặt thiết bị điều khiển Điện thoại được gọi có mạch điều khiển được mắc song song với dây điện thoại Thiết bị muốn điều khiển được mắc vào mạch điều khiển Sau một số hồi chuông nhất định đã được lập trình sẵn và có thể thay đổi được, nếu không có ai nhấc máy thì mạch sẽ tự động điều khiển đóng tải giả để kết nối thuê bao Khi kết nối thuê bao, người điều khiển sẽ nghe câu thông báo:" Đây là hệ thống báo trộm và điều khiển thiết bị bằng điện thoại Xin mời nhấn phím *" Sau đó, người điều khiển nhấn * thì sẽ nghe câu thông báo:" Xin mời nhập Password" Sau khi nhập đúng Password, người điều khiển

có thể xâm nhập vào hệ thống điều khiển thiết bị

Nếu nhập sai Password thì sẽ nghe câu thông báo: "Password sai", khi đó

hệ thống sẽ tắt tải giả thoát kết nối thuê bao

Nếu nhập đúng Password, người điều khiển sẽ nghe câu thông báo về trạng thái các thiết bị hiện tại (ví dụ: "Đèn phòng khách mở, Đèn phòng ngủ tắt, Đèn ngoài trời mở") Sau đó nghe câu " Xin mời nhập mã thiết bị" Muốn điều khiển thiết bị nào, người điều khiển nhập vào mã thiết bị đó Ví dụ, muốn điều khiển Đèn phòng khách, nhấn phím 1 Tiếp theo nhấn phím 0 nếu muốn Đèn phòng khách mở, hoặc nhấn phím 1 nếu muốn Đèn phòng khách tắt Tương tự

Trang 11

với Đèn phòng ngủ, Đèn ngoài trời Nhấn số 2 để chọn Đèn phòng ngủ, ấn 0 để

mở Đèn phòng ngủ, hoặc ấn 1 để tắt Đèn phòng ngủ Ở đây, ta điều khiển 3 thiết

bị Muốn bật cả 3 thiết bị, ta chỉ cần nhấn phím 4 Muốn tắt cả 3 thiết bị, ta chỉ cần nhấn phím 5

Sau khi điều khiển từng thiết bị hoặc tất cả các thiết bị như trên, người điều khiển lại nghe câu thông báo về tình trạng các thiết bị sau khi đã điều khiển (ví dụ: "Đèn phòng khách tắt, Đèn phòng ngủ mở, Đèn ngoài trời mở") Sau đó, nếu người điều khiển muốn chọn lại mã số để điều khiển lại các thiết bị thì ấn phím #, nếu muốn thoát kết nối thuê bao thì ấn phím *

1.2.3 Điều khiển hệ thống bằng máy tính:

Hệ thống này còn có thể được điều khiển bằng máy tính qua cổng COM

bằng giao thức RS232 Máy tính thông qua cổng COM sẽ làm 2 nhiệm vụ: thứ

nhất sẽ truyền dữ liệu để điều khiển các thiết bị đèn khi người điều khiển nhấn vào các Button trên màn hình điều khiển (lúc đó Assembly sẽ nhận dữ liệu được máy tính truyền xuống) ; thứ hai sẽ nhận các dữ liệu từ mạch truyền lên để nhận biết trạng thái các thiết bị đèn là mở hay tắt (lúc đó Assembly sẽ truyền dữ liệu lên máy tính) Như vậy, thông qua máy tính vừa điều khiển các thiết bị, vừa nhận biết được tình trạng các thiết bị Đồng thời nhận biết được tình trạng có trộm hay không, nếu có trộm sẽ tự động gửi email đến địa chỉ gmail đã được lập trình sẵn

Trang 12

Tuy nhiên, phương án này có nhược điểm là mạch chỉ hoạt động đúng yêu cầu khi máy tính hoạt động Nếu có trộm xảy ra vào ban đêm thì mạch điều khiển không phát tiếng nói theo đúng yêu cầu.

1.3.2 - Phương án 2: Dùng vi điều khiển với tín hiệu phản hồi và phát

đi tiếng nói từ IC thu, phát tiếng nói:

Trong phương án này người điều khiển có thể điều khiển tại chỗ các thiết

bị bằng công tắc riêng ở bên ngoài mà không cần thông qua điện thoại

Trong phương án này dùng tiếng nói để phản hồi về người điều khiển Sự phản hồi và phát đi bằng tiếng nói này do khối trung tâm ra lệnh Nội dung của tín hiệu phản hồi và phát đi được lưu trữ bên trong IC chuyên dùng thu, phát âm thanh

Ưu điểm của phương án này là người điều khiển và người nhận báo động biết chính xác trạng thái các thiết bị thông qua tiếng nói Hệ thống báo trộm và điều khiển thiết bị hoạt động liên tục mà không cần sự hoạt động của máy tính để phát tiếng nói

1.3.3 - Lựa chọn phương án thiết kế:

Qua 2 phương án đã trình bày thì ta thấy phương án 2 là phương án hoàn chỉnh, tiện ích nhất trong khi thiết kế và thi công mạch, mang tính hiện đại phù hợp với đề tài tốt nghiệp Vì vậy em chọn phuơng án 2 Tuy nhiên đối với phương án này gặp nhiều khó khăn bởi vì mạch điện phức tạp hơn, nhiều khối hơn, thi công khó khăn đặc biệt là phần lưu trữ tiếng nói

Tóm lại: Trong đề tài: “Nghiên cứu thiết kế và lắp ráp hệ thống báo trộm và điều khiển thiết bị điện qua mạng điện thoại - mạng Internet và giao tiếp máy tính” em chọn phương án 2 để thiết kế và thi công Đây cũng chính là

nội dung chính của đề tài

Trang 14

1.4 SƠ ĐỒ KHỐI CỦA MẠCH:

1.4.1 Sơ đồ khối của mạch:

1.4.2 Nhiệm vụ từng khối:

1.4.2.1 Khối cảm biến chuông:

Khối cảm biến chuông được mắc song song với hai đường dây Tip và Ring của thuê bao Khi tổng đài cấp tín hiệu chuông cho máy điện thoại thuê bao, thì khối này có nhiệm vụ nhận biết tín hiệu chuông Bình thường khi không có tín hiệu chuông thì ngõ ra ở mức logic cao và khi có tín hiệu chuông thì ngõ ra có mức logic thấp

Các tín hiệu khác như: tín hiệu thoại, tín hiệu tone, tín hiệu báo bận, hồi

KẾT NỐI THUÊ BAO

CẢM BIẾN TÍN HIỆU CHUÔNG

KHỐI

XỬ LÝ TRUNG TÂM

( VI

ĐIỀU KHIỂN 89C51 )

ĐIỀU KHIỂN THIẾT BỊ

KHUẾCH ĐẠI

ÂM THANH

CÔNG TẤC BÊN NGOÀI

KHỐI GIAO TIẾP MÁY TÍNH

TIP

RING

CẢM BIẾN BÁO TRỘM

KHỐI PHÁT TIẾNG NÓI

KHỐI GIẢI

MÃ DTMF

KHỐI KẾT NỐI INTERNET

KHỐI BÁO ĐỘNG

Trang 15

chuông không tác động đến khối này Mặt khác, khối cảm biến chuông phải bảo đảm sự cách ly về điện vì tín hiệu chuông có mức điện áp cao từ 75 Vrms - 90Vrms trong khi ngõ ra của khối phải phù hợp với mức logic 0 là 0V và mức logic 1 là 5V

1.4.2.2 Khối kết nối thuê bao:

Khi tổng đài cấp tín hiệu chuông cho thuê bao, thì khối cảm biến chuông nhận biết được tín hiệu chuông và đưa đến khối xử lý trung tâm Khối xử lý trung tâm điều khiển khối kết nối thuê bao, lúc này khối kết nối thuê bao có vai trò là đóng tải giả cho thuê bao, để tổng đài cho thông thoại 2 thuê bao với nhau Khi khối này tác động thì điện trở vòng của thuê bao giảm xuống thấp tạo nên động tác như có người nhấc máy để tổng đài cho thông thoại với nhau Đồng thời khối này cũng phải bảo đảm được sự truyền tín hiệu thoại từ thuê bao gửi đi hoặc nhận tín hiệu thoại từ phía thuê bao bên kia gửi đến

1.4.2.3 Khối nhận và giải mã DTMF:

Khi tổng đài cho thông thoại giữa hai thuê bao, nếu trên đường dây thuê bao có xuất hiện tín hiệu tone, thì khối này sẽ nhận được và giải mã chúng ra thành 4 bit tương ứng Tín hiệu tone có 2 dãy tần số : một dãy có tần số từ 697HZ đến 941 HZ, còn dãy kia có tần số từ 1209 HZ đến 1633 HZ Cả 2 dãy tần số này đều nằm trong dãy thông thoại Khi một cặp tần số theo tiêu chuẩn DTMF xuất hiện cố định trên đường dây thuê bao thì khối này có nhiệm vụ giải

mã thành 4 bit tương ứng Đồng thời mức logic của chân điều khiển ngõ ra của khối này phải đưa ra một xung ở mức logic cao để tác động đến khối xử lý trung tâm và 4 bit tương ứng đã giải mã được đưa đến khối giải mã và hiển thị

1.4.2.4 Khối phát tiếng nói:

Tiếng nói được lưu trữ bên trong IC ISD1420 khối này có nhiệm vụ báo cho người điều khiển biết trạng thái của thiết bị và các bước thực hiện việc điều khiển thiết bị cũng như việc báo trộm

1.4.2.5 Khối khuếch đại âm thanh:

Tín hiệu âm tần với biên độ tín hiệu bé không đủ sức tải trên đường dây

Trang 16

thoại vì vậy chúng được khuếch đại đủ lớn, một phần đưa ra loa, một phần tải trên đường dây điện thoại để phản hồi về người điều khiển.

1.4.2.6 Khối điều khiển thiết bị:

Khi nhận được lệnh tắt/ mở của khối xử lý trung tâm thì khối điều khiển thiết bị sẽ kết nối tải

1.4.2.7 Khối giao tiếp máy tính:

Ngoài việc báo trộm và điều khiển qua điện thoại, hoạt động này có thể diễn ra trên máy tính kết nối với mạch qua cổng COM Trên máy tính, người điều khiển có thể bật, tắt thiết bị theo ý muốn mà không cần gọi điện

1.4.2.8 Khối kết nối Internet:

Đồng thời với việc báo trộm qua mạng điện thoại thì khối kết nối Internet giúp thông báo tình trạng trộm bằng cách gửi mail đến địa chỉ email đã lập trình sẵn Công việc này được thực hiện ở giao diện chương trình giao tiếp máy tính: Visual Basic

1.4.2.9 Khối cảm biến báo trộm:

Khối cảm biến báo trộm giúp phát hiện trộm đưa tín hiệu đến khối xử lý trung tâm Nhờ đó thực hiện các công việc tiếp theo: điện thoại báo cho chủ nhà

và gửi email tự động thông báo cho chủ nhà biết

1.5 GIẢI THÍCH MỐI QUAN HỆ GIỮA CÁC KHỐI :

Khi người điều khiển từ xa gọi số máy của điện thoại ở nơi cần điều khiển thì tổng đài cấp tín hiệu chuông cho thuê bao nếu thuê bao đó không bận Mạch điều khiển được mắc song song vào đường dây của thuê bao Lúc này, khối cảm biến chuông phát hiện tín hiệu này và ngõ ra thay đổi mức logic từ cao xuống thấp Sự thay đổi mức logic này tác động vào bộ đếm tín hiệu chuông Sau khi khối cảm biến tín hiệu chuông nhận đủ số lần chuông đã được lập trình sẽ tác động vào khối kết nối thuê bao Khối kết nối thuê bao sẽ đóng tải giả vào đường

Trang 17

dây điện thoại Lúc này tổng đài ngưng cấp tín hiệu chuông và kết nối thông thoại cho 2 thuê bao.

Khi đã thông thoại, người điều khiển nhấn đúng mã password thì hệ thống

sẽ sẵn sàng nhận lệnh điều khiển Nếu nhấn sai mã password thì khối tạo âm hiệu

sẽ phát ra âm hiệu mã password bị sai Sau khi người điều khiển bấm đúng mật

mã, người điều khiển sẽ bấm mã chọn thiết bị muốn điều khiển Lúc này khối nhận và giải mã DTMF sẽ giải mã số bấm thành mã nhị phân 4 bit gởi vào khối

xử lý trung tâm Khối xử lý nhận mã thiết bị, đọc cơ sở dữ liệu của thiết bị đó và điều khiển khối báo tiếng nói để báo trạng thái hiện thời của thiết bị nhằm mục đích cho người điều khiển biết được trạng thái của thiết bị Khi biết được trạng thái của thiết bị người điều khiển sẽ nhấn lệnh tắt – mở từng thiết bị Việc nhận dạng phím nào bị nhấn được khối giải mã DTMF quyết định

Khi người điều khiển nhấn 1 phím, một cặp tần số DTMF truyền trên đường dây điện thoại Tần số này nằm trên dãy thông của tín hiệu thoại, một tần

số cao và một tần số thấp nên không thể trùng lấp với tín hiệu người nói Khi giải

mã DTMF và hiển thị số được nhấn, 4 bit được giải mã đưa vào khối xử lý trung tâm để xử lí

Người điều khiển có thể gác máy bất cứ lúc nào muốn ngừng điều khiển, mạch

sẽ tự động ngắt kết nối thuê bao sau một khoảng thời gian nhất định để giải tỏa thuê bao

Khối giao tiếp máy tính ngoài nhiệm vụ truyền dữ liệu xuống mạch (điều khiển thiết bị ở máy tính) và nhận dữ liệu từ mạch lên máy tính thì nó còn sử dụng giao diện giao tiếp máy tính để thực hiện công việc kết nối Internet là gửi email tự động

CHƯƠNG 2 GIỚI THIỆU PHƯƠNG THỨC HOẠT ĐỘNG CỦA

TỔNG ĐÀI VÀ THUÊ BAO

2.1 GIỚI THIỆU CHƯƠNG:

Chương này cung cấp cho chúng ta cái nhìn tổng quan về những phương thức hoạt động của tổng đài và các thuê bao

2.2 GIỚI THIỆU PHƯƠNG THỨC LÀM VIỆC CỦA TỔNG ĐÀI:

Trang 18

2.2.1 Đặc tính và các thông số cơ bản của điện thoại:

Tổng đài được kết nối với các thuê bao qua 2 đường TIP và RING Thông qua 2 đường dây này thông tin từ tổng đài qua các thuê bao được cấp bằng nguồn dòng từ 25mA đến 40mA (trung bình chọn 35mA) đến cho máy điện thoại

 Tổng trở DC khi gác máy lớn hơn từ 20KΩ

 Tổng trở AC khi gác máy từ 4KΩ đến 10KΩ

 Tổng trở DC khi nhấc máy nhỏ hơn từ 1KΩ (từ 0,2KΩ đến 0,6KΩ)

Bảng 2.1 - Các thông số và giới hạn của máy điện thoại:

Thông số Các giá trị mẫu Giá trị sử dụngDòng làm việc 20 mA ÷ 80 mA 20 mA ÷ 120 mANguồn tổng đài -48 V ÷ - 60 V - 67 V÷ -150 V

Dòng điện qua điện thoại 5 ÷ 30mA

Điện áp khi gác máy 48VDC

2.2.2 Hệ thống âm hiệu giao tiếp giữa tổng đài và thuê bao:

2.2.2.1 Tín hiệu mời quay số (dialtone): là tín hiệu sin tần số f =

425+25Hz, biên độ 2V trên nền DC phát liên tục

Hình 2.1 - Tín hiệu mời quay số

Trang 19

2.2.2.2 Tín hiệu quay số (dialtone): là tín hiệu sin tần số f = 425+25Hz,

biên độ 2V trên nền DC phát ngắt quãng 0,5 giây có 0,5 giây không

Hình 2.2 - Tín hiệu quay số

2.2.2.3 Tín hiệu hồi âm chuông (ring-back tone): là tín hiệu sin tần số

f=425+25Hz, biên độ 2V trên nền DC 10V, phát ngắt quãng 2 giây có 4 giây không

Hình 2.3 - Tín hiệu hồi âm chuông

2.2.2.4 Tín hiệu chuông:

 Phương thức quay số DTMF và PULSE:

Khi có một phím được nhấn thì trên đường dây sẽ xuất hiện hai tần số khác nhau thuộc nhóm tần số thấp và tần số cao

Phương pháp tần ghép này chống nhiễu tốt hơn, ngoài ra dùng dạng tone DTMF sẽ tăng được tốc độ cao gấp 10 lần so với việc quay số bằng PULSE

0,5s0,5s

4s2s

10V

Trang 20

Phương pháp quay số PULSE: Tín hiệu quay số là chuỗi xung vuơng,

tần số chuỗi dự án = 10Hz, số điện thoại bằng số xung ra, riêng số 0 sẽ là 10 xung, biên độ ở mức cao là 48V, ở mức thấp là 10V, dạng sĩng được cho ở hình dưới:

Hình 2.4 - Phương pháp quay số PULSE

a : thời gian ở 10V

b : thời gian làm việc (thời gian ở 48V)

c : thời gian giữa hai lần quay số trong một cuộc gọi

Số xung trên 1 giây là 10 ÷ 20 pulse/giây

hai tín hiệu với tần số dao động khác nhau tương ứng với số muốn quay

(DTMF: Dual Tone Multi Frequence) theo bảng sau:

Bảng 2.2 - Bảng phân loại tần số TONE

Phím số Nhóm fthấp Nhóm fcao

Trang 21

 Kết nối thuê bao:

Tổng đài nhận được các số liệu sẽ xem xét:

Nếu các đường dây nối thông thoại đều bị bận thì tổng đài sẽ cấp tín hiệu báo bận

Nếu đường dây nối thông thoại không bận thì thì tổng đài sẽ cấp cho người bị gọi tín hiệu chuông và người gọi tín hiệu hồi chuông Khi người được gọi nhấc máy, tổng đài nhận biết trạng thái này, thì tổng đài ngưng cấp tín hiệu chuông để không làm hư mạch thoại và thực hiện việc thông thoại Tín hiệu trên đường dây đến máy điện thoại tương ứng với tín hiệu thoại cộng với giá trị khoảng 300mV đỉnh – đỉnh Tín hiệu ra khỏi máy điện thoại chịu sự suy hao trên đường dây với mất mát công suất trong khoảng 10dB đến 25dB Giả sử suy hao

là 20dB, suy ra tín hiệu ra khỏi máy điện thoại có giá trị khoảng 3V đỉnh – đỉnh

Khi truyền đi trong mạng điện thoại là tín hiệu thường bị méo dạng do những lý do: nhiễu, suy hao tín hiệu trên đường dây do bức xạ sóng trên đường dây với các tần số khác nhau Để đảm bảo tín hiệu thoại nghe rõ và trung thực, ngày nay trên mạng điện thoại người ta sử dụng tín hiệu thoại có tần số từ 300

Trang 22

Tổng đài nhận dạng thuê bao gọi nhấc máy thông qua sự thay đổi tổng trở mạch vòng của đường dây thuê bao Bình thường khi thuê bao ở vị trí gác máy điện trở mạch vòng là rất lớn Khi thuê bao nhấc máy, điện trở mạch vòng thuê bao giảm xuống còn khoảng từ 150Ω đến 1500Ω Tổng đài có thể nhận biết sự thay đổi tổng trở mạch vòng này (tức là thay đổi trạng thái của thuê bao) thông qua các bộ cảm biến trạng thái Tổng đài cấp âm hiệu mời quay số (DialTone) cho thuê bao DialTone là tín hiệu mời quay số hình sin có tần số 425 ± 25 Hz Khi thuê bao nhận biết được tín hiệu DialTone, người gọi sẽ hiểu là được phép quay số Người gọi bắt đầu tiến hành gửi các xung quay số thông qua việc quay

số hoặc nhấn phím chọn số Tổng đài nhận biết được các số được quay nhờ vào các chuỗi xung quay số phát ra từ thuê bao gọi Thực chất các xung quay số là các trạng thái nhấc máy hoặc gác máy của thuê bao Nếu các đường kết nối thông thoại bị bận hoặc thuê bao được gọi bị bận thì tổng đài sẽ phát tín hiệu báo bận cho thuê bao Âm hiệu này có tần số f = 425 ± 25 Hz ngắt nhịp 0,5 giây có 0,5 giây không Tổng đài nhận biết các thuê bao gọi đến và nhận xét:

Nếu số đầu nằm trong tập thuê bao thì tổng đài sẽ phục vụ như cuộc gọi nội đài

Nếu số đầu là số qui ước gọi ra thì tổng đài sẽ phục vụ như cuộc gọi liên đài qua trung kế và gửi toàn bộ phần định vị số quay sang tổng đài đối phương để giải mã

Nếu số đầu là mã gợi có chức năng đặc biệt, tổng đài sẽ thực hiện các chức năng đó theo yêu cầu của thuê bao Thông thường, đối với tổng đài nội bộ

có dung lượng nhỏ vài chục đến vài trăm số, có thêm nhiều chức năng đặc biệt làm cho phương thức phục vụ thuê bao thêm phong phú, tiện lợi, đa dạng, hiệu quả cho người sử dụng làm tăng khả năng khai thác và hiệu suất sử dụng tổng đài

Nếu thuê bao được gọi rảnh, tổng đài sẽ cấp tín hiệu chuông cho thuê bao với điện áp 90Vrms (AC), f = 25Hz, chu kỳ 2 giây có 4 giây không Đồng thời, cấp âm hiệu hồi chuông (Ring Back Tone) cho thuê bao gọi, âm hiệu này là tín hiệu sin f = 425±25 Hz cùng chu kỳ nhịp với tín hiệu chuông gởi cho thuê bao được gọi

Trang 23

Khi thuê bao được gọi nhấc máy, tổng đài nhận biết trạng thái máy này tiến hành cắt dòng chuông thuê bao bị gọi kịp thời tránh hư hỏng đáng tiếc cho thuê bao Đồng thời, tiến hành cắt âm hiệu Ring Back Tone cho thuê bao gọi và tiến hành nối thông thoại cho 2 thuê bao.

Tổng đài giải tỏa một số thiết bị không cần thiết để tiếp tục phục vụ cho các cuộc đàm thoại khác

Khi hai thuê bao đang đàm thoại mà một thuê bao gác máy, tổng đài nhận biết trạng thái gác máy này, cắt thông thoại cho cả hai bên, cấp tín hiệu bận (Busy Tone) cho thuê bao còn lại, giải toả link để phục vụ cho các đàm thoại khác Khi thuê bao còn lại gác máy, tổng đài xác nhận trạng thái gác máy, cắt âm hiệu báo bận, kết thúc chương trình phục vụ thuê bao

Tất cả hoạt động nói trên của tổng đài điện tử đều được thực hiện một cách hoàn toàn tự động nhờ vào các mạch điều khiển bằng điện tử, điện thoại viên có thể theo dõi trực tiếp toàn bộ hoạt động của tổng đài ở mọi thời điểm nhờ vào các bộ hiển thị, cảnh báo

2.3.2 Vòng nội bộ:

Hình 2.5 - Đường Tip và Ring của vòng nội bộ

Vòng nội bộ của thuê bao là một đường hai dây cân bằng nối với đài cuối Trở kháng đặc tính khoảng 500 Ω đến 1000 Ω (thường là 600 Ω)

Một nguồn chung của đài cuối cung cấp nguồn 48VDC cho mỗi vòng thuê bao Hai dây dẫn được nối với Tip và Ring, thuật ngữ dùng để mô tả jack điện thoại Đường Ring có điện thế -48V đối với Tip Tip được nối đất (chỉ nối với DC) ở đầu cuối

Khi thuê bao nhấc máy (off hook) làm đóng tiếp điểm chuyển mạch tạo nên một dòng điện xấp xỉ 20mADC chạy trong vòng thuê bao Ở chế độ off hook,

Trang 24

điện thế rơi trên đường Tip và Ring khoảng từ 4V đến 9V ở thiết bị đầu cuối của thuê bao điện thoại Tín hiệu thoại âm tần được truyền trên mỗi hướng của đường dây khi có sự thay đổi nhỏ của dòng điện vòng Sự thay đổi của dòng điện gồm tín hiệu AC chồng chập với dòng điện vòng DC.

CHƯƠNG 3 GIỚI THIỆU CÁC LINH KIỆN DÙNG TRONG MẠCH

3.1 GIỚI THIỆU VI ĐIỀU KHIỂN 89C51:

3.1.1 Giới thiệu MSC-51: ( MSC-51: family overview)

MCS-51 là một họ IC điều khiển (micro controller), được chế tạo và bán trên thị trường bởi hãng Intel của Mỹ Họ IC này được cung cấp các thiết bị bởi nhiều hãng sản xuất IC khác trên thế giới chẳng hạn: nhà sản xuất IC SIEMENS của Đức, FUJITSU của Nhật và PHILIPS của Hà Lan Mỗi IC trong họ đều có sự hoàn thiện riêng và có sự hãnh diện riêng của nó, phù hợp với nhu cầu của người

sử dụng và yêu cầu đặt ra của nhà sản xuất IC 89C51 là IC tiêu biểu trong họ MCS-51 được bán trên thị trường Tất cả các IC trong họ đều có sự tương thích với nhau và có sự khác biệt là

Hình 3.1: Cấu trúc họ MSC - 51

Trang 25

sản xuất sau có cái mới mà cái sản xuất trước không có, để tăng thêm khả năng ứng dụng của IC đó Chúng có đặc điểm như sau:

- 4k byte ROM (được lập trình bởi nhà sản xuất, chỉ có trong 8051)

- 128 byte RAM

- 4 Port I/O 8 bit

- 2 bộ định thời 16 bit

- Giao tiếp nối tiếp

- 64k không gian bộ nhớ chương trình mở rộng

- 64k không gian bộ nhớ dữ liệu mở rộng

- Một bộ xử lý (thao tác trên các bit đơn)

- 210 bit được địa chỉ hóa

- Bộ nhân /chia 4 bit

3.1.2 Sơ lược về các chân của 89C51:

89C51 là IC vi điều khiển (Microcontroller) do hãng intel sản xuất 89C51

có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có 24 chân có tác dụng kép, mỗi đường có thể hoạt động như các đường xuất nhập hoặc như các đường điều khiển hoặc là thành phần của bus dữ liệu

a/ Chức năng các chân của 89C51:

Port 0:

Hình 3.2: Sơ đồ chân IC 89C51

Trang 26

Port 0 là port có hai chức năng ở các chân từ 32 ÷ 39 của 89C51 Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường vào ra.

Port 1:

Port 1 là port I/O ở các chân từ 1 ÷ 8 Các chân được ký hiệu là P0.0, P0.1, P0.2, … P1.7, có thể dùng cho giao tiếp với các thiết bị bên ngoài nếu cần Port 1 không có chức năng khác vì vậy nó chỉ dùng cho giao tiếp với các thiết bị bên ngoài (chẳng hạn ROM, RAM, 8255, 8279, …)

Port 2:

Port2 là một port có tác dụng kép ở các chân từ 21 ÷ 28 được dùng như

các đường xuất nhập hoặc là các byte cao của bus địa chỉ đối với các thiết kế cỡ

lớn

Port3:

Port3 là một port có tác dụng kép từ chân 10 ÷ 17 Các chân của port này

có nhiều chức năng, các công dụng chuyển đổi có liên hệ với đặc tính đặc biệt của 8951 như bảng sau:

Bảng 3.1: Chức năng của các chân Port 3

- Ngõ tín hiệu PSEN\ (Progam store enable):

PSEN\ là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối với chân OE\ (output enable) của EPROM cho phép đọc các byte mã lệnh

PSEN ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương

Trang 27

trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi bên trong 89C51 để giải mã lệnh Khi thi hành chương trình trong ROM nội (89C51) thì PSEN\ sẽ ở mức 1.

- Ngõ tín hiệu điều khiển ALE (Address latch enable):

Khi 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là địa chỉ và

dữ liệu do đó phải tách đường địa chỉ và dữ liệu

Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối với IC chốt Tín hiệu ra ở ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên nên chốt địa chỉ hoàn toàn tự động Các xung tín hiệu ALE có tốc độ bằng 1/6 tần số dao động trên vi điều kkiển và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho EPROM trong 89C51

Ngõ tín hiệu EA\ (External Access: truy xuất dữ liệu bên ngoài):

Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu

ở mức 1 thì 89C51 thi hành chương trình trong ROM nội trong khoảng địa chỉ thấp 4k Nếu ở mức 0 thì 89C51 thi hành chương trình từ bộ nhớ mở rộng (vì 89C51 không có bộ nhớ chương trình trên chip) Chân EA\ được lấy làm chân cấp nguồn 21V lập trình cho EPROM trong 89C51

- Ngõ tín hiệu RST (Reset):

Ngõ tín hiệu RST ở chân 9 và ngõ vào Reset của 89C51 Khi ngõ vào tín hiệu đưa lên mức cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset

- Ngõ vào bộ dao động XTAL1, XTAL2:

Bộ tạo dao động được tích hợp bên trong 8951, khi sử dụng 89C51 người thiết kế cần ghép nối thêm tụ, thạch anh Tần số thạch anh được sử dụng cho 89C51 là 12MHz

- Nguồn cho 89C51:

Nguồn cho 89C51 được cung cấp ở 2 chân là 20 và 40 cấp GND và Vcc Nguồn cung cấp ở đây là +5V

Trang 28

Khả năng của tải Port 0 là LS –TTL của port 1, 2, 3 là 4LS –TTL Cấu trúc của port được xây dựng từ FET làm cho port có thể xuất nhập dễ dàng Khi FET tắt thì port dễ dàng dùng chức năng xuất Khi FET hoạt động thì port làm chức năng nhập thì khi đó ngõ nhập mức cao sẽ làm hỏng port.

3.1.3 Khảo sát các khối bên trong 89C51 − tổ chức bộ nhớ:

Bộ nhớ trong 89C511 ba gồm ROM và RAM RAM trong 89C51 bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt 89C51 có cấu trúc bộ nhớ theo kiểu Harvard: có những vùng nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 89C51, nhưng 89C51 vẫn có thể kết nối với 64 kbyte chương trình và 64 kbyte dữ liệu

Các thanh ghi và các port xuất nhập đã được định vị (được định vị có nghĩa là xác định) trong bộ nhớ và có thể truy xuất trực tiếp giống như các bộ nhớ địa chỉ khác

Ngăn xếp bên trong RAM nội nhỏ hơn so với ROM ngoại như các bộ vi

xử lý khác RAM bên trong 89C51 được phân chia như sau:

- Các Bank thanh ghi có địa chỉ 00H ÷ 1FH

- RAM địa chỉ hóa từng bit có địa chỉ 20H ÷ 2FH

- RAM đa dụng có địa chỉ 30H ÷ 7FH

Các thanh ghi có chức năng đặc biệt 80H ÷ FFH

Trang 29

a/.RAM đa dụng:

Mặc dù trên hình vẽ cho thấy 80 byte đa dụng chiếm các địa chỉ từ 30H÷7FH 32 địa chỉ dưới từ 00H ÷ 1FH cũng có thể được dùng với mục đích tương tự (mặc dù các địa chỉ này cũng đã định với mục đích khác)

Mọi địa chỉ trong vùng RAM đa dụng đều có thể truy xuất tự do dùng kiểu

Hình 3.3: Các khối bên trong của IC 89C51

Trang 30

địa chỉ gián tiếp hoặc trực tiếp Ví dụ: để đọc nội dung ở địa chỉ 5FH của RAM nội vào thanh ghi tích lũy A, có thể dùng một trong hai cách sau:

Lệnh đầu tiên dùng để nạp địa chỉ tức thời #5FH vào thanh ghi R0, lệnh thứ

2 dùng để chuyển nội dung của ô nhớ có địa chỉ mà R0 đang chỉ tới vào thanh ghi tích lũy A

b/ RAM địa chỉ hóa từng bit:

8951 chứa 210 bit được địa chỉ hóa, trong đó có 128 bit chứa các byte có địa chỉ từ 20H ÷ 2FH và các bit còn lại chức trong nhóm thanh ghi có chứa năng đặc biệt

Ý tưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nói chung Các bit có thể được đặt, xóa, and, or …, với một lệnh đơn

Mà điều này đối với vi xử lý đòi hỏi phải có một chuỗi lệnh đọc – sửa – ghi để đạt được mục đích tương tự như vi điều khiển Ngoài ra các port cũng có thể truy xuất được từng bit làm đơn giản đi phần mềm xuất nhập từng bit 128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc các bit phụ thuộc vào lệnh được dùng

Ví dụ: để đặt bit thứ 57 ta dùng lệnh sau:

SETB 57H

c/.Các Bank thanh ghi:

32 byte thấp của bộ nhớ RAM nội được dùng cho các bank thanh ghi Bộ lệnh 8051 hỗ trợ 8 thanh ghi nói trên có tên là R0 ÷ R7 và theo mặc định khi reset hệ thống, các thanh ghi này có địa chỉ từ 00H ÷ 07H

Ví dụ: lệnh sau đây sẽ đọc nội dung của ô nhớ có địa chỉ 05H vào thanh

ghi A

MOV A, R5

Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tuy nhiên yêu cầu trên có thể thi

Trang 31

hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai:

MOV A,#05H

Các lệnh dùng các thanh ghi R0 ÷ R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức năng tương tự dùng kiểu địa chỉ trực tiếp Các dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghi được truy xuất bởi các thanh ghi R0

÷ R7 Để chuyển đổi việc truy xuất các bank thanh ghi ta phải thay đổi các bit chọn bank trong thanh ghi trong thanh ghi trạng thái Giả sử bank thanh ghi thứ 3 đang được truy xuất lệnh sau đây sẽ chuyển nội dung của thanh ghi A vào ô nhớ RAM có địa chỉ 18H:

- Định khoảng thời gian

- Đếm sự kiện

- Tạo tốc độ baud cho port nối tiếp trong 89C51

Trong các ứng dụng định nghĩa khoảng thời gian, người ta sử dụng lập trình timer ở một khoảng đều đặn và đặt cờ tràn timer Cờ được sử dụng để đồng

bộ hóa chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gởi sự kiện ra các ngõ ra Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ:

đo độ rộng xung) Đếm sự kiện dùng để xác định số lần xảy ra của một số sự kiện Một “sự kiện” là bất cứ tác động ngoài nào có thể cung cấp một chuyển

Trang 32

trạng thái trên một chân của 89C51.

b/ Thanh ghi chế độ timer (TMOD):

Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer 0 và timer 1

Bảng 3.2: Tóm tắt thanh ghi TMOD

c/ Thanh ghi điều khiển timer (TCON)

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer 0

và timer 1

Bảng 3.3: Tóm tắt thanh ghi TCON

Cờ báo tràn timer Đặt bởi phần cứng khitràn, được xóa bởi phần mềm hoặc phầncứng khi bộ xử lí chỉ đến chương trình phục

vụ ngắt

TCON.6

TR1 8EH Bit điều khiển timer1 chạy Đặt/ xóa bằng

timer để cho phần mềm chạy/ ngưng

TR0 8CH Bit điều khiển timer chạy

TCON.3 IE1 8BH Cờ cạnh ngắt cạnh bên ngoài Đặt bởi phần

Trang 33

cứng khi phát hiện một cạnh xuống ở ITN 1: Xoá bằng phần mềm hoặc phần cứng khi CPU chỉ đến chương trình phục vụ ngắt.TCON.2

Cờ kiểu ngắt một bên ngoài Đặt/xóa bằngphần mềm để ngắt ngoài tích cực cạnhxuống/mức thấp

TCON.1

IE0 89H Cờ cạnh ngắt 0 bên ngoài.

TCON.0 ITO 88H Cờ kiểu ngắt 0 bên ngoài.

d/ Chế độ TIMER:

 Chế độ 1 – Chế độ TIMER 16 BIT:

Hoạt động như timer 16 bit đầy đủ

Cờ báo tràn là bit TFx trong TCON có thể đọc hoặc ghi bằng phần mềm MSB của giá trị trong thanh ghi timer là bit 7 của THx và LSB là bit 0 của TLx Các thanh ghi timer (TLx/THx) có thể đọc hoặc ghi bất cứ lúc nào bằng phần mềm

Định khoảng thời gian (interval timing):

Nếu C/T = 0 hoạt động timer liên tục được chọn vào timer được dùng cho việc định khoảng thời gian Lúc đó, timer lấy xung nhịp từ bộ dao động trên chip

Bộ chia 12 được thêm vào để giảm tần số xung nhịp đến giá trị thích hợp cho các

Hình 3.4: Chế độ Timer 16 bit

Trang 34

ứng dụng Như vậy, thạch anh 12 MHz sẽ cho tốc độ xung nhịp timer 1 MHz Báo tràn timer xảy ra sau một số (cố định) xung nhịp, phụ thuộc vào giá trị ban đầu được nạp vào các thanh ghi timer TLx/THx.

Đếm sự kiện (Event Counting):

Nếu C/T=1, timer lấy nguồn xung nhịp từ bên ngoài Trong hầu hết các ứng dụng, nguồn bên ngoài này cung cấp cho timer một xung khi xảy ra một sự kiện – timer dùng đếm sự kiện Số sự kiện được xác định bằng phần mềm bằng cách đọc các thanh ghi TLx/THx vì giá trị 16 bit trong thanh ghi này tăng thêm một cho mỗi sự kiện

Nguồn xung nhịp ngoài có từ thay đổi chức năng của các port 3, bit 4 của port 3 (P3.4) dùng làm ngõ vào tạo xung nhịp bên ngoài cho timer 0 và được gọi

là “T0” Và P3.5 hay “T1” là ngõ vào tạo xung nhịp cho timer 1

Trong các ứng dụng bộ đếm, các thanh ghi Timer được tăng thêm 1 tương ứng với chuyển từ 1 xuống 0 ở ngõ vào bên ngoài: Tx, ngõ vào bên ngoài được lấy mẫu trong S5P2 của mọi chu kỳ máy Như vậy, khi ngõ vào cao trong một chu kỳ và thấp trong một chu kỳ kế thì số đếm được tăng thêm một Giá trị mới được xuất hiện trong các thanh ghi trong S3P1 của chu kỳ theo sau chu kỳ trong

đó phát hện sự chuyển tiếp Do đó, mất 2 chu kỳ máy (2µs) để ghi nhận sự chuyển 1 sang 0, tần số ngoài tối đa là 500KHz (giả sử hoạt động ở 12 MHz)

 Bắt đầu, dừng và điều khiển các Timer:

Phương pháp đơn giản nhất để bắt đầu (cho chạy) và dừng các timer là dùng các bit điều khiển chạy: TRx trong TCON TRx bị xóa sau khi Reset hệ thống Như vậy, các timer theo mặc nhiên là bị cấm (bị dừng) TRx được đặt lên

1 bằng phần mềm để cho các timer chạy

Trang 35

Vì TRx ở trong thanh ghi TCON có địa chỉ bit, nên dễ dàng cho việc điều khiển các timer trong chương trình.

Ví dụ, cho timer 0 chạy bằng lệnh: SETB TR0

và dừng bằng lệnh: CLR TROTrình biên dịch sẽ thực hiện việc chuyển đổi ký hiệu cần thiết từ “TR0” sang địa chỉ bit đúng SETB TR0 chính xác giống như SETB 8CH

Một phương pháp khác để điều khiển các timer là dùng bit GATE trong TMOD và ngõ vào bên ngoài INTx Đặt GATE =1 cho phép timer sẽ được điều khiển bằng INTx Việc này rất hiệu dụng cho việc đo độ rộng xung như sau: Giả

sử INT0 ở mức thấp nhưng các xung ở mức cao trong khoảng thời gian đo Khởi động timer 0 ở chế độ 2 (chế độ timer 16 bit), với TL0/TH0=0000H, Gate = 1 và TR0 = 1 Khi INT0 ở mức cao, timer được mở cổng và được cấp xung nhịp 1 MHz (nếu 8031/8051 hoạt động ở tần số 12 MHz) Khi INT0 xuống thấp, timer

bị ‘đóng cổng’ và thời khoảng của xung tính bằng µs là số đếm trong TL0/TH0 (có thể lập trình INT0 để tạo ra một ngắt khi nó xuống thấp)

Hình sau minh họa Timer 1 hoạt động ở chế độ 1 như một timer 16 bit Các thanh ghi timer TL1/TH1 và cờ báo tràn TF1 trong sơ đồ chỉ các khả năng có thể

có của nguồn tạo xung nhịp và dễ cho chạy, dừng và điều khiển timer

Hình 3.5: Bắt đầu dừng và điều khiển Timer

Hình 3.6: Bắt đầu dừng và điều khiển Timer

Trang 36

 Khởi động và truy xuất các thanh ghi:

Thông thường các thanh ghi được khởi động một lần ở đầu chương trình

để đặt chế độ làm việc đúng Sau đó, trong thân chương trình, các timer được cho chạy, dừng, các bit cờ được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật v,v … theo đòi hỏi của các ứng dụng

TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động

Ví dụ các lệnh sau khởi động timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động trên chip cho việc định khoảng thời gian:

MOV TMOD,#00010000B

Nếu cần số đếm ban đầu, các thanh ghi timer TL1/TH1 cũng phải được khởi động Nhớ lại các timer đếm lên và đặt cờ báo tràn khi có sự chuyển tiếp FFFFH sang 0000H Một khoảng 100µs có thể được định thời bằng cách khởi động trị cho TL1/TH1 là FF9C:

WAIT: JNB TF1, WAIT

Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:

CLR TR1

CLR TF1

Đọc timer đang chạy:

Trong một số ứng dụng cần đọc giá trị trong các thanh ghi timer đang chạy

Vì phải đọc 2 thanh ghi timer, “sai pha” nếu byte thấp tràn vào byte cao giữa hai lần đọc Giá trị có thể đọc được không đúng Giải pháp là đọc byte cao trước, kế

đó đọc byte thấp rồi đọc byte cao một lần nữa Nếu byte cao đã thay đổi thì lặp lại các hoạt động đọc Các lệnh dưới đây đọc các lệnh thanh ghi timer TL1/TH1 vào các thanh ghi R6/R7:

Trang 37

AGAIN: MOV A,TH1

MOV R6, TL1

CJNE R7, A

3.1.5 Hoạt động của bộ ngắt (INTERRUPT):

a/ Giới thiệu:

Một interrupt (ngắt) là sự xảy ra một điều kiện – một sự kiện, mà nó gây treo tạm thời chương trình trong điều kiện có được phục vụ bởi một chương trình khác

Các interrupt đóng vai trò quan trọng trong việc thiết kế và cài đặt các ứng dụng vi điều khiển Chúng cho phép hệ thống bất đồng bộ với một sự kiện và giải quyết một sự kiện trong khi đó một chương trình khác đang thực thi

Một hệ thống được điều khiển bằng interrupt cho ta ảo giác là làm nhiều việc đồng thời Dĩ nhiên là CPU đồng thời không thể thực thi hơn một lệnh Nhưng nó có thể tạm treo việc thực thi một chương trình để thực thi một chương trình khác, rồi quay về chương trình thứ nhất Theo cách này, interrupt giống như một chương trình con, nhưng có một khác biệt trong hệ thống được điều khiển là

sự ngắt quãng không xảy ra như kết quả của một lệnh, mà đáp ứng một sự kiện xảy ra bất đồng bộ với chương trình chính Người ta không biết lúc nào và ở đâu chương trình chính bị ngắt quãng

Chương trình giải quyết ngắt gọi là chương trình phục vụ ngắt (ISR:

InterruptService Routine) hoặc bộ xử lý ngắt ISR thực thi đáp ứng ngắt và thông thường thực hiện tác vụ nhập hay xuất với một thiết bị Khi ngắt xảy ra, chương trình chính tạm thời bị treo và rẽ nhánh đến ISR: ISR thi hành và kết thúc bằng lệnh trở về ngắt Chương trình tiếp tục thực thi tại chỗ mà nó tạm dừng Thường người ta xem chương trình chính thực thi ở mức nền (cơ sở) và các ISR thực thi ngắt (Interrupt Level) Người ta dùng thuật ngữ Foreground (phía trước) (Base – Level) chỉ mức nền và Background (phía sau) (Interrupt – level) chỉ mức ngắt

b/ Tổ chức ngắt của 89C51:

Thật sự tất cả các nguồn ngắt ở 89C51: 2 ngắt ngoài, 2 timer và một ngắt

Trang 38

port nối tiếp Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi Reset hệ thống

và được cho phép bằng phần mềm

Khi có 2 hoặc nhiều ngắt đồng thời, 1 ngắt xảy ra trong khi 1 ngắt khác đang được phục vụ, có cả 2 sự tuần tự hỏi vòng và sơ đồ ưu tiên 2 mức dùng để xác định thực hiện ngắt Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắt thì

có thể lập trình được

 Cho phép và cấm các ngắt: (Enabling and Disnabling Interrupt)

Mỗi nguồn Interrupt được cho phép hoặc cấm từng ngắt qua một thanh ghi chức năng đặc biệt có địa chỉ bit IE (Interrupt Enable) ở địa chỉ A8H Sau đây là bảng tóm tắt thanh ghi IE:

SETB EA ; Đặt bit cho phép toàn bộ

Hoặc: MOV IE,#10001000B

Mặc dù hai cách này có cùng một hiệu quả sau khi reset hệ thống nhưng hiệu quả sẽ khác nếu IE được ghi giữa chương trình Cách thứ nhất không ảnh hưởng tới 5 bit trong thanh ghi IE, trái lại cách thứ hai sẽ xóa các bit khác Nên khởi trị IE theo cách thứ hai ở đầu chương trình (nghĩa là sau khi mở máy hoặc reset hệ thống), nhưng cho phép và cấm các ngắt ngay trong chương trình nên dùng cách thứ nhất để tránh ảnh hưởng đến các bit khác trong thanh ghi IE

Trang 39

Ngắt port nối tiếp có từ logic OR của ngắt thu (RI) và phát (TI) Các bit cờ tạo các ngắt được tóm tắt trong bảng sau:

Các vector ngắt (Interrupt Vectors):

Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt Các vector ngắt được cho bảng sau:

Bảng 3.6: Bảng các Vectơ ngắt

Trang 40

Vector Reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa này nó giống Interrupt: nó ngắt chương trình chính và nạp giá trị mới cho PC.

Khi “chỉ đến một ngắt”, cờ gây ra ngắt tự động bị xóa bởi phần cứng Các ngoại lệ là RI và TI với các ngắt port nối tiếp và TF2, EXF2 với các Interrupt Timer Vì có hai nguồn có thể cho mỗi ngắt này, không thực tế để CPU xóa cờ ngắt Các bit này phải được kiểm tra trong ISR để xác định nguồn ngắt và cờ tạo ngắt sẽ được xóa bằng phần mềm Thông thường một rẽ nhánh xảy ra với một phản ứng thích hợp, phụ thuộc vào nguồn ngắt

Vì các vector ngắt ở phần đầu của bộ nhớ chương trình, nên lệnh thứ nhất của chương trình chính thường là lệnh nhảy qua chương trình chính này Ví dụ như lệnh LJMP 0030H

 Chương trình phục vụ ngắt có kích thước nhỏ:

Các chương trình phục vụ ngắt phải bắt đầu ở gần phần đầu của bộ nhớ chương trình ở các địa chỉ trong bảng các vectơr ngắt Mặt dù có 8 byte ở các điểm vào ngắt, thường đủ bộ nhớ để thực hiện các hoạt động mong muốn và quay về chương trình chính từ IRS

Nếu chỉ có một nguồn ngắt được sử dụng, ví dụ timer 0, thì có thể sử dụng khung sau:

ORG 0000H ; Reset

LJMP MAIN

ORG 000BH ; điểm vào time 0

TOIRS: ; ISR cho time 0 bắt đầu

RETI ; quay về chương trình chính

MAIN: ; Chương trình chính

Ngày đăng: 22/11/2016, 18:59

HÌNH ẢNH LIÊN QUAN

1.4. SƠ ĐỒ KHỐI CỦA MẠCH: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
1.4. SƠ ĐỒ KHỐI CỦA MẠCH: (Trang 14)
Hình 3.1: Cấu trúc họ MSC - 51 - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Hình 3.1 Cấu trúc họ MSC - 51 (Trang 24)
Bảng 3.1: Chức năng của các chân Port 3 - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Bảng 3.1 Chức năng của các chân Port 3 (Trang 26)
Hình 3.3: Các khối bên trong của  IC 89C51 - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Hình 3.3 Các khối bên trong của IC 89C51 (Trang 29)
Hình 3.8: Sơ đồ khối bên trong MT8870 - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Hình 3.8 Sơ đồ khối bên trong MT8870 (Trang 44)
Bảng 3.8: Bảng mã chức năng - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Bảng 3.8 Bảng mã chức năng (Trang 47)
4.2.1. Sơ đồ nguyên lý: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.2.1. Sơ đồ nguyên lý: (Trang 54)
4.3.1. Sơ đồ nguyên lý: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.3.1. Sơ đồ nguyên lý: (Trang 57)
4.4.1. Sơ đồ nguyên lý mạch phát tiếng nói kết nối trong hệ thống: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.4.1. Sơ đồ nguyên lý mạch phát tiếng nói kết nối trong hệ thống: (Trang 58)
4.4.2. Sơ đồ nguyên lý mạch thu, phát tiếng nói: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.4.2. Sơ đồ nguyên lý mạch thu, phát tiếng nói: (Trang 59)
Hình 4.1 - Giản đồ quá trình thu một thông điệp - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Hình 4.1 Giản đồ quá trình thu một thông điệp (Trang 60)
Hình 4.2 - Giản đồ quá trình phát một thông điệp - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
Hình 4.2 Giản đồ quá trình phát một thông điệp (Trang 61)
4.6.1. Sơ đồ nguyên lý: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.6.1. Sơ đồ nguyên lý: (Trang 63)
4.7.1. Sơ đồ nguyên lý: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.7.1. Sơ đồ nguyên lý: (Trang 64)
4.10.1. Sơ đồ nguyên lý: - Thiết Kế  Mạch Báo Trộm Và Điều Khiển Thiết Bị Từ Xa Qua Mạng Điện Thoại (Kèm file+slide)
4.10.1. Sơ đồ nguyên lý: (Trang 67)

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