Download miễn phí Đề tài Thiết kế mạch quang báo giao tiếp máy tính
LỜI GIỚI THIỆU 5
Chương 1. Giới thiệu tổng quan. 6
1.1. Giới thiệu chung. 6
1.2. Giới thiệu đề tài. 6
Chương 2. Tổng quan về giao tiếp máy tính và vi mạch 89C51. 7
2.1. Tổng quan về giao tiếp máy tính. 7
2.1.1. Phần cứng. 7
2.1.2. Phần mềm. 9
2.2. Vi mạch 89C51. 14
2.2.1. Cấu trúc vi mạch 89C51 và chức năng của các chân. 15
2.2.2. Cấu trúc bus. 19
2.2.3. Bộ nhớ chương trình – Bộ nhớ ROM. 20
2.2.4. Bộ nhớ dữ liệu-Bộ nhớ RAM. 20
2.2.5. Các thanh ghi chức năng đặc biệt (SFR). 22
2.2.6. Bộ nhớ ngoài (external memory). 29
2.2.7. Hoạt động RESET. 33
2.2.8. Họat động định thời. 34
2.2.9. Họat động ngắt. 39
2.2.10. Họat động port nối tiếp. 43
2.3. Sơ lược về bộ nhớ. 53
2.3.1. Khái niệm. 53
2.3.2. Phân loại bộ nhớ: một số bộ nhớ thông dụng. 53
2.4. Giới thiệu chương trình Asambler. 54
Chương 3. Thiết kế modun quang báo. 60
3.1. Các IC được dùng trong mạch. 60
3.2. Sơ đồ khối và Hoạt động các khối. 65
3.2.1. Mater: 65
3.2.2. Slave: 65
http://cloud.liketly.com/flash/edoc/web-viewer.html?file=jh2i1fkjb33wa7b577g9lou48iyvfkz6-demo-2017-07-19-de_tai_thiet_ke_mach_quang_bao_giao_tiep_may_tinh_ir727J9V8K.png /tai-lieu/de-tai-thiet-ke-mach-quang-bao-giao-tiep-may-tinh-92634/
Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.
Ketnooi -
Ai cần tài liệu gì mà không tìm thấy ở Ketnooi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
Các ngắt ngoài.
Ngắt ngoài xảy ra khi có mức thấp hay cạnh âm trên chân INT0 (P3.2) hay INT1 (P3.3) của 89C51.
Việc chọn các ngắt loại tác động cạnh hay tác động mức được lập trình thông qua các bit IT0 và IT1 của thanh ghi TCON. Thí dụ IT1=0, ngắt ngoài 1 được kích khởi bởi việc phát hiện mức thấp ở chân INT1, nếu IT1=1, ngắt ngoài 1 được kích khởi cạnh.
Các chân ngắt ngoài được lấy mẫu một lần ở mỗi chu kỳ máy, và phải duy trì tối thiểu 12 chu kỳ dao động để đảm bảo yêu cầu. Nếu ngắt ngoài thuộc loại tác động cạnh, nguyên nhân ngắt phải được duy trì tại chân yêu cầu ở mức cao tối thiểu một chu kỳ sau đó ở mức thấp tối thiểu một chu kỳ nửa. IE0 và IE1 tự động được xóa khi CPU trỏ tới trình phục vụ ngắt tương ứng.
Nếu ngắt ngoài thuộc loại tác động mức, nguyên nhân ngắt phải được duy trì trạng thái tích cực cho đến khi ngắt theo yêu cầu thực sự được tạo ra. Sau đó ở trạng thái thụ động trước khi trình phục ngắt được thực thi xong hay trước khi có một ngắt khác được tạo ra.
Họat động port nối tiếp.
89C51 có port nối tiếp trong chip có thể họat động ở nhiều chế độ trên một dãy tần số rộng. Chức năng chủ yếu là chuyển đổi từ dữ liệu 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.
Port nối tiếp hoạt động song công (full duplex) nghĩa là có khả năng thu và phát đồng thời và đệm thu cho phép một ký tự sẽ được thu và giữ trong khi ký tự thứ 2 nhận được. Khi CPU đọc ký tự thứ 1 trước khi ký tự thứ 2 được nhận đầy đủ thì dữ liệu sẽ không bị mất.
Hai thanh ghi chức năng đặc biệt SBUF và SCON để truy xuất port nối tiếp. Bộ đệm port nối tiếp SBUF có địa chỉ byte là 99H. việc ghi lên SBUF sẽ nạp dữ liệu để phát và việc đọc SBUF sẽ truy xuất dữ liệu nhận được. Thanh ghi điều khiển port nối tiếp SCON có địa chỉ là 98H, chứa các bit trạng thái và bit điều khiển. Các bit điều khiển sẽ thiết lập chế độ hoạt động cho port nối tiếp còn các bit trạng thái chỉ ra sự kết thúc việc thu hay phát một ký tự. Các bit trạng thái được kiểm tra bởi phần mềm hay được lập trình để tạo ra ngắt.
Thanh ghi điều khiển.
Chế độ họat động của port nối tiếp được thiết lập bằng cách ghi từ điều khiển lên thanh ghi chọn chế độ SCON.
Các chế độ họat động.
Port nối tiếp có 4 chế độ họat động, các chế độ được chọn nhờ vào hai bit SM0 và SM1 trong thanh ghi SCON.
Bit
Ký hiệu
Địa chỉ
Mô tả
SCON.7
SM0
9FH
Bit 0 chọn chế độ của port nối tiếp.
SCON.6
SM1
9EH
Bit 1 chọn chế độ của port nối tiếp.
SCON.5
SM2
9DH
Bit 2 chọn chế độ của port nối tiếp. Bit này cho phép truyền thông đa xử lý ở các chế độ 2 và 3; bit RI sẽ không được tích cực nếu bit thứ 9 nhận được là 0.
SCON.4
REN
9CH
Cho phép thu. Bit này phải được set để nhận các ký tự.
SCON.3
TB8
9BH
Bit phat 8.Bit thứ 9 được phát ở các chế độ 2 va 3; được set và xóa bởi phần mềm.
SCON.2
RB8
9AH
Bit thu 8; bit thứ 9 nhận được.
SCON.1
TI
99H
Cờ ngắt phát. Cờ này được set ngay khi kết thúc việc phát một ký tự; được xóa bởi phần mềm.
SCON.0
RI
98H
Cờ ngắt thu. Cờ này được set ngay sau khi kết thúc việc thu một ký tự; được xóa bởi phần mềm.
Bảng 2.13: Thanh ghi SCON
Các chế độ được mô tả như sau:
SM0
SM1
Chế độ
Mô tả
Tốc độ baud
0
0
0
Thanh ghi dịch
Cố định (tần số dao động /12 )
0
1
1
UART 8 bit
Thay đổi ( thiết lập bởi bộ định thời )
1
0
2
UART 9 bit
Cố định (tần số dao động /12 hay /64 )
1
1
3
UART 9 bit
Thay đổi ( thiết lập bởi bộ định thời )
Bảng 2.14: Các chế độ của port nối tiếp.
Thanh ghi dịch 8 bit (chế độ 0).
Chế độ 0 được chọn bằng cách ghi giá trị 0 vào các bit SM0 và SM1 trong thanh ghi SCON. Đưa port nối tiếp vào chế độ thanh ghi dịch 8 bit . Dữ liệu nối tiếp được thu và phát thông qua chân RxD, chân TxD xuất xung clock dịch bit. Tốc độ baud cố định bằng 1/12 tần số của mạch dao động trên chip. Chân RxD được sử dụng cho cả thu và phát dữ liệu còn chân RxD được dùng làm chân xuất xung clock dịch bit.
Việc phát dữ liệu được khởi động bằng một lệnh ghi dữ liệu vào SBUF. Dữ liệu được dịch ra ngoài qua chân RxD (P3.0) với các xung clock dịch bit được gởi ra trên chân TxD (P3.1). Mỗi một bit hợp lệ được truyền đi trên đường RxD trong một chu kỳ máy.
Trong mỗi chu kỳ máy, xung clock dịch bit đổi thành mức thấp ở S3P1 và trở lại mức cao ở S6P1.(hình 2.16)
Việc thu dữ liệu được khởi động khi bit cho phép thu REN ở logic 1 và cờ ngắt thu RI ở mức logic 0. Qui tắt tổng quát là ta phải set bit REN bằng 1 ở thời điểm bắt đầu chương trình để khởi động port nối tiếp và sau đó xóa bit RI để bắt đầu công việc thu dữ liệu.
Khi bit RI được xóa, các xung clock dịch bit được xuất ra trên chân TxD, ta bắt đầu chu kỳ máy tiếp theo và dữ liệu được dịch vào chân RxD bởi xung clock.(hình 2.15)
Dữ liệu xuất
RxD
Xung clock
dịch bit
ALE
một chu kỳ máy
D0 D1 D2 D3 D4 D5 D6 D7
Hình 2.15: Giản đồ thời gian thu dữ liệu ở chế độ 0
Data out RxD
P1 P2
P1 P2
P1 P2
P1 P2
P1 P2
P1 P2
S1
S2
S3
S4
S5
S6
D0 D1 D2 D3 D4 D5 D6 D7
Xung clock dịch bit
ALE
ALE
Xung clock
Dữ liệu
xuất
Phóng đại
Hình 2.16: Giản đồ thời gian phát dữ liệu ở chế độ 0
Một ứng dụng khả thi của chế độ 0 (chế độ thanh ghi dịch bit) là mở rộng thêm các ngõ ra cho 89C51. Một vi mạch thanh ghi dịch nối tiếp song song có thể được nối với các chân TxD và RxD của 89C51 để cung cấp thêm 8 đường xuất (xem hình 2.2.8) các thanh ghi dịch bit khác có thể ghép cascade với thanh ghi dịch bit đầu tiên để mở rộng thêm nữa.
TxD (P3.1)
RxD (P3.0)
CLOCK
Data
Thanh ghi dịch bit
8051
8 ngõ ra mở rộng
Hình 2.17: Chế độ thanh ghi dịch của port nối tiếp
UART 8 bit có tốc độ baud thay đổi (chế độ 1):
Trong chế độ 1 port nối tiếp của 89C51 họat động như một bộ thu phát không đồng bộ (Universal asynchrouos receiver transmitter). UART là một bộ thu phát dữ liệu nối tiếp với mỗi ký tự dữ liệu được ứng trước bởi một bit start (logic 0) và đứng sau bởi một bit stop (logic 1). Đôi khi có một bit chẵn lẻ được chèn giữa bit dữ liệu sau cùng và bit stop. Hoạt động chủ yếu của UART là biến đổi dữ liệu phát từ song song sang nối tiếp và biến đổi dữ liệu từ nối tiếp thành song song.
Như vậy ở chế độ 1 ta có 10 bit thu được trên chân RxD và 10 bit được phát đi trên chân TxD cho mỗi ký tự. Khi hoạt động thu, bit stop đưa dến bit RB8 của SCON. Với 89C51, tốc dộ baud được thiết lập bởi tốc độ tràn của bộ định thời 1.
Việc cấp xung clock dịch bit và đồng bộ các thanh ghi dịch bit của port nối tiếp ở chế độ 1, 2 và 3 được thiết lập bởi bộ đếm 16, ngõ ra của bộ đếm là xung clock tốc độ baud. Ngõ vào của bộ đếm được chọn bằng phần mềm.(hình 2.18)
Việc phát được khởi động bằng cách ghi vào SBUF nhưng nó chưa bắt đầu cho đến lần tràn kế của bộ đếm 16. Dữ liệu xuất ra trên đường TxD bắt đầu bằng bit start, tiếp theo là 8 bit dữ liệu rồi đến bit stop. Cờ ngắt TI được set bằng 1 ngay khi bit stop xuất hiện trên TxD (xem hình 2.19):
Xung clock tốc độ buad
Thanh ghi dịch của port nối tiếp
÷ 12
16 x tốc độ baud
Hình 2.18: Cấp xung clock cho port nối tiếp
D0 D1 D2 D3 D4 D5 D6 D7
tốc độ baud
1
Start bit
Stop bit
ngắt phát
TxD
TI
(SCON.1)
Hình 2.19: Set cờ TI của port nối tiếp
Việc nhận được khởi động khi chuyển trạng thái từ 1 xuống 0 trên RxD (bắt đầu bit start). Bộ đếm 16 ngay lập tức được xóa để gán các số đếm cho dòng bit đến chân RxD.
UART 9 bit có tốc độ baud cố định (chế độ 2):
Khi SM1=1 và SM0=0, port nối tiếp họat động chế độ 2, chế độ này có tốc độ baud cố định. 11 bit được thu hay phát cho việc thu phát một ký tự dữ liệu: bit start, 8 bit dữ liệu, bit stop. Khi phát bit thứ 9 là bit bất kì được đặt vào bit TB8 trong thanh ghi SCON (có thể là bit chẵn lẻ). khi thu bit thứ 9 hận được sẽ đặt váo RB8. Tốc độ baud ở chế độ 2 bằng 1/32 hay 1/64 tần số của mạch dao động trên chip.
UART 9 bit có tốc độ baud thay đổi (chế độ 3):
Chế độ 3,UART 9 bit thay đổi tương tự như chế độ 2 ngoại trừ tốc độ baud được lập trình và cung cấp bởi bộ định thời.
Khởi động và truy xuất các thanh ghi.
Cho phép thu(Recive enable): bit cho phép thu REN trong thanh ghi SCO phải được set bằng 1 bởi phần mềm để cho phép nhận ký tự. Điều này thường được thực hiện ở đầu chương trình khi port nối tiếp, bộ timer, được khởi động. Ta có thể dùng 2 cách sau:
SETB REN
hay MOV SCON,#xxx1xxxxB
Bit dữ liệu thứ 9: được phát ở chế độ 2 và 3 phải được nạp cho bit TB8 bằng phần mềm. Bit dữ liệu thứ 9 phải được đặt vào bit RB8 của SCON. Phần mềm có thể yêu cầu hay không yêu cầu bit này, tùy vào đặc tính của thiết bị nối tiếp.
Thêm vào bit chẵn lẻ:bit P trong từng trạng thái chương trình PSW được SET hay CLR ở mỗi chu kỳ máy để thiết lập kiểm tra chẵn cho 8 bit chứa trong thanh chứa A.
Thí dụ việc truyền thông yêu cầu 8 bit dữ liệu cộng với một bit kiểm tra chẵn, các lệnh sau được dùng để phát đi 8 bit trong thanh chứa với bit kiểm ...