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

báo cháy và điều khiển thiết bị qua đường dây điện thoại

110 615 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo Cháy Và Điều Khiển Thiết Bị Qua Đường Dây Điện Thoại
Thể loại Nghiên Cứu
Định dạng
Số trang 110
Dung lượng 4,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

SOOO Chương 2 GIỚI THIỆU TỔNG QUÁT VỀ MẠNG ĐIỆN THOẠI 2.1 Các thông số cơ bản của tổng đài KP + Tổng đài được nối với các thuê bao qua 2 đường truyền TIP và RING.. Kết nối thuê bao Tổ

Trang 1

855%

BO GIAO DUC VA DAO TAO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HỒ CHÍ MINH

KHOA : ĐIỆN - ĐIỆN TỬ

LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI:

BÁO CHÁY VÀ ĐIỀU KHIỂN THIẾT

BI QUA DUONG DAY DIEN THOAI

GVHD : TRUONG NGOC BAO SVTH : NGUYEN VAN XUAN MSSV : 00DDT148

LỚP : 00ĐÐĐT02

TP HCM _ 01/2005

Trang 2

1.1 Định nghĩa - 5-5 s9 99319 9Ý nh g 10111011119011010011 01t 2

1.2 Chức năng của tổng đầi .- ccn se tretrrrreririrrtrrrrirrsrrrrre 2

II Ne 1 0 2

1.4 Phương thức chuyển mạch của tổng đài điện tử -eeeeer 2

Chương2 GIỚI THIỆU TỔNG QUAN VỀ MẠNG ĐIỆN THOẠI 4 2.1 Các thông số cơ bản của tổng đầi -ccscrserrertertrrrirrrrirrrr 4

2.2 Các hoạt động trên mạng điện thOại - - - 5+ sssnseeeeeirersseerrrree 4

;l No ca g n 1.11 4

? {an 8 an 5

2.5 Tín hiệu ngưng thOạ1 - + sen 9041111110111 tre 5

2.6 ga ion 6 2.7 Phương thức hoạt động giữa tổng đài và thuê bao sen 6

Chương 3 KHẢO SÁT CÁC IC QUAN TRỌNG -©c+-sree § 3.1 Giới thiệu khái quát về họ IC MCS-51”” -. -c+csiecerrrrerer 8 B11 GiGi thi€u oo 8

3.1.2 Những đặc trưng của AT89CSŠ1T -. -s+c‡rrererrerrrrrrrrer 9

3.1.3 Tổ chức bộ nhớ -s- 2-2 s++++x#+xt+xttx.tTSrrttrsrrrrkirrrrrrrrrrr 13

3.1.4 Bảo vệ bộ nhớỚ - 5 s3 t Y1 811011131 0000 1 7107101101100 20

3.1.5 Hoạt động của port nối tiẾp . ecceerrrrren Hee 21

3.1.6 Các chế độ hoạt động - -cnSesennrtrHrnthth e4 23

3.1.7 Khởi động và truy xuất các thanh ghi cổng nối tiếp . -.- 27

3.2 Giới thiệu IC DTMF8S880 57 SSĂ hen ng te 31

3.2.1 Mô tả chức năng - + -< + sec nh 0111110110118 31 3.2.2 Cấu hình ngõ VàO - 5< + 5< 2< Sen 2222211111111 .11110 31

3.2.3 Cách truy cập thanh gh1 - 5s nhe 4111112 1e 35

Trang 3

na 37 3.2.5 Ý nghĩa các chân -. + <+s+eee>t+.ESErErsrrriererkrerrrrrrrriereirre 38

1.3.8 Kh6i KhUGch dain 51

1.3.9 KhOi ngdt thi ccccccccccsccccscccccscsscsssssscsssssssssseesseccecceeseesessessnnnsnmmesssssseesessen 52

1.3.10 KhGi dd 0 CUC .ố 53 1.3.11 Khối điều khiển và cảm biến thiết bị -5 55s Scssereresrerrrree 53

1.3.12 Khối cảm biến chá y - 5< 5< + «ng 11.11 1111 re 54

Chương2 THIẾT KẾ PHẨN MỀM -cc-c-cccrvrverrerree 57

2.1 Giải thuật chương trình chính - 5s + ve 57

2.2 Giải thuật chương trình báo cháy - sen hư 58 2.3 Giải thuật cảm biến chuông s5 + +1 59

2.4 Giải thuật ngắt điều khiển thiét Di eee essences neeeeneseeeeeeneeeneeneetens 60

2.5 Gidi thuật điều khiển thiết bị 5 5scsserrtrrrerrrrirrirrirririrrrrrre 61

2.6 Giải thuật chương trình thay đổi password -c series 62

2.7 Giải thuật chương trình đối số điện thoại .- -s+c+rverterereerserrer 63

2.8 Giải thuật chương trình ngắt báo cháy - -«+rseesesrerererererrrrrrr 64

2.9 Giải thuật phát . - «<< n9 x9 1 12 T9 tri H00 1111101101108 111191" 65

Trang 4

Phin 3 DANH GIA KET QUA THI CONG VA HUGNG PHAT TRIEN DE TAL 66

TAI LIEU THAM KHAO ccesscssscscssscsssseseesseceseceusessstessecsssenssseseeessessness 67

Trang 6

Lun én tốt nghiép GUD: Fruong Ngee Bao

ae

Chương 1 TỔNG QUAN VỀ TỔNG ĐÀI

1.1 Định nghĩa

Tổng đài là một hệ thống chuyển mạch kết nối có hệ thống các cuộc liên lạc giữa

các thuê bao với nhau, với số lượng thuê bao lớn hay nhỏ tùy thuộc vào từng loại tổng

đài, từng khu vực

1.2 Chức năng của tổng đài -

Tổng đài điện thoại có khả năng :

% Nhận biết được khi thuê bao nào có nhu cầu xuất phát cuộc gọi

4 Thông báo cho thuê bao biết mình sẵn sàng tiếp nhận các yêu cầu của thuê bao

+ Xử lí thông tin từ thuê bao chủ gọi để điều khiển kết nối theo yêu cầu

4% Báo cho thuê bao bị gọi biết có người cần muốn liên lạc

Giám sát thời gian và tình trạng thuê bao để ghi cước và giải tỏa

4 Giao tiếp được với những tổng đài khác để phối hợp điều khiển

1.3 Các âm hiệu

s4 Tín hiệu mời quay số : Khi thuê bao nhấc tổ hợp để xuất phát cuộc gọi sẽ nghe

âm hiệu mời quay số do tổng đài cấp cho thuê bao gọi, là tín hiệu hình sin có tần số

425 +25 Hz liên tục

4 Tín hiệu báo bận : Tín hiệu này báo cho người sử dụng biết thuê bao bị gọi

đang trong tình trạng bận hoặc trong trường hợp thuê bao nhấc máy quá lâu mà không

quay số thì tổng đài gởi âm hiệu báo bận này Tín hiệu báo bận là tín hiệu hình sin có

tân số 425 + 25 Hz, ngắt quãng 0.5s có và 0.5s không

4% Tín hiệu chuông : Tín hiệu chuông do tổng đài cung cấp cho thuê bao bị gọi, là

tín hiệu hình sin có tần số 25 Hz và điện áp 90V hiệu dụng, ngắt quãng tùy thuộc vào

tổng đài, thường 2s có và 4s không

4% Tín hiệu hôi chuông : Tín hiệu hổi chuông do tổng đài cấp cho thuê bao gọi, là tín hiệu hình sin có tần số 425 + 25 Hz, là hai tín hiệu ngắt quãng tương ứng nhịp

chuông 2s có, 4s không

1.4 Phương thức chuyển mạch của tổng đài điện tử

e_ Tổng đài điện tử có những phương thức chuyển mạch sau :

> Tổng đài điện tử dùng phương thức chuyển mạch không gian (SDM :

Space Devision Multiplexing)

> Téng dai điện tử dùng phương thức chuyển mạch thời gian (TDM: Time

Devision Multiplexing), có 3 loại:

= Chuyén mach bus TMD (TDM Bus Switching)

SVTH: Nguyễn Văn Xuân

Trang 7

Ludn an tht nghiép 4020): xương Wgoe Bao

ie

= Chuyén đổi khe thời gian TSI (Time- slot Interchange)

= Chuyển mạch ghép kênh thời gian TMS(Time Multiplex Switching)

e Phương thức ghép kênh tương tự theo thời gian (Analog TDM) gồm có :

> Ghép kênh bằng phương thức truyền đạt cộng hưởng

> Ghép kénh PAM (PAM: Pulse Amplitude Modulation)

e Trong kỹ thuật ghép kênh PCM được chia 2 loại : điều chế Delta và điều chế

PCM

e Ngoài ra, đối với tổng đài có dung lượng lớn và rất lớn (dung lượng lên đến cỡ

vài chục ngàn số) người ta phối hợp cả hai phương thức chuyển mạch SDM và TDM

thành T —- S— T, T—- S, S— T-S

e Ưu điểm của phương thức kết hợp này là tận đụng tối đa số link trống và giảm bớt số link trống không cần thiết, làm cho kết cấu của toàn tổng đài trở nên đơn giản

hơn Bởi vì, phương thức ghép kênh TDM luôn luôn tạo ra khả năng toàn thông, mà

thông thường đối với tổng đài có dung lượng lớn, việc dư link là không cần thiết Người

ta đã tính ra thông thường chỉ có tối đa 10% các thuê bao có yêu cầu cùng 1 lúc, nên số

link trống chỉ cần đạt 10% tổng số thuê bao là đủ

SVTH: Nguyễn Văn Xuân

Trang 8

SOOO

Chương 2 GIỚI THIỆU TỔNG QUÁT VỀ MẠNG ĐIỆN THOẠI

2.1 Các thông số cơ bản của tổng đài

KP

+ Tổng đài được nối với các thuê bao qua 2 đường truyền TIP và RING Thông qua 2 đường dây này thông tin từ tổng đài đến các thuê bao được cấp bằng

nguồn dòng từ 25 mA đến 40 mA (trung bình chọn 35 mA)

+ Tổng trở DC khi gác máy lớn hơn 20 KQ

s% Tổng trở AC khi gác máy từ 4KO đến 10KO

s%» Tổng trở DC khi nhấc máy nhỏ hơn 1KO (từ 0,2KO + 0,6KO)

2.2 Các hoạt động trên mạng điện thoại

% Tổng đài nhận biết trạng thái nhấc máy của thuê bao hay gác máy bằng cách

sử dụng nguồn một chiều 48Vpc

4% Khi gác máy tổng trở DC bằng 20KO rất lớn xem như hở mạch

+» Khi nhấc máy, tổng trở DC giầm xuống nhỏ hơn 1KO và tổng đài nhận biết

trạng thái này thông qua dòng DC xuất hiện trên đường dây Sau đó, tổng đài cấp tín

hiệu mời gọi lên đường dây đến thuê bao

2.3 Quay số

Người gọi thông báo số mình muốn gọi cho tổng đài biết bằng cách gởi số máy điện thoại của mình muốn gọi đến cho tổng đài Có hai cách gởi số đến tổng đài :

> Quay số bằng xung (Pulse — Dialing) : Được thực hiện bằng cách thay đổi tổng

trở DC của mạch thuê bao tạo nên xung dòng với số xung tương đương với số muốn

quay

Bang quay s6 kiéu Pulse — Dialing

Trang 9

Pe

> Quay số bằng Tone (Tone — Dialing) : Máy điện thoại phát ra cùng lúc hai tín

hiệu với tần số dao động khác nhau tương ứng với số muốn quay (DTMEF : Dual Tone

Multi Frequence) theo bảng sau :

Bảng phân loại tần số tín hiệu Tone

2.4 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ị bận 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 300 mV đỉ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 10 đB + 25 dB Giả sử suy hao là 20 đB, suy ra tín hiệu ra khỏi máy điện thoại

có giá trị khoảng 3 V đỉnh — đỉnh

2.5 Tín hiệu ngưng thoại

Khi một trong 2 thuê bao gác máy, thì tổng đài nhận biết trạng thái này, cắt

thông thoại cho cả 2 máy đồng thời cấp tín hiệu báo bận cho máy còn lại

SVTH: Nguyễn Văn Xuân

Trang 10

Ludn in tét nghiép (020: Cương ((gọc Bao

2.6 Tín hiệu thoại

Tín hiệu thoại trên đường đây là tín hiệu điện mang các thông tin có nguồn gốc

từ âm thanh trong quá trình trao đổi giữa 2 thuê bao Trong đó, âm thanh được tạo ra

bởi các dao động cơ học, nó truyền trong môi trường dẫn âm

Khi truyền đi trong mạng điện thoại, 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 điện 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 Hz + 3400 Hz

2.7 Phương thức hoạt động giữa tổng đài và thuê bao

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 15009 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ố (Dial Tone) cho thuê bao Dial Tone 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 Dial Tone,

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 nút 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.5s cơ, 0.5s không Tổng

đài nhận biết các số 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 phục vụ như một 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á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 loại tổng đài nội bộ

có dung lượng nhỏ từ 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 chương trình 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 = 25 Hz, chu kì 3s có 4s 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 gol

> 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 cho 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 gol va

tiến hành kết nối thông thoại cho 2 thuê bao

eee

SVTH: Nguyễn Văn Xuân

Trang 11

=.-rn-iẳẵnnae

> 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à 1 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 tỏa 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

Điện thoại viên có thể trực tiếp điều khiển các hoạt động của tổng đài qua các thao

tác trên bàn phím, hệ thống công tắc các hoạt động đó có thể bao gồm : nghe xen vào

các cuộc đàm thoại, cắt cưỡng bức các cuộc đàm thoại có ý đổ xấu, tổ chức điện thoại hội nghị Tổng đài điện tử cũng có thể được liên kết với máy điện toán để diéu khiển

hoạt động hệ thống Điều này làm tăng khả năng khai thác, làm tăng dung lượng, cũng như khả năng hoạt động của tổng đài lên rất nhiều

SVTH: Nguyễn Văn Xuân

Trang 12

Pe

Chương 3 KHẢO SÁT CÁC IC QUAN TRỌNG

3.1 Giới thiệu khái quát về họ IC MCS-517M

MCS-51* là một họ IC vi điều khiển do Intel phát triển và sản xuất Một số nhà sản xuất được phép cung cấp các IC tương thích với các sản phẩm MCS-51™ cia Intel

là Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel

Các IC của họ MCS-51TM có các đặc trưng chung như sau:

e 4port I/O 8 bit

e Giao tiép n6i tiép

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

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

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

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

e B6 nhan/chia 4 ps

Ngoài ra, tùy theo số hiệu sản xuất mà chúng có những khác biệt về bộ nhớ và

bộ định thời/bộ đếm như trong bảng so sánh dưới đây:

Số hiệu sản|Bộ nhớ chương | Bộ nhớ dữ liệu | Số bộ định thời

xuất trình trên chip trên chip (bộ đếm)

AT89C51 14 m6t Microcomputer 8 bit, loai CMOS, cé tốc độ cao và công suất

thấp với bộ nhớ Flash có thể lập trình được Nó được sản xuất với công nghệ bộ nhớ

không bay hơi mật độ cao của hãng Atmel, và tương thích với chuẩn công nghiệp của 80C51 va 80C52 vé chan ra và bộ lệnh Vì lý do đó, kể từ đây về sau ta sẽ dùng thuật ngữ “§0C51” (hoặc "8051”)

SVTH: Nguyễn Văn Xuân

Trang 13

Sơ đồ khối của AT89C51

~ 4 ae RAM ee wor FLASH

rat ace POINTER ee

x

+ BUFFER Tre TM

—— AND RESISTEA » ppra

| PORT 1 DANVERS Le PORT 3 DRIVERS

tillH Y Ỷ WYVYVYVVY Ý Ý{YTYTYYVVYYV

+ 128 x 8 bit RAM nội

+ 32 đường xuất-nhập lập trình được (tương ứng 4 port)

+ Hai timer/counter 16 bit

SS

SVTH: Nguyén Van Xuan

Trang 14

+ Một port nối tiếp song công lập trình được

+ Mạch đồng hồ và bộ dao động trên chip

Cấu hình chân của AT§9C51 như sau:

{12) P1.0 CÌ 1 ~- 40h vcc {T2 EX) P1.1 LÍ 2 s0 F1 P9.0 (ADO) P1.2 LÍ 9 38 F) P0.!1 {AD1}

{T0) P3.4 LÍ 14 27 BH P2.6 (A14) Y1) P3.8 C t6 #6 E 2.6 (A12) (WR) P3.8 C16 25 Eq P2.4 (A12) (AB) Ps.7 Cl 17 #4 H1 P3.8 (A1) XTAL2 C] 18 23 fF) P2.2 {A10) XTÁL1 LỆ 19 22H P2.1 (A9) GNO CI 26 21 [9 2.0 (a8)

Như vậy AT89C51 có tất cả 40 chân Mỗi chân có chức năng như các đường VO

(xuất/nhập), trong đó 24 chân có công dụng kép: mỗi đường có thể hoạt động như một

đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus địa chỉ và bus

các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao

Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu

(phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngoài

Ở chế độ này, P0 có các điện trổ pullup bên trong

Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và

xuất ra các byte code khi kiểm tra chương trình Cần có các điện trở pullup bên ngoài khi thực hiện việc kiểm tra chương trình

® Port Ì

Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong

Các bộ đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL Khi mức 1

được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội

SVTH: Nguyễn Văn Xuân I

Trang 15

Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở

pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng Iụ, do có các

điện trở pullup bên trong

Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngoài và khi

truy cập bộ nhớ dữ liệu ngoài dùng các địa chi 16 bit (MOVX @DPTR) Trong ứng dụng này, nó dùng các điện trở pullup nội "mạnh" khi phát ra các mức l Khi truy cập

bộ nhớ dữ liệu ngoài dùng các địa chỉ 8 bit MOVX @RD, port 2 phát ra các nội dung của thanh ghi chức năng đặc biệt P2

Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập

trình và kiểm tra Flash

e Port 3 Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong

Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các

mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở

pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõvào, các chân của port 3 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng lạ, do có các

điện trở pullup bên trong

Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê dưới đây:

P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài

Các chức năng chuyển đổi trên Port 3

e RST (chan 9)

Ngõ vào reset Một mức cao trên chân này khoảng hai chu kỳ máy trong

khi bộ đao động đang chạy sẽ reset thiết bị

Ằ ƑẸẹẰằ—-a-an

Trang 16

Ludn én tt nghiép 4020: Fuiong Wgoe Bao

ease

e ALE/ PROG

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ

ngoài Chân này cũng là ngõ nhập xung lập trình (PROG ) khi lập trình Flash

Khi hoạt động bình thường, ALE được phát với một tỷ lệ không đổi là 1/6 tần số

bộ dao động và có thể được dùng cho các much dich timing va clocking bên ngoài Tuy nhiên, lưu ý rằng một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài

Nếu muốn, hoạt động ALE có thể cấm được bằng cách set bit 0 của SER tại địa

chỉ 8Eh Nếu bit này được set, ALE chỉ dược hoạt động khi có một lệnh MOVX hoặc MOVC Ngược lại, chân này được kéo lên cao bởi các điện trở pullup “nhẹ” Việc set

bit cấm-ALE không có tác dụng khi bộ vi điều khiển đang ở chế độ thi hành ngoài

EA (ŒExternal Access Enable) phải được nối với GND để cho phép thiết bị đọc

code từ bộ nhớ chương trình ngoài có địa chỉ từ 0000H đến FFFFH Tuy nhiên, lưu ý rằng nếu bit khoá 1 (Iock-bit 1) được lập trình, EA sẽ được chốt bên trong khi reset

EA phải được nối với Vcc khi thi hành chương trình bên trong Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó áp lập trình 12V được chọn)

e XTALI va XTAL2

XTALI và XTAL2 1a hai ngõ vào và ra của một bộ khuếch đại đao động nghịch được cấu hình để dùng như một bộ dao động trên chip

Các kết nối của bộ dao động

Figure 7 Oscillator Connections

Notcs: CI, C2 = 3Ó BE + LÔ pE for Crystals

= 40 pk + 10 pF for Ceramic Resonators

——_—————aIyeEEEeeerr

SVTH: Nguyễn Văn Xuân I

Trang 17

low, các mức áp tối đa và tối thiểu phải được tuân theo

Các đặc trưng khác sẽ được trình bày một cách chỉ tiết hơn ở những phân tiếp theo sau

đây

3.1.3 Tổ chức bộ nhớ

8051/8031 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu Như đã nói ở trên, cả chương trình và dữ liệu có thể ở bên

trong; dù vậy chúng có thể được mở rộng bằng các thành phân ngoài lên đến tối đa 64

Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu

Bộ nhớ bên trong bao gồm ROM và RAM trên chip, RAM trên chip bao gồm nhiều 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 ghichức năng đặc biệt

Chỉ tiết về bộ nhớ RAM trên chip:

Như ta thấy trên hình (_), RAM bên trong 8051/8031 được phân chia giữa các bank thanh ghi (00H-1FH), RAM địa chỉ hóa từng bit (20H-2FH), RAM đa dụng

(30H-_7FH) và các thanh ghi chức năng đặc biệt (S0H-FEH)

RAM đa dụng

Mặc dù trên hình cho thấy 80 byte RAM da dụng chiếm các địa chỉ từ 30H~

7FH, 32 byte dưới cùng từ 00H đến 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ó mục đích khác)

Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp Ví dụ, để đọc nội dung ở địa chỉ 5FH của RAM

nội vào thanh ghi tích lũy, lệnh sau sẽ được dùng :

MOV A,5FH Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định

“địa chỉ nguồn” (5FH) Đích nhận dữ liệu được ngầm xác định trong mã lệnh là thanh

ghi tích lũy A

RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua

R0 hay R1 Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn Ở trên :

==cc _——————-nnainniiỏiỏẳẵẳẵăaaiẵẵnnn

SVTH: Nguyễn Văn Xuân lŠ

Trang 18

aa

Lệnh đầu dùng địa chỉ tức thời để đi chuyển giá trị 5FH vào thanh ghi R0, và lệnh

thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi tích

lũy

=c ằ _————Ừ—sỬ W-ẳớẳơgn

SVTH: Nguyễn Văn Xuân l4

Trang 19

23 |1FJ1EI1 |1 |1B|1A|19j18 8 chỉ hóa TH1

22 |17|16|15|14|13|12111|10 8 chi héa bit] THO

21 0B 8 chỉ hóa TL1

20 03 8 chỉ hóa TLO 1F Bank 3 89 chỉ hóa TMOD

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

8051/8031 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở các địa chỉ byte

20H đến 2FH, và phần còn lại là trong các thanh ghi chức năng đặc biỆt

Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi 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

Đa số các vi xử lý đòi hỏi một chuỗi lệnh đọc-sửa-ghi để đạt được hiệu quả tương tự

Hơn nữa, cdc port /O cũng được địa chỉ hóa từng bit làm đơn giản phần mềm xuất nhập

từng bit

————===NẴ

SVTH: Nguyễn Văn Xuân I

Trang 20

Luin Gn t6t aghiép 4/020: Fruong Woe Béo

thi hành nhiệm vụ tương tự như sau :

MOV A, 2CH ; doc ca byte

ORL A, #10000000B; set MSB

Các bank thanh ghi

32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi Bộ lệnh của 8051/8031 hỗ trợ 8 thanh ghi (R0 đến R7) và theo mặc định (sau khi reset hệ thống) các

thanh ghi này ở các địa chỉ 00H—07H Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy :

MOV A,R5

Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tất nhiên, thao tác tương tự có thể

được thi 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 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh tương ứng nhưng dùng địa chỉ trực tiếp Các giá trị dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này

Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank

thanh ghi trong từ trạng thái chương trình (PSW) Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H :

MOV R0,A

Ý tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình

nhanh và hiệu quả (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghi riêng không phụ thuộc vào các phần khác)

Các thanh ghi chức năng đặc biệt

Một bản đổ vùng bộ nhớ trên chip được gọi là không gian thanh ghi chức năng đặc biệt (SFR) như được trình bày trong bảng

Lưu ý rằng không phải tất cả các địa chỉ đều được sử dụng, và các địa chỉ không

được sử dụng có thể không được cung cấp trên con chip Các hành động đọc đến các địa chỉ này nói chung sẽ trả về các dữ liệu ngẫu nhiên, và các hành động viết sẽ có một hiệu ứng không xác định

Các phần mềm người dùng không nên viết các mức 1 đến những vị trí không được liệt kê này, vì chúng có thể được dùng trong các sản phẩm tương lai khi thêm vào SVTH: Nguyễn Văn Xuân Tổ

Trang 21

Luin dn tét nghiép GUHD: Quương ((gọc (Đảo

ee

các đặc trưng mới Trong trường hợp này, các giá trị reset hoặc không tích cực của các bit mới sẽ luôn là 0

Các thanh ghi nội của 8051/8031 được truy xuất ngầm định bởi bộ lệnh Ví dụ

lệnh “INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1 Tác động này được ngầm

định trong lệnh

Các thanh ghi trong 8051/8031 đượ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 chương trình và thanh ghi lệnhvì các thanh ghi này hiếm khi bị tác động trực tiếp, nên không lợi lộc gì khi đặt chúng vào trong RAM trên chip)

Đó là lý do để 8051/8031 có nhiều thanh ghi như vậy Cũng như RO đến R7, có

21 thanh ghi chtfc nang dic biét (SFR : Special Function Register) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH không được định nghĩa Chỉ có 21 địa chỉ SER là được định nghĩa

Ngoại trừ tích lũy (A) có thể được truy xuất ngầm như đã nói, đa số các SFR

được truy xuất dùng địa chỉ trực tiếp Chú ý rằng một vài SFR có thể được địa chỉ hóa

bit hoặc byte Người thiết kế phải thận trọng khi truy xuất bit và byte Ví dụ lệnh sau :

SETB OE0H sẽ set bit 0 trong thanh ghi tích lũy, các bit khác không đổi Ta thấy rằng

E0H đồng thời là địa chỉ byte của cả thanh ghi tích lũy và là địa chỉ bịt của bịt có trọng

số nhỏ nhất trong thanh ghi tích lũy Vì lệnh SETB chỉ tác động trên bit, nên chỉ có địa chỉ bit là có hiệu quả

Từ trạng thái chương trình

Từ trạng thái chương trình (PSW : Program Status Word) ở địa chỉ D0H chứa các bit trạng thái như bảng tóm tắt sau :

* Cờ nhớ

Cờ nhớ (CY) có công dụng kép Thông thường nó được dùng cho các lệnh toán

học : nó sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số mượn bởi

_ phép trừ Ví dụ, nếu thanh ghi tích lũy chứa FFH, thì lệnh ADD_ A, #1 sẽ trả về thanh

ghi tích lũy kết quả 00H và set cờ nhớ trong PSW

Cờ nhớ cũng có thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit Ví dụ, lệnh sau sẽ AND bịt 25H với cờ nhớ và đặt kết quả trở vào cờ nhớ :

Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người dùng

* Các bit chọn bank thanh ghi

== _—— n-n-iniỶ-ẳiẳẰ-ẳẵẳẵễẵễzờaờớaờớýợZŸẳ=ằẳn

SVTH: Nguyễn Văn Xuân W

Trang 22

Luén én tốt nghiệp 4020: Quương (2(gọc Bao

Các bit chon bank thanh ghi (RSO va RS1) xác định bank thanh ghỉ được tích cực

Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần Ví

dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 (địa

chỉ byte 1FH) đến thanh ghi tích lũy :

cộng, bit OV có thể được bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 sẽ set

đến F7H

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ủa

byte dữ liệu hiện hành trên đỉnh của ngăn xếp Các lệnh trên ngăn xếp bao gồm các thao tác cấ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ăn xế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ẽ

đọc đữ liệu và giảm SP Ngăn xếp của 8051/8031 được giữ trong RAM nội và được 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

Để khởi động lại SP với ngăn xếp bắt đầu tại 60H,các lệnh sau đây được dùng:

MOV SP,#5FH Trên 8051/8031 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên chip là 7EH Sở đĩ dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte đữ liệu đầu

Trang 23

Luin Gn tét nghiệp GOHD: Grong Agee Bao

a

đầu tiên để cất dif liéu c6 dia chi 14 O8H Néu phan mém ứng dụng không khởi động lại

SP, bank thanh ghi 1 (có thể cả 2 và 3) sẽ không dùng được vì vùng RAM này đã được

Con 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) Ba lệnh sau sẽ ghi 55H

vào RAM ngoài ở địa chỉ 1000H :

MOV A,#55H

MOV DPTR, #1000H

MOVX @DPTR,A

Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy

Lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bit 1000H vào con trồ

dữ liệu Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển dữ liệu trong A (55H) đến

RAM ngoài ở địa chỉ được chứa trong DPTR (1000H)

Các thanh ghi port xuất nhập

Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2

ở địa chỉ A0H và Port 3 ở địa chỉ B0H Tất cả các port đều được địa chỉ hóa từng bịt

Điều đó cung cấp một khả năng giao tiếp thuận lợi Ví dụ nếu một motor được nối qua một cuộn dây có transistor lái đến bit 7 của Port 1, nó có thể được bật và tắt bằng một

Trong một ví dụ khác, xem xét giao tiếp đến một thiết bị với một bit trạng thái gọi là

BUSY, được set khi thiết bị đang bận và được xóa khi thiết bị đã sấn sàng Nếu BUSY

được nối tới P1.5, vòng lặp sau sẽ được dùng để chờ thiết bị trở lại trạng thái sẵn sàng :

WAIT : JB P1.5, WAIT

Lệnh này có nghĩa là “nếu bit P1.5 được set thì nhảy tới nhãn WAIT” Noi cách khác

“nhảy trở lại và kiểm tra lần nữa”

Cac thanh ghi timer

a

SVTH: Nguyén Van Xuan

Trang 24

Luan ám tết nghiép GOUHD: Fruong Ngee Bio

_———

8051/8031 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ỉ SAH (TL0 : byte thấp) và 8CH (THO : byte cao) Timer

1 6 dia chi 8BH (TLI : byte thấp) và §DH (THỊ : byte cao) Việc vận hành timer được

set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi diéu khién timer (TCON) ở địa chỉ 88H Chỉ có TCON được địa chỉ hóa từng bit

Các thanh ghi port nối tiếp

8051/8031 chứa một port nối tiếp trên chip dành cho việc trao đổi thông tin với

các thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác có

giao tiếp nối tiếp (các bộ chuyển đổi A/D, các thanh 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 truyền và nhận Khi

truyền đữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Các mode vận hành

khác nhau được lập trình qua thanh ghi điểu khiển port nối tiếp (SCON) (được địa chỉ

hóa từng bit) ở địa chỉ 98H

Các thanh ghi ngắt

8051/8031 có cấu trúc 5 nguôn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi

reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa

chỉ A§H Cả hai thanh ghi được địa chỉ hóa từng bit

Thanh ghi điều khiển công suất

Thanh ghi điểu khiển công suất (PCON) ở địa chỉ 87H chứa nhiễu bit điều khiển Chúng được tóm tắt trong bảng sau :

7 SMOD nếu được set thì tốc độ baud sẽ

tăng gấp đôi trong các mode 1,2

và 3 của port nối tiếp

6— Không định nghĩa

3 GF1 Bit cd da dung 1

2 GFO Bit cờ đa dụng 0

1 PD Giảm công suất, được set để kích hoạt

mode giảm công suất, chỉ thoát khi reset

3.1.4 Bảo vệ bộ nhớ

Các bit khoá bộ nhớ chương trình Vi điều khiển AT89C51 có 3 bit khoá có thể

bỏ không lập trình (U) hoặc được lập trình (P) để nhận các đặc trưng thêm vào được liệt

kê trong bảng dưới đây (với LB1, LB2, LB3 là các bit khóa tương ứng)

SSS EEE ốốớớ SVTH: Nguyên Văn Xuân

Trang 25

Luin an tét aghiép GOHD: Friong Agge Bao

Ché 46 | LB1 | LB2 | LB3 | Kiểu bảo vệ

U U U Không khoá chương trình

P U U Các lệnh MOVC được thi hành từ bộ nhớ chương trình

ngoài bị cấm khi lấy các byte mã từ bộ nhớ nội, /BA

được lấy mẫu và được chốt lại khi reset và hơn nữa, việc lập trình bộ nhớ Flash là bị cấm

Khi bit khoá 1 được lập trình, mức logic tại chân EA được lấy mẫu và chốt lại khi

reset Nếu thiết bị được bật nguồn mà không có reset, việc chốt sẽ được khởi tạo với một giá trị ngẫu nhiên cho đến khi được reset Giá trị được chốt của EA phải bằng với

mức logic hiện tại ở chân đó để cho thiết bị làm việc một cách chính xác

3.1.5 Hoạt động của port nối tiếp

+ Giới thiệu 8051/8031 có một port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trên một đãi tần số rộng Chức năng chủ yếu của port nối tiếp là thực hiện chuyển đổi song song sang nối tiếp đối với đữ liệu xuất, và chuyển đổi nối tiếp sang song song với dữ

liệu nhập

Truy xuất phần cứng đến port nối tiếp qua các chân TXD và RXD Các chân

này có các chức năng khác với hai bit của Port 3, P3.1 ở chân 11 (TXD) và P3.0 ở chân

10 (RXD)

Port nối tiếp cho hoạt động song công (full duplex : thu va phát đồng thời), và đệm lúc thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi

ký tự thứ hai được nhận Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thu

được thu đây đủ thì dữ liệu sẽ không bị mất

Hai thanh ghỉ chức năng đặc biệt cho phép phần mềm truy xuất đến port nối

tiếp là : SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở địa chỉ 99H thật sự là hai bộ đệm Viết vào SBUF để nạp dữ liệu sẽ được phát, và đọc SBUF để truy xuất dữ liệu

thu được Đây là hai thanh ghi riêng biệt : thanh ghi chỉ ghi để phát và thanh ghi chỉ đọc

Trang 26

Luan an tot nghiép GOHD: Fruong Ngee Bao

Thanh ghi điều khiển port nối tiếp (SCON) ở địa chi 98H là thanh ghỉ có địa chỉ

bít chứa các bit trạng thái và các bit điểu khiển Các bit điều khiển đặt chế độ hoạt

động cho port nối tiếp, và các bit trạng thái báo kết thúc việc phát hoặc thu ký tự Các bit trạnh thái có thể được kiểm tra bằng phần mêm hoặc có thể được lập trình để tạo

ngắt

Bus nội 8051/8031

Tần số làm việc của port nối tiếp, còn gọi là tốc độ baud có thể cố định (lấy từ

bộ dao động trên chip) Nếu sử dụng tốc độ baud thay đổi, Timer 1 sẽ cung cấp xung

nhịp tốc độ baud và phải được lập trình

+» Thanh ghi điều khiển port nối tiếp

Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ port nối tiếp (SCON) ở địa chỉ 98H Sau đây là các bảng tóm tắt thanh ghi SCON và các chế độ của port nối tiếp :

eee

SVTH: Nguyễn Văn Xuân

Trang 27

Bit Ky hiéu Dia chi Mô tả

SCON.7 SMO 9FH Bit 0 của chế độ port nối tiếp

SCON.6 SMi 9EH Bit 1 của chế độ port nối tiếp

SCON5 SM2 9DH Bit 2 của chế độ port nối tiếp Cho phép truyền

thông đa xử lý trong các chế đọ 2 và 3; RÌ sẽ không bị tác động nếu bit thứ 9 thu được là 0

SCON.4 REN 9CH Cho phép bộ thu phải được đặt lên 1 để thu (nhận)

các ký tự

SCON3 TB8 9BH Bit 8 phat, bit thứ 9 được phát trong các chế độ 2

và 3; được đặt và xóa bằng phần mềm

SCON.2 RB8 9AH Bit 8 thu, bít thứ 9 thu được

SCON.1 TI 99H Co ngắt phát Đặt lên 1 khi kết thúc phát ký tự;

0 1 1 UART 8 bit Thay đổi (đặt bằng timer)

1 0 2 UART 9 bit Cố định (Fosc chia cho 12 hoặc 64)

1 1 3 UART9 bit Thay d6i (dat bing timer)

Các chế độ port nối tiếp Trước khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ Ví dụ,

lệnh MOV SCON, #01010010B khởi động port nối tiếp cho chế độ 1 (SM0/SMI =

0/1), cho phép bộ thu (REN = 1) và đặt cờ ngắt phát (T1 = 1) để chỉ bộ phát sẵn sàng

hoạt động

3.1.6 Các chế độ hoạt động

Port nối tiếp có 4 chế độ hoat động, có thể chọn được bằng cách viết các số 1

hay 0 vào các bit SM0 và SMI trong SCON Có ba chế độ cho phép truyền thông bất

đồng bộ, với mỗi ký tự được thu (nhận) hoặc phát đều được đóng khung bằng một bit

start và 1 bit stop Ở chế độ thứ tư, port nối tiếp hoạt động như một thanh ghi dich đơn

giản

“> Thanh ghi dịch 8 bit (chế độ 0)

Chế độ 0 được chọn bằng cách ghi các bit 0 vào SMI và SMO của SCON, đưa

port nối tiếp vào chế độ thanh ghi dịch 8 bit Dữ liệu nối tiếp vào và ra qua RXD và

SVTH: Nguyễn Văn Xuân

Trang 28

TXD (P3.1) Mỗi bit phát đi hợp lệ (trên RXD) trong một chu kỳ máy Trong mỗi chu

kỳ máy, tín hiệu xung nhập xuống thấp ở S3P1 và trở về mức cao ở S6PI

Một chu kỳ máy

so leteletelelelejelel plejelejelelelejelelele

Giản đồ thời gian port nối tiếp phát ở chế độ 0

Việc thu được khởi động khi bit cho phép bộ thu (REN) là 1 và bit ngắt thu (RD) là

0 Qui tắc tổng quát là đặt REN khi bắt đầu chương trình để khởi động port nối tiếp, rồi

xóa RI để bắt đầu hoạt động nhập dữ liệu Khi RI bị xóa, các xung nhịp được đưa ra đường TXD, bắt đầu chu kỳ máy kế tiếp, và dữ liệu theo xung nhịp ở đường RXD Lấy xung nhịp cho dữ liệu vào port nối tiếp xảy ra ở cạnh dương của TXD

Một ứng dụng của chế độ thanh ghi dịch là mở rộng khả năng xuất của 8051/8031 IC

SVTH: Nguyễn Văn Xuân :

Trang 29

TXD (P3.1) >Clock Thanh ghi

8051 ¬ RXD (P3.0) »>|Dữ liệu dịch

Chế độ thanh ghi dịch của port nối tiếp

* UART 8bit với tốc độ baud thay đổi được (chế độ 1)

Ở chế độ 1, port nối tiếp của 8051/8031 làm việc như một UART 8 bít với tốc

độ baud thay đổi được Một UART (Universal Asynchronous Receiver/T ransmitter : Bộ

thu/phát bất đồng bộ vạn năng) là một dụng cụ thu và phát dữ liệu nối tiếp với mỗi ký

tự đữ liệu đi trước là bit start ở mức thấp và theo sau là bit stop ở mức cao Đôi khi xen

thêm bit kiểm tra chắn lẻ giữa bit dữ liệu cuối cùng và bít stop Hoạt động chủ yếu của UART là chuyển đổi song song sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp

sang song song với dữ liệu nhập

Ở chế độ 1, 10 bit được phát trên TXD hoặc thu trên RXD Những bít đó là : 1 bit start (luôn luôn là 0), 8 bit đữ liệu (LSB đầu tiên) và 1 bit stop đuôn luôn là 1) Với

hoạt động thu, bit stop được đưa vào RBS8 trong SCON Trong §051/8031 chế dộ baud

được đặt bằng tốc độ báo tràn của Timer 1

Tạo xung nhịp và đồng bộ hóa các thanh ghi dịch của port nối tiếp trong các chế

độ 1, 2 và 3 được thiết lập bằng bộ đếm 4 bit chia cho 16, ngõ ra là xung nhịp tốc độ baud Ngõ vào của bộ đếm này được chọn qua phần mềm

Tạo xung nhịp port nối tiếp

Truyền dữ liệu (phát) được khởi động bằng cách ghi vào SBUF, nhưng vẫn chưa thật sự bắt đầu chạy cho đến khi sự thay thế kế tiếp của bộ đếm chia cho l6 cung cấp tốc độ baud cổng nối tiếp Dữ liệu được dịch ra ngoài trên đường TXD bắt đầu bằng bit

start, theo sau là § bit dữ liệu và sau cùng là bit stop Độ rộng (theo thời gian của mỗi

bit) là nghịch đảo của tốc độ baud được lập trình trong timer Cờ ngắt phát (TD được

a |

SVTH: Nguyén Van Xuan

Trang 30

Đặt cờ TI port nối tiếp

Việc thu đữ liệu được khởi động bằng một chuyển trạng thái từ 1 xuống 0 trên

RXD Bộ đếm 16 tức thời được xóa để đồng bộ số đếm với luồng bit đến Luồng bit đến được lấy mẫu giữa 16 lần đếm

Bộ thu sẽ phát hiện được bít start sai bằng cách yêu cầu trạng thái 0 ở (bit start) Ở

lần đếm thứ 8 sau khi có chuyển trạng thái từ 1 xuống 0 đâu tiên Nếu điều này không

xảy ra, người ta giả sử là bộ thu được kích bởi nhiễu chứ không phải do một ký tự hợp

lệ Bộ thu được reset và quay về trạng thái nghỉ (dle), tim kiếm (đợi) chuyển trạng thái

từ 1 xuống 0 kế

Giả sử đã phát hiện được bit start hợp lệ, thi tiếp tục thu ký tự Bit start được bỏ

qua và 8 bit dif Hiệu được đưa vào thanh ghi dịch cổng nối tiếp theo xung nhịp Khi đã

có được tất cả 8 bit, điều sau đây xảy ra :

1 Bit thứ 9 (bit stop) được chốt vào RB8 trong SCON

2 SBUF được nạp với 8 bit dữ liệu

3 Cờ ngắt bộ thu (RD) được đặt lên 1

Tuy nhiên, những điều này chỉ xảy ra nếu đã có những điều kiện sau :

1.RI=0

2 SM2 = 1 và bit stop thu được là 1, hoặc SM2 = 0

Đồi hỏi RI = 0 để bảo đảm là phần mềm đã doc ký tự trước (và RI được xóa)

Điều kiện thứ hai hơi phức tạpn nhưng chỉ áp dụng trong chế độ truyền thông đa xử lý Điều đó hàm ý là “không đặt RI lên 1 trong chế độ truyền thông đa xử lý khi bit dữ liệu

thứ 9 là 0)

4 UART 9 bit với tốc độ baud cố định (chế độ 2)

Khi SMI = 1 và SM0 = 0, cổng nối tiếp làm việc ở chế độ 2, như một UART 9

bit có tốc độ baud cố định 11 bit sẽ được phát hoặc thu : 1 bịt start, 8 bịt dữ liệu, bit dữ

liệu thứ 9 có thể lập trình được và 1 bit stop Khi phát, bit thứ 9 là bất cứ gì đã được đưa vào TB8 trong SCON (có thể là bít parity) Khi thu, bít thứ 9 thu được sẽ 6 trong RB8

SVTH: Nguyễn Văn Xuân

Trang 31

Luin an tét nghiệp GOHD: Friong Ngee Bao

ae

Tốc độ baud ở chế độ 2 là 1/32 hoặc 1/16 tần số dao động trên chip

s* UART 9 bit với tốc độ baud thay đổi được

Chế độ này giống như chế độ 2 ngoại trừ tốc độ baud có thể lập trình được và được cung cấp bởi timer Thật ra, các chế độ 1,2 và 3 rất giống nhau Các khác biệt là ở tốc độ baud (ccó định trong chế độ 2, thay đổi trong các chế độ 1 và 3) và ở số bịt dit liệu (8 trong chế độ 1, 9 trong các chế độ 2 và 3)

3.17 Khởi động và truy xuất các thanh ghi cổng nối tiếp

«» Cho phép thu

Bit cho phép bộ thu (REN = Receiver Enable) trong SCON phải được đặt lên 1 bằng phẩm mềm để cho phép thu các ký tự Thông thường thực hiện việc nàyở đầu chương trình khi khởi động cổng nối tiếp, timer, Có thể thực hiện việc này theo hai

cách Lệnh SETB REN sẽ dat REN lên 1, hoặc lệnh MOV SCON, #xxxIxxxxB sẽ đặt

REN lên 1 và đặt hoặc xóa các bit khác trong SCON khi cân (Các x phải là 0 hoặc 2 để đặt chế độ làm việc)

“ Bit dữ liệu thứ 9

Bit đữ liệu thứ 9 cần phát trong các chế độ 2 và 3 phải được nạp vào trong TB8

bằng phần mềm Bit dữ liệu dữ liệu thứ 9 thu được đặt ở RB8 Phần mềm có thể cần

hoặc không cần bit đữ liệu thứ 9, phụ thuộc vào đặc tính kỹ thuật của thiết bị nối tiếp

sử dụng (Bit đữ liệu thứ 9 cũng đóng một vai trò quan trong trong truyền thông đa xử lý)

s*» Thêm l bit parity

Thường sử dụng bit đữ liệu thứ 9 để thêm parity vào ký tự Như đã xét ở các

chương trước, bit P trong từ trạng thái chương trình (PSW) được đặt lên 1 hoặc bị xóa

mỗi chu kỳ máy để thiết lập kiểm tra chan với 8 bit trong thanh ghi tích lũy Ví dụ, nếu truyền thông cần 8 bit đữ liệu cộng thêm kiểm tra chắn, có thể sử dụng các lệnh sau để

phát 8 bit trong thanh ghỉ tích lũy với kiển tra chấn thêm vào bit thứ 9 :

MOV C,P ; Dat bit parity chan vao TB8 MOV TB§,C ; nó trở thành bit dữ liệu thứ 9

MOV SBUF,A ; Chuyển 8 bit từ ACC vao SBUF

Nếu cần parity lẻ thì sửa các lệnh lại như sau :

MOV C,P ; Dat bit parity chan vào cờ C

CPL C › Đổi sang parity lẻ

MOV TB8,C

MOV SBUF, A

Dĩ nhiên, việc sử dụng parity không bị giới hạn ở các chế độ 2 và 3 Ở chế độ 1, 8 bit

dữ liệu được truyền đi có thể bao gồm 7 bit đữ liệu cộng thêm bit parity Để truyền mã

ASCII 7 bit với parity chấn ở bit 8, có thể sử dụng các lệnh sau :

SVTH: Nguyễn Văn Xuân 7

Trang 32

CLR ACC.7 ; bảo đảm MSB được xóa

PMOV C,P ; parity chấn ở trong

MOV ACC.7,C ; Đặt parity chấn vào MSB

MOV SBUF, A : Gởi ký tự đi 7 bit đữ liệu cộng prity chấn

s* Các cờ ngắt

Hai cờ ngắt thu và phát (RI và TỤ trong SCON đóng một vai trò quan trọng

trong truyền thông nối tiếp dùng 8051/8031 Cả hai bit được đặt lên 1 bằng phần cứng, nhưng phải được xóa bằng phần mềm

Ví dụ:thường RI được đặt lên 1 khi kết thúc việc thu ký tự và báo “bộ đệm thu

tràn” Điều kiện này có thể được kiểm tra trong phần mềm hoặc có thể được lập trình

để gây ra một ngắt Nếu phân mềm muốn nhập một ký tự từ thiết bị được nối vào cổng nối tiếp (có thể là thiết bị đâu cuối hiển thị video), nó phải đợi cho đến khi RI được đặt

lên 1, rỗi xóa RI và đọc ký tự từ SBUE Chương trình như sau :

WAIT:JNB RIWAITT : Kiểm tra RI cho đến khi nó = 1

ký tự trong thanh ghi tích lũy:

WAIT:JINB TI,WAIT : Kiểm tra TI cho đến khi nó bằng 1

CLR TI ; X6a TI MOV SBUF,A ; Gởi ký tự ổi

Các đoạn chương trình trên là một phần của các hàm nhập và xuất ký tự chuẩn

s» Tốc độ baud port nối tiếp

Như đã nói, tốc độ baud cố định ở các chế độ 0 và 2 Trong chế độ 0, nó luôn luôn là tân số dao động trên chip được chia cho 12 Thông thường thạch anh ấn định tần

số dao động trên chip của 8051/8031, nhưng cũng có thể sử dụng nguồn xung nhịp

khác Giả sử với tần số dao động danh định là 12 MHz, thì tốc độ baud chế độ 0 là 1

MHz

Eee

SVTH: Nguyễn Văn Xuân

Trang 33

trên chip „| +16 | —Ì SMOD = tốc độ baud

c) các chế độ 1 và 3

Các nguồn tạo xung nhịp cho port nối tiếp

Mặc nhiên sau khi reset hệ thống, tốc độ baud chế độ 2 là tần số bộ dao động chia cho 64 Tốc độ baud cũng bị ảnh hưởng bởi một bít trong thanh ghi điều khiển nguồn cung cấp (PCON) Bit 7 của PCON là bít SMOD Đặt bít SMOD lên 1 làm gấp đôi tốc độ baud trong các chế độ 1, 2 và 3 Trong chế độ 2, tốc độ baud có thể bị gấp

đôi từ giá trị mặc nhiên của 1/64 tần số dao động (SMOD = 0) đến 1/32 tần số dao động

MOV PCON,A ; Ghi giá trị ngược về PCON

Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của Timer 1

Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm cho 32 (16 nếu SMOD = ]) trước khi cung cấp xung nhịp tốc độ baudcho port nối tiếp

* Sử dụng Timer 1 làm xung nhịp tốc độ baud

Xét 8051, cách thông dụng để tạo tốc độ baud là khởi động TMOD cho chế độ 8 bit tự động nạp lại (chế độ 2) và đặt giá trị nạp lại đúng vào THỊ để cho tốc độ tràn

đúng với tốc độ baud TMOD được khởi động như sau :

MOV TMOD, #0010xxxxB

SVTH: Nguyễn Văn Xuân

Trang 34

XS

Luan an tét nghiép GORD: FGruicng Wy NI

N

Các x là các bit 1 hoặc 0 cần cho timer

Cũng có thể đạt được các tốc độ baud thấp bằng cách sử dụng timer chế

TMOD = 0001xxxxB Tuy nhiên, tốn thêm phần mềm vì các thanh ghi TH1/

được khởi động lại sau mỗi lần tràn Việc này sẽ được thực hiện trong chương trình phục vụ ngắt Một chọn lựa khác là cấp xung nhịp cho Timer 1 từ ngoài dùng T1(P3.5)

Và luôn luôn tốc độ baud là tốc độ tràn của Timer 1 được chia cho 32 (hoặc cho 16, nếu

SMOD = 1)

Công thức tổng quát để xác định tốc độ baud trong các chế độ 1 và 3 là :

Tốc độ baud = Tốc độ tràn của Timer 1 + 32

Ví dụ, muốn làm việc với tốc độ baud là 1200 baud, thì tốc độ tràn của Timer 1 phải là

1200 x 32 = 38.4 KHz

Nếu dùng thạch anh 12 MHz, Timer 1 được cấp xung nhịp 1 MHz hay 1000 KHz Vì tốc

đô tràn của Timer 1 là 38.4 KHz và timer được cấp xung nhịp 1000 KHz, thì cần tràn sau 1000 + 38.4 = 26.04 xung nhịp (làm tròn là 26) Vì timer đếm lên và tràn xảy ra khi

có sự thay đổi từ FEFH xuống 00H ở số đếm Như vậy giá trị đúng cần nạp vào THI là

-26 Cách dễ nhất để đặt giá trị nạp lại vào THỊ là :

độ baud thông dụng nhất, dùng thạch anh 12 MHZ hoặc 11.059 MHz :

Tốc độ Tần số SMOD Giá trịnạp lại Tốc độ baud Sai số

baud thạch anh vào TH thật

Trang 35

MTS8880 là một IC thu phát DTMF trọn bộ kèm theo một bộ lọc thoại (Call

Progress Filter) Bộ thu DTME dựa trên kỹ thuật chuẩn của IC MT8870, còn gọi là bộ

phát DTME sử dụng phương pháp biến đổi D/A biến dung (Switched Capacitor) cho ra

tín hiệu DTMF chính xác, ít nhiễu Các bộ đếm bên trong giúp hình thành chế độ Brust Mode, nhờ vậy các cặp tone xuất ra với thời hằng chính xác Bộ lọc Call Progress cho phép bộ vi xử lý phân tích các tone trạng thái đường dây Bus chuẩn của nó kết hợp MPU va đặc biệt thích hợp họ 6800 của Mortorola MT8880 có 5 thanh ghi bên trong để giao tiếp với wP, có thể chia làm 3 loại:

Nhận phát data: 2 thanh ghi

Thanh ghi trạng thái

_ Nhận từ điều khiển: 2 thanh ghi

3.2.1 Mô tả chức năng

IC phát tone MT§880 bao gồm bộ thu DTME chất lượng cao (kèm bộ khuếch đại) và một bộ tạo DTME sử dụng BUST COUNTER giúp cho việc tổng hợp đóng ngắt tone được chính xác Ngoài ra ta có thể chọn chế độ CALL PROGRESS để giúp phát hiện các tần số nằm trong dải thông thoại Đó là các tín hiệu trạng thái đường dây

3.2.2 Cấu hình ngõ vào

Thiết kế đầu vào của MT8880 cung cấp một bộ khuếch đại OP-AMP ngõ vào vi

sai cũng như một ngõ vào VREE để điều chỉnh thiên áp cho đầu vào tại VDD/2 Chân

GS giúp nối ngõ ra bộ khuếch đại với ngõ vào qua một điện trở ngoài để điều chỉnh độ

\di

> Bộ thu

Hai bộ lọc băng thông bậc 6 giúp tách các tone trong các nhóm tone LOW và

HIGH Đầu ra mỗi bộ lọc điện dung giúp nắn dạng tín hiệu trước khi qua bộ hạn biên

Việc hạn biên được đảm nhiệm bởi bộ so sánh (Comparator) có kèm theo bộ trễ để

tránh chọn lâm tín hiệu mức thấp không mong muốn Đầu ra của bộ so sánh cho ta các dao động có mức logic tại tần số DTMF thu được

Tiếp theo phần lọc là bộ giải mã sử dụng kỹ thuật đếm số để kiểm tra tần số của các tone thu được và bảo đảm chúng tương ứng với các tần số DTME chuẩn Một

kỹ thuật lấy trung bình phức giúp loại trừ các tone giả tạo thành do tiếng nói trong khi vẫn đảm bảo một khoảng biến động cho tone thu do bị lệch Khi bộ kiểm tra nhận dạng được hai tone đúng thì đâu ra “early steering” (Est) sẽ lên mức Active Lúc không nhận được tín hiệu tone thì Est sẽ lên mức Inactive

eee

a S.RỶễnẵẳẵớợờớờaợaợnnunnn

SVTH: Nguyén Van Xuan 31

Trang 36

Trước khi thu nhận một cặp tone đã giải mã, bộ thu phải kiểm tra xem thời hằng

của tín hiệu có đúng không Việc kiểm tra này được thực hiện bởi một bộ RC mắc ngoài Khi Est lên HIGH làm cho Vc tăng lên khi tụ xả Khi mà Est vẫn còn HIGH trong một thời đoạn hợp lệ (tone) thì Vc tiến tới mức ngưỡng Vtst của logic Steering để

nhận một cặp tone và chốt 4 bit mã tương ứng với nó vào thanh ghi Receive Data Register Lúc này, đầu ra GT được kích hoạt và đẩy Vc lên tới VDD Cuối cùng sau

một thời gian delay ngắn cho phép việc chốt Data thực hiện xong thì cờ của mạch

Steering lên HIGH báo hiệu rằng cặp tone thu được đã được lưu vào thanh ghi Ta có

thể kiểm tra bit tương ứng trong thanh ghi trạng thái Nếu ta cho Mode Interruptt thì chân IRQ/CP sẽ xuống LOW khi cờ này được kích hoạt

Dữ liệu thu được sẽ đi ra Databus (2 chiều) khi thanh ghi Receive Data được đọc Mạch Steering lại hoạt động nhưng theo chiều ngược lại để kiểm tra khoảng dừng giữa hai số được quay Vì vậy bộ thu vừa bỏ qua tín hiệu quá ngắn không hợp lệ vừa không chấp nhận các khoảng ngắt quá nhỏ không thể coi là khoảng dừng giữa các số Chức năng này, cũng như khả nang chon thdi hang Steering bằng mạch ngoài cho phép

người thiết kế điều chỉnh hoạt động cho phù hợp với các đòi hỏi khác nhau của từng

ứng dụng

> Bộ lọc thoại Mode CALL PROGRESS khi được chọn thì cho phép kiểm tra các tone khác nhau thể hiện trạng thái đường dây Đầu vào của Call Progress và mode tone DTMF là chung nhưng tone Call Progress chỉ có thể kiểm tra néu ta chon mode CP DTMF tone lại không thể nhận dạng được nếu ta chọn mode CP

Các tần số đưa đến đầu vào (+IN và -IN) nằm trong giới hạn băng thông chấp

nhận của bộ lọc (280-550 Hz) sẽ đưa qua bộ so sánh có độ lợi cao và đến chân IRQ/CP

Dạng sóng ở đầu ra tạo bởi mạch trigger có thể phân tích bởi vi xử lý để xác định tính chất của các tone trạng thái đường dây Các tần số trong vùng loại bỏ sẽ không được

kiểm tra và như vậy sẽ không có tín hiệu nào ở chân TRQ/CP khi gặp các tần số này

Bộ phát DTMEF trong MT8880 có khả năng tạo tất cả 16 cặp tone DTME chuẩn với nhiễu tối thiểu và độ chính xác cao Tất cả tần số này đều lấy từ dao động thạch

anh 3.579545 Mhz mắc ngoài Dạng sóng sin của từng tone được tổng hợp số bằng cách

sử dụng bộ phận chia hàng và cột tổng hợp được, và bộ biến đổi D/A biến dung Các

tone hàng và cột được trộn lại và lọc để cho ra tín hiệu DTME với ít hài và độ chính

——.s-S_— _—_— — ——B —_on_Ốn_ -saaœaằẳằẳằằ.ẲẲẲVŒậ

= —- k aaan

Trang 37

Bảng mã hóa các tín hiệu quay số DTME

Thời hằng của mỗi tone bao gồm 32 thời đọan giống nhau Thời hằng của một

tone được điều khiển bằng cách thay đổi độ dài của các thời đoạn trên Trong hoạt động ghi vào thanh ghi Transmith Data thì 4 bit data trên bus được chốt và biến đổi thành 2 trong 8 mã để sử dụng cho mạch chia hàng cột Mã này được sử dụng để quyết

định thời đoạn tần số của một tone

> Burst mode

Một ứng dụng điện thoại bất kỳ đều đòi hỏi tín hiệu DTME được tạo ra với một thời hằng hoặc được quy định bởi ứng dụng đó hoặc bởi hệ thống chuyển mạch hiện

có Thời hằng DTMF chuẩn có thể được tạo ra bằng cách sử dụng Burst Mode Bộ phát

có khả năng tổng hợp các tone có khoảng tắt/mở trong thời gian định trước Thời gian này là 51 ms + 1ms và là chuẩn cho bộ quay số tự động và tổng đài Sau khi khoảng tắtmở tone đã được phát đi, 1 bit tương ứng sẽ được lập trong thanh ghi trạng thái để biểu thị rằng bộ phát đã sẵn sàng cho data kế Thời hằng 51 ms + lms đóng /md tone

có được khi ta chọn mode DTME

Tuy nhiên khi CP mode (Call Progress Mode) được chọn thì một thời hằng đóng

ngắt thứ hai là 102ms + 2ms sẽ được sử dụng Khoảng thời hằng dài hơn này sẽ hữu ích

=——:

SVTH: Nguyễn Văn Xuân 33

Trang 38

Luin dn tét nghiệp, GOHD: Grong Agee Béo

Fe

khi thời gian xuất hiện tone là 51 ms Chú ý rằng khi CP mode và burst mode cùng

được chọn thì MT8880 chỉ hoạt động ở chế độ phát mà thôi Trong một ứng dụng nào

đó khi ta cần một khoảng thời gian đóng ngắt khác (không theo chuẩn) thì phải dùng vòng lặp phân mềm hay một bộ định bên ngoài và tắt chế độ Busri Mode đi IC

MT8880 khi được khởi động sẽ mặc nhiên chọn chế độ DTMF mode va Burst mode

đồng thời

> Tao Tone Don: (Single Tone) Chế độ tạo tone đơn được dùng khi ta chỉ muốn tạo một tone nào đó trong nhóm

thấp hoặc cao Chế độ này dùng để kiểm tra thiết bị DTMF và để tính toán nhiễu, và

được chọn thanh ghi Control Register B

> Mach Clock DTMF

Mạch clock được sử đụng kết hợp với tần số màu chuẩn tivi có tần số cộng

hưởng là 3.579545 Mhz Một nhóm IC MT 8880 có thể nối với nhau dùng chung một dao động thạch anh

»> Bộ giao tiếp với vi xử lý

MTS8880 sử dụng một bộ giao tiếp vi xử lý cho phép điều khiển một cách chính

xác với chức năng thu và phát Có tổng cộng 5 thanh ghi chia làm ba loại: Thanh ghi

dữ liệu thu /phát, thanh ghi điều khiển thu /phát và thanh ghi trạng thái Có hai thanh ghi đữ liệu: thanh ghi Receive data chứa mã xuất ra của cặp tone DTMF hợp lệ gần nhất và là thanh ghi chỉ đọc Data đưa vào thanh ghi Transmith Data sẽ qui định cặp tone nào được phát đi, Data chỉ có thể được vào thanh ghi này

Điều khiển thu phát tone được đảm nhận bởi 2 thanh ghi Control Register À và Control Register B (CRA và CRB) có cùng một địa chỉ Muốn ghi vào thanh ghi CRB

thì trước đó phải có set một bit tương ting 6 'CRA Chu kỳ ghi kế tiếp vào cùng địa chỉ

với CRA sẽ cho phép truy cập tới CRB Và chu kỳ ghi kế tiếp nữa sẽ trở lại CRA Khi cấp điện mạch điện reset nội sẽ xóa các thanh ghỉ điều khiển Tuy vậy, để ngăn ngừa thì chương trình phần mềm nên có một đòng lệnh để kích khởi các thanh ghi này Giả

sử rằng thanh ghi phát rỗng sau khi reset, ta xem qua các bảng (3, 4, 5 và 6) để thấy rõ chỉ tiết về các thanh ghi điều khiển Chân IRQ/CP có thể được lập trình sao cho nó có

thể cung cấp tín hiệu yêu cầu ngắt sau khi nhận xung DTMEF hợp lệ hay khi bộ phát đã

sẵn sàng cho data kế tiếp (chỉ trong Burst mode) Chân IRQ/CP là ngõ ra cực máng hở

và vì thế cần có một điện trở kéo lên

Thanh ghi nhận data chứa mã lệnh xuất của giá trị cuối cùng cặp tone DTMF

được giải mã và chỉ là thanh ghi đọc data vào Tín hiệu data vào trong thanh ghi phát

sẽ được định rõ với cặp tone nào mà được phát sinh ra Data chỉ có thể được viết với

thanh ghi phát

Hai thanh ghi điều khiển CRA va CRB chỉ chiếm chỗ trong một khoảng địa chỉ

tương ứng ghép ghi với CRB có thể được thực hiện bằng cách đặt dành riêng bit trong CRA phép ghi tiếp theo tới địa chỉ tương tự sẽ được trực tiếp đưa tới CRB và tiếp theo sau cho chu kỳ ghi sẽ được trực tiếp trở lại CRA

SVTH: Nguyễn Văn Xuân

Trang 39

a

3.2.3 Cách truy cập thanh ghi

RSO |R/W_ | CHỨC NĂNG

Ghi vào thanh ghi Data phát

Đọc từ thanh ghi data thu

Ghi vào thanh ghi điều khiển

Đọc từ thanh ghi trạng thái

b3 b2 b1 b0 REGISTER |INTERRUPT | CP/ DTMF TONE OUT SELECT T MODE

ENABLE

CRA (Control Register A)

BIT | TEN CACH SU DUNG

BO | TONE Mức logic 1 cho phép tone được phát ra Chức năng này

OUTPUT có thể được thực hiện trong Busrt mode hoặc None-

Busrt mode

Bl CP/ DTMF | Chọn mode DTMF (mức 0) cho phép thu và phát tone

MODE đồng thời Khi chọn mode CP (mức! bộ lọc đãi bậc 6) CONTROL | được kích hoạt cho phép kiểm tra các tone trạng thái

đường dây (call progress tone) Các tone này nếu nằm trong đãi thông qui định thì được thể hiện ở chân IRQ/CP

ở dạng sóng hình chữ nhật nếu bit IRQ được chọn (B=])

Ngoài ra khi cả hai CP mode và busrt mode được chọn,

bộ phát sẽ phát tín hiệu DTME với khoảng tắt mở là 102

ms, gấp đôi khi ta chọn mode DTMEF Chú ý rằng tone

DTMF sẽ được thu khi mode CP được chọn

B2 |INTERRUPT | Logic 1 cho phép mode Interrupt Khi mode này mức tích

ENABLE cực và mode DTME được (B1=0), chan IRQ/CP sé bị

kéo xuống mức 0 khi:

+ Một tín hiệu DTME hợp lệ được nhận và đã hiện hữu được trong khoảng thời gian an toàn

+ Bộ phát sẵn sàng cho data kế tiếp ( chi trong Busrt

B3 | REGISTERE | Logic 1 cho phép CRB trong chu kỳ ghi kế tiếp trên cùng

SELECT địa chỉ này Chu kỳ ghi kế sau nữa sẽ trở lại ghi vào

CRA

SVTH: Nguyễn Văn Xuân

Trang 40

SINGLE /DUAL TONE TEST MODE BUSRT MODE

BO BUSRT MODE Mức 0 cho phép chọn Busrt mode khi mode này được

chọn Data tương ứng với cặp tone DTME có thể được

viết vào thanh ghi phát để tạo ra khoảng mở tone với

thời hằng chuẩn (51ms hay 102ms) Kế tiếp sau là

khoảng ngắt tone với thời hằng tương tự Ngay sau khoảng ngắt tone thì thanh ghi trạng thái sẽ được cập

nhật biểu thị rằng thanh ghi phát đã sẵn sàng cho các

lệng mới và một ngắt được tạo ra các mode Interruptt

đã được chọn trước đó Khi Burst Mode không được

chọn trước đóthì tone phát ra sẽ được tắt mở theo bất

kỳ thời hằng nào do người dùng lập trình

BI TEST MODE Cho phép chọn Test Mode (logic 1) Khi đó chân

IRQ/CB sẽ xuất hiện tín hiệu Steering được làm trễ từ

bộ thu DTMF DTME Mode phải được chọn (CRÀ B1=0) trước khi Test Mode được kích hoạt

B2 SINGLE/

DUAL TONE GENERATION

Mức logic 0 cho pháp tín hiệu Dual Tone Mulu Frequency Logic 1 chọn chế độ tone đơn (single tone)

cho phép tạo ra một tone nhóm thấp hoặc nhóm cao

dựa vào trạng thái của bit B3 trong thanh ghi CRB

B3

Sử dụng với bit B2 ở trên Bộ phát có thể được chọn để

phát tần số nằm trên hàng hay cột và mức logic 1 sẽ chọn tần số hàng

BO IQR Ngắt chưa kích hoạt Bị

xóa sau khi thanh ghi

Ngày đăng: 17/02/2014, 16:47

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