Bối cảnh và vấn đề nghiên cứu
Trong hệ thống viễn thông cố định truyền thống, hóa đơn cước viễn thông định kỳ thường chỉ liệt kê chi tiết các cuộc gọi đường dài (liên tỉnh, quốc tế) mà không hiển thị chi tiết các cuộc gọi nội hạt. Thay vào đó, cước gọi địa phương chỉ được tính gộp thành một tổng số tiền hoặc tổng thời lượng, khiến người sử dụng không thể kiểm tra, đối chiếu cụ thể số máy đã gọi, thời điểm và thời lượng từng cuộc gọi đi để quản lý chi phí phát sinh hàng tháng.
Khóa luận tốt nghiệp "Sử dụng vi điều khiển PIC 16F877A để thiết kế một mạch quản lý cuộc gọi đi" do sinh viên Vũ Tiến Chương thực hiện dưới sự hướng dẫn của PGS.TS Ngô Diên Tập tại Khoa Điện tử - Viễn thông, Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội (hoàn thành tháng 05/2008), tập trung giải quyết bài toán giám sát cuộc gọi thuê bao độc lập với máy tính cá nhân.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:
- Nghiên cứu cơ sở lý thuyết về nguyên lý hoạt động của máy điện thoại, phương thức tiếp dây và chuẩn tín hiệu đa tần số kép DTMF (Dual-Tone Multi-Frequency).
- Lựa chọn vi điều khiển điều khiển trung tâm (PIC16F877A) và các vi mạch chức năng phụ trợ phù hợp về công năng và chi phí.
- Thiết kế phần cứng hoàn chỉnh cho mạch quản lý cuộc gọi đi, bao gồm khối thu giải mã DTMF, khối thời gian thực, khối lưu trữ EEPROM, khối nguồn và khối giao tiếp.
- Lập trình vi điều khiển để tự động nhận dạng tín hiệu nhấc máy, giải mã số điện thoại, ghi nhận thời điểm bắt đầu - kết thúc cuộc gọi, lưu trữ dữ liệu vào EEPROM và hiển thị thông tin trực tiếp lên màn hình tinh thể lỏng (LCD).
- Thiết kế giao diện truyền thông nối tiếp để truyền dữ liệu cuộc gọi sang máy tính, cho phép xuất dữ liệu sang bảng tính Microsoft Excel nhằm phục vụ thống kê, phân loại và in ấn.
Đối tượng nghiên cứu của đề tài là hệ thống phần cứng và phần mềm nhúng quản lý tín hiệu trên đường dây thuê bao điện thoại cố định. Phạm vi nghiên cứu giới hạn ở việc giám sát, trích xuất và hiển thị thông tin các cuộc gọi đi (outgoing calls) tại nhánh thuê bao thông qua kết nối song song với đường dây thoại, không can thiệp vào quá trình chuyển mạch của tổng đài.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các khối kiến thức lý thuyết kỹ thuật điện tử, viễn thông và kỹ thuật vi điều khiển:
- Cấu tạo và nguyên lý điện thoại: Khái quát ba thành phần cơ bản của máy điện thoại gồm phần chuyển đổi mạch điện (tiếp điểm đóng mở mạch), phần thu phát tín hiệu gọi (máy phát magneto quay tay hoặc mạch chuông) và phần thu phát thoại (loa và micro chuyển đổi tín hiệu qua lại giữa sóng âm và dòng điện).
- Phân loại mạng điện thoại: Phân biệt máy điện thoại nhân công (máy từ thạch dùng nguồn pin cục bộ và máy phát chuông magneto; máy công điện dùng nguồn tổng đài 48V DC) và máy điện thoại tự động (liên lạc qua tổng đài bằng quay số/ấn phím, nguồn đàm thoại 48V hoặc 60V DC, nguồn gọi chuông 90–100V AC tần số 16–25Hz).
- Chuẩn tín hiệu DTMF (Dual-Tone Multi-Frequency): Tín hiệu âm thanh gồm tổ hợp hai tần số không cùng ước số chung (nằm trong dải 697 Hz đến 1633 Hz), được chuẩn hóa bởi ITU-T theo khuyến nghị Q-series (chuẩn Touch-Tone). Cấu trúc bàn phím chuẩn 12 phím (3 cột x 4 hàng) và mở rộng 16 phím (4 cột x 4 hàng) phân định rõ các tần số nhóm thấp và nhóm cao.
- Phương pháp nghiên cứu: Tác giả kết hợp phương pháp nghiên cứu lý thuyết thiết kế mạch điện tử với phương pháp thực nghiệm chế tạo phần cứng và phát triển phần mềm nhúng:
- Thiết kế sơ đồ nguyên lý và vẽ bản mạch in (PCB) bằng phần mềm chuyên dụng Altium Designer phiên bản 6.9346.
- Lập trình firmware điều khiển bằng ngôn ngữ C sử dụng trình biên dịch CCS PIC C Compiler phiên bản 3, tham khảo thư viện mẫu từ ccsinfo.
- Nạp chương trình trực tiếp lên chip vi điều khiển trên bo mạch (In-Circuit Serial Programming - ICSP) qua phần mềm nạp WinPic800.
- Kiểm tra thực nghiệm tín hiệu giải mã logic trên vi mạch MT8870 và kiểm thử khả năng hoạt động đồng bộ của toàn bộ bo mạch thực tế.
Thiết kế và triển khai
Hệ thống quản lý cuộc gọi đi được thiết kế dạng bo mạch phần cứng nhúng độc lập, kết nối song song với đường dây điện thoại thông qua 2 cổng jack cắm RJ11. Cấu trúc phần cứng và sơ đồ ghép nối vi điều khiển PIC16F877A được phân bổ chi tiết qua các khối chức năng:
| Khối chức năng |
Linh kiện / Chuẩn kỹ thuật |
Giao tiếp vi điều khiển PIC16F877A |
Chức năng kỹ thuật |
| Xử lý trung tâm |
PIC16F877A (Microchip) |
Đóng vai trò Master điều khiển |
Xử lý logic, đọc dữ liệu giải mã, cập nhật RTC, ghi EEPROM, xuất LCD và truyền thông RS-232. |
| Dao động hệ thống |
Thạch anh 20 MHz + tụ C12, C14 |
Chân 13 (OSC1) và chân 14 (OSC2) |
Cung cấp xung nhịp ổn định cho vi điều khiển hoạt động ở tần số tối đa 20 MHz. |
| Thu và giải mã DTMF |
IC chuyên dụng MT8870 + thạch anh 3.579545 MHz |
Port D (chân RD0 đến RD3), chân StD |
Nhận tín hiệu DTMF từ đường dây qua chân 2 (IN-), xuất mã nhị phân BCD 4-bit (Q1–Q4) sang Port D, báo phím nhấn qua chân StD. |
| Đồng hồ thời gian thực |
IC DS1307 (Dallas) + thạch anh 32.768 kHz + Pin 3V |
Port C: RC3 (SCL) và RC4 (SDA) |
Giao tiếp chuẩn nối tiếp I2C 2 dây; đếm giây, phút, giờ, ngày, tháng, năm đến năm 2100; tự động chuyển nguồn pin Lithium 3V khi mất điện. |
| Bộ nhớ lưu trữ |
EEPROM AT24C256 (dung lượng 256 kbit) |
Port C: RC3 (SCL) và RC4 (SDA) |
Giao tiếp I2C dùng chung bus với DS1307; lưu trữ danh bạ cuộc gọi gồm số điện thoại, ngày giờ và thời lượng gọi không bị mất dữ liệu. |
| Hiển thị thông tin |
Màn hình tinh thể lỏng LCD1602 (2 dòng x 16 ký tự) |
Port B: RB0 (E), RB1 (RS), RB2 (R/W), RB4÷RB7 (D4÷D7) |
Hoạt động ở chế độ 4-bit dữ liệu; điều chỉnh độ tương phản qua biến trở R6; dòng 1 (0x80–0x8F), dòng 2 (0xC0–0xCF). |
| Ghép nối máy tính |
IC chuyển đổi mức MAX232 + cổng COM DB9 |
Port C: RC6 (TX) và RC7 (RX) |
Giao tiếp nối tiếp không đồng bộ USART theo chuẩn RS-232; đọc dữ liệu cuộc gọi từ EEPROM truyền về máy tính. |
| Khối nguồn nuôi |
IC ổn áp LM7805 + tụ lọc C2, C3 + LED D3 |
Cấp nguồn VDD (+5V) tại chân 11, 32; VSS (GND) tại chân 12, 31 |
Cung cấp nguồn DC +5V ổn định cho toàn mạch; LED D3 báo trạng thái có nguồn. |
| Giao tiếp nạp chip |
Chuẩn nạp ICSP |
Chân 1 (MCLR/Vpp), RB6 (PGC), RB7 (PGD) |
Cho phép nạp chương trình trực tiếp vào bộ nhớ Flash 8KB của vi điều khiển mà không cần tháo chip khỏi mạch in. |
Quy trình hoạt động phần mềm được thiết lập theo vòng lặp điều khiển: Khi khởi động, vi điều khiển đọc thời gian thực từ DS1307 và hiển thị liên tục lên LCD. Khi có sự kiện nhấc máy và phát hiện tín hiệu bấm phím số từ đường dây điện thoại, chân StD của MT8870 chuyển lên mức logic 1, vi điều khiển đọc mã BCD 4-bit từ Port D, hiển thị số điện thoại tương ứng lên dòng LCD. Khi kết thúc cuộc gọi, hệ thống tính toán tổng thời gian đàm thoại, lưu trữ trọn vẹn bản ghi (số máy, thời điểm bắt đầu, thời lượng) vào EEPROM AT24C256. Dữ liệu từ EEPROM có thể trích xuất qua cổng COM RS-232 và nạp vào phần mềm Microsoft Excel theo bảng biểu định dạng sẵn.
Nội dung chính theo từng chương
Chương 1: Ý tưởng và cơ sở lý thuyết
Nội dung chương trình bày nguồn gốc ý tưởng xuất phát từ nhu cầu kiểm soát chi tiết cuộc gọi nội hạt để quản lý cước phí gia đình. Tác giả phân tích cấu tạo cơ bản của máy điện thoại (gồm ba bộ phận: mạch chuyển đổi mạch điện, phần thu phát tín hiệu gọi, phần thu phát thoại) và nguyên lý truyền sóng âm qua màng rung micro để tạo dòng điện biến thiên.
Chương 1 cũng trình bày phân loại các hệ thống điện thoại (từ thạch, công điện, tự động) cùng các tham số nguồn cấp (48V/60V đàm thoại, 90–100V gọi chuông tần số 16–25Hz). Trọng tâm lý thuyết là chuẩn tín hiệu DTMF với dải tần 697–1633 Hz trên băng thông thoại 3.5 kHz. Tác giả mô tả chi tiết ma trận bàn phím chuẩn 12 phím (3x4) và bàn phím mở rộng 16 phím (4x4), trong đó mỗi phím là sự kết hợp của một tần số nhóm thấp (hàng) và một tần số nhóm cao (cột), không cùng ước số chung nhằm tránh nhiễu với tiếng nói.
Chương 2: Sơ đồ khối và nguyên lý hoạt động
Chương này mô tả sơ đồ cấu trúc tổng thể của thiết bị gồm 8 khối chức năng: khối xử lý trung tâm, khối thu và giải mã DTMF, khối đồng hồ thời gian thực, khối hiển thị LCD, khối bộ nhớ EEPROM 256K, khối giao tiếp máy tính chuẩn RS-232, khối nguồn nuôi và khối cảm biến nhấc máy/giao tiếp đường dây.
Nguyên lý làm việc của toàn mạch được thiết lập theo cơ chế ghép nối song song với đường dây điện thoại để không làm gián đoạn liên lạc thuê bao. Tác giả chỉ rõ mối quan hệ hoạt động giữa các khối: nhận diện sự kiện nhấc máy, giải mã tín hiệu DTMF thành dữ liệu số, đối chiếu mốc thời gian thực từ DS1307, hiển thị trạng thái lên LCD1602, ghi dữ liệu vào EEPROM và hỗ trợ trích xuất dữ liệu định kỳ qua máy tính cá nhân.
Chương 3: Thiết kế mạch điện và thực nghiệm
Chương 3 trình bày toàn bộ quá trình hiện thực hóa đề tài từ thiết kế nguyên lý, bố trí mạch in đến lập trình nhúng và đánh giá thực nghiệm:
- Thiết kế nguyên lý từng khối: Trình bày chi tiết sơ đồ chân và linh kiện phụ trợ cho PIC16F877A, MT8870, DS1307, AT24C256, MAX232, LCD1602 và khối ổn áp 7805.
- Lập luận lựa chọn vi điều khiển: Tác giả so sánh chi tiết giữa họ vi điều khiển 8051 (như 89S52) và PIC16F877A. Mặc dù giá chip đơn lẻ của PIC16F877A cao hơn (khoảng 60.000 VNĐ so với 20.000 VNĐ của 89S52 tại thời điểm nghiên cứu), nhưng việc PIC tích hợp sẵn bộ nhớ EEPROM 256 byte, ADC 10-bit, PWM, bộ so sánh analog, giao tiếp I2C và đạt chuẩn công nghiệp (PI) thay vì chuẩn dân dụng (PC) giúp giảm thiểu số lượng linh kiện rời (như IC ADC0808/0809, Op-Amp), thu gọn kích thước bo mạch và giảm tổng chi phí thành phẩm.
- Thiết kế mạch in: Sử dụng Altium Designer 6.9346 để thiết kế bo mạch hoàn chỉnh, bố trí hợp lý các jack cắm nguồn, cổng DB9, jack RJ11 ở cạnh trên bo mạch, khu vực trung tâm bố trí các IC chức năng (MT8870, DS1307, AT24C256), khu vực dưới bố trí PIC16F877A, đế pin Lithium 3V và cổng nạp ICSP.
- Lập trình và nạp chương trình: Xây dựng lưu đồ thuật toán, biên dịch mã nguồn C bằng CCS PIC C Compiler v3 và nạp file
.hex vào chip qua phần mềm WinPic800 bằng chuẩn nạp nối tiếp ICSP.
- Thực nghiệm giải mã DTMF với IC MT8870: Bảng logic ngõ ra thực nghiệm xác nhận tính tương thích tuyệt đối giữa mã phím và tổ hợp 4-bit nhị phân:
| Phím bấm |
Chân TOE |
Chân INH |
Chân Est |
Ngõ ra Q4 |
Ngõ ra Q3 |
Ngõ ra Q2 |
Ngõ ra Q1 |
| Phím bất kỳ (chưa nhấn) |
L |
X |
H |
Z |
Z |
Z |
Z |
| Phím 1 |
H |
X |
H |
0 |
0 |
0 |
1 |
| Phím 2 |
H |
X |
H |
0 |
0 |
1 |
0 |
| Phím 3 |
H |
X |
H |
0 |
0 |
1 |
1 |
| Phím 4 |
H |
X |
H |
0 |
1 |
0 |
0 |
| Phím 5 |
H |
X |
H |
0 |
1 |
0 |
1 |
| Phím 6 |
H |
X |
H |
0 |
1 |
1 |
0 |
| Phím 7 |
H |
X |
H |
0 |
1 |
1 |
1 |
| Phím 8 |
H |
X |
H |
1 |
0 |
0 |
0 |
| Phím 9 |
H |
X |
H |
1 |
0 |
0 |
1 |
| Phím 0 |
H |
X |
H |
1 |
0 |
1 |
0 |
| Phím * |
H |
X |
H |
1 |
0 |
1 |
1 |
| Phím # |
H |
X |
H |
1 |
1 |
0 |
0 |
| Phím A |
H |
L |
H |
1 |
1 |
0 |
1 |
| Phím B |
H |
L |
H |
1 |
1 |
1 |
0 |
| Phím C |
H |
L |
H |
1 |
1 |
1 |
1 |
| Phím D |
H |
L |
H |
0 |
0 |
0 |
0 |
Khi nhấn và giữ phím, chân StD chuyển lên mức 1 và các chân Q1–Q4 duy trì mã BCD tương ứng; khi thả phím, StD trở về 0 và trạng thái mã hóa trước đó được duy trì trên các chân ra.
Phần phụ lục: Tổng quan kỹ thuật vi điều khiển PIC16F877A
Phần phụ lục cung cấp tài liệu kỹ thuật chi tiết về cấu trúc phần cứng của PIC16F877A: sơ đồ chân các chuẩn đóng vỏ DIP, PLCC, TQFP; tổ chức không gian bộ nhớ chương trình Flash 8KB (bộ đếm chương trình 13-bit, vectơ Reset tại 0000h, vectơ ngắt tại 0004h); tổ chức bộ nhớ dữ liệu RAM 368 byte chia thành 4 Bank (lựa chọn qua bit RP1:RP0 của thanh ghi STATUS); cấu tạo các thanh ghi chức năng đặc biệt và thanh ghi mục đích chung; cấu hình các cổng vào/ra (Port A: 6 chân, Port B: 8 chân có điện trở kéo lên và ngắt đổi trạng thái, Port C: 8 chân tích hợp module I2C/SPI/USART, Port D: 8 chân hỗ trợ chế độ Parallel Slave Port, Port E: 3 chân tích hợp ngõ vào analog); cùng nguyên lý hoạt động của các bộ định thời Timer0 (8-bit) và Timer1 (16-bit).
Kết quả và đóng góp
Kết quả chính đạt được
- Chế tạo hoàn thiện bo mạch phần cứng quản lý cuộc gọi đi nhỏ gọn, tích hợp đầy đủ các khối chức năng nguồn 7805 (+5V), chip giải mã DTMF MT8870, đồng hồ thời gian thực DS1307 có pin Lithium 3V dự phòng, bộ nhớ ngoài EEPROM AT24C256 (256K), vi điều khiển PIC16F877A thạch anh 20MHz, màn hình hiển thị LCD1602 chế độ 4-bit và cổng giao tiếp RS-232 dùng IC MAX232.
- Làm chủ quy trình thiết kế mạch in chuyên nghiệp bằng Altium Designer 6.9346 và công nghệ nạp phần mềm trực tiếp trên mạch ICSP với WinPic800.
- Xây dựng phần mềm điều khiển bằng C trên CCS PIC C Compiler phiên bản 3: tự động phát hiện cuộc gọi, hiển thị số gọi đi và ngày giờ lên 2 dòng LCD1602, ghi nhận chính xác thời điểm bắt đầu - kết thúc để lưu vào EEPROM không mất dữ liệu.
- Thiết lập định dạng dữ liệu đầu ra qua cổng COM (RS-232) tương thích để nhập trực tiếp vào Microsoft Excel, phục vụ việc phân loại và in ấn sao kê cước.
Giải pháp và kiến nghị
- Sử dụng phương thức đấu nối song song thiết bị với đường dây điện thoại, đảm bảo tính liên tục của thuê bao và không làm suy hao tín hiệu âm thoại.
- Tận dụng chuẩn giao tiếp I2C 2 dây dùng chung bus giữa khối thời gian thực DS1307 và bộ nhớ EEPROM AT24C256 trên các chân RC3, RC4 của PIC16F877A nhằm tiết kiệm chân vào/ra vi điều khiển.
Đóng góp kỹ thuật do tác giả tự nêu
- Đề xuất và chứng minh tính hiệu quả của giải pháp sử dụng dòng vi điều khiển PIC16F877A chuẩn công nghiệp (PI) thay cho vi điều khiển 8051 truyền thống trong các thiết kế nhúng dân dụng: tối ưu hóa phần cứng nhờ ngoại vi tích hợp sẵn, giảm kích thước bo mạch và hạ giá thành tổng thể khi sản xuất thành phẩm.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ rõ các mặt còn hạn chế và đề xuất phương hướng phát triển tiếp theo của hệ thống:
- Hạn chế: Thiết bị hiện tại vẫn phụ thuộc vào cổng truyền thông nối tiếp RS-232 (cổng COM) để truyền dữ liệu về máy tính và lưu trữ trên bộ nhớ EEPROM ngoài có dung lượng cố định, thao tác trích xuất dữ liệu yêu cầu kết nối cáp vật lý trực tiếp với máy tính.
- Hướng nghiên cứu tiếp:
- Cải tiến khối giao tiếp máy tính và lưu trữ bằng cách tích hợp khe cắm thẻ nhớ đa phương tiện MMC (MultiMediaCard) thay thế cho cổng nối tiếp RS-232 truyền thống.
- Do việc quản lý hệ thống tập tin và giao tiếp với thẻ nhớ MMC đòi hỏi dung lượng bộ nhớ RAM lớn của vi điều khiển, tác giả định hướng thay thế vi điều khiển PIC16F877A (RAM 368 Byte) bằng các dòng vi điều khiển có tài nguyên RAM lớn hơn như họ PIC18FX (dòng PIC18).
Giá trị tham khảo
Bản khóa luận là tài liệu học thuật và kỹ thuật có giá trị tham khảo cho sinh viên và kỹ sư ngành Điện tử – Viễn thông, Kỹ thuật Máy tính, Tự động hóa và Hệ thống Nhúng:
- Tham khảo thiết kế mạch viễn thông: Cung cấp sơ đồ nguyên lý chi tiết và phương pháp phối ghép IC giải mã DTMF chuyên dụng MT8870 với đường dây điện thoại cố định.
- Tham khảo thiết kế phần cứng nhúng: Hướng dẫn cấu hình phần cứng cho vi điều khiển PIC16F877A, thiết kế mạch nguồn ổn áp 7805, giao tiếp bus I2C với đồng hồ thời gian thực DS1307 và bộ nhớ EEPROM AT24C256, ghép nối màn hình LCD1602 ở chế độ 4-bit và mạch chuyển mức RS-232 MAX232.
- Tham khảo quy trình công nghệ: Minh họa phương pháp thiết kế bo mạch in bằng Altium Designer 6.9346, kỹ thuật lập trình C trên CCS PIC C Compiler và phương pháp nạp vi điều khiển qua cổng ICSP bằng WinPic800.
Câu hỏi thường gặp
1. Tại sao tác giả chọn vi điều khiển PIC16F877A thay vì vi điều khiển họ 8051 (như 89S52)?
Mặc dù chip đơn lẻ 89S52 có giá thấp hơn (khoảng 20.000 VNĐ so với 60.000 VNĐ của PIC16F877A), nhưng để đạt cùng tính năng, 89S52 phải gắn thêm các IC ngoại vi rời như ADC0808/0809, mạch khuếch đại thuật toán (Op-Amp) và EEPROM ngoài. PIC16F877A đã tích hợp sẵn ADC 10-bit 8 kênh, PWM, bộ so sánh analog, EEPROM 256 byte, đạt chuẩn công nghiệp (PI) thay vì chuẩn dân dụng (PC). Do đó, việc sử dụng PIC giúp bo mạch nhỏ gọn, dễ thiết kế, giảm chi phí linh kiện rời và tổng giá thành sản phẩm hoàn chỉnh rẻ hơn.
2. Tín hiệu DTMF được IC MT8870 giải mã thành dữ liệu gì để đưa vào vi điều khiển?
IC MT8870 nhận tín hiệu âm thanh DTMF từ đường dây qua chân 2 (IN-) và giải mã thành mã nhị phân BCD 4-bit xuất ra tại 4 chân Q1, Q2, Q3, Q4 (kết nối tới các chân RD0 đến RD3 của Port D trên PIC16F877A). Khi phát hiện có phím bấm hợp lệ, chân StD của MT8870 sẽ chuyển lên mức logic 1 để báo cho vi điều khiển nhận dữ liệu.
3. Thiết bị lưu trữ thông tin cuộc gọi vào đâu và dữ liệu có bị mất khi mất điện không?
Thông tin cuộc gọi (gồm số điện thoại, ngày giờ thực hiện, thời lượng đàm thoại) được lưu trữ vào bộ nhớ EEPROM ngoài IC AT24C256 có dung lượng 256K (kết nối chuẩn I2C qua chân RC3, RC4). Do sử dụng bộ nhớ EEPROM không bay hơi (non-volatile) kết hợp pin Lithium 3V nuôi riêng cho IC thời gian thực DS1307, toàn bộ dữ liệu cuộc gọi và thông tin thời gian không bị mất khi mất nguồn điện lưới.
4. Màn hình LCD1602 được ghép nối với vi điều khiển theo chế độ nào và qua cổng nào?
Màn hình LCD1602 được ghép nối với vi điều khiển qua Port B ở chế độ truyền dữ liệu 4-bit (chân RB4 đến RB7 kết nối với chân D4 đến D7 của LCD). Các chân điều khiển gồm: RB0 nối chân kích hoạt E, RB1 nối chân chọn thanh ghi RS, RB2 nối chân chọn đọc/ghi R/W (chân RB3 không sử dụng). Độ tương phản màn hình được điều chỉnh qua biến trở R6.
5. Tác giả đề xuất nâng cấp hệ thống như thế nào trong tương lai?
Tác giả đề xuất thay thế cổng truyền thông nối tiếp RS-232 bằng giao tiếp với thẻ nhớ MMC (MultiMediaCard) để lưu trữ và truyền xuất dữ liệu linh hoạt hơn. Đồng thời, do việc xử lý thẻ nhớ MMC cần nhiều dung lượng bộ nhớ RAM, hệ thống cần thay thế vi điều khiển PIC16F877A (RAM 368 Byte) bằng dòng vi điều khiển có dung lượng RAM lớn hơn như họ PIC18FX.
Kết luận
Khóa luận tốt nghiệp của tác giả Vũ Tiến Chương đã hoàn thành toàn diện việc nghiên cứu, thiết kế và chế tạo thực nghiệm mạch quản lý cuộc gọi đi trên đường dây điện thoại cố định sử dụng vi điều khiển trung tâm PIC16F877A. Hệ thống tích hợp đồng bộ các khối chức năng thu giải mã DTMF (MT8870), thời gian thực (DS1307), lưu trữ EEPROM (AT24C256), hiển thị LCD1602 và truyền thông máy tính qua chuẩn RS-232 để xuất dữ liệu sang Microsoft Excel. Toàn bộ thiết kế phần cứng mạch in trên Altium Designer và firmware viết bằng ngôn ngữ C trên trình biên dịch CCS đã được kiểm thử thực nghiệm hoạt động ổn định, cung cấp giải pháp kỹ thuật nhúng độc lập và tối ưu chi phí cho bài toán quản lý cước viễn thông thuê bao.