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

Thiết kế và thi công mạch menu điện tử

81 476 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 đề Thiết Kế Và Thi Công Mạch Menu Điện Tử
Tác giả Nguyễn Phát Đạt
Người hướng dẫn Th.S Nguyễn Thị Ngọc Anh
Trường học Trường Đại Học Dân Lập Kỹ Thuật Công Nghệ Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Luận Văn Tốt Nghiệp
Năm xuất bản 2006
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 3,16 MB

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

Nội dung

Thiết kế và thi công mạch menu điện tử

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC DAN LAP KY THUẬT CÔNG NGHỆ

THANH PHO HO CHi MINH

SRR eR OR eo RR RE KHOA DIEN - DIEN TU

LUAN AN TOT NGHIEP

THU VIEN | *

'sẽ.J04Q62986 — )

Nn : Th.s NGUYEN TH] NGQC ANH

Thành Phố Hồ Chí Minh, tháng 7 năm 2006

Trang 2

LUẬN VĂN TỐT NGHIỆP GVHD : Th.S Nguyễn Thị Ngọc Anh

2 Các ngõ tín hiệu điều khiển 5 sành ng 12

2 Các thanh ghi điều khiển 'Timer - GÀ nhe 25

3 Các nguồn xung nhịp cho 'Timer HH

4 Sự bắt đầu , kết thúc và sự điều khiển 'Timer Seeerrree

SVTH : Nguyễn Phát Đạt

Trang 3

LUẬN VĂN TỐT NGHIỆP GVHD : Th.S Nguyễn Thị Ngọc Anh

|——————EằẦ-——nn-——S—_

6 Chế độ Timer và cờ trần - -.rrrririiiririrrrirdriiiriiiirimiriee 29

3 Ngắt do port nối tiếp sete 35

2 Cáp quang -e-ceerririiiiiirirrriiiiirirrrrirke 37

3 Đường truyền vô tuyến we Hee 37

HI SỰ SUY HAO VÀ MÉO DẠNG TÍN HIỆU 22 Snnnrrmrre 38

1 Sự suy haO c HH 10 n.HlmiiiHrimtrimtntitiiTltrlmrritererie 38

2 Giới hạn băng thông "- ÔÔ1 ÔỎÔ 38

3 Sự biến dạng do trễ pha -eeerrirrrrririririerirrriirriirriimrmrr 38

4 Sự can nhiễu HH ke seceuseesesvnssessuneenivasseeuneseenasases 39

TV CÁC LOẠI TÍN HIỆU 2.-22tt me mrrrrrrrrrrririrreiiraooo

1 Chuẩn V.28 ¬ " sessessesessosseususssensssesesssussnsonsnesse DD

a

Trang 4

LUẬN VĂN TỐT NGHIỆP GVHD : Th.S Nguyễn Thị Ngọc Anh

2 Dòng 20mA cai

1 Giới thiệu chuẩn RS-232

2 Chuẩn giao tiếp RS-232C

b Đặc điểm kỹ thuật của RS-232C

3 Giao tiếp RS-232 với TTL

4 Kết nối RS-232 với các thiết bị

45

45

46

47

VI GIỚI THIỆU CÁC IC TRUYỀN TÍN HIỆU

CHUONG IIL GIAO TIẾP KẾT NỐI SỐ LIÊỤ, -c-s

I CÁC KHÁI NIỆM CƠ BẢN

6 Đơn vị đo lường

II THÔNG TIN NỐI TIẾP BẤT ĐỒNG BỘ,

Trang 5

LUẬN VĂN TỐT NGHIỆP GVHD : Th.S Nguyễn Thị Ngọc Anh

II THÔNG TIN NỔI TIẾP ĐỒNG BỘ -2-222 mmmrre 53

1 Nguyên tắc đồng bộ biL sen 53

2 Nguyên tắc đồng bộ thiên hướng ký tự H-eneeree 53

PHẲN II: TÍNH TOÁN THIẾT KẾ VÀ THỊ CÔNG

b Tính toán thiết kế cho từng khối e-eeeesrnrerrrrririmririiiiiiririrriiiiiee 59

5 Sơ đồ toàn bộ hệ thống c1 tri 66

a Sơ đồ nguyên Ïý -eererriereHirrrieriirriiirrrriirrirrrirrtiiirimirimrrirtrrtrrirtrre 66

ae

Trang 6

SVTH : Nguyễn Phát Đạt

Trang 7

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

Trang 8

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngoc Anh

CHUONGI: KHAO SAT VI DIEU KHIỂN AT 89C51

A GIGI THIEU VE HO MCS - 51

> Dac diém chung

Microcontroller là một mạch tổ hợp bao gồm : 1 bộ vi xử lý, bộ nhớ ROM, RAM,

L/O, các Port, Timet va Clock Họ vi điều khiển MCS - 51 gồm các IC : pP8031, pP8051

, P8751, uP8951, "P8032, "P8052, nP8752

Các IC tiêu biểu của họ MCS - 51 được để cập là nP8051 và "P8951 Chúng đều

có các đặc điểm chung sau :

- 128 Bytes RAM nội

- 4 KBytes ROM

- 4 Port xuất nhập ƯO 8 bít

- 2 bộ Timer / Counter 16 bit

- 1 Port giao tiếp nối tiếp

- 64 KB không gian bộ nhớ chương trình ngoài ( có thể mở rộng lên đến 256 KB )

- 64 KB vùng nhớ đữ liệu ngoài ( có thể mở rộng lên đến 256 KB )

- Bộ xử lý Boolean ( thao tác trên các bít đơn )

- 210 vị trí nhớ có thể định vị bit

- 4 us cho hoạt động nhân hoặc chia

B BỘ VI XỬ LÝ AT 89C5I :

AT 89C51 là một bộ vi xử lý 8 bit kiểu CMOS có tính năng hoạt động tốt với 4KB

bộ nhớ EPROM ( bộ nhớ chỉ đọc có thể xoá và lập trình được ) Bộ xử lý này được chế

tạo áp dụng công nghệ sản xuất bộ nhớ ổn định dung lượng lớn của hãng ATMEL, tương thích với chân ra và bộ chỉ thị theo tiêu chuẩn công nghé MCS - 51

Bộ nhớ Flash cho phép nhớ chương trình cài đặt trong hệ thống hoặc do ngôn ngữ

lập trình có bộ nhớ ổn định theo quy ước Bằng cách kết hợp một CPU 8 bit đa năng với

bộ nhớ Flash trên cùng một chip đơn thể AT 8951 trở thành một bộ vi xử lý hoạt động mạnh, cung cấp một giải pháp hiệu quả về kinh tế và có tính linh hoạt cao trong nhiều ứng dụng điều khiển liên quan

Trang 9

GVHD :Th.S Nguyễn Thị Ngọc Anh

Hình 1.1 : Sơ đồ cấu tạo bên trong của họ MCS - 51

Bảng mô tả sự khác nhau giữa các IC trong họ MCS - 51

Loại | Bộ nhớ ROM | Bộ nhớ RAM | Timer

uP8031 OK 128 Bytes 2 uP8051 4K 128 Bytes 2

uP8751 | 4K EPROM 128 Bytes 2 uP8951 | 4K EPROM 128 Bytes 2

uP8032 OK 256 Bytes 3 pP8052 8K 256 Bytes 3

P8752 | 8 K EPROM 256 Bytes 3

SVTH :Nguyén Phat Dat

Trang 10

| LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyén Thi Ngoc Anh

AT 89C51 có đặc tính tiêu chuẩn sau : bộ nhớ Flash 4 KB, bộ nhớ RAM 128 Bytes,

| 32 đường LO, bộ đếm 16 bit, cấu trúc ngắt hai mức 5 vector, một cổng serial đôi hoàn

| chỉnh, có bộ dao động gắn trên chip và mạch đồng hồ Hơn nữa, AT 89C51 còn được thiết

kế cổng logic tĩnh để hoạt động ở tân số Zero, hỗ trợ hai chế độ lưu nguồn chọn lọc phần

| mém Ché dé nghi ( Idle ) vừa ngắt CPU; vừa cho phép RAM, bộ định thời / bộ đếm, cổng

| serial và hệ thống ngắt liên tục làm việc Chế độ Power Down lưu các nội dung trong

| RAM nhưng cản trở bộ dao động làm việc, vô hiệu hóa các chức năng khác của chip cho

đến khi nhấn RESET phần cứng kế tiếp

8951 có tất cả 40 chân, chức năng như các đường xuất nhập Trong đó 24 chân có

| công dụng kép; 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 Bus dữ liệu và Bus địa chỉ

Trang 11

Il CHUC NANG CUA CAC CHAN:

1.Cac Port :

> Port 0

Bao gồm các chân từ 32 đến 39 ( P0.0 + P0.7 ) Đây là Port có hai chức năng :

- Sử dụng bộ nhớ nội: là Port ƯO thông dụng, dùng trong các thiết kế cỡ nhỏ (

không dùng bộ nhớ mở rộng )

- Sử dụng bộ nhớ ngoài: là Bus phân kênh Address / Data Bus đối với thiết kế lớn

Chú ý: khi thiết kế Port 0 thì phải có điện trở kéo lên

> Port 1 Đây là Port /O trên các chân 1 + 8 ( P1.0 + P1.7 ) Port này chỉ có một chức năng

duy nhất là dùng để giao tiếp LO Đối với „P8032 / uP8052 còn sử dụng P1.0 như ngõ vào điều khiển Timer 2

> Port 2

Đây là Port có công dụng kép trên các chân 21 + 28 ( P2.0 + P2.7 ), được dùng như

các đường xuất nhập là Bytes cao của Bus địa chỉ đối với các thiết kế dùng bộ nhớ mở

rong

> Port 3 Đây là Port có công 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 :

P20 | RXD Dữ liệu nhận cho Port nối tiếp

P31 | TXD Dữ liệu phát cho Port nối tiếp P3.2 | INTO Ngõ vào ngắt ngoài 0

P3.3 JNTI Ngõ vào ngắt ngoài Í P3.4 T0 Ngõ vào của Timet / Counter 0 P3.5 Tl Ngõ vào của Timet / Counter 1

P3.6 WR | Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7 RD Tín hiệu đọc bộ nhớ dữ liệu ngoài

2 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 Nó là tín hiệu điều khiển cho phép bộ nhớ

chương trình mở rộng, thường được nối đến chân OE ( Output Enable ) cia EPROM dé

cho phép đọc các byte mã lệnh

PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnh của

chương trình được đọc từ EPROM qua Bus dữ liệu và được chốt vào thanh ghi lệnh bên

eg

Trang 12

chỉ Do đó, phải tách các đường địa chỉ và dữ liệu Tín hiệu ra ALE ở chân thứ 30 dùng

làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và đữ liệu khi kết nối chúng với

IC chốt

Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian nửa chu kỳ đầu Port 0

đóng vai trò là byte thấp của Bus địa chỉ, nên việc chốt địa chỉ là hoàn toàn tự động Sau

đó các đường Port 0 dùng để xuất / nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ

Các xung tín hiệu ALE có tốc độ bằng ~ lần tần số dao động trên chip, và có thể 6

dùng làm tín hiệu Clock cho các phần khác của hệ thống Ngoại trừ khi thi hành lệnh MOVX thì một xung ALE sẽ mất Chân ALE được dùng làm ngõ vào xung lập trình cho

‘EPROM trong 8951

> Ngõ tín hiệu E4 / VPP ( External Access ) -Tín hiệu vào E4 ở chân 31 thường được mắc lên mức cao ( +5V ) hoặc xuống

mức thấp ( GND )

- Nếu mắc ở mức cao thì 8951 sẽ thi hành chương trình từ ROM nội

- Nếu ở mức thấp thì 8951 sẽ thực thi chương trình từ bộ nhớ mở rộng

Chân #44 còn được dùng làm chân cấp nguồn 12 V khi lập trình cho EPROM trong

8951

> Ngõ tín hiệu RST ( Reset ) Ngõ vào RŠST trên chân 9 là ngõ Reset của 8951 Khi tín hiệu này được đưa lên

mức cao ( ít nhất là hai chu kỳ máy ), các thanh ghi bên trong 8951 được tải những giá trị thích hợp để khởi động hệ thống Khi cấp điện, mạch tự động Reset

> Các ngõ vào dao động XTAL1 , XTAL2

8951 có một bộ dao động trên chip Nó thường được nối với một thạch anh giữa hai

chân 18 và 19 Tần số thạch anh thông thudng 14 12 MHz

> Các chân nguồn

8951 vận hành với nguồn đơn +5 V Vcc nối vào chân 40 và Vạ; ( GND ) nối vào

chân 20 l

Trang 13

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

II TỔ CHỨC BÊN TRONG VI ĐIỀU KHIỂN:

1 Tổ chức bộ nhớ :

FFFF FFFF

FF

CODE DATA Memory Memory

00

On — Chip Enable Enable

Memory via via RD &

PSEN WR

0000 0000

Hinh 4.3 : External Memory

Bộ nhớ 8951 theo cấu trúc Harvard : có những vùng bộ nhớ riêng biệt cho chương

trình va đữ liệu , chúng có thể mở rộng bằng các thanh phan ngoài lên đến tối đa 64 KB

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

Bộ nhớ bên trong bao gồm EPROM và RAM trên chip RAM trên chip bao gồm

nhiều thành 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 chức năng đặc biệt

Có hai đặc tính cần chú ý :

Các thanh ghi trong Port xuất nhập đã được xếp trong bộ nhớ và có thể truy xuất

trực tiếp giống như các địa chỉ bộ nhớ khác

- Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoài như trong các bộ vi xử

lý khác

Trang 14

99

98

90

8D 8C 8B 8A

GVHD :Th.S Nguyén Thi Ngoc Anh

Dia chi bit

F7 | F6| F5 | F4 | F3] F2 | Fi FO

E7 E6| E5 | E4 | E3| E2 | Bl E0 ACC

D7 | Dó| Ds | D4 | D3| D2 | DI| D0 PSW

BC| BB| BA | B9 B8

B7 | Bó| B5 | B4 | B3| B2 | B1 BO P3

AF | |AC|AB| AA |A9 A8

A7 A6 |A5 |A4|A3|LA2 1A 1 A0 P2

Không được địa chỉ hóa bit SBUF

9F | 9E] 9D | 9C [ 9B] 9A | 99| 98 SCON

97 | 96] 95 | 94 | 93| 92 | 91| 90 PI

Không được địa chỉ hóa bít THỊ

Không được địa chỉ hóa bịt DPH

Trang 15

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

Chi tiết về RAM nội trên chịp :

- Các Bank thanh ghi ( 00H + 1FH )

- RAM địa chỉ hóa từng bịt ( 20H + 2FH )

- RAM da dung ( 30H + 7FH )

- CAc thanh ghi chifc nang dac biét ( 80H + FFH)

> RAM da dung

Moi dia chỉ trong vùng RAM đa dụng đều có thể

xuất địa chỉ trực tiếp hay gián tiếp

Trong bảng tóm tắt trên, 80 bytes đa dụng chiếm các địa chỉ từ 30H đến 7FH, 32

bytes bên dưới từ 00H đến 1FH cũng có thể 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 )

> RAM có thể truy xuất từng bit

8951 chứa 210 bit được địa chỉ hóa, trong đó có 128 bịt có chứa các byte có địa chỉ

từ 20H đến 2FH và các bit còn lại chứa trong nhóm thanh ghi có chức năng đặc biệt

Ý tưởng truy xuất từng bit bằng phẩn mềm là các đặc tính mạnh của

microcontroller xử lý chung Các bịt có thé dat, x6a, AND, OR, với một lệnh đơn Đa số các microcontroller xử lý đòi hỏi một chuỗi lệnh đọc - sửa - ghi để đạt được mục đích

tương tự Ngoài ra, các Port cũng có thể truy xuất được từng bit

128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc như các bit

phụ thuộc vào lệnh được dùng

> Các Bank thanh ghỉ

32 bytes thấp của bộ nhớ nội được dành cho các Bank thanh ghi Bộ lénh 8951 hỗ

trợ 8 thanh ghi có tên là RO, RI, , R7 và theo mặc định sau khi Reset hệ thống, các

thanh ghi này có địa chi là OOH, 01H, ., 07H

Các lệnh dùng cho các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so với các

lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp Nếu các dữ liệu được dùng

thường xuyên thì nên dùng một rong các thanh ghi nay

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 đến 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 ghi trạng thái

> Các thanh ghỉ có chức năng đặc biệt

Các thanh ghi nội của 8951 được truy xuất ngầm định bởi bộ lệnh

Các thanh ghi trong 8951 đã định dạng được xem như là 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 bộ đếm 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 đến R7,

8951 có 21 thanh ghi có chức năng đặc biệt ( SFR : Special Function Register ) ở vùng trên của RAM nội từ địa chỉ S0H đến FFH

Lưu ý : tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21 thanh

ghi có chức năng đặc biệt SFR có thể địa chỉ hóa từng bít hoặc từng byte

truy xuất tự do, dùng kiểu truy

Trang 16

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

> Thanh chi trang thái chương trinh PSW( Program Status Word ):

PSW.3 |} RSO D3H Register Bank Select 0

Trong đó :

CY : cờ nhớ thường dùng cho các lệnh số học Ngoài ra, nó còn được xem như

thanh ghi 1 bịt cho các lệnh luận lý thi hành trên bịt

C =1: có mượn ( đối với phép trừ ); có tràn ( đối với phép cộng )

C =0: không có mượn ( đối với phép trừ ); không có tràn ( đối với phép cộng )

AC ( Auxiliary Carry Flag ): cờ nhớ phụ được sử dụng khi cộng các số BCD, cờ AC

được set nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH + 0FH

F0 ( Flag 0 ): cờ đa dụng được đùng cho các ứng dụng của người dùng

Các bit chọn Bank thanh ghi truy xuất :

- RS0 và RS1 quyết định dãy thanh ghi tích cực Chúng được xoá sau khi reset hệ

| thống và được thay đổi bởi phần mềm khi cần thiết

- Tùy theo RS1 RSO =00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng là Bank

0, Bank 1, Bank 2, Bank 3

Trang 17

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

OV ( Overlow flag ): cờ tràn được set sau một hoạt động cộng hoặc trừ nếu có sự

trần toán học Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác định xem kết quả có nằm trong tầm xác định hay không ? Khi các số không

dấu được cộng thì bit OV được bổ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn — 128 thì

> Thanh ghỉ A (ACC ) : là thanh ghi tích ở địa chỉ EOH, được địa chỉ hóa từng bịt

> Thanh ghi B: là thanh ghỉ đệm đa dụng ở địa chỉ F0H, được địa chỉ hóa từng bịt

Nó được dùng cùng với thanh ghi A trong các phép toán nhân, chia

- Đối với phép nhân: lệnh MUL AB sau khi được thi hành, sẽ trả về kết quả 16 bịt

với byte cao đặt vào A ( 8 bít ), còn byte thấp thì đặt vào B ( 8 bít )

- Đối với phép chia: lệnh DIV AB sau khi được thi hành, sẽ trả về kết quả với

thương số đặt vào A (8 bit ), còn số dư thì đặt vào B ( 8 bít )

> Con trỏ ngăn xếp SP ( Stack Poirter ): 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 ngăn xếp Các lệnh trên ngăn xếp bao

gồm các lệnh cất dữ liệu vào ngăn xếp ( PUSH ), và lấy dữ liệu ra khỏi ngăn xếp ( POP ) Lệnh cất đữ 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 ra khỏi

ngăn xếp sẽ làm giảm SP Ngăn xếp được lưu giữ trong RAM nộ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 8951

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

- Khi Reset 8951, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được

cất vào ô nhớ ngăn xếp có địa chỉ 08H Nếu phần mềm ứng dụng không khởi động SP

một giá trị mới thì bank thanh ghi 1 có thể cả 2 và 3 sẽ không dùng được vì vùng RAM

này đã được dùng làm ngăn xếp Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH

và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương

a

Trang 18

trình con ( ACALL, LCALL ) và các lệnh trở về ( RET, RETD để lưu trữ giá trị của bộ

đếm chương trình khi bắt đầu thực hiện chương trình con và lấy lại khi kết thúc chương

trình con

> Con trỏ dữ liêu DPTR ( Data Poiuer ): được dùng để truy xuất bộ nhớ ngoài

DPTR là một thanh ghi 16 bit và được phân ra ở các địa chỉ 82H ( DPL: byte thấp ) và 83H ( DPH : byte cao ) Ba lệnh sau đây ghi 55H vào RAM ngoài ở địa chi 1000H :

MOV A, #55H MOV DPTR, #1000H MOV @DPTR, A Lệnh đầu tiên sử dụng kiểu định địa chỉ tức thời để nạp hằng dữ liệu 55H vào

thanh chứa A Lệnh thứ hai cũng sử dụng kiểu định địa chỉ tức thời, nạp hằng địa chỉ 16- bit 1000H cho con chỏ dữ liệu DPTR Lệnh thứ ba sử dụng kiểu định địa chỉ gián tiếp di

chuyển giá trị 55H chứa trong thanh ghi A đến RAM ngoài tại địa chỉ chứa trong DPTR( 1000H )

> Céc thanh ghi Port ( Port Register ): gsm b6n thanh ghi dugc dia chi hóa từng bịt :

- PO 6 dia chi 80H

- Pl ở địa chỉ 90H

- P2 ở địa chỉ A0H

- P3 ở địa chỉ BOH

> Cac thanh ghi Timer ( Timer Register ): 8951 có hai bộ Timer / Counter 16 bit

dùng cho việc định thời hay đếm sự kiện

- Timer 0 : 8AH ( TLO: byte thap ) va 8CH ( THO)

- Timer 1 : 8BH ( TLI : byte thấp ) và 8DH ( THỊ )

Việc vận hành Timer được Set bởi thanh ghi khởi động TMOD ( 89H ) và thanh ghi điều khiển TCON ( 88H ) Chỉ có thanh ghi TCON được địa chỉ hóa từng bịt

> Các thanh ghỉ Port nối tiếp (_ Serial Port Register ): 8951 chứa một Port nối tiếp

để trao đổi thông tin với các thiết bị viễn thông hoặc các IC giao tiếp nối tiếp Một thanh ghi đệm dữ liệu nối tiếp SBUF ( 99H ) sẽ giữ cả hai dữ liệu truyền và đữ liệu nhập 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 6 dia chi 98H

> Các thanh ghi ngắt ( Ierrupt Register ) : 8951 có 5 nguồn ngắt, trong đó có hai

- mức ưu tiên Các ngất bị cấm sau khi Reset hệ thống và sẽ cho phép ngắt bởi thanh ghỉ

IE ( A8H ) , cdc thanh ghi này được địa chỉ hóa

Trang 19

> Thanh ghi diéu khién nguon PCON ( Power Control Register ) : Thanh ghi PCON ( 87H ) chứa nhiều bit điều khiển được tóm tắt như sau :

hiệu

7 | SMOD | Bit tăng tốc độ Baud , nế được Set thì tốc độ Baud tăng

gấp đôi trong các mode 1, 2, 3

2 GFO Bit cd da nang 0

1 PD | Set để khởi động mode giảm công suất ( Power Down ) ,

chỉ thoát khi Reset hệ thống

0 | IDL Set để khởi động mode chờ ( IDLE ) và thoát khi ngắt

mach hoac reset

Các bit điều khiển Power Down và IDLE có tác dụng chính trong tất cả các IC họ

MSC - 51, nhưng chỉ được thi hành trong sự biên dịch của CMOS

2 Bộ nhớ ngoài ( external memory ) :

AT 8951 có khả năng mở rộng bộ nhớ đến 64K byte bộ nhớ chương trình và 64K

byte bộ nhớ đữ liệu ngoài Do đó có thể dùng thêm RAM và ROM nếu cần

Khi dùng bộ nhớ ngoài, Port0 không còn chức năng I/O nữa Nó được kết hợp giữa

bus địa chỉ ( A0 — A7 ) và bus dữ liệu ( D0 ~- D7 ) với tín hiệu ALE để chốt byte của bus

địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port được cho là byte cao của bus địa chỉ

> Truy Xuất bô nhớ chương trình ngoài :

_ Bộ nhớ chương trình ngoài là bộ nhớ ROM được cho phép của tín hiệu PSEN Sự

kết nối phần cứng của bộ nhớ EPROM như sau :

Trang 20

> Truy xuất bộ nhớ dữ liêu ngoài ( Accessig External Data Memory ) :

- Bộ nhớ đữ liệu ngoài là một bộ nhớ RAM đựơc đọc hoặc ghi khi được cho phép của tín hiệu RD và WR Hai tín hiệu này nằm ở chân P3.7 ( RD ) và P3.6 ( WR ) Lệnh

MOVX được dùngđể truy xuất bộ nhớ dữ liệu ngoài và dùng bộ đệm dif liéu 16 bit

(DPTR), R0 hoặc R1 như là một thanh ghi địa chỉ

- Các RAM có thể giao tiếp với 8951 tương tự cáhc thức như EPROM ngoại trừ

chân RD của 8951 nối với chân OE ( Output Enable ) của RAM và chân WR của 8951 nối

với chân WE của RAM Sự nối các bus địa chỉ và dữ liệu tương tự như cách nối của EPROM

> Su giải mã địa chỉ (Address Decodin

- Sự giải mã địa chỉ là một yêu cầu tất yếu để chọn EPROM, RAM, Sự giải mã

địa chỉ đối với 8951 để chọn các vùng nhớ ngoài như các vi điều khiển Nếu các con EPROM hoặc RAM 8K được dùng thì các bus địa chỉ phải d8ược giải mã để chọn các IC

nhớ nằm trong phạm vi giới hạn 8K : 0000H-1FFFH, 2000H-3FFFH

- Một cách cụ thể, IC giải mã 74HC138 được dùng với những ngõ ra của nó được

nối với những ngõ vào chọn chip CS (Chip Selet) trên những IC nhớ EPROM,RAM, Hình

sau đây cho phép kết nối nhiều EPROM và RAM

Trang 21

PSEN

> Các không gian nhớ chương trình và dữ liêu gối nhau :

- Vì bộ nhớ chương tình là ROM, nên nảy sinh một vấn để bất tiện khi phát triển

phần cho vi điểu khiển Một nhược điểm chung của 8951 là các vùng nhớ đữ liệu ngoài

nằm đè lên nhau, vì tín hiệu PSEN được dùng để đọc bộ nhớ mã ngoài và tín hiệu RD

được dùng để đọc bộ nhớ dữ liệu, nên một bộ nhớ RAM có thể chứa cả chương trình và

dữ liệu bằng cách nối đường OE của RAM đến ngõ ra một cổng AND có hai ngõ vào

PSEN và RD Sơ đồ mạch như hình sau cho phép bộ nhớ RAM có hai chức năng vừa là bộ

nhớ chương trình vừa là bộ nhớ dữ liệu :

Trang 22

- Vậy một chương trình có thể được tải vào RAM bằng cách xem nó như bộ nhớ đữ

liệu và thi hành chương trình bằng cách xem nó như bộ nhớ chương trình

> Hoat dong Reset :

- 8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ

xung máy, sau đó xuống mức thấp để 8951 bắt đầu làm việc RST có thể kích bằng tay bằng một phím nhấn thường hở

Trạng thái của tất cả các thanh ghi trong 8951 sau khi reset hệ thống được tóm tắt

như sau :

- thanh ghi quan trọng nhất la thanh ghi bộ đếm chương trình PC được reset tại địa

chỉ 0000H Khi ngõ vào RST xuống mức thấp, chương trình luôn bắt đầu tại địa chỉ 0000H

của bộ nhớ chương trình nội dung của RAM trên chip không bị thay đổi bởi tác động của

ngõ vào reset

3 Các chế độ của AT 8951

a Chế độ giảm công suất ( Power Down ):

-Trong chế độ này, bộ dao động ngưng hoạt động và chỉ thị gọi chế độ Power Down

là chỉ thị cuối cùng được thực thi RAM Thanh ghi chức năng đặc biệt lưu giá trị của

chúng cho đến khi chấm dứt chế độ Power Down

Trang 23

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh ee ee

-Cách duy nhất để thoát khỏi chế độ này là Reset phần cứng Reset sẽ xác định lại

SFR nhưng không làm thay đổi RAM Nên Reset trước khi VCC phụ trội đến mức hoạt động của nó, và phải duy trì Reset đủ lâu để bộ dao động khởi động lại và ổn định

b Chế độ nghỉ ( Idle ):

-CPU tự nghỉ trong lúc tất cả các bộ phận bên ngoài vẫn hoạt động Chế độ này

được gọi bằng phần mềm Nội dung RAM nội và tất cả thanh ghi đặc biệt vẫn không thay đổi trong suốt quá trình này Chế độ nghỉ có thể chấm dứt ngắt hoặc Reset bằng phần

cứng

-Lưu ý rằng việc Reset bằng phần cứng là để chấm dứt chế độ nghỉ Thông thường,

CPU sẽ phục hồi việc thi hành chương trình từ lúc bị gián đoạn đến hai chu kỳ máy

-Lúc này, phần cứng sẽ ngăn chặn việc truy cập vào chân cổng để loại bỏ khả năng ghi bất ngờ vào một cổng Khi Reset chấm dứt chế độ nghỉ thì chỉ thị tiếp theo không phải

là chỉ thị ghi vào một chân cổng hoặc một bộ nhớ ngoại vi

Bắng trạng thái các chân ngoại vi trong chế độ Power Down va Idle

- Tạo tốc độ Baud cho Port nối tiếp

Trong các ứng dụng định khoảng thời gian, người ta lập trình Timer ở những khoảng thời gian đều đặn và được Set cờ tràn Timer Cờ được dùng để đồng bộ hóa

chương trình để thực hiện một hoạt động như kiểm tra trạng thái của các ngõ vào hoặc gởi

sự kiện đến 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ủa Timer để đo thời gian trôi qua giữa hai sự kiện

Ví dụ : đo độ rộng xung

Trang 24

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

Việc đếm một sự kiện được dùng để xác định số lần xuất hiện của 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ủa 8951

Các Timer được truy xuất bởi việc dùng 6 thanh ghi có chức năng đặc biệt sau :

SFR Chifc ning Dia chi | Dia chi héa tifng bit

TMOD Chế độ ( Mode ) 89H Không

TLO | Byte thấp của Timer0| 90H Không TL1 | Byte thấp của Timerl | 91H Không

THỊ Byte cao của Timer 1 93H Không

2 Các thanh ghi diéu khién Timer :

> Thanh ghi ché dd Timer (TMOD ):

Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0 (

4 bit thấp ) và Timer 1 ( 4 bit cao )

8 bit của thanh ghi TMOD được tóm tắt như sau :

7 | GATE 1 Bit mở cổng , GATE = 1, Timer chỉ làm việc

3 |GATE| 0 Bit mở céng , GATE = 1 , Timer chi lam viéc

khi INTO = 1

2 | C/T 0 Bit cho đếm sự kiện hay định khoảng thời gian

pe

Trang 25

Với hai bit M1, MO của TMOD là dùng dé chon Mode cho Timer 1 hoặc Timer 0

M1 | MO | Mode Mô tả

0 0 0 Mode Timer 13 bit

0 1 1 Mode Timer 16 bit

1 0 2 Mode Timer 8 bit

1 1 3 Mode Timer được tách ra :

Timer 0 : TL0 là Timer 8 bit được điều khiển bởi

các bit của mode Timer 0 TH0 tương tự, nhưng

được điều khiển bởi các bit của mode Timer } Timer 1: Được ngừng lại

TMOD không có bit định vị, nó thường được LOAD một lần bởi phần mềm ở đầu

chương trình để khởi động Timer Sau đó, sự định giờ có thể dừng lại, và được khởi động

lại như thế là nhờ sự truy xuất các thanh ghi chức năng đặc biệt của Timer khác

> Thanh ghi điều khién Timer TCON ( Timer Control Register )

Thanh ghi điều khién bao gém các bit trạng thái và các bit điều khiển béi Timer 1

và Timer 0 Thanh ghi TCON có bịt định vị Hoạt động của từng bịt được tóm tắt như sau :

hiệu TCON.? TF1 8FH Cờ báo tràn Timer 1, được Set bởi phần cứng khi tràn,

được xóa bởi phần mễm hoặc phần cứng khi bộ xử lý

chỉ đến chương trìng phục vụ ngắt

TCON6| TRI SEH Bit diéu khién dé chay Timer 1, được Set hoặc xóa

bởi phần mêm để chạy hoặc ngưng chạy Timer

TCON.Š TFO 8DH Cd tran Timer 0

TCON.3| IEl 8BH | Co canh ngdt ngoai 1 Khi canh xu6ng xuat hiện trên

INTI thì [E1 được xoá bởi phần mềm hoặc phần cứng khi CPU chỉ đến chương trình phục vụ ngắt TCON.2| ITI 8AH Cờ kiểu ngắt ngoài 1 được Set hoặc xóa bằng phần

mềm khi ngắt ngoài tích cực cạnh xuống

a Se

Trang 26

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

3 Các nguồn xung nhịp cho timer ( clock sources) :

- Có hai nguồn xung clock có thể đếm giờ là sự định giờ bên trong và sự đếm sự

kiện bên ngoài Bit C/T trong TMOD cho phép chọn 1 trong 2 khi timer được khởi động

> Sự bấm giờ trong ( Interval Timin

- Nếu bit C/T =0 thì hoạt động của timer liên tục được chọn vào bộ timer được ghi

giờ từ dao động trên chip Một bộ chia 12 được thêm vào để giảm tần số clock đến một

giá trị phù hợp với các ứng dụng Các thanh ghi TLx và THx tăng ở tốc độ 1/12 lần tần số

dao động trên chip Nếu dùng thạch anh thì sẽ đưa đến tốc độ clock 1MHz

- Các sự tràn timer sinh ra sau một con số cố định của những xung clock, nó phụ

thuộc vào giá tị khởi tạo được LOAD vào các thanh ghi THx va TLx

> Sự đếm các sư kiên (Event Counting)

- Nếu bit C/T = 1 thì bộ timer được ghi giờ từ nguôn bên ngoài trong nhiễu ứng

dụng, nguồn bên ngoài này cung cấp một 1 sự định giờ với một xung trên sự xây ra của sự

kiện Sự định giờ là sự đếm sự kiện Con số sự kiện được xác định trong phần mềm bởi việc đọc các thanh ghi Timer TLx/THx, bởi vì giá trị 16 bịt trong các thanh ghi này tăng

lên cho mỗi sự kiện

- Nguồn xung clock bên ngoài đưa vào chân P3.4 là ngõ nhập của xung clock bởi

Timer 0 ( To ) và P3.5 là ngõ nhập của xung clock bởi Timerl ( T1 )

-Trong các ứng dụng đếm các thanh ghi Timer được tăng trong đáp ứng của sự

chuyển trạng thái từ l sang 0 ở ngõ nhập Tx Ngõ nhập bên ngoài được thử trong suốt

S5P2 của mọi chu ky máy: Do đó khi ngõ nhập đưa tới mức cao trong mọt chu kỳ và mức thấp trong một chu kỳ kế tiếp thì bộ đếm tăng lên một Giá trị mới xuất hiện trong các thanh ghi Timer trong suốt SŠP1 của chu kỳ theo sau một sự chuyển đổi Bởi vì nó chiếm

hai chu kỳ

Trang 27

máy (2us) để nhận ra sự chuyển đổi từ 1 sang 0, nên tân số bên ngoài lớn nhất là

500KHz nếu dao động thạch anh 12MHz

4 Sự bắt đầu , kết thúc và sự điều khiển các timer : -Bit TRx trong thanh ghi có bit định vị TCON được điều khiển bởi phần mêm để bắt đầu và kết thúc các timer Để bắt đầu các timer ta set bit TRx và để kết thúc timer ta lear

TRx Ví dụ timer 0 được bắt đầu bởi lệnh SETB TRO và được kết thúc bởi lệnh CLR TRO ( bit Gate = 0) Bit TRx bi xo4 đi sau sự reset hệ thốn, do đó các timer bị cấm bằng sự

mặc định

-Thêm phương pháp nữa để điều khiển các timer là dùng bit GATE trong thanh ghi

TMOD và ngõ nhập bên ngoài INTx Điều này được dùng để đo các độ rộng xung Giả sử xung đưa vào chân INT0 ta khởi động timer 0 cho mode 1 là mode 16 bịt với TL0/T HO =

0000H, GATE -= 1, TRO = 1 Nhu vay khi INTO = 1 thi timer “ được mở cong “ va ghi gid

với tốc độ của tần số 1MHz Khi INTO xuống thấp thì timer “ đóng cổng “ và khoảng thời gian của xung tính bằng is là sự đếm được trong thanh ghi TL0/TH0

INTO (P3.2) Timer Operating Mode 1

5 Sự khởi động và truy xuất các thanh ghi timer :

- Các timer được khởi động 1 lần ở đầu chương trình để đặt mode hoạt động cho

chúng Sau đó trong chương trình các timer được bắt đầu, được xoá, các thanh ghi Timer

được đọc và cập nhận Theo yêu cầu của từng ứng dụng cụ thể

-Mode timer TMOD là thanh ghi đầu tiên được khởi gán, bởi vì đặt mode hoạt động cho các timer Ví dụ khởi động cho timer 1 hoạt động ở mode 1 ( mode Timer 16 bit ) va

được ghi giờ bằng dao động trên chip ta dùng lệnh: MOV TMOD, # 00001000B Trong

lệnh này MI = 0, MO =1 dé vao mode 1 va C/T =0, GATE = 0 dé cho phép ghi gid bén

trong đồng thời xoá các bit mode ciia timer 0 Sau lệnh trên timer vẫn chưa đếm giờ, nó chỉ bắt đầu đếm giờ khi set bit điều khiển chạy TRÍ của nó

Trang 28

-Nếu ta khởi gán cho giá trị đầu cho TLx/THx, thì Timer sẽ bắt đầu đếm từ giá trị

khởi gán đó lên nhưng khi tràn từ FFFFH sang 0000H lại đếm từ 0000H lên

-Chú ý rằng cờ tràn TFx tự động được set bởi phần cứng sau mỗi sự tràn và sẽ được xoá bởi phần mềm Chính vì vậy ta có thể lập trình chờ sau mỗi lần tràn ta sẽ xoá cờ TFx

và quay vòng lập khởi gan ¢ cho TLx/THx để timer luôn luôn bắt đầu đếm từ giá trị khởi

gán lên theo ý ta mong muốn Dặc biệt những sự khởi gán nhỏ hơn 256us, ta sẽ gọi mode

Tmer tự động nạp 8bit của mode 2 Sau khi khởi gán giá trị đầu vào THx, khi set bit TRx thì Timer sẽ bắt đầu đếm giá trị khởi gán và khi tràn từ FFH sang ))H trong TLx, cờ TFx

tự động được set đồng thời giá trị khởi gần mà ta khởi gán cho THx được nạp | tự động vào TLx và Timer lại được đếm từ giá trị khởi gán này lên Nói cách khác, sau mỗi lần trần ta

không cần khởi gán lại cho các thanh ghi Timer mà chúng vẫn đếm được lại từ giá trị ban

đầu

6 Các chế độ Timer và cờ tràn :

- 8951 có 2 Timer là Timer 0 và Timer 1 Ta dùng ký hiệu TLx và THx để chỉ hai

thanh ghi byte thấp byte cao của Timer 0 hoặc Timer 1

> Mode Timer 13 bit (MODE 0 ):

- Mode 0 1A mode Timer 13 bit, trong d6 byte cao cia Timer (THx) được đặt thấp và 5

bit trong số thấp nhất của byte thấp Timer (TLx) đặt cao để hợp thành Timer 13 bit 3 bít

cao của TLx không dùng

> Mode Timer 16 bit (MOD 1):

- Mode 1 18 mode Timer 16 bit, tương tự như mode 0 ngoại trừ Timer này hoạt động

như một Timer đây đủ 16 bit, xung clock được dùng như sự kết hợp các thanh ghi cao và

thấp (TLx,THx) Khi xung clock được nhận vào, bô đếm Timer tang lén 0000H, 0001H,

0002H, , và một sự tràn sẽ xuất hiện khi có sự chuyển trên bộ đếm Timer từ FFFFH

sang 0000H và sẽ set cờ tràn Timer, sau đó Timer đếm tiếp

- Cờ tràn là bit TEx trong thanh ghi TCON mà nó sẽ được đọc hoặc ghi bởi phần mềm

a

Trang 29

- Bit có trọng số lớn nhất (MSB) của giá trị trong thanh ghi Timer là 7 bít của THx và bit có trọng số thấp nhất (LSB) là bit 0 của TLx Bit LSB đổi trạng thái ở tần số clock vao

—————* TLx (8 bit) TFx

- Mode 2 là mode tự động nạp 8 bit, byte thấp TLx của Timer hoạt động như một Timer 8 bit trong khi byte cao THx của Timer giữ giá trị Reload Khi bộ đếm tràn từ FFH

sang 00H, không chỉ cờ tràn được set mà giá trị trong THx cũng được nạp vào TLx: Bộ

đếm được tiếp tục từ giá trị này lên đến sự chuyển trạng thái từ FFH sang 00H kế tiếp và

cứ thế tiếp tục Mode này thì phù hợp bởi vì các sự tràn xuất hiện cụ thể mà mỗi lúc nghỉ

thanh ghi TMOD và THx được khởi động

> Mode Timer tach ra (MODE 3) :

Timer

————* TÌI (8 bit) Thi (8 bit) |———» Overflow

- Mode 3 là mode tách ra và là sự khác biệt cho mỗi Tìmer

-Timer 0 ở mode 3 được chia ra làm 2 Timer 8 bit TLO và THÔ hoạt động như những Timer riêng lẻ với sự tràn sẽ set các bit TUO và TF1 tương ứng

a

Trang 30

-Timer 1 bị dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt nó vào một

trong các mode khác Chỉ có nhược điểm là cờ tràn TF1 của Timer l không bi ảnh hưởng bởi các sự tràn của Timer 1 bởi vì TFx được nối với TH0

- Mode 3 cung cấp 1 Timer ngoại 8 bit là Timer thứ ba của 8951 Khi vào Timer 0ở mode 3, Timer có thể hoạt động hoặc tắt bởi sự ngắt nó ra ngoài và vào trong mode của

chính nó hoặc có thể được dùng bởi Port nối tiếp như là một máy phát tốc độ Baud, hoặc

nó có thể được dùng trong hướng nào mà không sử dụng Interrupt

V.PORT NỐI TIẾP :

1 Gới thiệu :

-8951 có một Port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trên một dả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 dữ liệu xuất, và chuyển đổi từ nối tiếp sang song song đối 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 ( P3.1 ) va RXD Ợ P3.0) -Hai thanh ghi 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 ( 99H ) thật sự là hai bộ đệm Việc ghi vào SBUF để nạp thì 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 ghỉ chỉ ghi để phát và thanh ghi chỉ đọc để thu

-Thanh ghi điều khiển Port nối tiếp SCON ( 98H ) là thanh ghi có địa chỉ bit 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 trạng thái báo kết thúc việc phát và thu ký tự Các bít trạng thái có thể

được kiểm tra bằng phân mêm hoặc có thể lập trình để tạo ngắt Tân số của Port nối tiếp

còn được 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

2 Thanh ghi điều khiển Port nối tiếp SCON -Chế độ hoạt động của Port nối tiếp được đặt bằng hai cách ghi vào thanh ghi chế độ

Port nối tiếp SCON ( 98H )

Pt

Trang 31

hiệu

SCON.7! SM0 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

SCON.5 | 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,

SCON.2 | RB8 9AH Bit 8 thu, bit thứ 9 thu được

SCON.1 TI 99H Cờ ngắt phát, đặt lên 1 khi kết thúc phát

0 0 0 Thanh ghi dich amen Cé dinh (—*) F 12

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

1 0 2 UART 9 bit Cố định ( 12 hoặc 64 ) Foss Fose

1 1 3 UART 9 bit | Thay đổi ( dit bing Timer )

Trang 32

VI HOẠT ĐỘNG NGẮT :

Ngắt là sự xây ra một sự kiện mà nó gây ra treo tạm thời chương trình, trong khi điều

kiện đó được phục vụ bởi một chương trình khác Các ngắt đóng một vai trò quan trọng

trong thiết kế và cài đặt các ứng dụng vi điều khiển Chúng cho phép hệ thống đáp ứng

bất đồng bộ với một sự kiện, và giải quyết sự kiện đó trong một chương trình đang thực

thi Một hệ thống được điều khiển bởi ngát cho ta ảo tưởng đang làm nhiều công việc

đồng thời

CPU không thể thực biện nhiều hơn một lệnh ở một thời điểm nhưng CPU có thể ngưng tạm thời chương trình này để giải quyết chương trình khác rỗi sau đó quay trở về chương trình đang bị tạm ngưng

Chương trình xử lý một ngắt được gọi là trình phục vụ ngắt ISR( interrupt service

routine ) hay quản lý ngắt

1 Tổ chức ngắt của 851

Có 5 nguôn ngắt ở 8951: 2 ngắt ngoài, 2 ngắt từ Timer, và 1 ngắ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 từng cái một bằng phần mềm

Khi có hai hoặc nhiều ngắt đông thời , hoặc một ngắt xảy ra khi một ngắt khác đang

được phuc vụ; có hai sự tuần tự hỏi vòng và sơ đổ ưu tiên hai mức dùng để xác định việc thực hiện các ngắt Việc hỏi vòng tuần tự thì cố định, nhưng ưu tiên ngắt thì có thể lập trình được

a Cho phép và cấm ngắt Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặc biệt

có định địa chỉ bit IE ( Interrupt Enable ) 6 dia chi ASH

Bit | Ky hiéu | Dia chi bit Mô tả

IE.6 AEH Không xác định ( Undefined )

IE.5 ET2 ADH Cho phép ngắt Timer 2 ( 8052 )

Trang 33

b Uu tién ngdt

Một trong hai mức ưu tiên qua thanh ghi chức năng đặc biệt được định địa chỉ bịt IP (

Interrupt Priority ) ở địa chỉ B8H

IP5 | PT2 BDH Uù tiên ngắt Timer 2 ( 8052 )

IP.4 PS BCH Ưu tiên ngắt Port nối tiếp IP.3 | PTI BBH Uư tiên ngắt Timer 1

IP.1 | PTO B9H Uư tiên ngắt Timer 0 IP.0 | PXO B8H Uu tién ngat ngoai 0

TP 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ên thấ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ên cao

hơn ngắt đang phục vũ Nếu một ISR có ưu tiên thấp đang thực thi khi một ngắt có ưu tiên

xảy ra thì TSR bị ngắt ISR có ưu tiên cao nên không thể bị ngắt

Chương trình thực thi ở mức nền và không liên lạc với bất cứ ngắt nào, có thể luôn

luôn bị ngắt quãng bất chấp ưu tiên của ngắt có độ ưu tiên sẽ được phục vụ ngắt trước

c Hỏi vòng tuần tự Nếu cả hai ngắt cùng độ ưu tiên xảy ra cùng một lúc thì hỏi vòng sẽ xác định cái

nào được phục vụ trước tiên Hỏi vòng tuần tự: bên ngoài 0, Timer 0, bên ngoài 1, Timer

1, Port nối tiếp, Timer 2

2 Các cờ ngất Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được Set lên 1

để xác nhận ngắt

SFR Bén ngoaiO | IEO TCON.1

Bên ngoài l | IE1 TCON.3

Timer 0 TFO TCON.5

Port noi tiép | RI | _SCON.O

Trang 34

> Các vector ngắt Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt Nó là địa chỉ bắt đẩu của ISR cho nguồn tạo ngắt Các vector ngắt cho ở bảng sau :

Port nối tiếp RI hoặc TI 0023H

Timer 2 TT2 hoặc EXF2 002BH

Vector Reset hệ thống được để trong bắng này có tác dụng giống ngắt : ngắt chương

trình chính và nạp cho PC giá trị mới

3 Ngắt do Port nối tiếp : Ngắt Port nối tiếp xảy ra khi cờ ngắt phát (T1) hoặc cờ ngát thu (R1) được sét bặng

1 Một ngắt phát xảy ra khi một ký tự đã ghi vào SBUF hoàn tất tức bộ đệm phát SBUF rỗng Một ngắt thu xây ra khi một ký tự được thu nhận đây đủ vào trong SBUF và đang đợi để đọc tức là lúc này thanh ghi SBUF đây

Các ngắt do Port nối tiếp khác do bộ định thời ờ gây ra ngắt do bộ định thời Cờ gây

ra ngắt ở Poet nối tiếp không được xóa bởi phần cứng khi CPU trỏ tới trình phục vụ ngắt

Lý do là có hai nguyên nhân tạo ra ngắt ở Port nối tiếp, cụ thể là hai ngắt tạo bởi hai cờ

TI và RI Nguyên nhân ngắt phải được xác định trong trình phục vụ ngắt và cờ tạo ra ngắt

phải được xoá bằng phần mềm

Trang 35

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

" = Ắ ẮẮ =.ẦẦẻẳẳẮ."n.-aaăaẽaăaẽaẽaốậasẵsễẽễẽaaasmn

CHƯƠNG II : GIAO TIẾP VẬT LÝ

I TONG QUAN

Để truyền dữ liệu nhị phân qua mộy đường dây, các chữ số nhị phân tạo nên mỗi

phần tử truyền đi được chuyển qua tín hiệu điện Trong thực tế các tín hiệu điện được truyền đi bị suy giảm và méo dạng bởi mơi trường truyền ,đơi bộ thu khơng thể phân biệt

được đâu là tín hiệu 1 và đâu là tín hiệu 0 Mức độ suy giảm và méo dạng chịu ảnh hưởng

nhiều nhất bởi:

- Loại mơi trường truyền

-Tốc độ bit đang truyền

-Cự ly giữa hai thiết bị truyền

II MƠI TRƯỜNG TRUYỀN

Việc truyễển tín hiệu đi xa cần đến một mơi trường truyén mà thơng thường sẽ dùng một đường dây truyền dẫn nào đĩ Trong một số trường hợp sẽ là một cặp dây dẫn, cĩ thể

là sợi thuỷ tỉnh hay sĩng điện từ lan truyền trong khơng gian.Dạng của mơi trường là rất

quan trọng, vì chúng quyết định số bít tối đa cĩ thể truyển trong một đơn vị thịi gian, thường được gọi là tốc độ bitbps (bit per second)

Các phương tiện truyền dẫn đang cĩ hiện nay: cáp kim loại,đường truyền vơ tuyến,

cấp quang

1 Cáp kim loại

-Đường truyền 2 dây khơng xoắn :

Một đường truyền hai dây khơng xoắn là mơi trường truyển dẫn đơn giản nhất Loại đường dây này thích hợp cho kết nối hai thiết bị cách xa nhau đến 50m dùng tốc độ

bit nhỏ hơn 19200 bps Tín hiệu thường là mức điện thế hay cường độ dịng điện dựa vào tham chiếu điện thế đất ( ground, khơng cân bằng ) đặt lên một dây trong khi điện thế đất

được đặt vào dây kia Loại dây dẫn này phải cẩn thận tránh can nhiễu giữa các tín hiệu điện trong các dây dẫn kể nhau trong cùng một cáp Hiện tượng này gọi là nhiễu xuyên

âm, loại đường truyền này dễ bị nhiễu từ các nguồn tín hiệu khác

-Đường truyền xoắn đơi :

Cĩ thể loại bỏ các tín hiệu nhiễu tốt hơn bằng cách dùng cấu trúc cáp xoắn đơi Khi

bất kỳ tín hiệu nhiễu nào thâm nhập thì sẽ vào cả hai dây, ảnh hưởng của chúng sẽ giảm

đi bởi sự triệt lẫn nhau Nếu cĩ nhiều cặp xoắn trong cùng một cáp thì sự xoắn của mỗi cặp trong cáp cũng làm giảm nhiễu xuyên âm Được dùng truyền với tốc độ xấp xỉ IMbps với cự ly ngắnhơn 100m

Trang 36

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

-Cáp đồng trục:

Các yếu tố giới hạn chính đối với cáp xoắn khi truyền ở tốc độ cao do” hiệu ứng

ngoài da “điều này làm tăng trở kháng của đường dây dẫn đến suy hao tín hiệu truyền Ngoài ra với tân số cao thì năng lượng tín hiệu bị suy hao nhiều ảnh hưởng đến bức xạ Cáp đồng trục khắc phục được hai nhược điểm trênvà có thể dùng truyền nhiều loại

tín hiệu khác nhauvới tóc độ 10Mbps trên cự ly vài trăm mét

2 Cáp quang:

Cáp quang mang thông tin dưới dạng các chùm dao động của ánh sáng trong sợi

thuỷ tỉnh Sóng ánh sáng có băng thông rộng hơn sóng điện từ, diéu nay cho phép cáp

quang đạt được tốc độ truyền khá cao lên đến hàng trăm Mbps và cũng miễn dịch đối với

các nhiễu điện từ và nhiễu xuyên âm Cáp quang cũng được dùng trong việc truyền các tín hiệu tốc thấp trong môi trường xuyên nhiễu nặng, ngoài ra còn có khả năng bảo mật

cao

Môt cáp quang bao gồm sợi thủy tỉnh cho mỗi tín hiệu được truyền, được bọc bởi

lớp phủ bảo vệ ngăn ngừa bất kỳ nguồn sáng nào từ bên ngoài Tín hiệu ánh sáng phát ra bởi bộ một bộ phát quang, thiết bị này chuyển đổi tín hiệu điện thông thường thành tín hiệu quang.một bộ thu quang được dùng để chuyển ngược lại

3 Đường truyền vò tuyến :

* Đường truyền vệ tỉnh :

Sử dụng sóng điện từ lan truyền qua không gian tự do như các hệ thống thông tin

vệ tỉnh Một chùm sóng vi ba trực xạ trên đó mang số liệu đã được điều chế, được truyền

đến vệ tinh từ chạm mặt đất Chùm sóng này được thu và được truyền lại đến các đích xác định trước nhờ một mạch tích hợp thường được gọi là transponder Một vệ tính có

nhiều transponder đảm trách một băng tàn đặc biệt Mỗi kênh vệ tinh thông thường đều

có một băng thông cực cao (khoảng 500MhzZ) và có thể cung cấp cho cho hàng trăm liên

kết tốc độ cao thông qua kỹ thuật ghép kênh

Các vệ tinh dùng cho thông tin liên lạc thường thuộc đạng địa nh, tức là vệ tình

bay hết gũi đạo quanh trái đất mỗi 24 giờ nhằm đồng bộ với sự quay quanh trái đất và do

đó vị trí của vệ tỉnh là đứng yên so với mặt đất

Một hệ thống thông tin thông thường là một đường dẫn đơn hướng nhưng là đường song công được sử dụng trong hâu hết các ứng dụng thực tế với các kênh đường lên và kênh đường xuống liên kết với mỗi trạm mặt đất hoạt động với tần số khác nhau

* Đường truyền vô tuyến tần số thấp:

Sóng vô tuyến tần số thấp cũng được dùng để thay thế các liên kết hữu tuyến có

cự ly vừa phải thông qua các bộ thu phát khu vực Sóng vô tuyến thường được dùng để

thực hiện liên kết không dây giữa một điểm kết cuối hữu tuyến và các điểm phan tán

khác Tuy nhiên vùng phủ sóng bị giới hạn và tốc độ đạt được vài chục Kbps

a

Trang 37

a

*Đường truyền vi ba : Các liên kết vi ba mặt đất được dùng rộng rãi để liên kết thông tin giữa các vùng

hiểm trở trên mặt đất với khoảng cách nhất định Liên lạc vi ba xuyên qua môi trường khí

quyển có thể dùng một cách tin cậy cho cự ly khoảng 50Km

*Hồng ngoại : Được ứng dụng rộng rãi để điều khiển từ xa vô tuyến và truyên data với khoảng cách gần (< 100m) với chỉ phí thấp

II SỰ SUY HAO VÀ MÉO DẠNG TÍN HIỆU :

1 Sự suy hao :

Khi một tín hiệu lan truyền dọc dây dẫn vì lý do nào đó biên độ của nó giảm xuống được gọi là sự suy giảm tín hiệu Thông thường mức độ suy hao cho phép được quy định trên chiểu dài cáp dẫn để đắm rằng hệ thống nhận có thể phát hiện và dịch được tín

hiệu ở máy thu Nếu trường hợp cáp quá dài thì có một hay nhiều bộ khuếch đại được chèn vào từng khoảng đọc theo cáp nhằm tiếp nhận và tái sinh tín hiệu

Sự suy giảm tín hiệu gia tăng theo một hàm của tần số, trong đó tín hiệu bao gồm

một dải tan vì vậy tín hiệu sẽ bị biến dạng do các thành phần suy giảm không bằng nhau

Để khắc phục vấn để này, các bộ khuếch đại được thiết kế sao cho khuéch đại tín hiệu có

tần số khác nhau với hệ số khuếch đại khác nhau Ngoài ra còn có các bộ căn chỉnh dùng

để căn bằng sự suy giảm xuyên qua một băng tần xác định

Sự suy hao và độ lợi được đo bằng decibels (db) Nếu gọi mức năng lượng của tín hiệu truyền là p1 và mức năng lượng nhận được là p2 thì :

Sự suy hao = 10 lg p1/p2[db] và Độ lợi = 10 lg p2/p1 [db]

2 Giơi hạn băng thông:

Bất kì một kênh hay đường truyền nào cũng đều có một băng thông xác định ứng với đường truyền đó, băng thông chỉ ra các thành phần tần số nào của tín hiệu sẽ được truyền qua mà không bị suy giẩm Do đó khi truyền dữ liệu qua kênh cần phải đánh giá ảnh hưởng của băng thông của kênh đối với tín hiệu số liệu được truyền

Thông thường phải dùng phương pháp toán học để đánh giá, đó là phương pháp

Fourier Phương pháp này phát biểu rằng: bất kỳ tín hiệu tuần hoàn nào đều được hình thành từ một dẫy xác định các thành phần tần số riêng biệt Chu kì của tín hiệu xác định thành phần tần số cơ bắn Các thành phân tân số khác có tần số là bội số của tần số cơ

bản gọi là các hài bậc cao của tần số cơ bản

3 Sự biến dạng do trễ pha : Tốc độ lan truyền của một tín hiệu thuần nhất đọc theo một đường truyền thay đổi tuỳ tần số Do đó khi truyền một tín hiệu số, các thành phần tan số khác nhau tạo nên nó

_—— -~# woe ———- _ _ —.- Ea

Trang 38

4 Sự can nhiễu :

Khi không có tín hiệu, một đường truyền dẫn hay kênh truyền được xem là lý tưởng nếu mức điện thế trên nó là zero Trong thực tế có những tác động ngẫu nhiên làm

cho tín hiệu điện trên đường truyền vẫn khác zero, cho dù không có tín hiệu số liệu nào

được truyền đó Mức tín hiệu này được gọi là mức nhiễu đường dây Khi một tín hiệu bị suy giầm thì biên đọ của nó giảm đến mức nhiễu đường TỈ số năng lượng trung bình của một tín hiệu thu được S so với năng lượng của mức nhiễu đường N được gọi là tỉ số tin

hiệu trên nhiễu SNR

SNR = 10 lg (S/N) [db]

Một nguyên nhân gây nhiễu khác là nhiễu xuyên âm, nhiễu hình thành do hai đây

dẫn đặt gần nhau Tín hiệu truyễn trên dây này trở thành tín hiệu nhiễu vào dây kia Có

nhiễu loại nhiễu xuyên âm được quan tâm nhất là xuyên âm đầu cuối kể Trường hợp này

gọi là tự xuyên tâm vì nó phát sinh bởi tín hiệu phát ở ngõ ra của mach phát mạnh hơn so với tín hiệu thu ở ngõ vào mạch thu nội bộ, và tín hiệu phát sẽ gây nhiễu ở ngõ vào mạch

thu

Nhiễu nhiệt hiện diện trong tất cả các thiết bị điện và các phương tiện truyền bất ©

chấp ảnh hưởng ngoại cảnh Nó được sinh ra do tác động nhiệt của các clectron liên kết với các nguyên tử của vật liệu điện chế tạo đường dây hay thiết bị Ở mọi nhiệt độ trên

mức tuyệt đối zero, tất cả các phương tiện truyền thông đều trải qua nhiễu nhiệt Nó tạo

nên các thành phần tần số ngẫu nhiên xuyên qua xuyên qua phổ tần đã hoàn chỉnh, có

biên độ thay đổi liên tục và do đó còn gọi là nhiễu trắng

IV CÁC LOẠI TÍN HIỆU

Khi hai đầu cuối kết nối với nhau bằng tốc độ vừa phải, có thể truyền dữ liệu bằng các đôi dây không xoắn và các mạch giao tiếp đơn giản Các mạch giao tiếp này thay đổi các mức tín hiệu được dùng bên trong thiết bị thành mức tín hiệu tương thích với cáp nối

Tuy nhiên sự khác biệt giữa các đầu cuối và tốc độ bit gia tăng, cần phải dùng các kỹ

thuật và mạch phức tạp hơn Nếu các thiết bị đầu cuối nằm ở cách xa nhau trên phạm vi

quốc gia (hay quốc tế) và không có các dịch vụ truyền só liệu, thì dùng các dịch vụ như

điện thoại hay ịch vụ viễn thông khác, phải chuyển đổi các tín hiệu điện từ các DTE

thành dang analog các thông điệp đàm thoại, khi nhận thì phải đổi tín hiệu phù hợp với tín hiệu được dùng bởi tín hiệu DTE đích

Trang 39

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

1 Chuẩn V 28 :

Truyén

Các mức tín hiệu điện được quy định dùng cho một số giao tiếp EIA/TTU-T được chỉ

ra trong chuẩn V 28 Chuẩn V 28 được xem là giao tiếp điện không cân bằng Các tín

hiệu điện áp được dùng trên đường dây là đối xứng so với GND và Ít nhất là mức 3vdc,

+3vdc cho bit 0 va -3vdc cho bit 1 Trong thực tế nguồn cung cấp cho mạch giao tiếp có mức điện thế là +12vdc hay + 15vdc, các mạch truyền cần chuyển mức tín hiệu điện áp

thấp trong các thiết bị sang mức điện áp cao ngoài đường dây Các mức tín hiệu được

dùng trên đường truyền cao hơn so với mức của TT ( 2.0v — 5.0v là mức 1 va 0.2v — 0.8v

là mức 0) có tác dụng chống suy gidm va loại nhiễu tốt

2 Dong 20mA :

Tín hiệu này là dùng dòng điện thay cho điện áp Mặc dù không mở rộng tốc độ

nhưng nó tăng khoảng cách vật lý giữa hai thiết bị thông tin Hoạt động chính là trạng thái

của chuyển mạch được điều khiển bởi luồng bít dữ liệu truyền:chuyển mạch đóng tương

đứng với bit 1, do đó cho dòng 20mA chạy qua và ngược lại chuyển mạch mở tương ứng

mức 0 Tại đầu thu dòng điện được phát hiện bởi mạch cảm biến dòng và các tín hiệu nhị

phân được tái tạo lại Giao tiếp này loại bỏ nhiễu tốt hơn so với giao tiếp bằng điện áp

————

Trang 40

LUẬN VĂN TỐT NGHIỆP GVHD :Th.S Nguyễn Thị Ngọc Anh

Nếu muốn tăng khoảng cách vật lý và tốc độ, ta dùng RS-422A/V.11 chuẩn này

cơ bản dựa trên cáp xoắn đôi và mạch thu phát vi phân và được xem như là giao tiếp điện

cân bằng Một mạch phát vi phân tạo ra tín hiệu sinh đôi bằng nhau và ngược cực theo

mỗi tín hiệu nhị phân 0 hoặc 1 khi được truyền Tương tự, mạch thu theo hiệu số giữa hai

tín hiệu trên hai ngõ nhập của chúng, nhờ đó nhiễu tác động đồng thời lên cả hai dây sẽ

không ảnh hưởng đến tín hiệu cần thu Một dẫn xuất của RS-422A/V.11 là RS432A/V10

có thể dùng cho các ngõ ra điện áp không cân bằng bởi các giao tiếp EIA-232D/V.24 với

bộ thu vi phân RS-422A/V.11 thích hợp trong trường hợp dùng cáp xoắn đôi truyền ở cự

ly 10m với tốc độ 10Mbps và 1Km với tốc độ 100Kbps

Một tham số quan trọng của bất kì đường truyền nào đặc tính trở kháng Z bởi vì một

bộ thu chỉ hấp thụ hết các tín hiệu gửi đến chỉ khi đường dây được kết thúc bởi một điện

trở R bằng với Z (sự phối hợp trở kháng )

Ngày đăng: 26/04/2013, 11:23

HÌNH ẢNH LIÊN QUAN

Hình  1.1  :  Sơ  đồ  cấu  tạo  bên  trong  của  họ  MCS  -  51  Bảng  mô  tả  sự  khác  nhau  giữa  các  IC  trong  họ  MCS  -  51 - Thiết kế và thi công mạch menu điện tử
nh 1.1 : Sơ đồ cấu tạo bên trong của họ MCS - 51 Bảng mô tả sự khác nhau giữa các IC trong họ MCS - 51 (Trang 9)
BẢNG  THEO  DỐI  ĐẶT  HÀNG  - - Thiết kế và thi công mạch menu điện tử
BẢNG THEO DỐI ĐẶT HÀNG - (Trang 77)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w