Đồ án Thiết kế và thi công mạch điều khiển thiết bị bằng máy tính dùng sóng vô tuyến

Ngày nay, chúng ta thấy khoa học kỹ thuật phát triển như vũ bảo và đặc biệt là ngành điện tử. Ta thấy ngành này đem lại rất nhiều sự tiện nghi cho cuộc sống con người chẳng hạn như các robot thông minh, ngôi nhà thông minh, các thiết bị điện tử ngày càng nhỏ gọn Bên cạnh đó ta thấy việc điều khiển từ xa là một lĩnh vực vô cùng quang trọng, một lĩnh vực không thể thiếu trong các ngành như quân sự, công nghiệp, hàng không vũ trụ Ngoài ra máy vi tính cũng phát triển rất mạnh và ngày càng phổ biến trong cuộc sống của chúng ta. Hầu như bất cứ trong lĩnh vực nào cũng đều liên quan đến máy vi tính. Vì vậy ta có thể khẳng định một điều là máy vi tính là một thiết bị không thể thiếu trong cuộc sống. Công việc của mỗi người chúng ta hầu như đều phải sử dụng máy tính và có thể ngồi hàng giờ trước máy tính để làm việc. Các thiết bị điều khiển từ xa dùng sóng vô tuyến ngày càng được sử dụng nhiều, ngoài tính kinh tế thì các thiết bị này còn có độ tin cậy cao. Chúng ta cũng biết có rất nhiều thiết bị sử dụng sóng vô tuyến như vô tuyến truyền hình, hàng không vũ trụ, máy bay mô hình, đồ chơi trẻ em để liên lạc và điều khiển. Vì vậy ta thấy lĩnh vực điều khiển từ xa được ứng dụng rất nhiều trong cuộc sống của chúng ta. Qua hơn 4 năm học thì em chọn “điều khiển thiết bị từ xa bằng máy tính dùng sóng vô tuyến” để làm đề tài tốt nghiệp của mình, em mong đề tài này sẽ giúp tiết kiệm thời gian cho những người đang làm việc trên máy tính và muốn tắt mở thiết bị nào đó trong nhà, công ty, trường học Trong quá trình làm đề tài do kiến thức còn hạn chế nên chắc chắn sẽ không tránh khỏi những hạn chế và thiếu xót, rất mong Thầy Cô chỉ bảo thêm em xin chân thành cảm ơn.

doc53 trang | Chia sẻ: oanhnt | Lượt xem: 1416 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và thi công mạch điều khiển thiết bị bằng máy tính dùng sóng vô tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC PHẦN 1 CƠ SỞ LÝ THUYẾT CHƯƠNG 1 TÌM HIỂU HỆ VI XỬ LÝ ON-CHIP 8051 (BỘ VI ĐIỀU KHIỂN 8051) GIỚI THIỆU: Nhờ sự phát triển của công nghệ điện tử, nhất là công nghệ chế tạo vi điện tử, đồng thời cùng với sự phát triển của các thế hệ máy vi tính, các bộ vi điều khiển “Microcontroller” cũng ra đời và phát triển. Microcontroller là một hệ vi xử lý thật sự được tổ chức được tổ chức trong một chip (trong một vỏ IC) bao gồm bộ vi xử lý “Microprocessor”, bộ nhớ chương trình “EPROM”, bộ nhớ dữ liệu “RAM” và bộ số học logic “ALU” cùng với các thanh ghi chức năng, các cổng vào/ ra, cơ chế điều khiển ngắt và truyền tin nối tiếp. Ngoài ra nó còn được trang bị các bộ thời gian Timer dùng trong các ứng dụng chia tần và tạo thời gian thực. Tương tự như hệ vi xử lý dùng bộ vi xử lý Intel-8085, Z80, CPU 80X86… bộ vi điều khiển có thể lập trình để xử lý dạng đơn nhiệm ứong dụng điều khiển trong các thiết bị như thiết bị tông tin, viễn thông, thiết bị đo lường cũng như các ứng dụng trong công nghệ thông tin và kỹ thuật điều khiển tự động… hoặc ứng dụng điều khiển trong các thiết bị dân dụng khác. Như vậy, On-Chip 8051 là bộ vi điều khiển, nó có đầy đủ chức năng của một hệ vi xử lý 8 bit, hoạt động ở tần số 12Mhz, với bộ nhớ EPROM (4K), RAM (128 byte) bên trong và có thể mở rộng bộ nhớ ra ngoài, có 4 cổng 8 bit vào ra 2 chiều để giao tiếp với thiết bị ngoại vi. Điểm đặc biệt của on-chip 8051 là được điều khiển bởi 1 hệ lệnh của nó có số lệnh đủ mạnh, cho phép lập trình bằng ngôn ngữ “Assembly” là ngôn ngữ mạnh trong điều khiển tự động. CẤU TRÚC PHẦN CỨNG: GIỚI THIỆU HỌ MCS-51: MCS51 là mọt họ IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. Các IC tiêu chuẩn cho họ MCS51 là 8031, 8051, 8751, 8951, 892051… Chúng có đặc điểm chung như sau: ROM nội: Tùy theo mã hiệu mà có mã hiệu khác nhau: 8031 : 0K ROM 8051 : 4K ROM (factory mask programmed) 8751 : 4K EPROM 8951 : 4K EEPROM 892051 : 2K EEPROM 128 byte RAM. 4 PORT I/O 8 bit. 2 bộ định thời 16 bit (riêng họ 8xx2 có 3 bộ). 1 cổng nối tiếp. 64 KByte không gian bộ nhớ chương trình mở rộng. 64 KByte không gian bộ nhớ dữ liệu mở rộng. 210 bit được địa chỉ hóa (nằm trong vùng RAM nội). Bộ nhân/chia 4 µs. Sơ đồ khối cấu trúc của 8051. Nhìn sơ đồ khối ta thấy đây bao gồm một vi xử lý và các thiết bị tối thiểu cần thiết để có thể lập trình điều khiển. SƠ LƯỢC VỀ CHÂN CỦA 8051: Họ MCS51 là 1 vi mạch có 40 chân mỗi chân có 1 chức năng đặc biệt khác nhau. Trong đó có 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ỉ. Sơ đồ chân 89C52 Port 0: Port 0 là một port hai chức năng trên các chân 32 – 39. 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 I/O. Đối với các thiết kế lớn với bộ nhớ mở rộng, nó vừa là byte thấp bus địa chỉ và là bus dữ liệu 8 bit. Port 1: Port 1 là một port I/O trên chân 1 – 8. Các chân được ký hiệu P1.0, P1.1 … có thể dùng cho giao tiếp với các thết bị ngoài nếu cần. Port 1 không có chức năng khác, và vậy chúng chỉ dùng cho giao tiếp với các thiết bị ngoài hoặc trao đổi dữ liệu với các hệ thống khác. Port 2: Port 2 là một port công dụng kép trên các chân 21- 28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ với các thiết kế dùng bộ nhớ mở rộng. Port 3: Port 3 là một port công dụng kép trên các chan 10 -17. Mỗi chân của port này vừa có chức năng trao đổi dữ liệu vừa có các chức năng đặc biệt như ở bảng sau: Bit Tên Chức năng chuyển đổi P3.0 RxD Dữ liệu nhận cho port nối tiếp. P3.1 TxD Dữ liệu phát cho port nối tiếp. P3.2 Ngắt bên ngoài 0 P3.3 Ngắt bên ngoài 1 P3.4 T0 Ngõ vào của timer/couter 0. P3.5 T1 Ngõ vào của timer/couter 1. P3.6 Xung ghi bộ nhớ dữ liệu ngoài. P3.7 Xung đọc bộ nhớ dữ liệu ngoài. PSEN (Program Store Enable): PSEN là tín hiệu ra trên 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 và thường được nối đến chân OE (Output Enable) của một EPROM để cho phép đọc các byte mã lệnh. PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thành ghi lệnh của MCS51 để giải mã lệnh. Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức thụ động (mức cao). ALE (Address Latch Enable): Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm việc với vi xử lý 8080, 8085, 8088, 8086. MCS51 dùng ALE một cách tương tự cho việc giải kêng các bus địa chỉ và dữ liệu, khi port 0 được dùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu vừa là byte thấp của bus địa chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó, các đường port 0 dùng để xuất nhập dữ liệu trong nữa sau của chu kỳ bộ nhớ. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm nguồn xung nhịp cho các phần khác của hệ thống. Chỉ ngoài trừ khi thi hành lệnh MOVX, một xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong các loại có ROM nội. EA (External Access): Tín hiệu vào EA trên chân 31 thường được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, MCS51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA luôn được nối mức thấp vì không có bộ nhớ chương trình trên chip. Nếu EA được nối mức thấp bộ nhớ bên trong chương trình 8051 sẽ bị cấm và chương trình thi hành từ EPROM mở rộng. Người ta còn dùng EA làm chân cấp điện áp Vp khi lập trình cho ROM trong. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín hiệu này được đưa lên mức cao (trong ít nhất 2 chu kì máy), các thanh ghi bên trong MCS51 được tải những giá trị thích hợp để khởi đông hệ thống. Các ngõ vào bộ dao động trên chip: MCS51 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. Các tụ giữ cũng cần thiết như đã vẽ. Tần số thạch anh thông thường là 12Mhz. Các chân nguồn: 8051 sử dụng 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Ớ: MCS51 có bộ nhớ theo cấu trúc Harvart: 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 KByte bộ nhớ chương trình và 64KByte bộ nhớ dữ liệu. Bộ nhớ bên trong bao gồm ROM nội 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 ghi chức năng đặc biệt. Tóm tắt các vùng bộ nhớ của MCS51. Hai đặc tính cần lưu ý là: Các thanh ghi và các phort xuất nhập đã được xếp trong bộ nhớ và có thể được 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. RAM bên trong MCS51 đượ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 (80H-FFH). RAM đa dụng: Mặc dù trên hình cho thấy 80 byte RAM đa 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 hay gián tiếp. RAM địa chỉ hóa từng bit: MCS51 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 ủatương tự. Hơn nữa, các port I/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. Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này được 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 ghi: 32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh hi. 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. 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). Ý 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: F8 FF F0 B F7 E8 EF E0 Acc E7 D8 DF D0 PSW D7 C8 CF C0 C7 B8 IP BF B0 P3 B7 A8 IE AF A0 P2 A7 98 SCON SBUF 9F 90 P1 97 88 TCON TMOD TL0 TL1 TH0 TH1 8F 80 P0 SP DPL DPH PCON 87 Tổ chức của trong RAM Các thanh ghi trong MCS51 đượ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ệnh và các thanh ghi bày hiếm khi bị tác động trực tiếp, nên không có lợi khi đặc chúng trong RAM trên chip). Cũng như R0 đến R7 có 21 thanh ghi chức năng đặc biệt (SFR: Special Function Register) ở vùng trên 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ỉ SFR là được định nghĩa. Ngoại trừ thanh ghi 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 trong truy xuất bit và byte. 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: Bit Ký hiệu Địa chỉ Ý nghĩa PSW.7 CY D7H Cờ nhớ PSW.6 AC D6H Cờ nhớ phụ PSW.5 F0 D5H Cờ 0 PSW.4 RS1 D4H Bit 1 chọn bank thanh ghi PSW.3 RS0 D3H Bit 0 chọn bank thanh ghi PSW.2 0V D2H Cờ tràn PSW.1 - D1H Dự trữ PSW.0 P D0H Cờ parity chẵn 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ừ. 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. Cờ nhớ phụ: Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4 bit thấp trong khoảng 0AH đến 0FH. Cờ 0: 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: Các bit chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi đượ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. RS0 RS1 Bank Địa chỉ 0 0 0 00H – 07H 0 1 1 08H – 0FH 1 0 2 10H – 17H 1 1 3 18H – 1FH Cờ tràn: Cờ tràn (0V) được set sau một lệnh cộng hoặc trừ nếu có một phép toán bị tràn. 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 không. Khi các số không dấu được cộng, bit 0V có thể được bỏ qua. Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 sẽ set bit 0V. Thanh ghi B: Thanh ghi B ở địa chỉ F0h được dùng cùng với thanh ghi tích lũy A cho các phép toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và B rồi trả về kết quả nguyên trong A và phần dư trong B. Thanh ghi B cũng có thể được xem như thanh ghi đệm đa dụng. Nó được địa chỉ hóa từng bit bằng các địa chỉ bit F0H đế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 tang 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 dữ 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 MCS51. Để khởi động lại SP với ngăn xếp bắt đầu tại 60h, lệnh sau được dụng: MOV SP,#5FH Trên MCS51 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên chip là 7FH. Sở dĩ dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất dữ liệu đầu tiên. Người thiết kế có thể chọn không phải khởi động lại con trỏ ngăn xếp mà để nó lấy giá trịnh mặc định khi reset hệ thống. Giá trị mặc định đó là 07H và kết quả là ngăn xếp đầu tiên để cất dữ liệu có địa chỉ là 08H. Nếu phần mềm ứng dụng không khởi động lại SP, bank thanh ghi 1 (có thể là 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 được truy xuất ngầm bằng các lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET, RETI) để cất và lấy lại bộ đếm chương trình. Con trỏ dữ liệu: 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). Các thanh ghi port xuất nhập: Các port của MCS51 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 bit. Điều đó cung cấp một khả năng giao tiếp thuận lợi. Có thể dùng dấu chấm để xác định một bit trong một byte: P0.0, P0.1… Các thanh ghi timer: MCS51 chứa hai bộ định thời / đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc vận hành hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điề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: MCS51 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 dữ 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 điều khiển ngắt: MCS51 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 thành ghi cho phép ngắt (IE) ở địa chỉ A8H. 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 được tóm tắt trong bảng sau: Bit Ký hiệu Ý nghĩa 7 SMOD Bit tăng gấp đôi tốc độ baud, nếu được set thì tốc độ baud sẽ tăng gấp đôi trong các mode 1, 2, 3 của port nối tiếp. 6 - 5 - 4 - 3 GF1 Bit cờ đa dụng 1. 2 GF0 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. 0 IDL Mode chờ, set để kích hoạt mode chờ, chỉ thoát khi có ngắt hoặc reset hệ thống. BỘ NHỚ NGOÀI: MCS51 có khả năng mở rộng bộ nhớ lên đến 64K bộ nhớ chương trình và 64K bộ nhớ dữ liệu bên ngoài. Do đó, có thể dùng thêm ROM và RAM nếu cần. Khi dùng bộ nhớ ngoài, port 0 không còn là một port I/O thuần túy nữa. Nó được hợp kênh giữa bus địa chỉ (A0 – A7) và bus dữ liệu (D0 – D7) với tín hiệu ALE để chốt byte thấp của địa chỉ khi ắt đầu mỗi chu kỳ bộ nhớ. Port 2 thông thường được dùng cho byte cao của bus địa chỉ. Trong nữa đầu của mỗi chu kỳ bộ nhớ, byte thấp của địa chỉ được cấp trong Port 0 và được chốt bằng xung ALE. Một IC chốt 74HC373 (hoặc tương đương) sẽ giữ byte địa chỉ thấp trong phần còn lại của chu kì bộ nhớ. Trong nữa chu kỳ bộ nhớ Port 0 được dùng như bus dữ liệu và được đọc hoặc ghi tùy theo lệnh. Truy xuất bộ nhớ chương trình ngoài: Bộ nhớ chương trình ngoài mà một IC ROM được cho phép bởi tín hiệu PSEN. Hình sau mô tả cách nối một EPROM vào 8051/8031: Giao tiếp giữa 8051/8031 với EPROM. Một chu kỳ máy của 8051/8031 có 12 chu kỳ xung nhịp. Nếu bộ dao động trên chip được lái bởi thạnh anh 12Mhz thì 1 chu kỳ máy kéo dài 1µs. Trong một chu kỳ máy, sẽ có 2 xung ALE và hai byte được đọc từ bộ nhớ chương trình (nếu lệnh hiện hành là lệnh 2 byte thì byte thứ hai sẽ được loại bỏ). Giản đồ thời gian của một lần lấy lệnh được vẽ như hình sau: Giản đồ thời gian đọc bộ nhớ chương trình. Truy xuất bộ nhớ dữ liệu ngoài: Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được cho phép đọc/ghi bằng các tín hiệu WR và RD (các chấn P3.6 và P3.7 thay đổi chức năng). Chỉ có một cách để truy xuất bộ nhớ dữ liệu ngoài là lệnh MOVX dùng con trỏ dữ liệu (DPTR) 16 bit hoặc R0 và R1 xem như thanh ghi địa chỉ. Giản đồ thời gian truy xuất bộ nhớ nội, ngoại. Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051/8031 cũng giống như EPROM và do đó cũng có thể lên đến 64 KByte bộ nhớ RAM. Ngoài ra, chân RD của 8051/8031 được nối tới chân cho phép xuất (OE) của RAM và chân WR được nối tới chân ghi (WR) của RAM. Giản đồ thời gian cho lệnh đọc bộ nhớ dữ liệu ngoài được vẽ trên hình dưới đối với lệnh MOVX A,@DPTR. Giản đồ thời gian cho lệnh ghi (MOVX @DPTR,A) cũng tương tự chỉ khác đường WR sẽ thay vào đường RD và dữ liệu được xuất ra trên port 0 (RD vẫn giữ mức cao). Giải mã địa chỉ: Nếu nhiều EPROM và/hoặc nhiều RAM được giao tiếp với 8051/8031, thì cần phải giải mã địa chỉ. Mạch giải mã cũng tương tự như các hệ vi xử lý khác. Ví dụ, nếu dùng nhiều EPROM và RAM 8KByte thì bus địa chỉ cần phải được giải mã để xác định IC nhớ nào được chọn. Người ta thường dùng IC giải mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS) trên các IC nhớ. Hình sau vẽ một hệ thống với nhiều EPROM 8K 2764 và RAM 8K 6264: Xếp chồng các vùng bộ nhớ chương trình: Vì bộ nhớ chương trình là ROM, nên nảy sinh một vấn đền bất tiện khi phát triển phần mềm cho 8051/8031. Đó là làm cách nào phần mềm có thể sửa đổi chương trình và ghi trở lại khi nó được chứa trong bộ nhớ “chỉ đọc”. Cách giải quyết là xếp chồng các vùng nhớ chương trình và dữ liệu. Một IC 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 vào một mạch logic AND của PSEN và RD. Mạch trên hình sau cho phép một Ec RAM được dùng làm bộ nhớ chường trình và dữ liệu: Vậy một chương trình có thể được tải vào RAM (bằng cách ghi nó như bộ nhớ dữ liệu) và thi hành (bằng cách truy xuất nó như bộ nhớ chương trình. LỆNH RESET: MCS51 được reset bằng cách giữ chân RST ở mức cao trong ít nhất trong 2 chu kỳ máy và trả nó về mức thấp. RST có thể được kích bằng tay dùng một nút bấm hoặc có thể được kích khi cấp điện dùng mạch RC. Mạch reset hệ thống. Trạng thái của tất cả các thanh ghi của MCS51 sau khi reset hệ thống được tóm tắt trong bảng sau: Thanh ghi Nội dung Đếm chương trình 0000H Tích lũy 00H B 00H PSW 00H SP 07H DPTR 0000H Port0 – 3 FFH IP XXX00000B IE 0XX00000B Các thanh ghi định thời 00H SCON 00H SBUF 00H PCON (HMOS) 0XXXXXXXB PCON (CMOS) 0XXX0000B Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình nó được được đặt tại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt đầu ở địa chỉ đầu tiên trong bộ nhớ chương trình: địa chỉ 0000h. Nội dung của RAM trên chip không bị thay đổi bởi lệnh reset. TẬP LỆNH CỦA MCS51: HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI: GIỚI THIỆU: Một định nghĩa đơn giản của timer là một thanh ghi có khả năng tự động tăng giá trị lên 1 sau mỗi xung nhịp. Ngõ ra của tầng cuối làm xung nhịp cho flip – flop báo tràn của timer (flip – flop cờ). Giá trị nhị phân trong các flip – flop của timer có thể xem như số đếm số xung nhịp (hoặc các sự kiện) từ khi khởi động timer. Ví dụ timer 16 bit sẽ đếm lên từ 0000H đến FFFFH. Cờ báo tràn sẽ lên 1 khi số đếm tràn từ FFFFH đến 0000H. MCS51 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử dụng các timer để: Định khoảng th

Các file đính kèm theo tài liệu này:

  • doc89C51.doc
  • doc1 Bia_VUONG.doc
  • pdf1 Bia_VUONG.pdf
  • doc2 LOI CAM ON.doc
  • pdf2 LOI CAM ON.pdf
  • pdf2SC535.pdf
  • pdf2sc828.pdf
  • pdf2SC1815.pdf
  • doc3 loi noi dau.doc
  • pdf3 loi noi dau.pdf
  • doc3 Muc luc.doc
  • doc4 loi noi dau.doc
  • doc4 Muc luc.doc
  • pdf4 Muc luc.pdf
  • pdf4N35.pdf
  • doc5 C1_May phat.doc
  • pdf5 C1_May phat.pdf
  • doc6 C2_May thu.doc
  • pdf6 C2_May thu.pdf
  • doc7 C3_Dieu che va giai dieu che.doc
  • pdf7 C3_Dieu che va giai dieu che.pdf
  • doc8 C4_Giao tiep may tinh.doc
  • pdf8 C4_Giao tiep may tinh.pdf
  • doc9 C5_Truyen song vo tuyen.doc
  • pdf9 C5_Truyen song vo tuyen.pdf
  • doc10 C6_Vi Dieu Khien.doc
  • pdf10 C6_Vi Dieu Khien.pdf
  • doc11 C7_Thiet ke va thi cong.doc
  • pdf11 C7_Thiet ke va thi cong.pdf
  • doc12 bao cao kqua thuc hien.doc
  • pdf12 bao cao kqua thuc hien.pdf
  • doc13 huong phat trien.doc
  • pdf13 huong phat trien.pdf
  • doc14 Tai lieu tham khao.doc
  • doc15 Phu luc PT2262-72.doc
  • pdf15 Phu luc PT2262-72.pdf
  • pdfBieumau-mau_datn.pdf
  • pdfdatasheet MAX232.pdf
  • pdfdatasheet S9018.pdf
  • pdfLM358.pdf
  • pdfmax232.pdf
  • docMscomm Control and Visual BASIC.doc
  • docMSCOMM Control.doc
  • docPhu luc Visual Basic.doc
  • pdfPT2262-S18.pdf
  • pdfPT2272.pdf
  • docSodonguyenly_mach phat.doc
  • pdfSodonguyenly_mach phat.pdf
  • docSodonguyenly_mach thu.doc
  • pdfSodonguyenly_mach thu.pdf
Tài liệu liên quan