Bối cảnh và vấn đề nghiên cứu

Trong tiến trình công nghiệp hóa và tự động hóa sản xuất, việc thay thế các thao tác đo lường cơ học thủ công bằng các hệ thống điện tử có độ chính xác cao là một nhu cầu cấp thiết. Tại các trạm bán lẻ xăng dầu, phương thức đong đếm truyền thống bằng bình đong hoặc thiết bị đo cơ khí tồn tại nhiều hạn chế: dung tích bình chứa cố định dẫn đến việc phải đong nhiều lần khi khách hàng mua số lượng lớn vài chục lít, đồng thời khó đảm bảo độ chính xác khi khách hàng mua lượng xăng nhỏ dưới 1 lít.

Trước khi vi điều khiển được ứng dụng rộng rãi, việc thiết kế mạch đo lường tự động thường phải sử dụng các IC logic rời hoặc vi mạch ghép nối như 8255 kết hợp bộ nhớ RAM ngoài, khiến sơ đồ phần cứng trở nên cồng kềnh và phức tạp. Để giải quyết vấn đề này, đề tài "Thiết kế và thi công mạch tính tiền cây xăng dùng AT89C51 và giao tiếp máy tính" được thực hiện tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nhằm ứng dụng vi điều khiển họ MCS-51 kết hợp máy tính cá nhân để quản lý, đo lường và tính toán tự động quá trình cấp phát xăng dầu.

Đề tài xác định các nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu cấu trúc phần cứng, tập lệnh và tập thanh ghi chức năng đặc biệt của vi điều khiển AT89C51.
  2. Thiết kế và thi công phần cứng mạch tính tiền cây xăng gồm khối vi điều khiển trung tâm, khối hiển thị đa LED 7 đoạn, khối bàn phím ma trận, khối nguồn ổn áp và khối giao tiếp truyền thông.
  3. Nghiên cứu các phương thức giao tiếp ngoại vi của máy tính, lựa chọn chuẩn truyền thông nối tiếp RS-232 qua cổng COM và thiết kế mạch chuyển đổi mức tín hiệu bằng vi mạch MAX232.
  4. Xây dựng giải thuật và lập trình phần mềm cho vi điều khiển bằng hợp ngữ (Assembly) thông qua trình biên dịch ASM51; lập trình phần mềm giao diện giám sát, thống kê doanh thu trên máy tính bằng ngôn ngữ Delphi.
  5. Thi công mạch in hai mặt, lắp ráp, hàn linh kiện và tiến hành thử nghiệm hệ thống thực tế.

Đối tượng nghiên cứu trọng tâm là mạch điện tử tính tiền cây xăng và hệ thống truyền nhận dữ liệu với máy tính. Đề tài được thực hiện trong khung thời gian 14 tuần (từ ngày 13/10/2002 đến ngày 13/02/2003, hoàn thành bảo vệ tháng 03/2003) bởi nhóm sinh viên Lê Quan Minh Hiền và Tạ Xuân Phú dưới sự hướng dẫn của giảng viên Trương Thị Bích Ngà. Phạm vi đề tài giới hạn ở việc mô phỏng quá trình bơm xăng với ba chế độ: bơm theo số tiền đặt trước, bơm theo số lít đặt trước và bơm tự do; đồng thời gửi dữ liệu bán hàng về máy tính để thống kê theo ngày và tháng.


Cơ sở lý thuyết và phương pháp

Đề tài xây dựng trên nền tảng kiến trúc máy tính và kỹ thuật vi điều khiển, kết hợp với các lý thuyết truyền dữ liệu kỹ thuật số:

  • Họ vi điều khiển MCS-51 (AT89C51): Vi điều khiển 8-bit cấu trúc Harvard do hãng Intel phát triển, tích hợp 4 KB Flash EPROM, 128 Byte RAM nội, 4 cổng xuất nhập 8-bit (P0, P1, P2, P3), 2 bộ định thời/bộ đếm 16-bit (Timer 0, Timer 1), bộ thu phát nối tiếp UART song công (Full-duplex) và hệ thống ngắt gồm 5 vector ngắt.
  • Lý thuyết truyền thông nối tiếp RS-232C: Chuẩn giao tiếp truyền dữ liệu nối tiếp bất đồng bộ (UART) với khung truyền chuẩn (gồm 1 bit Start, 8 bit Data, 1-2 bit Stop và bit Parity tùy chọn). Khảo sát cơ chế chuyển đổi mức logic điện áp giữa chuẩn RS-232C (mức logic 0 từ $+3\text{V}$ đến $+15\text{V}$, logic 1 từ $-3\text{V}$ đến $-15\text{V}$) và mức logic TTL ($0\text{V} - 5\text{V}$) của vi điều khiển.
  • Phương pháp nghiên cứu:
    • Phương pháp nghiên cứu lý thuyết: Tự tham khảo, phân tích tài liệu kỹ thuật về kiến trúc vi điều khiển AT89C51, cấu trúc bộ nhớ, thanh ghi điều khiển cổng nối tiếp (SCON), thanh ghi điều khiển nguồn (PCON), thanh ghi cho phép ngắt (IE) và các chuẩn giao tiếp máy tính (Slot-Card ISA/PCI, cổng song song LPT IEEE 1284, cổng nối tiếp COM).
    • Phương pháp thực nghiệm: Thử nghiệm từng khối chức năng trên Testboard; lập trình và biên dịch mã nguồn Assembly trên máy tính, sử dụng mạch nạp Flash để nạp chương trình kiểm tra hoạt động của vi điều khiển và viết phần mềm giao tiếp trực tiếp qua cổng COM1.
Phân loại cổng giao tiếp Tốc độ truyền Số đường truyền dữ liệu Khoảng cách truyền Độ phức tạp phần cứng
Slot-Card (ISA/PCI) Rất cao (truyền bus song song) 8/16/32/64 đường Rất ngắn (trong thùng máy) Phức tạp, phải mở vỏ máy
Cổng song song (LPT) Cao ($50 - 100\text{ KB/s}$, EPP/ECP nhanh hơn) 8 đường dữ liệu Ngắn ($< 3\text{ m}$) Cần cáp nhiều lõi, kiểm soát bắt tay chặt chẽ
Cổng nối tiếp (COM - RS-232) Trung bình/Thấp ($1200 - 19200\text{ bps}$) 2 đường (TXD, RXD) Dài ($> 20\text{ m}$) Đơn giản, dùng IC chuyển mức MAX232

Từ bảng phân tích so sánh, phương án giao tiếp qua cổng COM nối tiếp được lựa chọn do đáp ứng tốt khoảng cách truyền dẫn, giảm thiểu số lượng dây cáp kết nối và tối ưu chi phí phần cứng.


Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc module hóa gồm 5 khối chức năng chính liên kết chặt chẽ:

[Khối giao tiếp MAX232] <---> [Khối điều khiển AT89C51] ---> [Khối hiển thị 16 LED 7 đoạn]
                                     ^               \---> [Rơle / LED chỉ thị bơm]
                                     |
                             [Khối bàn phím]
                                     ^
                             [Khối nguồn 5V/12V]

1. Thiết kế phần cứng

  • Khối điều khiển trung tâm: Sử dụng vi điều khiển AT89C51 với thạch anh dao động $12\text{ MHz}$ và mạch tạo trễ Reset bằng tay gồm tụ hóa $10\ \mu\text{F}$, điện trở $8.2\text{ k}\Omega$. Cổng Port 0 và Port 2 đảm nhiệm chức năng xuất dữ liệu và điều khiển quét hiển thị; Port 1 nhận tín hiệu từ bàn phím ma trận; Port 3 (chân P3.0 RXD và P3.1 TXD) truyền nhận dữ liệu với máy tính; chân P2.6 nhận tín hiệu cò bơm (Start) và P2.7 điều khiển đóng/ngắt Rơle bơm xăng.
  • Khối hiển thị: Sử dụng 16 LED 7 đoạn Anode chung chia thành 2 hàng hiển thị (8 LED hiển thị số tiền và 8 LED hiển thị số lít). Phương pháp quét LED theo thời gian được áp dụng để tiết kiệm chân vi điều khiển.
    • IC đệm dữ liệu: IC 74245 (Transceiver 8-bit hai chiều) kết hợp trở kéo lên $4.7\text{ k}\Omega$ tại Port 0 để nâng dòng kích thanh LED. Điện trở hạn dòng thanh LED được tính toán với dòng mong muốn $10\text{ mA}$: $$R = \frac{V_{CC} - V_{LED}}{I_{LED}} = \frac{5\text{V} - 1.8\text{V}}{10\text{ mA}} = 320\ \Omega \longrightarrow \text{Chọn điện trở thực tế } R = 330\ \Omega$$ Dòng thực tế qua mỗi thanh LED đạt: $$I = \frac{5\text{V} - 1.8\text{V}}{330\ \Omega} \approx 9.6\text{ mA}$$
    • IC giải mã quét: IC 74154 (giải mã 4 đường sang 16 đường) nối với chân P2.0 - P2.3, điều khiển mở 16 Transistor thuận A564 cấp nguồn Anode cho từng LED. Điện trở phân cực cực B của Transistor A564 được tính với hệ số khuếch đại $\beta = 40$: $$R_B = \frac{V_{CC} - V_{BE} - V_{OL}}{I_B} = \frac{5\text{V} - 0.8\text{V} - 0.2\text{V}}{\frac{10\text{ mA} \times 8}{40}} = \frac{4.0\text{V}}{2\text{ mA}} = 2\text{ k}\Omega \longrightarrow \text{Chọn } R_B = 10\text{ k}\Omega \text{ để đảm bảo bão hòa.}$$
  • Khối bàn phím: Ma trận 16 phím nối với Port 1 (P1.0 - P1.3 nối cột qua trở mạng, P1.4 - P1.7 nối hàng) gồm 10 phím số ($0 - 9$), phím Nhập tiền (M), phím Nhập lít (L), phím Bơm tự do (FR), phím Xác nhận (E/Enter), phím Xóa (SET) cùng nút nhấn Reset và nút Start (mô phỏng cò bơm).
  • Khối nguồn: Sử dụng biến áp hạ áp $220\text{V}{AC} \rightarrow 12\text{V}{AC}$, chỉnh lưu cầu diode và IC ổn áp 7805 cấp điện áp $5\text{V}_{DC}$ dòng $1\text{A}$. Dung tích tụ lọc nguồn được tính với độ nhấp nhô điện áp $r = 10%$ và điện trở tải tương đương $R_L = \frac{18\text{V}}{1\text{A}} = 18\ \Omega$: $$C = \frac{1}{4\sqrt{3} \times R_L \times f \times r} = \frac{1}{4\sqrt{3} \times 18 \times 50 \times 0.1} \approx 1600\ \mu\text{F} \longrightarrow \text{Chọn tụ tiêu chuẩn } C = 2200\ \mu\text{F}/25\text{V}$$
  • Khối giao tiếp máy tính: Sử dụng IC MAX232 kết hợp 4 tụ hóa $10\ \mu\text{F}$ để chuyển đổi mức logic giữa cổng COM1 (chuẩn RS-232, đầu cắm DB9) và chân P3.0/P3.1 của vi điều khiển AT89C51.

2. Thiết kế phần mềm và cấu trúc bộ nhớ

  • Phần mềm vi điều khiển (Assembly ASM51):
    • Khởi tạo Timer 1 hoạt động ở Chế độ 2 (8-bit tự nạp lại) để tạo tốc độ Baud cho cổng nối tiếp: thanh ghi TMOD = 20H, giá trị nạp TH1 = 0FAH, thanh ghi điều khiển SCON = 50H (UART Chế độ 1: 8-bit dữ liệu, cho phép thu REN = 1), PCON = 80H (nhân đôi tốc độ Baud với SMOD = 1).
    • Phân vùng ô nhớ RAM nội: 40H - 43H (vùng nhớ đệm nhập tiền), 44H - 47H (vùng nhớ đệm nhập lít), 60H - 67H (vùng nhớ lưu 8 chữ số tiền), 68H - 6FH (vùng nhớ lưu 8 chữ số lít), 70H - 77H (vùng đếm tiền và giải mã), 78H - 7FH (vùng đếm lít và giải mã), 50H - 5FH (vùng nhớ lưu mã 7 đoạn sau giải mã).
    • Thuật toán chuyển đổi thể tích sang số tiền thực hiện phép nhân theo đơn giá định mức $5.300\text{ đồng/lít}$ bằng chương trình cộng dồn liên tiếp kết hợp hiệu chỉnh thập phân DA A.
  • Phần mềm giao diện máy tính (Delphi):
    • Xây dựng giao diện đồ họa hiển thị đồng bộ các thông số tiền và lít với mạch phần cứng theo thời gian thực.
    • Tích hợp chức năng Báo cáo và Tính tổng: Cho phép người quản lý lựa chọn mốc thời gian bắt đầu và kết thúc để truy vấn tổng doanh thu và tổng số lít xăng đã bán được trong ngày hoặc trong tháng từ cơ sở dữ liệu.

Nội dung chính theo từng chương

Chương 1: Dẫn nhập

Trình bày tính cấp thiết của việc tự động hóa quá trình đo lường và bán xăng dầu trong bối cảnh phát triển công nghiệp. Nêu rõ mục đích nghiên cứu, tầm quan trọng của việc ứng dụng vi điều khiển AT89C51 nhằm đơn giản hóa thiết kế phần cứng so với các mạch số truyền thống. Xác định giới hạn đề tài ở mức thi công mô hình phần cứng tính tiền 3 chế độ kết hợp phần mềm giám sát qua cổng COM trên máy tính.

Chương 2: Cơ sở lý luận

Xây dựng dàn ý nghiên cứu hệ thống, xác định đối tượng nghiên cứu trọng tâm và lập kế hoạch triển khai đề tài trong 14 tuần (từ tuần lập đề cương, thu thập tài liệu, thi công phần cứng, lập trình phần mềm đến hiệu chỉnh và in ấn báo cáo). Trình bày phương pháp tự nghiên cứu tài liệu kết hợp thực nghiệm đo đạc trực tiếp trên mạch.

Chương 3: Khảo sát vi điều khiển 8951

Khảo sát chi tiết phần cứng họ vi điều khiển MCS-51 (Intel): sơ đồ 40 chân, chức năng từng cổng xuất nhập (Port 0 đến Port 3), chân điều khiển $\overline{\text{PSEN}}$, ALE, $\overline{\text{EA}}$, RST. Phân tích cấu trúc bộ nhớ trong gồm $4\text{ KB}$ Flash ROM và $128\text{ Byte}$ RAM nội (chia thành 4 bank thanh ghi $00\text{H} - 1\text{FH}$, vùng RAM định vị bit $20\text{H} - 2\text{FH}$, RAM đa dụng $30\text{H} - 7\text{EH}$ và 21 thanh ghi chức năng đặc biệt SFR từ $80\text{H}$ đến $\text{FFH}$). Khảo sát cơ chế hoạt động của cổng nối tiếp UART qua thanh ghi SCON, PCON, các chế độ tạo tốc độ Baud bằng Timer 1 và bảng quản lý 5 vector ngắt.

Chương 4: Thiết kế phần cứng

Phân tích chi tiết yêu cầu kỹ thuật và hiện thực hóa sơ đồ nguyên lý cho 5 khối chức năng. Trình bày chi tiết các công thức tính toán thông số linh kiện: chọn trở hạn dòng $330\ \Omega$ cho LED 7 đoạn, tính trở phân cực cực B ($10\text{ k}\Omega$) cho Transistor quét LED A564, tính chọn tụ lọc nguồn $2200\ \mu\text{F}$ cho biến áp và IC ổn áp 7805. Thiết lập sơ đồ ghép nối ma trận bàn phím 16 phím vào Port 1 và mạch giao tiếp vi điều khiển với IC MAX232.

Chương 5: Giao tiếp máy tính

Khảo sát ưu nhược điểm của 3 phương thức giao tiếp máy tính: Slot-Card (ISA/PCI), cổng song song LPT (chuẩn IEEE 1284 với các chế độ Centronics, Nibble, Byte, EPP, ECP) và cổng nối tiếp COM (RS-232C). Trình bày lý do lựa chọn cổng COM, phân tích cấu trúc khung truyền bất đồng bộ (Start bit, Data bit, Stop bit, Parity bit), sơ đồ 9 chân cổng COM và sơ đồ đấu nối vi mạch biến đổi mức điện áp MAX232 với AT89C51.

Chương 6: Thiết kế phần mềm

Quy định hướng dẫn sử dụng các phím bấm chức năng trên mạch và giới thiệu giao diện phần mềm trên PC. Lý giải việc chọn ngôn ngữ Delphi nhờ tính trực quan, kế thừa từ Pascal và hỗ trợ giao tiếp cổng COM tốt. Xây dựng chi tiết lưu đồ thuật toán tổng quát, lưu đồ bơm xăng theo số tiền đặt trước, lưu đồ bơm xăng theo số lít đặt trước, lưu đồ bơm xăng tự do và lưu đồ chương trình truyền nhận dữ liệu nối tiếp trên máy tính.

Chương 7: Thi công

Trình bày quy trình chế tạo mạch thực tế qua các giai đoạn: thử nghiệm từng phần trên Testboard, vẽ thiết kế mạch in hai mặt bằng phần mềm chuyên dụng, sắp xếp linh kiện, tối ưu hóa đường mạch và phủ mass. Mô tả quy trình gia công mạch in, khoan lỗ xuyên mạch (via), lắp ráp linh kiện với đế cắm IC chống quá nhiệt khi hàn chì. Trình bày phương pháp biên dịch hợp ngữ bằng ASM51, nạp mã vào AT89C51 và liên kết với phần mềm Delphi trên máy tính.

Chương 8: Tóm tắt - Kết luận - Đề nghị

Tổng kết toàn bộ kết quả nghiên cứu, khẳng định đề tài đã thiết kế và thi công thành công hệ thống mạch tính tiền cây xăng kết nối máy tính đáp ứng đầy đủ mục tiêu đề ra. Nêu các đề xuất hoàn thiện: bổ sung 4 LED 7 đoạn hiển thị đơn giá xăng trực tiếp trên mạch, phát triển thuật toán chuyển đổi mã BCD/HEX để thay đổi đơn giá linh hoạt, bổ sung bàn phím điều khiển ảo trên giao diện Delphi và mở rộng giao tiếp song song tốc độ cao.


Kết quả và đóng góp

Hệ thống sau khi thi công và thử nghiệm đạt được các thông số kỹ thuật và kết quả vận hành cụ thể:

  • Phần cứng hoàn chỉnh: Chế tạo thành công mạch in hai mặt hoạt động ổn định, khối hiển thị 16 LED 7 đoạn quét rõ nét, không bị nhấp nháy; khối nguồn 7805 duy trì điện áp $5\text{V}$ ổn định với độ nhấp nhô dưới $10%$.
  • Khả năng vận hành đa chế độ:
    • Chế độ bơm theo số tiền: Cho phép nhập số tiền mong muốn qua bàn phím, nhấn nút Start để đóng Rơle kích hoạt bơm (LED báo sáng), mạch tự động đếm tiền, hiển thị đồng thời số lít tương ứng và tự động ngắt Rơle khi số tiền đếm đạt giá trị cài đặt.
    • Chế độ bơm theo số lít: Cho phép nhập số lít đặt trước, vi điều khiển tự động quy đổi ra số tiền theo đơn giá định mức ($5.300\text{ VNĐ/lít}$), điều khiển bơm và dừng chính xác khi đủ thể tích.
    • Chế độ bơm tự do: Nhấn giữ nút Start (mô phỏng thao tác bóp cò bơm thực tế) để bơm liên tục, nhả nút Start thì Rơle ngắt; mạch hiển thị chính xác tổng số tiền và số lít đã bơm.
  • Giới hạn đo lường của hệ thống:
    • Số tiền hiển thị và xử lý tối đa trên 8 LED 7 đoạn: $99.999.999\text{ đồng}$.
    • Thể tích xăng hiển thị và xử lý tối đa tương ứng trên 8 LED 7 đoạn: $18.867\text{ lít}$ (tính theo đơn giá $5.300\text{ đồng/lít}$).
  • Khả năng quản lý dữ liệu: Truyền nhận dữ liệu tin cậy qua cổng COM1 với IC MAX232 ở khoảng cách trên $20\text{ m}$. Phần mềm Delphi ghi nhận chính xác từng lần bơm, gắn nhãn ngày giờ hệ thống và hỗ trợ truy xuất tổng doanh thu theo khoảng thời gian tùy chọn.

Hạn chế và hướng nghiên cứu tiếp

Căn cứ vào giới hạn được tác giả nêu trong văn bản, đồ án còn một số điểm chưa hoàn thiện:

  1. Mạch phần cứng chưa bố trí khối hiển thị đơn giá độc lập (cần bổ sung thêm 4 LED 7 đoạn để hiển thị đơn giá xăng dầu tại thời điểm bán).
  2. Chưa lập trình hoàn chỉnh chương trình chuyển đổi giữa số BCD và số Hex để phục vụ tính năng thay đổi đơn giá xăng linh hoạt trên mạch hoặc từ máy tính.
  3. Phần mềm giao diện Delphi trên máy tính chưa tích hợp bàn phím điều khiển ảo để thực hiện thao tác kích hoạt bơm xăng trực tiếp từ xa tương tự như bàn phím phần cứng.
  4. Giao thức truyền thông mới chỉ ứng dụng cổng nối tiếp COM; hướng phát triển tiếp theo có thể mở rộng sang các chế độ cổng song song cải tiến (Byte, EPP, ECP) theo chuẩn IEEE 1284 để nâng cao tốc độ truyền dữ liệu.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên và cán bộ kỹ thuật thuộc các ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Máy tính, Cơ điện tử và Tự động hóa.

Các nội dung có giá trị tham khảo kỹ thuật cao bao gồm:

  • Sơ đồ nguyên lý và công thức tính toán chi tiết mạch quét hiển thị ma trận 16 LED 7 đoạn sử dụng kết hợp IC giải mã 74154, IC đệm dòng 74245 và mạng Transistor A564.
  • Phương pháp phối ghép phần cứng và cấu hình các thanh ghi vi điều khiển 8051 (SCON, TMOD, PCON, IE) để thiết lập cổng truyền thông nối tiếp bất đồng bộ UART qua vi mạch MAX232.
  • Toàn bộ mã nguồn hợp ngữ (Assembly) trong phần phụ lục minh họa kỹ thuật quét phím ma trận, giải mã LED 7 đoạn trực tiếp, thuật toán tính toán cộng dồn số học BCD và chương trình ngắt truyền nhận dữ liệu.
  • Kỹ thuật xây dựng phần mềm giám sát trên máy tính bằng Delphi kết nối với thiết bị nhúng vi điều khiển.

Câu hỏi thường gặp

1. Vi điều khiển AT89C51 tạo tốc độ Baud cho cổng nối tiếp bằng cách nào?
Tốc độ Baud được tạo ra bằng cách sử dụng bộ định thời Timer 1 hoạt động ở Chế độ 2 (8-bit tự động nạp lại). Tần số tràn của Timer 1 được cấu hình qua thanh ghi TMOD = 20H và giá trị nạp TH1 = 0FAH. Tốc độ Baud còn chịu ảnh hưởng bởi bit SMOD (bit 7 của thanh ghi PCON); khi thiết lập SMOD = 1, tốc độ Baud sẽ được nhân đôi.

2. Tại sao mạch hiển thị 16 LED 7 đoạn cần sử dụng cả IC 74245 và IC 74154?
Do Port 0 của AT89C51 có dòng ra rất nhỏ không đủ kéo sáng đồng thời các thanh LED, mạch sử dụng IC 74245 làm bộ đệm dòng hai chiều kết hợp trở kéo lên $4.7\text{ k}\Omega$ để cấp dòng cho các đoạn LED (mỗi đoạn cần khoảng $9.6 - 10\text{ mA}$). Đồng thời, IC giải mã 74154 (4 đường sang 16 đường) nhận tín hiệu từ chân P2.0 - P2.3 để quét kích hoạt lần lượt từng LED qua Transistor thuận A564, giúp tiết kiệm tối đa số chân xuất nhập của vi điều khiển.

3. Giới hạn số tiền và số lít xăng tối đa mà mạch có thể hiển thị và xử lý là bao nhiêu?
Mạch sử dụng 8 LED 7 đoạn cho phần hiển thị tiền và 8 LED 7 đoạn cho phần hiển thị lít. Do đó, số tiền tối đa có thể nhập và xử lý là $99.999.999\text{ đồng}$. Với đơn giá xăng quy ước trong chương trình là $5.300\text{ đồng/lít}$, thể tích xăng tối đa mà mạch có thể đong đếm và xử lý chính xác là $18.867\text{ lít}$.

4. Vì sao hệ thống bắt buộc phải sử dụng vi mạch MAX232 giữa máy tính và vi điều khiển?
Tín hiệu truyền ra từ cổng COM (chuẩn RS-232) của máy tính PC sử dụng mức điện áp lưỡng cực từ $-12\text{V}$ đến $+12\text{V}$ (hoặc $-15\text{V}$ đến $+15\text{V}$), không tương thích và có thể gây hỏng vi điều khiển AT89C51 (hoạt động ở mức điện áp chuẩn TTL $0\text{V} - 5\text{V}$). Vi mạch MAX232 đóng vai trò biến đổi mức điện áp RS-232 sang mức TTL cho vi điều khiển và ngược lại, đảm bảo an toàn và khoảng cách truyền xa trên $20\text{ m}$.


Kết luận

Đồ án tốt nghiệp "Thiết kế và thi công mạch tính tiền cây xăng dùng AT89C51 và giao tiếp máy tính" đã giải quyết trọn vẹn bài toán ứng dụng vi điều khiển 8-bit họ MCS-51 vào hệ thống đo lường và cấp phát nhiên liệu tự động. Nhóm tác giả đã hoàn thành việc thiết kế, tính toán thông số kỹ thuật và thi công mạch in hai mặt hoạt động ổn định với ba chế độ bơm xăng thực tế. Đồng thời, hệ thống đã thiết lập thành công đường truyền dữ liệu nối tiếp RS-232 qua cổng COM, kết hợp với giao diện phần mềm Delphi trên máy tính để phục vụ công tác quản lý và thống kê doanh thu bán hàng chính xác.