Một vùng nếu có 10000 đường dây thuê bao trở lên thì các số điện thoại được phânbiệt như sau: Hai đường dây nối thuê bao với tổng đài cuối gọi là“vùng nội bộ” trở kháng khoảng 600 Ω.. Cá
Trang 1PHẦN 1 : NGHIÊN CỨU HỆ THỐNG TỔNG ĐÀI
1.1 GIỚI THIỆU VỀ HỆ THỐNG TỔNG ĐÀI:
1.1.1 Định nghĩa:
Tổng đài điện thoại là một hệ thống chuyển mạch, nó có nhiệm vụ kết nối các cuộcliên lạc từ thiết bị đầu cuối chủ gọi (Calling side) đến thiết bị cuối (Called side)
Mạng điện thoại hiện nay được phân thành 5 cấp tổng đài:
Tổng đài cấp 5 là tổng đài được kết nối với thuê bao và có thể thiết kế được 10000đường dây thuê bao
Một vùng nếu có 10000 đường dây thuê bao trở lên thì các số điện thoại được phânbiệt như sau:
Hai đường dây nối thuê bao với tổng đài cuối gọi là“vùng nội bộ” trở kháng khoảng
600 Ω
Tổng đài cuối sẽ được cung cấp cho thuê bao một điện áp 48VDC
Hai dây dẫn được nối với jack cắm
Khi thuê bao nhấc máy tổ hợp, khi đó các tiếp điểm sẽ đóng tạo ra dòng chạy trongthuê bao là 20mA DC và áp rơi trên Tip và Ring còn +12VDC
Trang 2CO (Central Office) Các người sử dụng đầu cuối thuê bao thường được kết nối COqua đôi dây xoắn đôi, gọi là đường dây thuê bao (Tip-Ring).
Các trạm cấp 4 (tổng đài đường dài) có thể đáp ứng hai chức năng: chuyển mạchđường dài, tổng đài cấp 4 là phần của mạng đường dài, nói cách khác, tổng đài cấp 4 cóthể hoạt động như một chuyển mạch chuyển tiếp để nối các tổng đài cấp 5 Khi có đủlưu lượng thông tin giữa các tổng đài chuyển tiếp nội hạt cũng có thể chuyển mạchđiều khiển lưu lượng vượt tràn trên các trung kế trực tiếp giữa các tổng đài đầu cuối
Trang 31.2 CẤU TRÚC VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA TỔNG ĐÀI:
1.2.1 SƠ ĐỒ KHỐI CƠ BẢN CỦA TỔNG ĐÀI ĐIỆN THOẠI:
-5VDC 5VDC 24VDC 75VAC
1.2.2 CHỨC NĂNG CỦA CÁC KHỐI:
1.Khối điều khiển trung tâm (KĐK) :
Khi thuê bao nhấc máy, KĐK sẽ nhận biết được thông qua khối giao tiếp thuê bao.Khối này sẽ kiểm tra thuê bao và phát tín hiệu cho khối báo hiệu phát tone mời gọi nếuphù hợp Khi thuê bao nhấn số gọi nó sẽ lưu lại và kiểm tra thuê bao bị gọi có phù hợphay không Thuê bao bị gọi là một số phù hợp thì KĐK sẽ phát tín hiệu yêu cầu khốibáo hiệu phát tone chờ đối với thuê bao gọi đồng thời tổng đài thì sẽ phát tín hiệu điềukhiển để đổ chuông đối với thuê bao bị gọi Khi thuê bao bị gọi nhấc máy KĐK sẽ phát
KHỐI ÂM HIỆU
KHỐI CHUYỄN MẠCH
& TRUNG KE
KHỐI DTMF
KHỐI NGUỒN
Trang 4lại, đồng thời giải phóng vùng nhớ cho thuê bao đã gác máy Vùng nhớ của thuê baocòn lại cũng được giải phóng khi nó gác máy.
Ngoài khối thuê bao, khối điều khiển còn nhận và xử lí các thông tin từ các đườngdây trung kế đưa vào từ khối giao tiếp trung kế; đồng thời báo hiệu và gửi thông tincuộc gọi đến tổng đài quản lý thuê bao bị gọi thông qua một hoặc vài tổng đài cấp caohơn
2.Khối âm hiệu:
Tạo ra tín hiệu như Dial tone , Busy tone , Ring back tone ,…Để cấp cho thuê bao
Tín hiệu xoay chiều hình sine tần số f = 400 – 450 Hz 3Vpp không liên tục 0.5s có ; 0.5s không
Tín hiệu xoay chiều hình sine f = 400 – 450 Hz 3Vpp cấp lien tục
Tín hiệu xoay chiều hình sine f = 400 – 450 Hz 3Vpp 1s có , 2s không
3.Khối chuyển mạch:
Chức năng chủ yếu của khối này là thực hiện thiết lập tuyến nối giữa một đầu vàobất kì với một đầu ra bất kì khi có lệnh từ bộ điều khiển Tấc cả các tín hiệu thoại giữahai thuê bao hoặc các tín hiệu báo hiệu đều qua các đường vào ra của khối chuyểnmạch
4.Khối giao tiếp thuê bao:
Các đường dây điện thoại vòng cục bộ sẽ gắn trực tiếp vào khối này Khối này sẽcung cấp dòng một chiều trên đường dây thuê bao khi nhấc máy Do đó tín hiệu thoạiđược chuyển đổi thành tín hiệu điện là dòng điện biến thiên trên đường dây Các tácđộng như nhấc máy, gác máy đều được nhận biết thông qua bộ giao tiếp thuê bao
Trang 5Ngoài ra, việc kết nối hay hủy bỏ kết nối giữa hai thuê bao đều thông qua khối giaotiếp thuê bao Tóm lại khối giao tiếp thuê bao có chức năng chính là chuyển đổi tínhiệu điện trên đường dây thuê bao thành tín hiệu điện phù hợp để nhận biết và xử lí
5.Khối giao tiếp trung kế:
Khối giao tiếp trung kế là khối giao tiếp giữa các đường dây trung kế với tổng đài,
có chức năng chuyển đổi tín hiệu điện trên các đường dây trung kế thành các tín hiệu điện phù hợp để nhận biết và xử ly
6.Khối tạo chuông:
Là tín hiệu chuông để cấp cho thuê bao khi cần Thực chất là tín hiệu của điện thoạikhi cung cấp nguồn điện xoay chiều 75 90Vrms Hoặc đối với một số điện thoạitrước kia thì ta phải cung cấp mạch điện tạo chuông riêng
1.3 CÁC LOẠI TRUNG KẾ SỬ DỤNG TRONG TỔNG ĐÀI:
Trung kế là đường liên lạc giữa hai tổng đài Có các loại trung kế sau:
- Kết nối trên hai dây cáp
- Sử dụng đường dây thuê bao của tổng đài khác làm trung kế của tổng đàimình
- Có chức năng như một máy điện thoại (nhận chuông, quay số)
Trang 6- Một dây để phát tín hiệu trao đổi
- Một dây để thu tín hiệu trao đổi
- Các tín hiệu trao đổi gồm: Quay số, xác nhận, thiết lập cuộc gọi, tính cước…
- Tín hiệu thoại và tín hiệu trao đổi giữa hai tổng đài là tín hiệu số
1.4 CÁC ÂM HIỆU VÀ TÍN HIỆU CHUÔNG BÁO :
Các âm hiệu (Tone): Là các tín hiệu âm thanh mà tổng đài gởi đến cho các thuêbao để thông báo tình trạng hoạt động của tổng đài Một tổng đài phải có các âm hiệu
cơ bản sau:
1.4.1 ÂM HIỆU MỜI QUAY SỐ (DIAL TONE):
Âm hiệu này báo cho thuê bao biết tổng đài sẵn sàng nhận số quay từ thuê bao
Âm hiệu này là tín hiệu hình sin có tần số f = 425 ± 25 Hz, nhịp là liên
tục, méo hài < 1%, biên độ 1÷ 5V
1.4.2 ÂM HIỆU BÁO BẬN (BUSY TONE):
Âm hiệu này được tổng đài báo cho thuê bao gọi biết thuê bao bị gọi đang bận,trung kế bận, hết thời gian quay số…
Âm hiệu này là tín hiệu hình sin có tần số f = 425 ± 25 Hz, nhịp 0.5s có, 0.5skhông, méo hài < 1%
Hình 1.7: Dạng sóng âm hiệu mời quay số (Dial Tone)
Trang 71.4.3 ÂM HIỆU HỒI ÂM CHUÔNG (RING BACK TONE):
Khi thuê bao gọi quay số,nếu thuê bao bị gọi rỗi tổng đài sẽ đổ chuông cho thuê bao bị gọi và cấp hồi âm chuông cho thuê bao gọi , âm hiệu này có tần số f = 425 ± 25
Hz, cùng nhịp với dòng chuông ( 1s có, 2s không)
1.4.4 TÍN HIỆU CHUÔNG (RING):
Dùng để rung chuông cho thuê bao bị gọi( nếu rỗi) Tín hiệu chuông là tín hiệu
cung cấp trực tiếp điện áp AC 75 ÷ 90 Vrms là chuông kêu Với ngắt nhịp 1s có và 2skhông
Hình 1.9: Dạng sóng âm hiệu hồi âm chuông Hình 1.8: Dạng sóng âm hiệu báo bận (Busy Tone)
Hình 1.10: Dạng sóng tín hiệu chuông
Trang 81.5 CHUYỂN MẠCH TỔNG ĐÀI:
Tổng đài 8 số là một tổng đài dung lượng nhỏ , có kết cấu đơn giản nên rất phù hợp với chuyển mạch không gian Với phương pháp chuyển mạch này chất lượng thông thoại cao vì tín hiệu được truyền đi trực tiếp mà không phải qua một hình thức điều chế nào Còn phương pháp chuyển mạch thời gian rất phức tạp chỉ phù hợp với tổngđài có dung lượng lớn ( ít nhất là vài trăm số ) Do đó với tổng đài này , nếu ta sử dụng chuyển mạch thời gian thì rất lãng phí và khả năng thực thi lại rất kém
1.6 PHƯƠNG THỨC LÀM VIỆC GIỮA TỔNG ĐÀI VÀ CÁC THUÊ BAO:
- Nhận dạng thuê bao gọi nhấc máy: tổng đài nhận dạng trạng thái của thuê baothông qua sự biến đổi tổng trở mạch vòng của đường dây Bình thường thuê bao ởtrạng thái gác máy thì tổng trở đường dây vô cùng lớn ( hở mạch) Khi thuê bao nhấc
vào của điện thoại) Tổng đài nhận biết sự thay đổi này thông qua bộ cảm biến trạngthái đường dây thuê bao
- Khi thuê bao nhấc máy thì tổng đài sẽ cấp tín hiệu Dial tone trên đường dâyđến thuê bao, chỉ khi nhận được tín hiệu này thì thuê bao mới được quay số, có thểquay số dưới dạng DTMF hoặc PULSE
- Tổng đài nhận các số do thuê bao gởi đến và kiểm tra, nếu số đầu nằm trongtập thể số thuê bao của tổng đài thì tổng đài sẽ phục vụ cuộc gị nội đài Ngược lại nóphục vụ cuộc gọi liên đài thông qua trung kế, nếu số đầu là mã dịch vụ thì tổng đài sẽthực hiện các chức năng đặc biệt để phục vụ cho thuê bao
- Nếu thuê bao bị gọi đang thông thoại hoặc các đường dây trung kế bị bận thìtổng đài cấp tín hiệu Busy tone ngược về cho thuê bao gọi
- Khi thuê bao gọi nhấc máy thì tổng đài iết tín hiệu này và cắt dòng chuông kịpthời để tránh hư hao cho thuê bao, đồng thời cắt Ring_back tone của thuê bao gọi vàkết nối thông thoại cho hai thuê bao
Trang 9- Khi hai thuê bao đang thông thoại mà có một thuê bao gác máy, thì tổng đài sẽngắt thông thoại 2 thuê bao và cấp Busy tone cho thuê bao còn lại, giải tỏa các thiết bịphục vụ thông thoại Khi thuê bao còn lại gác máy tổng đài ngắt Busy tone và kết thúcchương trìng phục vụ thuê bao
1.7 CHẾ ĐỘ QUAY SỐ:
Quay số bằng đĩa quay số, mạch vòng được ngắt đóng bởi một công tắt nối với cơcấu quay số Các chuỗi xung đồng nhất được tạo ra tương ứng với số quay Mỗi chu kỳxung thường là 100ms, khỏang cách giữa 2 chuỗi xung lớn hơn 500ms
Khi sử dụng DTMF để quay số, các xung được biểu diễn bởi cặp số (Tone).Khi bấm số, cặp Tone tương ứng với số đó sẽ được phát đi mà không cần phải ngắtmạch vòng thuê bao
Trang 10thiểu giữa các Tone là 60ms Như vậy quay số bằng DTMF nhanh hơn so với quay số
tonetone
Trang 11PHẦN 2 : GIỚI THIỆU MỘT SỐ LINH KIỆN SỬ DỤNG
TRONG MẠCH
GIỚI THIỆU VI ĐIỀU KHIỂN 8051
1 GIỚI THIỆU HỌ MCS-51:
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 và 8031 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 toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiềuchế độ 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ụngcủ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 chophé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ý luận lý
Các đặc điểm của 8051 được tóm tắt như sau:
Trang 12Bảng mô tả sự khác nhau của các IC trong họ MSC-51:
Bảng 2.1: Mô tả bộ nhớ bên trong của VDK
2 CẤU TRÚC VI ĐIỀU KHIỂN 8051, CHỨC NĂNG TỪNG CHÂN:
Chức năng hoạt động của từng chân được tóm tắt như sau:
Hình2.1 : Sơ đồ chân VĐK 8051
Vcc XTAL.1 XTAL.2PSEN\
ALE EA\
RST
Vss
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
17 16 15 14 13 12 11 10
RD WR T1 T0 INT1 INT0 TXD RXD
8051
2930319
Trang 13Vi điều khiển 8051 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 (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạtđộng như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus
dữ liệu và bus địa chỉ
Trang 14P3.1 TXD Ngõ xuất dữ liệu nối tiếp.
Ngõ vào ngắt ngoài thứ 0
Ngõ vào ngắt ngoài thư 1
Ngõ vào củaTIMER/COUNTER thứ0.Ngõ vào củaTIMER/COUNTER thứ1.Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.Tín hiệu đọc bộ nhớ dữ liệu ngoài
Bảng 2.2: Đặc tính của các chân Port3
b.Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu PSEN (Program 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 thường được nói đến chân 0E\ (output enable) của Eprom cho phép đọc các byte
mã lệnh
- PSEN ở mức thấp trong thời gian Microcontroller 8051 lấy lệnh Các mã lệnh củachương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bêntrong 8051 để giải mã lệnh Khi 8051 thi hành chương trình trong ROM nội PSEN sẽ ởmức logic 1
Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
- Khi 8051 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữliệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùnglà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 chúngvới IC chốt
- Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địachỉ thấp 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 lần tần số dao động trên chip và có thể đượcdù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àmngõ vào xung lập trình cho Eprom trong 8051
Trang 15 Ngõ tín hiệu EA\(External Access) :
Tín hiệu vào EA\ ở chân 31 thường được mắt lên mức 1 hoặc mức 0 Nếu ở mức 1,
8051 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte Nếu ở mức
0, 8901 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ được lấy làm chân cấpnguồn 21V khi lập trình cho Eprom trong 8051
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 8051, nhưng 8051 vẫn có thể kết nối với 64k byte chương trình
và 64k byte dữ liệu
Hai đặc tính cần chú ý khi dùng họ Atmel 8051 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
khác
Trang 16 Các Bank thanh ghi có địa chỉ 00H 1FH.
3.1 RAM MỤC ĐÍCH CHUNG:
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ừ 30H7FH, 32địa chỉ dưới từ 00H1FH 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 địa chỉgián tiếp hoặc trực tiếp Ví dụ: để đọc nội dung ở địc chỉ 5FH của RAM nội vào thanhghi tích lũy A, có thể dùng một trong hai cách sau:
b RAM địa chỉ hóa từng bit:
8051 chứa 210 bit được địa chỉ hóa, trong đó có 128 bit chứa các byte có địa chỉ
từ 20H2FH 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óichung Các bit có thể được đặt, xóa, And, OR…, với một lệnh đơn Mà điều này đốivớ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 đơngiả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ể truyxuấ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ứ 67 ta dùng lệnh sau:
Trang 17SETB 67H
c Các Bank thanh ghi:
Ram đa dụng7F7E7D7C7B7A797877767574737271706F6E6D6C6
6D5D4D3D2D1D0 -được địa chỉ hóa bít9f9e9d9c9b9a99989796959493929190Không được địa chỉ hóa bítKhông được địa chỉ hóa bítKhông được địa chỉ hóa bítKhông được địa chỉ hóa bítKhông được địa chỉ hóa
bít8F8E8D8C8B8A8988Không được địa chỉ hóa bítKhông được địa chỉ hóa bítKhông được địa chỉ hóa bítKhông được địa chỉ hóa
bít8786858483828180
FF F0 E0 D0 B8 B0 A8 A0 99 98 90
8D 8C 8B 8A 89
87
83 82
81 80
FF B ACC PSW IP P3 IE P2 SBUF SCON P1
TH1 TH0 TL1 TL0 TMOD TCON PCON
DPH DPL
SP P0
Hình 2.2: Bảng phân vùng địa chỉ 8051
Trang 1832 byte thấp của bộ nhớ RAM nội được dùng cho các bank thanh ghi Bộ lệnh
8031 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 địachỉ thanh ghi Tuy nhiên yêu cầu trên có thể thihành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai:
MOV A,05HCác lệnh dùng các thanh ghi R0 R7 sẽ ngắn hơn và nhanh hơn so với cáclệ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ườngxuyê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 ghitrong 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:
MOV R0, ATóm lại ý tưởng dùng các bank thanh ghi cho phép ta chuyển hướng chươngtrình nhanh và hiệu quả hơn
3.2 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT:
Các thanh ghi trong 8051 được định dạng như một phần của RAM trên chip Vìvậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi đếm bộ nhớ chương trình vàthanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũng như R0 R7, 8031 có 21 thanh ghi có chức năng đặc biệt ở vùng trên của RAM nội có địa chỉ từ80HFFH
Chú ý: tất cả 128 địa chỉ từ 80H FFH không được định nghĩa chỉ có 21 thanh ghi
có chức năng đặc biệt được định nghĩa sẳn các địa chỉ
Trang 19Ngoại trừ thanh ghi A có thể được truy xuất ngầm như đã nói, đa số các thanh ghi
có chức năng đặc biệt SFR có địa chỉ hóa từng bit hoặc byte
Chú ý: một vài thanh ghi SFR có thể địa chỉ hóa từng bit hoặc byte nên người lậptrình phải thận trọng khi truy xuất bit hoặc byte
3.2.1 Từ trạng thái chương trình (PSW: Program Status Word):
Thanh ghi trạng thái chương trình PSW (Program Status Word) ở địa chỉ D0Hchứa các bit trạng thái được tóm tắt như sau:
Trang 20Cờ nhớ Carry có tác dụng kép Thông thường nó được dùng cho các lệnh toánhọc: C = 1 nếu phép toán cộng có tràn hoặc phép trừ có mượn và ngược lại C = 0 nếuphép toán cộng không tràn và phép trừ không có mượn.
Ví dụ: lệnh sau sẽ trả về thanh ghi tích lũy kết quả 00H và set cờ nhớ trongPSW nếu thanh ghi tích lũy A chứa FFH
Khi cộng các số BCD, cờ nhớ phụ AC = 1 nếu kết quả 4 bit thấp trong khoảng0A0F và ngược lại cờ nhớ phụ AC = 0
Cờ 0 là một bit cờ đa dụng dùng cho các ứng dụng cho người dùng
Các bit chọn bank thanh ghi nhằm để xác định bank thanh ghi được truy xuất.Chúng được xoá sau khi Reset hệ thống và được thay đổi bằng phần mềm nếu cần
Ví dụ: 3 lệnh sau đây cho phép bank thanh ghi 3 được chọn và di chuyển nội
dung thanh ghi R7 (có địa chỉ byte 1FH) vào thanh ghi A
SETB RS0MOV A, R7
Cờ tràn có tác dụng như sau: 0V = 1 sau một lệnh cộng hoặc trừ nếu có phéptoán bị tràn Khi các số có dấu được cộng hay trừ với nhau, phần mềm có thể kiểm trabit này để kiểm tra xem kết quả có trong tầm xác định hay không Khi có số không dấuđược cộng, bit 0V có thể được bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn –128thì bit 0V=1
Trang 21Ví dụ: phép cộng sau bị tràn và bit 0V sẽ được set: 0FH + 7FH = 8EH Kết
quả là một số có dấu 8E được xem như –116, không phải là kết quả đúng 142 vì vậybit 0V = 1
3.2.2 Thanh ghi B:
Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho cácphép toán nhân và chia Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và
B rồi trả về kết quả 16 bit A (byte thấp) và B (byte cao) Lệnh DIV AB sẽ chia A cho B
và trả kết quả phần nguyên trong A và phần dư trong B Thanh ghi có thể được xem làmột thanh ghi đệm đa dụng Nó được địa chỉ hóa từng bit với các địa chỉ từ F0H F7H
3.2.3 Con trỏ ngăn xếp:
Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ củabyte dữ liệu hiện hành trên đỉnh ngăn xếp Các lệnh trên ngăn xếp bao gồm các lệnhcất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp Lệnh cất dữ liệu vào ngănxếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ làmgiảm SP Ngăn xếp của 8051 được giữ trong RAM ngoại và giới hạn các địa chỉ có thểtruy xuất bằng địa chỉ gián tiếp, chúng là 128 byte đầu của 8051
Ví dụ: Để khởi động SP với ngăn xếp bắt đầu tai địa chỉ 60H, thì dùng lệnh
sau đây:
MOV SP, #5F
Trang 22Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanh ghi
16 bit ở địa chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao) 3 lệnh sau đây sẽ ghiđịa chỉ 55H vào RAM ngoại ở địa chỉ 1000H:
MOV A,#55H
MOV DPRT,#1000H
MOVX@ DPTR,A
3.2.5 Các thanh ghi port xuất nhập:
Các Port của 8031 gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 ở địachỉ A0H và port 3 ở địa chỉ B0H Tất cả các port này có thể truy xuất từng bit nên rấtthuận tiện trong chức năng giao tiếp
Ví du: Nếu một motor được nối với cuộn dây có transitor lái đến bit 7 của port
3.2.6 Các thanh ghi Timer:
8051 có chứa hai bộ định thời/ đếm 16 bit được dùng cho việc định thời hoặcđếm sự kiện Timer 0 ở địa chỉ 8AH (TLO: byte thấp) và 8CH (THO: byte cao) Timer
1 ở địachỉ 8BH (TL1: byte thấp)và 8DH (TH1: byte cao) việc khởi động Timer đượcset bởi Timer mode (TMOD) ở địa chỉ 89 và thanh ghi điều khiển Timer (TCON) ở địachỉ 88H Chỉ có TCON được địa chỉ hóa từng bit
3.2.7 Các thanh ghi port nối tiếp:
Trang 238051 chứa 1 port nối tiếp dùng cho việc trao đổi thông tin với các thiết bị nốitiếp như máy tính moderm hoặc giao tiếp với các IC khác (các bộ chuyển đổi A\D, cácthanh ghi dịch…) Một thanh ghi gọi là bộ đếm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H
sẽ giữ cả hai dữ liệu phát và dữ liệu nhận Khi truyền dữ liệu thì ghi lên SUBF, khinhận dữ liệu thì đọc SUBF Các mode vận hành khác nhau được lập trình qua thanhghi điều khiển port nối tiếp (SCON: được địa chỉ hóa từng bit ở địa chỉ 98H)
3.2.8 Các thanh ghi ngắt:
8051 có cấu trúc 5 nguồn ngắt và 2 mức ưu tiên Các ngắt bị cấm sau khiReset hệ thống và sẽ được cho phép bằng việc thanh ghi cho phép ngắt (LE) ở địa chỉA8H Cả hai thanh ghi được địa chỉ hóa từng bit
3.2.9 Thanh ghi điều khiển công suất:
Thanh ghi điều khiển công suất (PCON) ở địa chỉ 97H chứa nhiều bit điềukhiển chúng được tóm tắt ở bảng sau:
Trang 243.3.1 Thanh ghi điều khiển port nối tiếp SCON (Serial port control register):
Mode hoạt động của port nối tiếpdựa trên việc set bởi thanh ghi SCON như sau :
truyền ký tự và được xóa bởi phần mềm
thu và được xóa bởi phần mềmBảng 2.4: Các bít của thanh ghi SCON
3.3.2 Các mode hoạt động :
Chú ý: trước khi sử dụng port nối tiếp phải khởi động SCON cho đúng chế độ
3.3.3 Tốc độ Baud của port nối tiếp:
Tốc độ Baud của Port nối tiếp cố định ở mode 0 và mode 2 Trong hai loại modenày nó luôn luôn có tần số dao động trên chip chia cho 12 Thông thường thạch anh12Mhz lái dao động trên chip 8051 nên tốc độ baud của hai moade này là 1Mhz
Còn mode1 và mode 3 được xác định bởi việc dùng Timer1 Công thức chung
để xác định tốc độ Baud trong mode 1 và mode 3 là:
Trang 25Sau đây là bảng tóm tắt tốc độ Baud phổ biến ứng với 2 loại thạch anh 12 Mhz
và 11,059 Mhz:
Baud
Rate
CrytalFrequency
Value
ActuaBaud Rate
3.4 HOẠT ĐỘNG CỦA TIMER :
8051 có hai timer 16 bit, mỗi timer có 4 cách làm việc Đối với họ MCS52 thì có
ba Timer Người ta sử dụng các timer để:
a Định khoảng thời gian
b Đếm sự kiện
c Tạo tốc độ baud cho port nối tiếp trong 8051 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ươngtrì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ủatimer để đ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 trạng thái trên một chân của8051.Truy xuất các timer của 8051 dùng 6 thanh ghi chức năng đặc biệt như bảng:
Trang 26TH0 Byte cao của timer 0 8CH Không
3.4.1 Thanh ghi Mode Timer TMOD:
Thanh ghi TMOD chứa hai nhóm 4 bit là :4 bít thấp đặt mode hoạt động choTimer 0, 4 bít cao dùng để đặt chế độ làm việc cho Timer1
B
it
1 = Bộ đếm sự kiện
0 = Bộ định khoảng thời gian
00: Chế độ 0: timer 13 bit 01: Chế độ 1: timer 16 bit 10: Chế độ 2: tự động nạp lại 8 bit 11: Chế độ 3: tách timer
Bảng 2.7: Các bít của thanh ghi TMOD
3.4.2 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 timer0 và timer1
xóa bởi phần mềm hoặc phần cứng khi bộ xử lí chỉđến chương trình phục vụ ngắt
Bảng 2.6: Các thanh ghi liên quan đến Timer
Trang 27TCON.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
phát hiện một cạnh xuống ở INT1:xóa bằng phần mềmhoặc phần cứng khi CPU chỉ đến chương trình phục
vụ ngắt
để ngắt ngoài tích cực cạnh xuống/mức thấp
Bảng 2.8: Các bít của thanh ghi TCON
3.4.3 Các chế độ Timer:
không dùng
mềm
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
TLx
Xung nhịp timer
Cờ báo tràn
Trang 28 Chế độ 2: Là chế độ tự động nạp lại 8 bit:
Mode 2 là mode tự động nạp lại, byte thấp TLx của Timer hoạt động như mộtTimer 8 bit, trong khi byte cao THx của Timer giữ nguyên giá trị Reload Khi bộ đếmtràn từ FFH sang 00h, Không chỉ cờ tràn được set mà giá trị trong THx cũng được nạpvào TLx
TF0 và TH0 có cờ báo tràn là TF1
Có hai nguồn tạo xung nhịp có thể có, là sự định giờ bên trong và sự đếm sựkiện bên ngoài Bít C/T trong thanh ghi TMOD cho phép chọn 1 trong 2 khi Timerkhởi động
TLx(8 bit)
THx(8 bit)
TFxXung nhịp timer
Cờ báo tràn
12
Bộ dao động trong
0: (lên) định khoảng thời gian
Trang 293.4.4 Hoạt động của ngắt:
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 treotạ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.Hình ảnh các ngắt được mô tả trong hình sau:
Thực thi chương trình không có ngắt
Thật sự tất cả các nguồn ngắt ở 8051 gồm : 2 ngắt ngoài, 2 ngắt từ timer và mộtngắt 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
3.4.4.1 Cho phép và cấm các ngắt (Enabling and Daibling Interrupt):
Mỗi nguồn Interrup được cho phép hoặc cấm từng ngắt qua một thanh ghi chứcnăng đặt biệt có địa chỉ bit IE (Interrupt Enable) ở địa chỉ A8H Cũng như xác định bitcho phép riêng biệt cho mỗi nguồn ngắt, có một bit cho phép/cấm toàn bộ được xóa đểcấm hoàn toàn các ngắt được xét (đặt lên 1) để cho phép tất cả các ngắt
CHƯƠNG TRÌNH CHÍNH
Trang 30IE.5 ET2 ADH Cho phép ngắt từ timer 2(8052)
Bảng2.9 : Tóm tắt thanh ghi IEHai bit phải được đặt lên một để cho phép bất kỳ ngắt nào: bit cho phép riêng vàbit cho phép toàn bộ.Ví dụ các ngắt từ timer được cho phép như sau:
SETB ET1 ; Cho phép ngắt từ timer 1
SETB EA ; Đặt bit cho phép toàn bộ
Hoặc : MOV IE,#10001000B
3.4.4.2 Ưu tiên ngắt (IP: Interrupt Priority):
Mỗi nguồn ngắt được lập trình riêng vào một trong hai mức ưu tiên qua thanh ghichức năng đặc biệt được địa chỉ bit IP ở địa chỉ B8H
Bảng2.10: Tóm tắt thanh ghi IP
IP bị xóa sau khi reset hệ thống để (mặc nhiên) đặt tất cả các ngắt ở mức ưu tiênthấp hơn Ý tưởng “ưu tiên” cho phép một ISR sẽ bị ngắt bởi một ngắt có độ ưu tiêncao hơn ngắt đang phục vụ Điều này thì rõ ràng trên C8051/8031, vì chỉ có hai mức
Trang 31ưu tiên Nếu một ISR có mức ưu tiên thấp đang thực thi khi một ngắt có ưu tiên caoxảy ra thì ISR bị ngắt ISR cao hơn không bị ngắt.
3.4.4.3 Việc xử lý các ngắt ( Processing Interrupt):
Khi ngắt xảy ra và CPU chấp thuận, chương trình chính ngắt quãng nhữnghoạt động sau đây xảy ra:
+ Lệnh hiện hành hoàn tất việc thực thi
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à địachỉ bắt đầu của ISR cho nguồn tạo ngắt Các vector ngắt được cho bảng sau:
Trang 32Vì các vector ngắt nằm ở dưới cùng trong vùng mã nhớ, nên lệnh đầu tiên củachương trình chính là lệnh nhảy đến vị trí cao hơn vị trí này như LJMP 0030H.
4 KHẢO SÁT TẬP LỆNH 8051:
4.1 Các nhóm lệnh:
Lệnh có thể chia thành nhiều nhóm theo nhiều cách Cơ bản có 4 cách sau:
- Nhóm lệnh xử lý dữ liệu: tác động lên dữ liệu theo nhiều cách bao gồm:
Trang 33- Nhóm lệnh kiểm soát trạng thái: nhằm thay đổi tình trạng của mạch thiết kế
mà không ảnh hưởng đến dữ liệu hay thứ tự thực hiện lệnh
4.2 Các lệnh số học:
a Lệnh cộng:
ADD A,7FH ( định vị trực tiếp)
ADD A,@R0 ( định vị gián tiếp)
AND A,55H (định vị trực tiếp)
AND A,@R0 (định vị gián tiếp)
AND A,R6 (định vị thanh ghi)
AND A,#33H (định vị tức thời)
Ngoài ra còn gồm các lệnh luận lý tương tự như: OR, XOR, NOT Tất cả cáclệnh này đều được thực hiện trên các byte dữ liệu cơ sở và các bit của từng byte
e Nhóm lệnh truyền dữ liệu:
Truyền bên trong bộ nhớ:
Dạng lệnh: MOV < đích > , < nguồn >
Trang 34Các lệnh luận lý xử lý trên bit:
Lệnh SETB P1.7 ( lập mức logic1 ở bit 7 cổng 1)Lệnh CLR P1.7 ( lập mức logic 0 ở bit 7 cổng 1)Lệnh di chuyển dữ liệu một thanh ghi cờ đến cổng
MOV C, FLAGMOV P1.0,CNhóm lệnh rẽ nhánh chương trình:
Lệnh nhảy không điều kiện
Lệnh RETI trở về từ chuơng trình phục vụ ngắt
IC MT 8870
Trang 35MT8870 là IC nhận tín hiệu DTMF được tích hợp cả chức năng của bộ lọc thôngdải và giải mã số phát đi, số phát đi đã được mã hoá dưới dạng một tín hiệu là tổ hợpcủa hai tín hiệu có hai tần số khác nhau IC này gồm nhiều chức năng:
-Lọc tín hiệu DTMF làm hia nhóm tone cao và tone thấp
-Giải mã 16 cặp tín hiệu DTMF (trên bàn phím điện thoại) thành 4 bít
-IC còn cung cấp thêm phần khuyếch đại vi sai ở ngõ vào, có thể điều chỉnhđược độ lợi
-IC hoạt động với dao động thạch anh 3.5795Mhz
-IC có phần chốt ba trạng thái ở ngõ ra giao tiếp với Bus dữ liệu
Q1, Q2, Q3, Q4 là các đầu ra 4 bít biểu diễn số thu được dưới dạng số nhị phânBCD Chân STD là chân ra, khi IC nhận được một cặp tone và giải mã xong chân này
sẽ lên mức cao và trở xuống mức thấp sau một thời gian trễ, Thời gian trễ này là một
thay đổi theo công thức sau:
5,
hiệu đến lúc giải mã xong và xuất ra dưới dạng số BCD là khoảng 14ms cộng với thờigian
Một số ứng dụng của IC MT8870:
- Điều khiển từ xa
- Mạch thu cho tổng đài
- Mạch tính cước điện thoại…
Tên và chức năng của các chân IC MT8870: IC MT8870 là vi mạch được đóng gói
Hình 2.3 : Sơ đồ chân của MT8870