Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
410,1 KB
Nội dung
Trờng đại học bách khoa hà nội Khoa Điện Tử Viễn Thông - - Báo Cáo tập lớn Vi Xử Lý Đề tài: đo ổn định nhiệt độ GV Hớng Dẫn : Phạm Ngäc Nam Nhãm Sinh viªn: Ngun Qc Minh Ngun Trung Thành Nguyễn Thị Tâm Hiển Phạm Thị Lan Phạm Thị Thủy Trần Thanh Hà Hà Nội 11/2005 Lời mở đầu: Ngày nay, khoa học kĩ thuật phát triển nhanh đặc biệt điện tử Gắn liền với phát triển điên tử phát triển vi xử lý, vi điều khiển Đó đời vi xủ lý đa nh Pentium, Celerong Và vi Và vi điều khiển có bớc nhảy vọt đựoc đánh dấu ®êi cđa c¸c vi ®iỊu khiĨn nh PIC, AVR, PsoC, FPGA Và vi Các vi điều khiển, vi xử lý ngày đợc ứng dụng rộng rÃi phổ biến Đặc biệt vi xử lý , vi điều khiển làm đợc nhiều việc vô phức tạp Đối với sinh viên điện tư sù hiĨu biÕt vỊ cÊu tróc vµ øng dơng vi điều khiển vi xử lý vô cần thiết Bớc đầu tìm hiểu chúng en chọn vi điều khiển 8051, họ vi điều khiển đợc ứng dụng rộng rÃi thị trờng Giới thiệu đề tài: Để nghiên cứu vi điều khiển 8051 chúng em chọn đề tài Đo nhiệt độ điều chỉnh nhiệt độ Đây đề tài không nhng đề tài giúp em hiểu thêm cấu trúc bên trong, cách hoạt động cách lập trình cho vi xử lý Trong đề tài này, chúng em giẩi đợc vấn đề sau: _ dải nhiệt độ đo đợc từ 00C 990C _ ổn định nhiệt độ dới dạng mô phỏng: + Khi nhiệt độ tăng ngỡng ( đặt) quạt quay làm gảim nhiệt ®ä + Khi nhiƯt ®é thÊp h¬n mét ngìng( đặt) đèn sáng làm tăng nhiệt độ + Sử dụng ngôn ngữ lập trình Assembly Lý thuyết: A Giíi thiƯu vỊ hä vi ®iỊu khiĨn 8051: IC vi điều khiển 89S52 có đặc điểm sau : - 4kbyte ROM (được lập trình nhà sản xuất co 8051) - 128 byte RAM - port 8bit - Hai định thời 16 bit - Giao tiếp nối tiếp - 64KB không gian nhớ chương trình mở rộng - 64 KB khơng gian nhớ liệu mở rộng - Một xử lý bít (thao tác bit đơn) - 210 bit địa hóa vị trí bít - Bộ nhân/chia 4s CẤU TRÚC BÊN TRONG 89S52 1.1 Cấu tạo chân Tuỳ theo khả người (về kinh tế, kỹ thuật…) mà nhà sản xuất sản phẩm ứng dụng chọn kiểu chân ATMEL đưa 1.2 Sơ đồ khối Phần vi điều khiển 89S52 xử lý trung tâm (CPU: central processing unit ) bao gồm : - Các ghi chức đặc biệt (SFR) - Đơn vị logic học (ALU : Arithmetic Logical Unit ) - cổng vào (I/O) - Bộ nhớ chương trình nhớ liệu Đơn vị xữ lý trung tâm nhận trực tiếp xung từ giao động, ngồi cịn có khả đưa tín hiệu giữ nhịp từ bên ngồi Chương trình chạy cho dừng lại nhờ khối điêu khiển ngắt bên Các nguồn ngắt là: biến cố bên ngoài, tràn đếm định thời, giao diện nối tiếp Hai định thời 16 bit hoạt động đếm Các cổng (port0, port1, port2, port3 ) Sữ dụng vào mực đích điều khiển Ở cổng cịn có thêm đường dẫn điều khiển dùng để trao đổi với nhớ bên ngoài, để đầu nối giao diện nối tiếp,cũng đường ngắt dẫn bên Giao diện nối tiếp chứa truyền nhận không đồng làm việc độc lập với nhau.Tốc độ truyền qua cổng nối tiếp đặt dải rộng ấn định định thời Trong vi điều khiển 89S52 có hai thành phần quan trọng khác nhớ ghi : Bộ nhớ gồm có nhớ RAM nhớ ROM dùng để lưu trữ liệu mã lệnh Các ghi sữ dụng để lưu trữ thơng tin q trình xữ lý Khi CPU làm việc thay đổi nội dung ghi 1.3 Mô tả chức chân a.port0 : port có hai chức chân từ chân 32 đến 39 thiết kế cỡ nhỏ ( khơng dùng nhớ mở rộng) có hai chức đường I/O Đối với thiết kế cỡ lớn với nhớ mở rộng kết hợp kênh bus b.port1 : port1 port I/O chân từ 1-8 Các chân dùng cho thiết bị ngoại vi cần Port1 khơng có chức khác chúng dùng giao tiếp thiết bị c.port2 : port2 port công dụng kép chân 21 đến 28 dùng đường xuất nhập byte cao bus địa 16 bit thiết kế dùng nhớ mở rộng thiết kế có nhiều 256 byte nhớ liệu d.Port3 : port3 port công dụng kép chân 10 – 17 Các chân port có nhiều chức riêng, cơng dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8051/89S52 bảng sau: e.PSEN (Program Store Enable ) : 89S52 có tín hiệu điều khiển PSEN tín hiệu chân 29 Nó tín hiệu điều khiển cho phép nhớ chương trình mở rộng thường nối đến chân OE (Output Enable) EPROM phép đọc byte mã lệnh PSEN mức thấp thời gian lấy lệnh Các mã nhị phân chương trình đọc từ EPROM qua bus chơt vào ghi lệnh 89S52 để giải mã lệnh Khi thi hành chương trình ROM nội (89S52) PSEN mức thụ động( mức cao) f.ALE (Address Latch Enable ) : Tín hiệu ALE chân 30 tương hợp với thiết bị làm việc vớicác xữ lý 8585, 8088, 8086, 8051 dùng ALE cách tương tự cho việc giải mã kênh bus địa liệu port dùng chế độ chuyển đổi nó: vừa bus liệu vừa bus thấp địa chỉ, ALE tín hiệu để chốt địa vào ghi bên đầu chu ký nhớ Sau đường port dùng để xuất nhập liệu sau chu kỳ nhớ Các xung tín hiệu chân ALE có tốc độ 1/6 lần tần số dao động chip dùng làm nguồn xung nhịp cho hệ thống Nếu xung chân 8051 12MHz ALE có tần số 2MHz Chỉ ngoại trừ thi hành lệnh MOVX, xung ALE bị Chân làm ngõ vào cho xung lập trình cho EPROM 8051 g.EA (External Access) : Tín hiệu vào EA chân 31 thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, 8051 thi hành chương trình từ ROM nội khoảng địa thấp (4K) Nếu mức thấp, chương trình thi hành từ nhớ mở rộng Khi dùng 8031, EA ln nối mức thấp khơng có nhớ chương trình chip Nếu EA nối mức thấp nhớ bên chương trình 89S52 bị cấm chương trình thi hành từ EPROM mở rộng Người ta dùng chân EA làm chân cấp điện áp 21V lập trình cho EPROM 89S52 h.SRT (Reset) : Ngõ vào RST chân ngõ reset 8051 Khi tín hiệu đưa lên múc cao (trong chu kỳ máy ), ghi 89S52 tải nhưõng giá trị thích hợp để khởi động hệ thống i.Các ngõ vào dao động chip : Như thấy hình , 89S52 có dao động chip Nó thường nối với thạch anh hai chân 18 19 Các tụ cần thiết vẽ Tần số thạch anh thông thường 12MHz j.Các chân nguồn : 89S52 vận hành với nguồn đơn +5V V cc nối vào chân 40 Vss (GND) nối vào chân 20 Tổ chức nhớ 89S52 có nhớ theo cấu trúc Harvard : có vùng cho nhớ riêng biệt cho chương trình, liệu Như nói trên, chương trình liệu bên 89S52, dù chúng mở rộng thành phần lên đến tối đa 64 Kbytes nhớ chương trình 64 Kbytes nhớ liệu Bộ nhớ bên bao gồm ROM (89S52) RAM chip, RAM chip bao gồm nhiều phần : phần lưu trữ đa dụng, phần lưu trữ địa hóa bit, bank ghi ghi chức đặc biệt Hai đặc tính cần lưu ý : - Các ghi port xuất nhập xếp nhớ truy xuất trực tiếp địa nhớ khác - Ngăn xếp RAM nội thay RAM ngồi vi xử lí khác Chi tiết nhớ RAM chip : Như ta thấy hình sau, RAM bên 89S52 phân chia bank ghi (00H - 1FH), RAM địa hóa bit (20H - 2FH), RAM đa dụng (30H - 7FH) ghi chức đặc biệt (80H - FFH) a RAM đa dụng Địa byte 7F 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 08 07 00 Địa bit RAM đa dụnga dụngng 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 BANK BANK BANK Default register Bank for ROR7 Bảng tóm tắt đồ vùng nhớ chip 89S52 Địa byte Địa bit FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D3 D2 D1 D0 PSW D4 B8 - B0 B7 B6 B5 A8 AF - - - - BC BB BA B9 B8 IP B4 B3 B2 B1 B0 P3 AC AB AA A9 A8 IE A4 A3 A2 A1 A0 P2 A0 A7 A6 A5 99 98 Not bit addressable 9F 9E 9D 9C 9B 9A 99 98 SCON 90 97 93 92 91 90 P1 8D 8C 8B 8A 89 96 95 94 SBUF 88 8F 8E 8D 8C 8B 87 Not bit addressable 83 82 81 80 TH1 TH0 Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable 87 86 85 84 83 8A 82 89 81 88 80 TL1 TL0 TMO D TCON PCON DPH DPL SP PO Mọi địa vùng RAM đa dụng truy xuất tự dùng cách đánh địa trực tiếp gián tiếp Ví dụ, để đọc nội dung địa 5FH RAM nội vào ghi tích lũy lệnh sau dùng : MOV A, 5FH Lệnh di chuyển bus liệu dùng cách đánh địa trực tiếp để xác định "địa nguồn" (5FH) Ðích nhận liệu ngầm xác định mã lệnh ghi tích lũy A RAM bên truy xuất dùng cách đánh địa gián tiếp qua RO hay R1 Ví dụ, sau thi hành nhiệm vụ lệnh đơn : MOV R0, #5FH MOV A, @R0