Trong một hệ thống tổng đài nhân cơng, các cuộc gọi thành cơng đều được ghi nhận cước cho thuê bao chủ yếu là khi kết thúc cuộc gọi. Về mặt lý thuyết thể theo nguyên tắc mà các mạch trong hệ thống điện thoại tự động bằng cách sắp xếp cho các tín hiệu giải tỏa từ thuê bao trong các cuộc gọi thành cơng khởi đầu việc tính cước ngay sau khi giải tỏa dãy bộ chọn.
Tuy nhiên, phương pháp này sẽ tăng thời gian kềm giữ, giám sát và sẽ ngăn chặn thuê bao tiếp nhận cuộc gọi thứ hai ngay sau khi thuê bao thứ nhất được giải tỏa. Trong hệ thống trả lời tự động một số phương thức tiêu chuẩn là tính cước cuộc gọi khi thuê bao bị gọi trả lời, nghĩa là khi thuê bao bị gọi trả lời, nghĩa là khi bắt đầu thời gian đàm thoại, các đồng hồ tính cước sẽ hoạt động và được lập trình để ghi nhận “một đơn vị tính cước”.
Điều quan trọng là các mạch tính cước của tổng đài điện thoại tự động phải cĩ độ tin cậy cao và phải đảm bảo tránh tình trạng hoạt động bất thường của đồng hồ tính cước do nhiều nguyên nhân khách quan.
Kỹ thuật tính cước:
Cĩ hai phương pháp tính cước: tính theo xung và tính theo hĩa đơn chi tiết.
Tính cước theo xung:
Theo phương pháp này vào thời điểm tính cước cuộc gọi, nguồn xung được nối đến đồng hồ đếm xung và xung bắt đầu được đếm. Đĩ là phương thức đếm xung theo nguyên lý karlsson. Theo phương pháp này thì cĩ một xung vào lúc khởi đầu hay kết thúc cuộc gọi và xung đầu tiên khơng được tính.
Hĩa đơn chi tiết:
Theo phương pháp này thì số cuộc gọi được liệt kê: số của thuê bao gọi, số của thuê bao bị gọi, ngày, giờ, loại dịch vụ và giá cước.
Tính cước bằng phương pháp đảo cực nguồn điện: một tín hiệu giám sát được gởi đến điện thoại viên bằng cách đảo cực dịng điện trên đường dây bằng tín hiệu ngược lại khi thuê bao trả lời.
Tính cước bằng phương pháp dùng dây thứ 4 trong mạch: đây là phương pháp dùng
nguồn âm trên dây thứ 4. Phương pháp này được ưa chuộng do cĩ xác suất thấp trong việc đặt ngẫu nhiên tín hiệu tính cước trên đường dây thứ 4.
Tính cước bằng phương pháp đếm xung: sau khi tổng đài thực hiện việc kết nối giữa
hai thuê bao, tổng đài sẽ cấp các tone gián đoạn cĩ tần số quy định trước. Trong khoảng thời gian quy định là đơn vị cơ bản để tính cước thì số tone hiện diện trong một đơn vị thời gian cơ bản sẽ tỷ lệ với giá cước. Như vậy tùy theo khoảng cách của hai thuê bao mà số tone trong một đơn vị thời gian sẽ khác nhau. Khi ta gọi đến một vùng càng xa thì số tone nhận được trong một đơn vị thời gian càng nhiều. Bộ phận tính cước cĩ nhiệm vụ đếm số tone này và quy ra thành tiền.
Tính cước bằng phương pháp phát hiện Ring Back Tone: trong hai cách tính trước
thuê bao phải được tổng đài cấp cho dịch vụ: tín hiệu đảo cực hay xung tuần hồn. Tại những thuê bao khơng cĩ hai dịch vụ trên ta cĩ thể phát hiện thơng thoại bằng cách kiểm tra tín hiệu hồi âm chuơng (RingBack). Ta biết rằng khi quay số xong tổng đài sẽ gởi tín hiệu chuơng đến thuê bao được gọi (cĩ tần số 25Hz) và tín hiệu hồi âm chuơng về thuê bao gọi (tần số 425Hz) với chu kỳ bằng nhau: 2s cĩ 4s khơng. Khi thuê bao nhấc máy thì tín hiệu RingBack sẽ bị mất. Do đĩ phát hiện hồi âm chuơng sẽ là phát hiện thơng thoại, và ta sẽ tính cước kể từ lúc này.
IV. MÃ VÙNG CỦA CÁC TỈNH, THÀNH PHỐ TRONG CẢ NƯỚC:
STT Tên Tỉnh/ Thành Phố Mã Vùng STT Tên Tỉnh/ Thành Phố Mã Vùng
01 An Giang 076 33 Kiên Giang 077
02 Bạc Liêu 0781 34 Kom Tum 060
03 Bà Rịa – Vũng Tàu 064 35 Lai Châu 0231
04 Bắc Cạn 0281 36 Lạng Sơn 025
05 Bắc Giang 0240 37 Lào Cai 020
06 Bắc Ninh 0241 38 Lâm Đồng 063
07 Bến Tre 075 39 Long An 072
08 Bình Dương 0650 40 Nam Định 0350
09 Bình Định 056 41 Nghệ An 038
10 Bình Phước 0651 42 Ninh Bình 030
11 Bình Thuận 062 43 Ninh Thuận 068
13 Cà Mau 0780 45 Phú Yên 057
14 Cần Thơ 0710 46 Quãng Bình 052
15 Đà Nẵng 0511 47 Quãng Nam 0510
16 Đắc Lắc 0500 48 Quãng Ngãi 055
17 Đắc Nơng 0501 49 Quãng Ninh 033
18 Điện biên 0230 50 Quãng Trị 053
19 Đồng Nai 061 51 Sĩc Trăng 079
20 Đồng Tháp 067 52 Sơn La 022
21 Gia Lai 059 53 Tây Ninh 066
22 Hậu Giang 0219 54 Thái Bình 036
23 Hà Nam 0351 55 Thái Nguyên 0280
24 Hà Nội 04 56 Thanh Hố 037
25 Hà Tây 034 57 Thừa Thiên Huế 054
26 Hà Tỉnh 039 58 Tiền Giang 073
27 Hải Dương 0320 59 Trà Vinh 074
28 Hải Phịng 031 60 Tuyên Quang 027
29 Hà Giang 0711 61 Vĩnh Long 070
30 Hịa Bình 0218 62 Vĩnh Phúc 0211
31 Hưng Yên 0321 63 Yên Bái 029
32 Khánh Hịa 058
PHẦN III:
TÌM HIỂU VỀ 8051 VÀ PHƯƠNG THỨC GIAO
TIẾP QUA RS_232 BẰNG IC 89C51
CHƯƠNG I:
CẤU TẠO HỌ VI ĐIỀU KHIỂN 8051
I. TỔNG QUÁT:
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất. Các IC tiêu biểu cho họ là 8051. Các sản phẩm MCS-51 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên Byte và các thuật tốn số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 Bit gồm cả lệnh nhân và lệnh chia. Nĩ cung cấp những hỗ trợ mở rộng trên Chip dùng cho những biến một Bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra Bit trực tiếp trong điều khiển và những hệ thống logic địi hỏi xử lý kiểu luận lý.
8951 là một vi điều khiển 8 Bit, chế tạo theo cơng nghệ CMOS chất lượng cao, cơng suất thấp với 4KB EPROM (Flash Programmable And Erasable Read Only Memory). Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ khơng bốc hơi mật độ cao của ATMEL và tương thích với chuẩn cơng nghiệp MCS-51 về tập lệnh và các chân ra. EPROM ON-CHIP cho phép bộ nhớ được lập trình trong hệ thống hoặc bởi một lập trình viên bình thường. Bằng cách kết hợp một CPU 8 Bit với một EPROM trên một Chip đơn, ATMEL 8951 là một vi điều khiển mạnh (cĩ cơng suất lớn) mà nĩ cung cấp một sự linh động cao và giải pháp về giá cả đối với nhiều ứng dụng vi điều khiển.
8951 cung cấp những đặc tính chuẩn như sau: 4KB bộ nhớ chỉ đọc cĩ thể xĩa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIMER/COUNTER 16 Bit, 5 véctơ ngắt cĩ cấu trúc ngắt, một Port nối tiếp bán song cơng, một mạch dao động tạo xung Clock và bộ dao động ON-CHIP. Thêm vào đĩ, 8951 được thiết kế với logic tĩnh cho họat động đến mức khơng tần số và hỗ trợ 2 phần mềm cĩ thể lựa chọn những chế độ tiết kiệm cơng suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trong khi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ thống ngắt liên tục hoạt động. Chế độ giảm cơng suất sẽ lưu nội dung RAM nhưng sẽ treo bộ dao động làm mất khả năng hoạt động của tất cả những chức năng khác cho đến khi Reset hệ thống.
Các đặc điểm của 8951 được tĩm tắt như sau:
4KB bộ nhớ cĩ thể lập trình nhanh, cĩ khả năng tới 1000 chu kỳ ghi xĩa.
Tần số hoạt động từ: 0Hz đến 24 MHz.
3 mức khĩa bộ nhớ lập trình.
2 bộ timer/counter 16 Bit
128 Byte RAM nội.
4 Port xuất/nhập I/O 8 bit.
Giao tiếp nối tiếp.
64 KB vùng nhớ mã ngồi.
64 KB vùng nhớ dữ liệu ngoại.
Xử lý Boolean (hoạt động trên bit đơn).
210 vị trí nhớ cĩ thể định vị bit.
4µs cho hoạt động nhân hoặc chia.
III. KHẢO SÁT SƠ ĐỒ CHÂN 8951, CHỨC NĂNG TỪNG CHÂN:1. Sơ đồ chân 8951: 1. Sơ đồ chân 8951: H I Y 1 1 2 M H z 0 C 2 3 3 p F C 1 3 3 p F U 1 A T 8 9 C 5 1 9 1 8 1 9 20 2 9 3 0 3 1 40 1 2 3 4 5 6 7 8 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 R S T X T A L 2 X T A L 1 G N D P S E N A L E / P R O G E A / V P P V C C P 1 . 0 P 1 . 1 P 1 . 2 P 1 . 3 P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 P 2 . 0 / A 8 P 2 . 1 / A 9 P 2 . 2 / A 1 0 P 2 . 3 / A 1 1 P 2 . 4 / A 1 2 P 2 . 5 / A 1 3 P 2 . 6 / A 1 4 P 2 . 7 / A 1 5 P 3 . 0 / R X DP 3 . 1 / T X D P 3 . 2 / I N T 0 P 3 . 3 / I N T 1 P 3 . 4 / T 0 P 3 . 5 / T 1 P 3 . 6 / W RP 3 . 7 / R D P 0 . 0 / A D 0 P 0 . 1 / A D 1 P 0 . 2 / A D 2 P 0 . 3 / A D 3 P 0 . 4 / A D 4 P 0 . 5 / A D 5 P 0 . 6 / A D 6 P 0 . 7 / A D 7 0
Như ta đã thấy trong hình, 32 trong số 40 chân của 8051 cĩ cơng dụng xuất/nhập, tuy nhiên 24 trong 32 đường này cĩ 2 mục đích. Mỗi một đường cĩ thể hoạt động xuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.
Các đặc trưng đã đề cập ở trên được trình bày trong sơ đồ khối ở hình trước.
32 chân nêu trên hình thành 4 port 8-bit. Ta cĩ thể sử dụng các port này làm nhiệm vụ xuất nhập, 8 đường cho mỗi port cĩ thể được xử lý như một đơn vị giao tiếp với các thiết bị song song như máy in, bộ biến đổi D-A, v.v.. hoặc mỗi đường cĩ thể hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, BJT, FET, cuộn dây, động cơ, loa v.v..
2. Các Port:
Port 0:
Port 0 là port cĩ port 2 chức năng ở các chân 32 – 39 của 8951. 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 IO. Đối với các thiết kế cỡ lớn cĩ bộ nhớ mở rộng, nĩ được kết hợp giữa bus địa chỉ và bus dữ liệu.
Port 1 là port IO trên các chân 1 - 8. Các chân được ký hiệu P1.0, P1.1, P1.2, … cĩ thể dùng cho giao tiếp với các thiết bị bên ngồi nếu cần. Port 1 khơng cĩ chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngồi.
Port 2:
Port 2 (các chân từ 21 đến 28 trên 8051) cĩ port 2 cơng dụng: hoặc làm nhiệm vụ
xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16-bit cho các thiết kế bộ nhớ chương trình ngồi hoặc các thiết kế cĩ nhiều hơn 256 byte bộ nhớ dữ liệu ngồi.
Port 3:
Port 3 là port cĩ tác dụng kép trên các 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ác đặc tính đặc biệt của 8951 như ở bảng sau:
Chức năng của port 3 và 2 chân P1.0, P1.1 của port 1:
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp P3.2 INT0 B2H Ngõ vào ngắt ngồi 0
P3.3 INT1 B3H Ngõ vào ngắt ngồi 1
P3.4 T0 B4H Ngõ vào của bộ định thời/đếm 0 P3.5 T1 B5H Ngõ vào của bộ định thời/đếm 1 P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngồi P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngồi P1.0 T2 90H Ngõ vào của bộ nhớ định thời/đếm 2 P1.1 T2EX 91H Nạp lại/thu nhận của bộ định thời 2
3. Các ngõ tín hiệu điều khiển:
Chân cho phép bộ nhớ chương trình PSEN
8051 cung cấp cho ta 4 tín hiệu điều khiển bus. Tín hiệu cho phép bộ nhớ chương trình PSEN (program store enable) là tín hiệu xuất trên chân 29. Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngồi. Chân này thường nối với chân cho phép xuất OE(output enable) của EPROM( hoặc ROM) để cho phép đọc các byte lệnh.
Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh. Các mã nhị phân của chương trình hay opcode (mã thao tác) được đọc từ EPROM, qua bus dữ liệu và đuợc bus vào thanh ghi lệnh IR của 8051 để được giải mã.
Khi thực thi một chương trình chứa ở ROM nội, PSEN được duy trì ở logic khơng tích cực (logic 1).
Chân cho phép chốt địa chỉ ALE
8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE (address latch enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ. Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của địa chỉ 16-bit) vào một thanh ghi ngồi trong suốt 1/2 đầu của chu kỳ bộ nhớ. Sau khi điều này đã được thực hiện, các chân của port 0 sẽ xuất/nhập dữ liệu hợp lệ trong suốt 1/2 thứ hai của chu kỳ bộ nhớ.
Tín hiệu ALE cĩ tần số bằng 1/6 tần số của mạch dao động bên trong chip vi điều khiển và cĩ thể được dùng làm xung clock cho phần cịn lại của hệ thống. Nếu mạch dao động cĩ tần số 12 MHz, tín hiệu ALE cĩ tần số 2 MHz. Ngoại lệ duy nhất là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua. Chân ALE cịn được dùng để nhận xung ngõ vào lập trình cho EPROM trên chip đối với các phiên bản của 8051 cĩ EPROM.
Chân truy xuất ngồi EA
Ngõ vào chân 31 cĩ thể được nối với 5V (logic 1) hoặc với đất GND(logic 0). Nếu chân này nối lên 5V, 8051/8052 thực thi chương trình trong ROM nội (chương trình nhỏ hơn 4K/8K). Nếu chân này nối GND( và chân PSEN cũng ở mức 0), chương trình cần thực thi chứa ở bộ nhớ ngồi
Chân RESET(RST)
Ngõ vào chân 9 là ngõ vào xĩa chính(master reset) của 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống. Khi ngõ vào này được treo ở logic 1 tối thiểu 2 chu kỳ máy, các thanh ghi bên trong của 8051 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống.
Các chân XTAL1 và XTAL2
Như đã đề cập ở trên, mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngồi ở hai chân XTAL1 và XTAL2 (chân 18 và chân 19). Các tụ ổn định cũng được như
trên hình này. Tần số danh định của thạch anh là 12 MHz cho hầu hết các chip của ho MCS- 51, nguồn xung clock TTL cĩ thể được nối với chân XTAL1 và XTAL2.
7 4 L S 0 4 1 2 X T A L 1 X T A L 2 8 0 5 1 T T L O s c i l l a t o r Các chân nguồn
89C51 vận hành với nguồn đơn 5V, Vcc được nối vào chân 40 và Vss (GND) được nối vào chân 20.
IV. TỔ CHỨC BỘ NHỚ:
Hầu hết các bộ vi xử lý (CPU) đều cĩ khơng gian nhớ chung cho dữ liệu và chương trình. Điều này cũng hợp lý vì các chương trình thường được lưu trên đĩa và được nạp vào RAM để thực thi; vậy thì cả hai, dữ liệu và chương trình, đều lưu trú trên RAM.
Các chip vi điều khiển hiếm khi được sử dụng giống như các CPU trong các hệ máy tính, thay vào đĩ chúng được dùng làm thành phần trung tâm trong các thiết kế hướng điều khiển, trong đĩ bộ nhớ cĩ dung lượng giới hạn, khơng cĩ ổ đĩa và hệ điều hành. Chương trình điều khiển phải thường trú trên ROM.
Vì lý do trên, 89C51 cĩ khơng gian bộ nhớ riêng cho chương trình và dữ liệu. Như ta đã thấy hình bên dưới, cả hai bộ nhớ chương trình và dữ liệu đều đặt bên trong chip, tuy nhiên