MUÏC LUÏC
Trang
Bìa 3
Lời cảm ơn 4
PHẦN I: DẪN NHẬP 5
I. Đặt vấn đề 6
II. Mục đích, yêu cầu của đề tài 6
III. Giới hạn của đề tài 7
IV. Các phương pháp thực thi đề tài 7
PHẦN II: HOẠT ĐỘNG CỦA MẠNG ĐIỆN THOẠI
VÀ NGUYÊN LÝ TÍNH CƯỚC 9
CHƯƠNG I: Giới thiệu chung về mạng điện thoại 10
Phần A: Cấu trúc mạng 10
I. Mạng chuyển mạch công cộng (PSTN) 10
II. Các dạng của mạng chuyển mạch 11
Phần B: Mạng điện thoại 12
I. Tổng quát
II. Phân cấp và chức năng trong mạng điện thoại
III. Các chức năng của hệ thống tổng đài
IV. Các thông tin báo hiệu trong điện thoại
V. Tín hiệu điện thoại
CHƯƠNG II: Khái niệm chung về máy điện thoại
I. Nguyên lý thông tin điện thoại
II. Những yêu cầu cơ bản về máy điện thoại
III. Những chức năng cơ bản của máy điện thoại
IV. Phân loại máy điện thoại
CHƯƠNG III: Máy điện thoại ấn phím
I. Các khối và chức năng của máy điện thoại
II. Kỹ thuật gởi số bằng xung lưỡng âm đa tần
(Dual Tone Multi Frequency – DTMF)
CHƯƠNG IV: Các phương thức nhận biết và tính cước điện thoại
I. Phương thức quay số
II. Phương pháp tính cước
III. Kỹ thuật ghi cước của tổng đài
IV. Mã vùng và giá cước
PHẦN III: TÌM HIỂU VỀ 80C51 VÀ PHƯƠNG THỨC GIAO TIẾP
QUA RS_232 BẰNG IC 89C51
CHƯƠNG I: Cấu tạo họ vi điều khiển 8051
I. Tổng quát
II. Sơ đồ khối của chip 8051
III. Khảo sát sơ đồ chân 8951, chức năng từng chân
CHƯƠNG II: Thiết kế và giao tiếp
I. Mở đầu:
II. SBC – 51:
III. Các phương pháp giao tiếp
IV. Phương pháp giao tiếp máy tính
PHẦN IV: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
CHƯƠNG I: Sơ đồ khối – nguyên lý hoạt động
I. Sơ đồ khối
II. Chức năng các khối
III. Sơ lược về nguyên lý hoạt động của mạch
CHƯƠNG II: Thiết kế và giải thích nguyên lý hoạt động
của mạch theo từng khối
I. Khối xử lý trung tâm CPU
II. Khối Ram nhớ ngoài
III. Khối chốt địa chỉ
IV. Khối giao tiếp RS_232
V. Khối cảm biến, nhấc máy, gác máy và đảo cực
VI. Khối DTMF
VII. Khối hiển thị Led
VIII. Khối nguồn nuôi Ram
IX. Khối nguồn
PHẦN V: KẾT LUẬN VÀ BÀN LUẬN
Kết luận và kiến nghị
Báo cáo kết quả thi công và hướng phát triển đề tài
Tài liệu tham khảo
Phụ lục
95 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1998 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và thi công mạch tính cước điện thoại giao tiếp bằng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iều dịch vụ mới, mỗi dịch vụ tương ứng với phương thức quay số với từng dịch vụ mà người sử dụng cần phải biết.
Sau đây là các phương thức quay số trực tiếp ứng với từng dịch vụ hiện có trên thị trường Việt Nam chúng ta hiện nay:
Khi nhấc máy và nghe âm hiệu mời quay số (Dial Tone), ta thực hiện như sau:
Quay số trong tỉnh, nội hạt:
Ví dụ: muốn gọi đến số máy 9902726 ở Thành phố Hồ Chí Minh ta nhấn gọi trực tiếp số đó.
Quay số liên tỉnh:
Cách quay số:
0 + AC + SN
0: là mã gọi đi tỉnh
AC (Area Code): Mã tỉnh cần gọi (mã vùng).
SN: số thuê bao
Quay số đi quốc tế:
00 + CC + AC + SN
00: là mã gọi quốc tế.
CC (Country Code): mã quốc gia cần gọi.
Quay số thông qua dịch vụ VoiP:
Các dịch vụ này được cung cấp bởi công ty dịch vụ viễn thông quân đội (Viettel), cách thức quay số giống như quay số bình thuờng nhưng có thêm mã của nhà cung cấp:
Gọi tỉnh thông qua dịch vụ 171:
171 + 0 + AC + SN
Ví dụ: để gọi một máy ở Bình Thuận có số 819935, ta bấm:
171 + 0 + 62 + 819935
Gọi quốc tế:
171 + 00 + CC + AC + SN
Dịch vụ điện thoại cố định trả tiền trước 1717:
Nội hạt, nội tỉnh:
1717 + SC + SN
Liên tỉnh:
1717 + SC + 0 + AC + SN
Trong đó SC: mã số của thẻ gọi.
Quay số gọi thuê bao di động:
Hiện nay trên thị trường có 6 nhà cung cấp dịch vụ di động, mỗi nhà cung cấp có một mã số riêng nhưng cách thức quay số là như nhau:
09 + X + SN
0168 + X + SN
0122 + X + SN
Trong đó: X là số của nhà cung cấp.
+ 0: Mobiphone
+ 1: Vinaphone
+ 2: HT-phone
+ 5: S-phone
+ 8: Viettel
PHƯƠNG PHÁP TÍNH CƯỚC:
Việc tính cước được tiến hành theo đơn vị thời gian gọi nhân với giá tiền của một đơn vị thời gian.
Tính bằng giá: theo cách tính này thì dù thuê bao có gọi 1 cuộc hay nhiều cuộc một ngày thì vẫn phải trà tiền như nhau.
Tính theo đơn vị: thuê bao được tính theo số lần gọi, bất kể nơi đâu, xa hay gần.
Tính theo thời gian: có kết hợp tính cước theo khoảng cách vì khoảng cách càng dài thì số thiết bị chiếm dụng càng nhiều.
Tính cước theo dịch vụ: lưu ý rằng đây không phải là phương thức tính cước theo cuộc gọi mà là tính cước cho các dịch vụ đặc biệt như:
Kết nối điện đàm qua điện thoại viên
Thông báo vắng nhà.
Quà tặng âm nhạc cũng như các dịch vụ hỏi đáp qua 1080 hay 108, ….
Với các dịch vụ này có thể tính theo thời gian hay đơn vị. Trong thực tế ta có thể áp dụng theo nguyên tắc sau:
Cuộc gọi nội hạt: tính cước theo đơn vị.
Cuộc gọi đường dài: tính cước theo thời gian.
Đối với các cuộc gọi tự động đường dài, tuy thiết bị kỹ thuật lúc nào cũng có sẵn nhưng để trang trải đều lưu thoại ra trong ngày, nâng cao hiệu suất sử dụng thiết bị người ta dùng phương pháp giảm tiền cước ở các khoảng thời gian ngoài giờ làm việc. Điều này có tác dụng không những khuyến khích thuê bao sử dụng điện thoại tăng lên mà còn dời các cuộc điện thoại đường dài đến các thời điểm ngoài giờ hành chính. Do đó các thiết bị kỹ thuật trong tổng đài sẽ chịu lượng tải đồng đều và sử dụng có hiệu quả.
Tuy nhiên đối với thiết bị tính cước tại các điểm công cộng để xác định thời gian tính cước được bắt đầu từ lúc nào thì ta phải có những tín hiệu nhận biết. Vì vậy, ta có các phương pháp nhận biết sau:
Nhận biết nhờ tín hiệu đảo cực:
Đối với những máy có đăng ký dịch vụ đảo cực thì ta tiến hành tính cước khi thuê bao bị gọi bắt đầu nhấc máy. Lúc này bưu điện sẽ cung cấp một tín hiệu đảo cực trên hai dây line nối vào thuê bao, nhờ vào tín hiệu này thiết bị tính cước sẽ tính chính xác thời gian cuộc gọi.
Nhận biết nhờ tín hiệu RingBack:
Thông thường khi không đăng ký dịch vụ đảo cực ta thường bắt đầu tính cước sau khi thuê bao gọi nhấn số xong 10s, như vậy thì việc tính cước không thật sự chính xác. Để việc tính toán trở nên chính xác hơn ta có thể dùng phương pháp nhận biết RingBack tone và tính toán khi hết tín hiệu này trong khoảng 4s.
Ta có 2 cách sau:
Sử dụng vòng khóa pha: trong phương pháp này ta dùng các loại IC vòng khóa pha như: LM567, 566, … để bắt tín hiệu RingBack tone với tần số 425Hz.
Sử dụng chế độ CP (Call Process) của IC MT8888: trong chế độ CP bộ thu tín hiệu DTMF (IC 8888) sẽ bỏ qua các tần số lớn hơn 550Hz và nhỏ hơn 250 Hz. Lợi dụng đặc điểm này ta dùng chúng để nhận biết tín hiệu RingBack.
KỸ THUẬT GHI CƯỚC CỦA TỔNG ĐÀI:
Trong một hệ thống tổng đài nhân công, các cuộc gọi thành công đều được ghi nhận cước cho thuê bao chủ yếu là khi kết thúc cuộc gọi. Về mặt lý thuyết thể theo nguyên tắc mà các mạch trong hệ thống điện thoại tự động bằng cách sắp xếp cho các tín hiệu giải tỏa từ thuê bao trong các cuộc gọi thành công khởi đầu việc tính cước ngay sau khi giải tỏa dãy bộ chọn.
Tuy nhiên, phương pháp này sẽ tăng thời gian kềm giữ, giám sát và sẽ ngăn chặn thuê bao tiếp nhận cuộc gọi thứ hai ngay sau khi thuê bao thứ nhất được giải tỏa. Trong hệ thống trả lời tự động một số phương thức tiêu chuẩn là tính cước cuộc gọi khi thuê bao bị gọi trả lời, nghĩa là khi thuê bao bị gọi trả lời, nghĩa là khi bắt đầu thời gian đàm thoại, các đồng hồ tính cước sẽ hoạt động và được lập trình để ghi nhận “một đơn vị tính cước”.
Điều quan trọng là các mạch tính cước của tổng đài điện thoại tự động phải có độ tin cậy cao và phải đảm bảo tránh tình trạng hoạt động bất thường của đồng hồ tính cước do nhiều nguyên nhân khách quan.
Kỹ thuật tính cước:
Có hai phương pháp tính cước: tính theo xung và tính theo hóa đơn chi tiết.
Tính cước theo xung:
Theo phương pháp này vào thời điểm tính cước cuộc gọi, nguồn xung được nối đến đồng hồ đếm xung và xung bắt đầu được đếm. Đó là phương thức đếm xung theo nguyên lý karlsson. Theo phương pháp này thì có một xung vào lúc khởi đầu hay kết thúc cuộc gọi và xung đầu tiên không được tính.
Hóa đơn chi tiết:
Theo phương pháp này thì số cuộc gọi được liệt kê: số của thuê bao gọi, số của thuê bao bị gọi, ngày, giờ, loại dịch vụ và giá cước.
Ngoài ra tổng đài tự động còn có 4 phương pháp tính cước:
Tính cước bằng phương pháp đảo cực nguồn điện: một tín hiệu giám sát được gởi đến điện thoại viên bằng cách đảo cực dòng điện trên đường dây bằng tín hiệu ngược lại khi thuê bao trả lời.
Tính cước bằng phương pháp dùng dây thứ 4 trong mạch: đây là phương pháp dùng nguồn âm trên dây thứ 4. Phương pháp này được ưa chuộng do có xác suất thấp trong việc đặt ngẫu nhiên tín hiệu tính cước trên đường dây thứ 4.
Tính cước bằng phương pháp đếm xung: sau khi tổng đài thực hiện việc kết nối giữa hai thuê bao, tổng đài sẽ cấp các tone gián đoạn có tần số quy định trước. Trong khoảng thời gian quy định là đơn vị cơ bản để tính cước thì số tone hiện diện trong một đơn vị thời gian cơ bản sẽ tỷ lệ với giá cước. Như vậy tùy theo khoảng cách của hai thuê bao mà số tone trong một đơn vị thời gian sẽ khác nhau. Khi ta gọi đến một vùng càng xa thì số tone nhận được trong một đơn vị thời gian càng nhiều. Bộ phận tính cước có nhiệm vụ đếm số tone này và quy ra thành tiền.
Tính cước bằng phương pháp phát hiện Ring Back Tone: trong hai cách tính trước thuê bao phải được tổng đài cấp cho dịch vụ: tín hiệu đảo cực hay xung tuần hoàn. Tại những thuê bao không có hai dịch vụ trên ta có thể phát hiện thông thoại bằng cách kiểm tra tín hiệu hồi âm chuông (RingBack). Ta biết rằng khi quay số xong tổng đài sẽ gởi tín hiệu chuông đến thuê bao được gọi (có tần số 25Hz) và tín hiệu hồi âm chuông về thuê bao gọi (tần số 425Hz) với chu kỳ bằng nhau: 2s có 4s không. Khi thuê bao nhấc máy thì tín hiệu RingBack sẽ bị mất. Do đó phát hiện hồi âm chuông sẽ là phát hiện thông thoại, và ta sẽ tính cước kể từ lúc này.
MÃ VÙNG CỦA CÁC TỈNH, THÀNH PHỐ TRONG CẢ NƯỚC:
STT
Tên Tỉnh/ Thành Phố
Mã Vùng
STT
Tên Tỉnh/ Thành Phố
Mã Vùng
01
An Giang
076
33
Kiên Giang
077
02
Bạc Liêu
0781
34
Kom Tum
060
03
Bà Rịa – Vũng Tàu
064
35
Lai Châu
0231
04
Bắc Cạn
0281
36
Lạng Sơn
025
05
Bắc Giang
0240
37
Lào Cai
020
06
Bắc Ninh
0241
38
Lâm Đồng
063
07
Bến Tre
075
39
Long An
072
08
Bình Dương
0650
40
Nam Định
0350
09
Bình Định
056
41
Nghệ An
038
10
Bình Phước
0651
42
Ninh Bình
030
11
Bình Thuận
062
43
Ninh Thuận
068
12
Cao Bằng
026
44
Phú Thọ
0210
13
Cà Mau
0780
45
Phú Yên
057
14
Cần Thơ
0710
46
Quãng Bình
052
15
Đà Nẵng
0511
47
Quãng Nam
0510
16
Đắc Lắc
0500
48
Quãng Ngãi
055
17
Đắc Nông
0501
49
Quãng Ninh
033
18
Điện biên
0230
50
Quãng Trị
053
19
Đồng Nai
061
51
Sóc Trăng
079
20
Đồng Tháp
067
52
Sơn La
022
21
Gia Lai
059
53
Tây Ninh
066
22
Hậu Giang
0219
54
Thái Bình
036
23
Hà Nam
0351
55
Thái Nguyên
0280
24
Hà Nội
04
56
Thanh Hoá
037
25
Hà Tây
034
57
Thừa Thiên Huế
054
26
Hà Tỉnh
039
58
Tiền Giang
073
27
Hải Dương
0320
59
Trà Vinh
074
28
Hải Phòng
031
60
Tuyên Quang
027
29
Hà Giang
0711
61
Vĩnh Long
070
30
Hòa Bình
0218
62
Vĩnh Phúc
0211
31
Hưng Yên
0321
63
Yên Bái
029
32
Khánh Hòa
058
PHẦN III:
TÌM HIỂU VỀ 8051 VÀ PHƯƠNG THỨC GIAO TIẾP QUA RS_232 BẰNG IC 89C51
CHƯƠNG I:
CẤU TẠO HỌ VI ĐIỀU KHIỂN 8051
TỔNG QUÁT:
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất. Các IC tiêu biểu cho họ là 8051. Các sản phẩm MCS-51 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên Byte và các thuật toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 Bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những hỗ trợ mở rộng trên Chip dùng cho những biến một Bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra Bit trực tiếp trong điều khiển và những hệ thống logic đòi hỏi xử lý kiểu luận lý.
8951 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với 4KB EPROM (Flash Programmable And Erasable Read Only Memory). Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không bốc hơi mật độ cao của ATMEL và tương thích với chuẩn công nghiệp MCS-51 về tập lệnh và các chân ra. EPROM ON-CHIP cho phép bộ nhớ được lập trình trong hệ thống hoặc bởi một lập trình viên bình thường. Bằng cách kết hợp một CPU 8 Bit với một EPROM trên một Chip đơn, ATMEL 8951 là một vi điều khiển mạnh (có công suất lớn) mà nó cung cấp một sự linh động cao và giải pháp về giá cả đối với nhiều ứng dụng vi điều khiển.
8951 cung cấp những đặc tính chuẩn như sau: 4KB bộ nhớ chỉ đọc có thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIMER/COUNTER 16 Bit, 5 véctơ ngắt có cấu trúc ngắt, một Port nối tiếp bán song công, một mạch dao động tạo xung Clock và bộ dao động ON-CHIP. Thêm vào đó, 8951 được thiết kế với logic tĩnh cho họat động đến mức không tần số và hỗ trợ 2 phần mềm có thể lựa chọn những chế độ tiết kiệm công suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trong khi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ thống ngắt liên tục hoạt động. Chế độ giảm công suất sẽ lưu nội dung RAM nhưng sẽ treo bộ dao động làm mất khả năng hoạt động của tất cả những chức năng khác cho đến khi Reset hệ thống.
Các đặc điểm của 8951 được tóm tắt như sau:
4KB bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi xóa.
Tần số hoạt động từ: 0Hz đến 24 MHz.
3 mức khóa bộ nhớ lập trình.
2 bộ timer/counter 16 Bit
128 Byte RAM nội.
4 Port xuất/nhập I/O 8 bit.
Giao tiếp nối tiếp.
64 KB vùng nhớ mã ngoài.
64 KB vùng nhớ dữ liệu ngoại.
Xử lý Boolean (hoạt động trên bit đơn).
210 vị trí nhớ có thể định vị bit.
4µs cho hoạt động nhân hoặc chia.
SƠ ĐỒ KHỐI CỦA CHIP 8051:
KHẢO SÁT SƠ ĐỒ CHÂN 8951, CHỨC NĂNG TỪNG CHÂN:
Sơ đồ chân 8951:
Như ta đã thấy trong hình, 32 trong số 40 chân của 8051 có công dụng xuất/nhập, tuy nhiên 24 trong 32 đường này có 2 mục đích. Mỗi một đường có thể hoạt động xuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.
Các đặc trưng đã đề cập ở trên được trình bày trong sơ đồ khối ở hình trước.
32 chân nêu trên hình thành 4 port 8-bit. Ta có thể sử dụng các port này làm nhiệm vụ xuất nhập, 8 đường cho mỗi port có thể được xử lý như một đơn vị giao tiếp với các thiết bị song song như máy in, bộ biến đổi D-A, v.v.. hoặc mỗi đường có thể hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, BJT, FET, cuộn dây, động cơ, loa v.v..
Các Port:
Port 0:
Port 0 là port có port 2 chức năng ở các chân 32 – 39 của 8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu.
Port 1:
Port 1 là port IO trên các chân 1 - 8. Các chân được ký hiệu P1.0, P1.1, P1.2, … có thể dùng cho giao tiếp với các thiết bị bên ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.
Port 2:
Port 2 (các chân từ 21 đến 28 trên 8051) có port 2 công dụng: hoặc làm nhiệm vụ xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16-bit cho các thiết kế bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài.
Port 3:
Port 3 là port có tác dụng kép trên các chân 10- 17. Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8951 như ở bảng sau:
Chức năng của port 3 và 2 chân P1.0, P1.1 của port 1:
Bit
Tên
Địa chỉ bit
Chức năng
P3.0
RxD
B0H
Chân nhận dữ liệu của port nối tiếp
P3.1
TxD
B1H
Chân phát dữ liệu của port nối tiếp
P3.2
INT0
B2H
Ngõ vào ngắt ngoài 0
P3.3
INT1
B3H
Ngõ vào ngắt ngoài 1
P3.4
T0
B4H
Ngõ vào của bộ định thời/đếm 0
P3.5
T1
B5H
Ngõ vào của bộ định thời/đếm 1
P3.6
WR
B6H
Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7
RD
B7H
Điều khiển đọc bộ nhớ dữ liệu ngoài
P1.0
T2
90H
Ngõ vào của bộ nhớ định thời/đếm 2
P1.1
T2EX
91H
Nạp lại/thu nhận của bộ định thời 2
Các ngõ tín hiệu điều khiển:
Chân cho phép bộ nhớ chương trình PSEN
8051 cung cấp cho ta 4 tín hiệu điều khiển bus. Tín hiệu cho phép bộ nhớ chương trình PSEN (program store enable) là tín hiệu xuất trên chân 29. Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài. Chân này thường nối với chân cho phép xuất OE(output enable) của EPROM( hoặc ROM) để cho phép đọc các byte lệnh.
Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh. Các mã nhị phân của chương trình hay opcode (mã thao tác) được đọc từ EPROM, qua bus dữ liệu và đuợc bus vào thanh ghi lệnh IR của 8051 để được giải mã.
Khi thực thi một chương trình chứa ở ROM nội, PSEN được duy trì ở logic không tích cực (logic 1).
Chân cho phép chốt địa chỉ ALE
8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE (address latch enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ. Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của địa chỉ 16-bit) vào một thanh ghi ngoài trong suốt 1/2 đầu của chu kỳ bộ nhớ. Sau khi điều này đã được thực hiện, các chân của port 0 sẽ xuất/nhập dữ liệu hợp lệ trong suốt 1/2 thứ hai của chu kỳ bộ nhớ.
Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong chip vi điều khiển và có thể được dùng làm xung clock cho phần còn lại của hệ thống. Nếu mạch dao động có tần số 12 MHz, tín hiệu ALE có tần số 2 MHz. Ngoại lệ duy nhất là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua. Chân ALE còn được dùng để nhận xung ngõ vào lập trình cho EPROM trên chip đối với các phiên bản của 8051 có EPROM.
Chân truy xuất ngoài EA
Ngõ vào chân 31 có thể được nối với 5V (logic 1) hoặc với đất GND(logic 0). Nếu chân này nối lên 5V, 8051/8052 thực thi chương trình trong ROM nội (chương trình nhỏ hơn 4K/8K). Nếu chân này nối GND( và chân PSEN cũng ở mức 0), chương trình cần thực thi chứa ở bộ nhớ ngoài
Chân RESET(RST)
Ngõ vào chân 9 là ngõ vào xóa chính(master reset) của 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống. Khi ngõ vào này được treo ở logic 1 tối thiểu 2 chu kỳ máy, các thanh ghi bên trong của 8051 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống.
Các chân XTAL1 và XTAL2
Như đã đề cập ở trên, mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ở hai chân XTAL1 và XTAL2 (chân 18 và chân 19). Các tụ ổn định cũng được như trên hình này. Tần số danh định của thạch anh là 12 MHz cho hầu hết các chip của ho MCS-51, nguồn xung clock TTL có thể được nối với chân XTAL1 và XTAL2.
8051 ghép với mạch dao động bên ngoài.
Các chân nguồn
89C51 vận hành với nguồn đơn 5V, Vcc được nối vào chân 40 và Vss (GND) được nối vào chân 20.
TỔ CHỨC BỘ NHỚ:
Hầu hết các bộ vi xử lý (CPU) đều có không gian nhớ chung cho dữ liệu và chương trình. Điều này cũng hợp lý vì các chương trình thường được lưu trên đĩa và được nạp vào RAM để thực thi; vậy thì cả hai, dữ liệu và chương trình, đều lưu trú trên RAM.
Các chip vi điều khiển hiếm khi được sử dụng giống như các CPU trong các hệ máy tính, thay vào đó chúng được dùng làm thành phần trung tâm trong các thiết kế hướng điều khiển, trong đó bộ nhớ có dung lượng giới hạn, không có ổ đĩa và hệ điều hành. Chương trình điều khiển phải thường trú trên ROM.
Vì lý do trên, 89C51 có không gian bộ nhớ riêng cho chương trình và dữ liệu. Như ta đã thấy hình bên dưới, cả hai bộ nhớ chương trình và dữ liệu đều đặt bên trong chip, tuy nhiên ta có thể mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài với dung lượng tối đa 64K cho bộ nhớ chương trình (hay bộ nhớ mã) và 64K cho bộ nhớ dữ liệu.
Bộ nhớ nội trong chip bao gồm ROM ( chỉ có ở 8051/8052) và RAM. RAM trên chip bao gồm vùng RAM đa chức năng (nhiều công dụng), vùng RAM với từng bit được định địa chỉ ( gọi tắt là vùng RAM định địa chỉ bit ), các dãy (bank) thanh ghi và các thanh ghi chức năng đặc biệt SFR (special function register). Hai đặc tính đáng lưu ý là:
Các thanh ghi và các port xuất/nhập được định địa chỉ theo kiểu ánh xạ bộ nhớ ( memory mapped) và được truy xuất như một vị trí nhớ trong bộ nhớ.
Vùng stack thường trú trong RAM trên chip (RAM nội) thay vì ở trong RAM ngoài như đối với các bộ vi xử lý.
DATA
Memory
Enable
via
RD & WR
CODE Memory
Enable
via
PSEN
FFFF
FFFF
0000
0000
On – Chip Memory
FF
00
Bảng tóm tắt các vùng nhớ 89C51
Truy xuất bộ nhớ chương trình ngoài (EPROM):
Bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc, được cho phép bởi tín hiệu PSEN. Khi có 1 EPROM ngoài sử dụng, cả hai port 0 và port 2 đều không còn là port xuất/ nhập.
Kết nối phần cứng với bộ nhớ ngoài EPROM được trình bày bên dưới
Truy xuất bộ nhớ chương trình ngoài (RAM):
Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ghi được cho phép bởi các tín hiệu RD và WR ở các chân P3.7 và P3.6. Lệnh dùng để truy xuất bộ nhớ dữ liệu ngoài là MOVX, sử dụng hoặc con trỏ dữ liệu 16-bit DPTR hoặc R0, R1 làm thanh ghi chứa địa chỉ.
RAM có thể giao tiếp với 89C51 theo cùng cách như EPROM (như đã trình bày) ngoại trừ đường RD nối với đường cho phép xuất (OE\) của RAM và WR nối với đường ghi (WE\) của RAM. Các kết nối với bus dữ liệu và bus địa chỉ giống như EPROM. Bằng cách sử dụng các port 0 và port 2 như ở phần trên, ta có 1 dung lượng RAM ngoài lên đến 64 K được kết nối với 8951.
CHƯƠNG II:
THIẾT KẾ VÀ GIAO TIẾP
MỞ ĐẦU:
Chương này giới thiệu các đặc trưng phần cứng cũng như phần mềm của 8051 thông qua các thí dụ về thiết kế và giao tiếp. Trước tiên ta khảo sát một máy tính 8-bit đơn board (single – board) mang tên SBC-51 thích hợp cho việc nghiên cứu 8051 và phát triển các sản phẩm dựa trên 8051. SBC-51 sử dụng một chương trình monitor cung cấp các lệnh điều khiển (command) cơ bản cho hoạt động của hệ thống và tác động qua lại với người sử dụng.
SBC – 51:
Một vài công ty cung cấp các máy tính đơn board dựa trên 8051 tương tự như máy tính được mô tả trong mục này. Tuy nhiên là thiết kế cơ bản của một máy tính đơn board dùng 8051 không thay đổi nhiều giữa các sản phẩm khác nhau do các công ty khác nhau cung cấp. Do có nhiều đặc trưng được đặt trong chip 8051, việc thiết kế một máy tính đơn board dùng 8051 không phức tạp, chỉ cần có các kết nối cơ bản đến bộ nhớ ngoài và giao tiếp với máy tính.
Ta cũng cần đến chương trình monitor được chứa trong ROM. Các yêu cầu của hệ cơ bản này như là kiểm tra và thay thế các vị trí nhớ hoặc nạp các chương trình ứng dụng từ máy tính xuống được cần đến. SBC-51 được mô tả ở đây cùng một chương trình monitor đơn giản nhằm cung cấp các chức năng cơ bản vừa nên.
Hình trên là sơ đồ mạch của SBC-51. Toàn bộ thiết kế chỉ bao gồm 10 vi mạch (IC), tuy nhiên các thiết kế này cũng đủ khả năng và linh hoạt để hỗ trợ cho việc phát triển các sản phẩm phức tạp dựa trên 8051. Hoạt động của 8051 chủ yếu dựa vào chương trình monitor thường trú trong EPROM và việc truyền thông với một thiết bị đầu cuối hiển thị video VDT ( video display terminal) kết nối với 8051.
SBC-51 bao gồm thêm, ngoài chức năng đặc trưng chuẩn của 80C51, 16 KB EPROM ngoài, 8,25 KB RAM ngoài, bộ nhớ định thời 14-bit và 22 đường xuất nhập. Cấu hình được trưng bày bao gồm các linh kiện và thành phần sau:
2 điện trở
1 thạch anh
1 chuyển mạch nút nhấn
3 đầu nối
13 jumper định cấu hình
Vì phải sử dụng bộ nhớ ngoài, port 0 và port 2 không còn được dùng để xuất nhập. Do các port 1 và port 3 chỉ sử dụng một phần cho các đặc trưng cụ thể, một số đường của port 1 và port 3 có thể được sử dụng cho mục đích xuất nhập, tùy thuộc vào cấu hình.
Nguồn xung clock cho 89C51 là một thạch anh 12 MHz được kết nối theo cách thông thường với mạch dao động bên trong 89C51. Chân RST (reset) được điều khiển bởi một mạch R-C để reset hệ thống tự động khi cấp nguồn, đồng thời ta có thể reset hệ thống bằng tay nhờ vào một chuyển mạch nút nhấn. Port 0 là port đa hợp hai nhiệm vụ, vừa là bus dữ liệu (D0 đến D7) vừa là byte thấp của bus địa chỉ (A0 đến A7) như đã đề cập. Mạch chốt 8-bit 74HC373 được điều khiển chốt bởi tín hiệu ALE sẽ duy trì byte thấp của bus địa chỉ trong suốt chu kỳ bộ nhớ. Vì 89C51 không có ROM trong chip, chương trình thực thi phải chứa trong ROM ngoài nên chân EA phải nối với 0 V nhờ jumper cấu hình X2.
Việc kết nối với máy tính hoặc VDT sử dụng giao tiếp nối tiếp RS232C. Đầu nối DB25 được nối dây trở thành một DTE (data terminal equipment : thiết bị đầu cuối dữ liệu ) với dữ liệu phát trên chân TxD (chân 2), dữ liệu thu trên chân RxD (chân 3) và chân 7 nối đất (0V).
Các phương pháp giao tiếp:
Giao tiếp với bàn phím số Hex:
Giao tiếp với bàn phím thường được cần đến đối với các thiết kế dựa trên bộ vi điều khiển. Nhập từ bàn phím và xuất ra LED là sự lựa chọn kinh tế để giao tiếp với người sử dụng và thường thích hợp với các ứng dụng phức tạp. Các thí dụ bao gồm việc giao tiếp người sử dụng với lò vi ba hoặc máy đổi tiền tự động.
Hình bên trình bày cách giao tiếp giữa port 1 và bàn phím số hex. Bàn phím có 16 phím được sắp xếp thành 4 hàng và 4 cột. Các đường hàng được nối với các bit từ 4 đến 7 còn các đường cột được nối với các bit từ 0 đến 3 của port 1.
Giao tiếp với các đèn 7-đoạn:
Giao tiếp với một đèn 7-đoạn được minh họa một mạch giao tiếp với bốn đèn 7-đoạn chỉ sử dụng ba trong số các đường xuất nhập của 8951. Hiển nhiên đây là một thiết kế được cải tiến đặc biệt là khi có nhiều đèn led 7-đoạn được kết nối. Trung tâm của thiết kế này là vi mạch giải mã và kích đèn 7-đoạn MC14499 của Motorola, vi mạch này chứa bên trong nhiều mạch cần thiết cho việc kích 4 đèn 7-đoạn.
Các thành phần được thêm vào chỉ là tụ định thời 0,015 uF, 8 điện trở giới hạn dòng 47 Ω và 4 transistor 2N3904
Giao tiếp với Loa:
Hình bên dưới trình bày giao tiếp giữa 8051 và loa. Các loa nhỏ, chẳng hạn các loa trong máy tính cá nhân hoặc đồ chơi trẻ em, có thể được kích từ một cổng logic. Một đầu cuộc dây của loa ghép với +5V, đầu còn lại ghép với ngõ ra của 74LS04. Cổng đảo được cần đến do cổng này có khả năng cấp và hút dòng cao hơn các chân port của 8051.
Giao tiếp với RAM không mất nội dung:
RAM không mất nội dung NV-RAM (non-volatile RAM) là bộ nhớ bán dẫn duy trì được nội dung khi ta không cung cấp điện cho RAM. NVRAM kết hợp cả hai: các phần tử của RAM tĩnh và các phần tử của ROM lập trình được và xóa được (EPROM). Mỗi một bit của RAM tĩnh được phủ bởi một bit của EPROM. Dữ liệu có thể qua lại giữa hai bit nhớ và như vậy giữa hai bộ nhớ.
NVRAM chiếm một vị trí quan trọng trong các ứng dụng của bộ vi xử lý và bộ vi điều khiển. NVRAM được sử dụng để lưu các dữ liệu và các tham số được cài đặt, các dữ liệu và tham số này thỉnh thoảng được thay đổi bởi người sử dụng nhưng phải được duy trì khi không cung cấp điện.
Thí dụ nhiều thiết kế của VDT không sử dụng các chuyển mạch DIP mà sử dụng NVRAM để lưu trữ các thông tin được cài đặt như là tốc độ baud, cho phép hoặc không cho phép bit chẵn lẻ, kiểm tra chẵn hay lẽ v.v.. Mỗi khi VDT được cấp điện, các tham số này được gọi từ NVRAM và hệ thống được khởi động tưng ứng một cách phù hợp. Khi một tham số được thay đổi bởi người sử dụng (thông qua bàn phím), giá trị mới được lưu trong NVRAM.
Các modem có đặc trưng tự động quay số thường lưu các số điện thoại trong bộ nhớ nội. Các số điện thoại này thường được lưu trong NVRAM. Mười số điện thoại với 7 digit cho mỗi số được