Thiết kế hệ vi xử lý 8 bit + code 30

29 34 0
Thiết kế hệ vi xử lý 8 bit + code 30

Đ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

Đề tàI THIếT Kế Hệ VI Xử Lý BIT YÊU CầU Phần cứng : Bộ vi xử lý Bộ nhớ chương trình ROM : 8KB từ địa 0000H Bộ nhớ liệu RAM 4KB có địa tuỳ chọn Cổng vào tương tự kênh nhận tín hiệu nhiệt độ từ – 10V tương ứng vói nhiệt độ từ – 200 độ C Phần mềm : Tín hiệu cho phép chạy dưng chương trình.Tín hiệu dưng khẩn cấp Đọc tín hiệu từ kênh đo lư trữ vùng nhớ RAM Sau lần đọc tính giá trị trung bình gửi kết cổng hiển thị băng LED So sánh nhiệt độ trung bình với kênh Nếu cao thấp gửi tín hiệu báo kênh tương ứng Giá trị cho phép đặt ô nhớ RAM Chương trinh dừng lại báo động còi xảy số đ - Giá trị trung bình < > giá trị max tương ứng cho trước.Các giá trị max&min đặt nhớ RAM - Có kênh đo vượt hoawc nhỏ giá trị giới hạn cho phép so với giá trị trung bình III Bµi tËp dµi Vi Xư Lý Mục lục Giới thiệu chung Mục lục Phần : thiết kế Hệ vi xử lý bit Chương Tìm hiểu yêu cầu công nghệ CHương Lựa chon hệ vi xư lý CHƯƠNG Lựa chọn thiết bị - Thiết kế nhớ - Thiết kế cổng vào số - Thiét kế vào tương tự - Ngoại vi logic CHƯƠNG Thiết kế sơ đồ chi tiết hệ thống PHầN : XÂY DựNG PHầN MềM CHƯƠNG : Lưu đồ thuật toán - Tìm hiểu yêu cầu lập trình - Bố trí liệu - Xây dựng lưu đồ thuật tốn CHƯƠNG : Viết chương trình III Bµi tËp dµi Vi Xư Lý Giới thiệu chung Ngày với phát triển khoa học công nghệ, việc áp dụng thành tựu khoa học vào đời sống sản xuất ngày nhiều Hơn nhà máy, xí nghiệp việc tự động hố q trình sản xuất, tự động hố thiết bị điều khiển vấn đề quan trọng cần thiết Trong thiết bị tự động muốn điều khiển q trình cách tối ưu thiết phải có thiết bị đo, nhờ thiết bị đo người ta kiểm sốt thơng số hệ thống mà từ đưa tín hiệu điều khiển nhằm làm cho hệ thống hoạt động ổn định Trước ngành vật liệu chưa tìm vật liệu mới, dụng cụ đo thường làm khí có độ xác khơng cao, dải đo hẹp, không làm việc mơi trường địi hỏi độ bền học cao Khi ngành vật liệu tìm vật liệu mới, cơng nghệ chế tạo phát triển tạo thiết bị đo thơng minh, có độ cao, làm việc môi trường khắc nghiệt : đo nhiệt độ lò nung, đo nồng độ chất hoá học … nhờ thiết bị đo thơng minh người ta kiểm sốt thông số hệ thống cách chặt chẽ Khi khoa học công nghệ ngày phát triển việc đo không biết giá trị đại lượng cần đo mà giá trị thông tin cần lưu trữ xử lý Để cho q trình thu thập thơng tin đo cách tự động người ta gắn vào thiết bị đo vi điều khiển nhằm điều khiển q trình đo, xử lý phải truyền Theo yêu cầu toán đặt xây dung hệ đo, thu thập nhiệt độ Với kênh đo nhiệt độ vị trí khác dải nhiệt độ khác việc sử dụng vi điều khiển hệ điều cần thiết Hiện nay, thị trường có nhiều họ vi điều khiển : 8051, 68HC11, PIC, AVR… việc lựa chọn vi điều khiển cho hệ thống cần phải có giá thành rẻ đáp ứng yêu cầu toán tối ưu ta sử dụng vi điều khiển 8051 đủ để điều khiển hệ thống hoạt động tốt III Bµi tËp dµi Vi Xư Lý PHầN : THIếT Kế Hệ VI Xử Lý BIT CHƯƠNG : Chọn hệ vi xử lý Phân tích chung : Ngày với phát triển khoa học công nghệ, việc áp dụng thành tựu khoa học vào đời sống sản xuất ngày nhiều Hơn nhà máy, xí nghiệp việc tự động hố q trình sản xuất, tự động hố thiết bị điều khiển vấn đề quan trọng cần thiết Trong thiết bị tự động muốn điều khiển q trình cách tối ưu thiết phải có thiết bị đo, nhờ thiết bị đo người ta kiểm sốt thơng số hệ thống mà từ đưa tín hiệu điều khiển nhằm làm cho hệ thống hoạt động ổn định Theo yêu cầu toán đặt xây dung hệ đo, thu thập nhiệt độ Với kênh đo nhiệt độ vị trí khác dải nhiệt độ khác việc sử dụng vi điều khiển hệ điều cần thiết Hiện nay, thị trường có nhiều họ vi điều khiển : 8051, 68HC11, PIC, AVR… việc lựa chọn vi điều khiển cho hệ thống cần phải có giá thành rẻ đáp ứng yêu cầu toán tối ưu - Hệ vi xử lý 80xxx - Hệ vi điều khiển MCS.51 - Vi điêu khiển hãng MOTOROLA - Họ vi điều khiển PIC - AVR Như cần truy nhập thiết bị ngoại vi ta cần truy nhập vào vùng địa thiết bị đó, thơng qua giải mã địa 74LS138 ta nhận xung chọn vỏ thiết bị Việc giao tiếp vi điều khiển với thiết bị thông qua Port 0, Port 2, Port Vì hai nhớ ngồi có dung lượng 8K nên có tất 13 đường địa chỉ, cổng vi điều khiển có chân (ở Port 0) cần có mạch chốt địa nửa chu kỳ đầu kết hợp với đường địa Port nửa chu kỳ sau tạo thành 13 đường địa Việc lấy số liệu từ chuẩn hố vào vi điều khiển phải thơng qua chuyển đổi ADC Khi có xung tích cực tác động vào chân ALE chân START ADC, yêu cầu ADC chốt số liệu thực hiên chuyển đổi , chuyển đổi xong phát tín hiệu chân EOC, chân nối thẳng với chân ngắt INT1 vi điều khiển Khi có ngắt MCU(Micro Controller Unit) thực chương trình phục vụ ngắt, chương trình yêu cầu MCU đọc số liệu từ ADC Để cho việc giao tiếp người hệ ta sử dụng thị LED 7_segment bàn phím (key pad) gồm 4phím III Bµi tËp dµi Vi Xư Lý Sơ đồ khối sơ hệ thống mô tả sau: CHƯƠNG : Lựa chọn thiết bị Trong phần tổng quan giới thiệu chi tiết thiết bị linh kiện sử dụng hệ thống như: nhiệt điện trở Platin, mạch khuếch đại chuẩn hoá, chuyển đổi tương tự số ADC0809, vi điều khiển 8051,bộ chốt số liệu, nhớ - CPU - ROM , RAM - Thiết bị ngoại vi : + Thiết bị số (digital) + Thiết bị tương tự (analog) + Thiết bị logic ợ1 CPU - Vi điều khiển 8051 Bộ vi điều khiển viết tắt Micro controller, mạch tích hợp chip lập trình được, dùng để điều khiển hoạt động hệ thống Theo chương trình người lập trình Trong thiết bị điện điện tử dân dụng vi điều khiển điều khiển máy giặt, điều khiển máy lạnh, thang máy, … Còn hệ thống sản xuất tự động, vi điều khiển sử dụng robot, dây chuyền tự động,… Các hệ thống thông minh vai trị vi điều khiển quan trọng III Bµi tËp dµi Vi Xư Lý Phần vi mạch đơn vị xử lý trung tâm CPU gồm có :  Thanh ghi tích luỹ (A)  Thanh ghi tích luỹ phụ (B) dùng cho phép nhân chia  Đơn vị lôgic số học ALU  Từ trạng thái chương trình PSW  bank ghi  Con trỏ ngăn xếp SP trỏ liệu DTPR định địa cho nhớ liệu bên ngồi Ngồi cịn có đếm chương trình PC , giải mã lệnh , điều khiển thời gian logic Đơn vị xử lý trung tâm nhận trực tiếp xung nhịp từ tạo dao động lắp thêm vào Bộ vi xử lý có chương trình bên dung lượng 8Kbyte , 128 byte RAM để xếp liệu thông tin điều khiển Ngồi cịn có định thời 16 bit Timer 0, Timer1, chúng sử dụng đếm kiện Có cổng P0P3 bit độc lập với sử dụng cho mục đích điều khiển đa dạng Khi làm việc với nhớ bên cổng P0 dùng để truyền nửa địa nhớ sử dụng giống dùng cho liệu bit Sau qua cổng P2 diễn trình xuất nửa địa bit Cổng P1 P3 có chứa cổng cổng vào/ bit sử dụng cho mục đích điều khiển khác cổng P3 cịn có thêm đường dẫn điều khiển dùng để trao đổi với nhớ bên , để đấu nối giao diện nối tiếp đường dẫn ngắt bên Giao diện nối tiếp có chứa truyền nhận không đồng làm việc độc lập với nhau.Bằng cách đấu nối với đệm thích hợp , ta hình thành cổng nối tiếp RS232 đơn giản Tốc độ truyền qua cổng nối tiếp đặt vùng rộng ấn định định thời Sơ đồ khối chip 8051 III Bµi tËp dµi Vi Xư Lý Tổ chức nhớ 8051 8051 có khoảng địa độc lập cho nhớ chương trình nhớ liệu Sự độc lập nhớ chương trình nhớ liệu cho phép nhớ liệu xử lí địa bit Nó lưu trữ thao tác nhanh CPU bit Tuy nhiên địa 16 bit phát thông qua ghi DPTR Bộ nhớ chương trình (ROM,EPROM) nhớ có đọc Bộ nhớ lên tới 64Kbyte Trong 8051 4Kbyte thấp nhớ chương trình chip Bộn nhớ ngồi đọc nhờ tín hiệu chốt chân PSEN Bộ nhớ liệu độc lập với nhớ chương trình 128 byte thấp nhớ liệu chip truy nhập đến 64Kbyte ngồi CPU phát tín hiệu RD WR cần thiết suốt q trình xử lí nhớ liệu a/ Bộ nhớ chương trình : Sau reset CPU bắt đầu thực từ địa 0000H Bảng vector ngắt địa 0003H đến 002BH Mỗi ngắt xác định vị trí cố định nhớ chương trình Khi ngắt xảy PCU nhảy tới vị trí nơi mà yêu cầu phục vụ Mỗi vector ngắt có độ dài Byte Nếu chương trình đủ ngắn ta chứa Byte , chương trình đủ dài chứa lệnh nhảy tới chương trình phục vụ Kbyte (hoặc Kbyte , 16Kbyte ) phần thấp nhớ chương trình ROM ROM Điều thực nối chân EA lên mức mức (nếu ROM ngồi , ROM trong) Khi truy nhập nhớ sử dụng cổng P0 P2 làm 16 đường vào Trong P0 làm chức Bus địa Bus liệu Nó phát Byte thấp nhớ chương trình giồng địa phần thấp P2 phát địa phần cao Địa nhớ chương trình ln có độ rộng 16 bit b/ Bộ nhớ liệ u : Bộ nhớ liệu chia thành vùng : - Vùng :Địa từ 00H đến 1FH phần thấp chia thành khối ghi Các lệnh chương trình gọi ghi từ R0 đến R7 Hai bit ghi trạng thái (RS0,RS1 ) lựa chọn khối - Vùng 2: Địa từ 20H đến 2FH bao gồm 16 byte vùng ô nhớ địa theo bit - Vùng 3: Địa từ 30H đến 7FH làm chức thông thường nhớ RAM - Vùng ghi chức đặc biệt (SFR).Có 21 ghi chức đặc biệt chiếm phần RAM nội từ địa 80H đến FFH III Bµi tËp dµi Vi Xư Lý c/ Cổng vào song song: 8051 có cổng vào song song , cổng định chiềuứng với điều khiển đầu đệm đầu vào Điều khiển đầu cổng P0 , cổng P2 đệm đầu vào cổng P0 sử dụng cho việc xử lí nhớ ngồi Trong ứng dụng đầu cổng P0 byte thấp địa nhớ Đầu cổng P2 địa byte cao Cổng 1,2,3 có điện trở pull_up bên Cổng có đầu cực máng để hở Mỗi đường I/O sử dụng độc lập giống đầu vào đầu Khi sử dụng đầu vào chốt bit cổng phải lạp mức logic , điều đóng FET điều khiển đầu Đối với cổng 1,2,3 mức logic chân kéo lên mức logic cao điện trở pullup , kéo xuống mức logic thấp nguồn ngồi Cổng khơng có điện trở pullups phía Điện trở FET pullups điều khiển đầu P0 sử dụng cổng phát mức logic cao suốt trình xử lí nhớ ngồi Trong trường hợp khác FET pullups khố Tất chốt cổng viết mức logic chức reset Khi mức logic viết vào chốt cổng muốn làm đầu vào mức logic phải viết vào Sơ đồ chân 8051 ợ2 Bộ nhớ : Sử dụng vi xử lý 8051 có sẵn chip 128 byte RAM 4K ROM, yêu cầu thiết kế hệ thống 8KB ROM (0000h-1FFFh) 4KB RAM có địa tuỳ chọn Ta chọn vi mạch nhớ sau: ROM 4KB địa vật lý từ : 0000H – 0FFFH ROM 4KB 2732 địa vật lý từ : 1000H – 1FFFH RAM 4KB 6232 địa vật lý từ : 3000H – 3FFFH Địa 8255:CWR,PA,PC : 5000H – 5003H Địa ADC 0809 (8 cửa vào) : 6000H – 6007H Bộ nhớ ngồi ROM III Bµi tËp dµi Vi Xö Lý Trong vi điều khiển nhớ chơng trình có 4K byte ROM trong, với yêu cầu sử dụng thêm EPROM2732 có dung lợng lớn Đây nhớ lập trình xố tia cực tím, có tốc độ truy nhập nhanh Với dung lợng 4K byte nh có 13 đờng chọn địa có đờng liệu EPROM đợc hoạt động chân #OE mức tích cực thấp, đợc vi điêù khiển chọn làm việc chân #CE đợc tích cực thấp EPROM đợc nuôi với mức điện áp 5V, điện áp đợc đa vào nhớ thông qua chân Vpp Địa EPROM hệ thống 20002FFF Sơ đồ chân EPROM EPROM 4KB 2732 (AMD) Bộ nhớ ngồi RAM Bên cạnh nhớ chương trình EPROM ta cịn sử dụng nhớ ngồi RAM có dung lượng 4K byte, đồng thời có 12 đường địa đường liệu Nó có địa 30003FFF, địa chọn vùng địa vi điều khiển chân #CS1 Ngoài cịn có đường chọn vỏ khác CS2 nối tích cực có hai đườngtín hiệu u cầu đọc viết #OE, #WE Sơ đồ chân EPROM Sơ đồ chân RAMM EPROM 4KB 2732 (AMD) RAM 2KB 6116 (AMD) ợ3 Thiết bị ngoại vi : a Thiết bị ngoại vi số (digital) : Ghép nối với 8255 Tổng quan IC 8255 (Intel) 8255A vi mạch ghép nối song song bit, dùng phổ biến hệ vi xử lý để làm vi mạch ghép nố vào /ra song song Nó ghép nối trực tiếp với 8085, 8051, Z80 M6800 ghép nối với họ vi xử lý bit 8255 có 40 chân xếp thành hàng đối xứng, nguồn nuôi 5V.Gồm: Các cổng vào/ra: cổng A, B, C Trong đó, cổng A(từ PA0 đếnPA7) cổng B(PB0 đến PB7) cổng III Bµi tËp dµi Vi Xư Lý bit, cịn cổng Ccó thể chia thành nhóm độc lập chương trình: nửa cao(PC4PC7) nửa thấp(PC0PC3) Các tín hiệu điều khiển: RD : vi xử lý đọc số liệu từ cổng A0, A1: lấy từ bit địa vi xử lý tổ hợp tín hiệu A0, A1 xác định cho ta cổng vào ghi điều khiển CS: (chi select) tín hiệu chon vỏ WR:viết số liệu vào cổng I/O RESET:dùng để đặt lại hệ thống GND:chân nối đất Vcc: nguồn nuôi +5v  Các chân số liệu :(D0D7): bit số liệu Sơ đồ chân 8255 (Intel interface) : Cổng P3 8085 dùng chân RD WR để nối trực tiếp với chân RD WR tương ứng 8255A.Các đường A0, A1 nối trực tiếp từ BUS vào 8255A, giải mã bên 8255A để chọn cửa vào/ra A,B,C ghi điều khiển 8255A Như ta thấy dùng 8255A, việc ghép nối vi xử lý với thiết bị phần cứng khác đơn giản hơn, phải dùng mạch phụ Đây ưu điểm lớn 8255A Sơ đồ khối 8255 : Bên sơ đồ cấu trúc 8255 Thiết bị ngoại vi có chế độ hoạt động chế độ lựa chọn chân chọn A0 , A1 Ta có bảng chân lý A0 0 1 A1 1 Chế độ CWR PORT A PORT B PORT C Dữ liệu vào thiết bị qua data bus D0-D7 quan hệ hai chiều Các cửa thiết bị có trạng thái tuỳ thuộc vào ghi điều khiển CWR (control word registor) cụ thể sau : III Bµi tËp dµi Vi Xư Lý 10 tín hiệu điều khiển thích hợp đưa đến chân katot a,b,c,d,e,f,g LED Mỗi giá trị cần hiển thị đưa đến cổng PB 2ms lần cho đèn Giá trị số nói trên chữ số thập phân lại bit byte liệu từ 8051 đưa đến cổng PA 8255A định Như vậy, 2ms ta phải đưa liệu PB, PA cho giá trị số đèn Trong trường hợp cần hiển thị giá trị nhiệt độ ta cần tới số,tức cần đèn LED thanh, ta phải 2.3=6ms số dãy đèn Sự sáng nhấp nháy đèn với chu kỳ 6ms mắt người khơng thể cảm nhận nhấp nháy nó, ta cảm giác chúng sáng cách liên tục ợ2 Ngoai vi tương tự : Sensơ nhiệt điện trở : Platin chịu nhiệt độ đến 1200C khơng bị oxy hố nóng nhiệt độ từ đến +660C RT Ro (1 At Bt ) RT Ro [1 At Bt 2 C (t 100) ] Ro - điện trở 0C A, B, C - số Đặc tính có dạng phi tuyến,với nhiệt độ ngồi khoảng (-180,+660) quan hệ RT=f(t) chuẩn hoá cho dạng bảng Nhược điểm nhiệt điện trở Platin đặc tính phi tuyến, khơng dùng mơi trường oxy hố khử, độ bền hố học cao, tính dẻo lớn, người ta chế tạo thành sợi dất mỏng(đến 1,25m) nên sử dụng rộng rãi Bộ chuyển đổi tương tự số ADC 0809 Bộ ADC 0809 thiết bị CMOS tích hợp với chuyển đổi tương sang số bit, chọn kênh mật logic điều khiển tương thích Bộ chuyển đổi tương tự số sử dụng phương pháp chuyển đổi xấp xỉ Bộ chọn kênh chọn kênh cần chuyển đổi chân chọn địa Thiết bị loại trừ khả cần thiết điều chỉnh điểm zero bên khả điều chỉnh tỉ số làm cho ADC đễ dàng giao tiếp với vi xử lý Hoạt động chung: Khi kênh chọn đồng thời yêu cầu START ,ALE tích cực Giá trị điện áp cần chuyển đổi chốt lại cổng vào tương ứng xung start bắt đầu chuyển đổi Yêu cầu độ rộng xung START không nhỏ 200ns Sau xung START khoảng 10ỡs đầu EOC (end of convert) lúc xuống thấp thực bắt đầu trình chuyển đổi Kết thúc trình chuyển đổi chân EOC trạng thái tích cực cao báo hiệu kết thúc q trình chuyển đổi Sau kết thúc trình chuyển đổi chân E (enable) trạng thái tích cực III Bµi tËp dµi Vi Xư Lý 15 liệu lúc chốt đưa data bus ngược laijddaauf trạng thái cao trở ý nghĩa chân: - IN0 – IN7: đầu vào tương tự - A,B,C : tín hiệu chọn kênh - Các chân 2.1-2.7: đầu số - ALE cho phép chốt số liệu đầu vào - Start: xung cho phép bắt đầu chuyển đổi - Clk:đầu vào xung clock - Ref(+): điện áp vào chuẩn +5v - Ref(-): điện áp vào chuẩn - Vcc: nguồn cung cấp - Độ phân giải bít - Tổng sai số chưa chỉnh ±1LSB - Thời gian chuyển đổi 100s - Nguồn cung cấp ± V - Điện áp vào 0-5V - Tần số xung clock 10kHz – 1028 kHz - Nhiệt độ hoạt động –400C – 85OC - Dễ dàng giao tiếp với vi xử lý dùng riêng - Không cần điều chỉnh zero thang đo Bảng chân lý sơ đồ chân vi mạch: Cấu trúc ADC 0809 giản đồ thời gian trìng chuyển đổi sau A 0 0 1 1 B 0 1 0 1 C 1 1 X  Các đặc điểm ADC 0809 Từ tìm hiểu ta thiết kế vào tương tự cho đề tài Vi mạch ADC 0809 kết nối với PPI 8255 trình vào số liệu địi hỏi thực III Bµi tËp dµi Vi Xư Lý 16 ngắt Gọi ngắt trực tiếp ADC0809 yêu cầu 8051 giao tiếp vi mạch với PPI 8255 ( chế độ ) 8255 yêu cầu ngắt 8051 Để đơn giản trình lập trình thoả mãn yêu cầu dự án cần PPI 8255 hoạt động chế độ sở ADC0809 trực tiếp gọi ngắt 8051 Để thực ý định cấu trúc sau đề suất : Hoạt động sơ đồ sau : Khi 8051 yêu cầu đọc số liệu từ kênh đo 8051 gọi lệnh kích hoạt ADC 0809 lệnh mơ tả sau : ORG 0000H ORG 0013H ; Đ/C ngắt ngoài1 LJMP ADC0809 ; Gọi chương trình phục vụ ngắt ADC0809 ORG 0030H MAIN : CLR A MOVX 5000H,A ; Gọi tới IN0 ADC0809 ADC0809: MOVX R0,PA ; Khi kết thúc trình chuyển đổi ADC gọi ngắt INTR1 lệnh đọc d/l vào PORT A Kết lưu vào ghi R0 III Bµi tËp dµi Vi Xư Lý 17 RETI Do chân EOC (end of convert ) tích cực cao nên phải qua chân đảo vào INTR1 Phân tích tác động phần cứng vào ADC0809 qua chuỗi lệnh sau : Lệnh MOVX 5000h,A có loạt tác động sau - Đưa lên BUS địa giá trị 5000H kết nối thích hợp với 74138 nên chân Q3 ‘138 tích cực đồng nghĩa việc chọn vỏ ADC 0809 - Đồng thời control & timer on chip 8051 gửi tín hiệu điều khiển viết WR lên control BUS chân ALE,START ADC gọi Bắt đầu trình chuyển đổi loạt thao tác sau : - Chốt giá trị đo analog tương ứng (IN0) - Tín hiệu START trì 200ns sau trễ 10ỡs chân EOC xuống thấp bắt đầu trình chuyển đổi - Kết thuc q trình chuyển đổi ACD cho tín hiệu EOC mức tích cực gửu 8051 yêu cầu ngắt Nếu ngắt chấp nhận gọi chương trình phục vụ ngắt ADC0809 thực việc thu thập liệu Lệnh MOVX R0,PA có tác động sau đây: - Gửi địa cổng PA 8255 lên address BUS Chân Q2 74138 tích cực chon vỏ 8255 - Tín hiệu đọc ( RD ) control BUS gửi qua chân RD tới 7402 cho xung ENABLE lên ADC0809 Kết chuyển đổi đua data BUS đọc vào R0 từ cổng PA 8255 ợ2 Thiết bị ngoại vi logic Keypad Keypad thiết bị ngoại vi để giao diện với người, người sử dụng điều khiển hệ thống thơng qua việc ấn phím chức Các phím nối qua cổng OR vào INT0 vi điều khiển, người điều khiển ấn phím gán với chức tương ứng.Vi điều khiển hiểu chức thông qua việc đọc giá trị đầu vào.Các phím nối với chân từ P1.0 đến P1.3 vi điều khiển III Bµi tËp dµi Vi Xư Lý 18 Thiết bị ghép nối với máy tính RS232 Cổng nối tiếp RS232 giao diện phổ biển rộng rãi Việc truyền liệu qua tiến hành theo cách nối tiếp, nghĩa bit liệu gửi nối tiếp đường dẫn Trước hết, loại truyền có khả dùng cho khoảng cách lớn hơn, khả gây nhiễu nhỏ đáng kể truyền song song Việc truyền song song có mọt nhược điểm đáng kể cap truyền dùng nhiều sợi, đắt tiền Cổng RS232 khơng phải hệ thống bus, cho phép dễ dàng tạo liên kết hình thức điểm hai máy cần trao đổi thông tin với Một thành viên thứ ba tham gia vào trao đổi Thiết bị báo đông ( c ịi ) Để báo động có cố mạch kết nối với còi Một mạch cịi đơn giản ghép nối với chân port1 8051 sau CHƯƠNG : Thiết kế sơ đồ chi tiết hệ thống Ta nghiên cứu tưng phần thiết kế chương Trong chương ta nghiên cứu thiết kế sơ đồ tổng quát hệ thống ợ1 Các ý thiết kế với hệ vi điều khiển 8051 Mặc dù nghiên cứu kĩ lưỡng hệ vi điều khiển MCS 51 nói chung vi xử lý 8051 nói riêng ta cần nhắc lại đặc điểm đáng ý thết kế hệ thống thực 8051 a Tải đặc tính chiều : Khi thiết kế hệ thống thực tế việc ý tới kết nối , phần mềm ta nên ý tới tải chiều chân linh kiện Các ý sau cần thiết : - Các port0,port1,port2,port3 bit xuất nhập hai chiều có điện trở kéo lên bên có khả chịu dịng ngõ vào TTL III Bµi tËp dµi Vi Xö Lý 19 ( 0.4 mA cho ngõ ) riêng port có khả kéo ngõ vào TTL Khi xuất ngõ kéo lên điện trở treo cao bên Khi nhập chân kéo xống mức thấp tác động bên ngồi cấp dịng - Ta cần có điện trở k lên bên ngồi để phục vụ kiểm tra chương trình hay tăng tải (fan in – fan out ) cho mạch b Các chân ngắt quy tắc sử dụng ngắt : Ngắt sử dụng cách rộng rãi ứng dụng điều khiển Ngắt giúp giải kiện xuất không đồng với chương trình thực thi (hay nói cách khác CPU ngắt xảy lúc ) Ngắt ln qt chu kì nhịp cuối chu kì máy Thơng thường ứng dụng điều khiển chương trình thwc hai mức ; mức nề mức ngắt - Mức ngắt gọi chương trình phục vụ ngắt - Mức có vong lặp nhảy chỗ SJMP $ Quy trình thực ngắt nói ta nhắc lại số điểm sau: - Ngắt thực khơng có ngắt khác cao băng thực thi - Chuỗi vòng ngắt sau INT0 ,TF0,INT1,TF1,SERIAL, TIMER2 - Địa vectơ ngắt sau : Nguồn ngắt IE0 TF0 IE1 TF1 RI & TI TF2 & EXF2 Địa vector ngắt 0003H 000BH 0013H 001BH 0023H 002BH Khi sử dụng ngắt ý ngắt xảy có tác động cạnh tác động mức Chúng quy định bit IT0 , IT1 thang ghi TCON Nếu ngắt thuộc loại tác động mức ( ngắt ADC 0809 ) nguyên nhân ngắt phải trì mức cao chu kì máy sau phải đuy trì múc thấp tối thiểu chu kì máy Con ngắt tác động mức phải trì mức tích cực ngắt thực thi ợ2 Xây dựng sơ đồ hệ thống : III Bµi tËp dµi Vi Xư Lý 20 Ta mơ tả ngun lý hoạt động hệ thống sau: Ban đầu nhiệt độ đo thơng qua cảm biến, tín hiệu đo sau cảm biến tín hiệu tương cần phảicho qua bọ chuyển đổi chuẩn hố Hệ thống điều khiển chương trình người thiết kế lập trình sẵn, nạp vào EEPROM Từ kênh địa hệ thống chọn kênh cần chuyển đổi nhờ việc viết địa Sau kết thúc trình chuyển đổi ADC phát tín hiệu EOC nối trực tiếp với ngắt INT0 vi xử lý Khi ngắt INT0 mức tích cực thực hiên chương trình phục vụ ngắt, có nhiệm vụ thu thập số liệu chuyển đổi đầu ADC Trong trình hoạt động hệ thống ta chọn kênh chuyển đổi tai thời điểm tác động Khi số liệu nhân vào Vi điều khiển bước đầu phải so sánh với ngưỡng Hi Low để báo động,khi đẫ thoả mãn giới hạn đo bước sử lý số liệu đo để thông báo kêt đo kênh vừa đo Kết sử lý phải lưu vào EEPROM gửi lên máy tính để truyền tải xa 3.7 Ghép nối với RS232 Để nhận gửi số liệu lên máy tính ta sử dụng giao thức truyên theo chuẩn RS232 thông qua chân RXD TXD vi điều khiển Theo chu kỳ định ta gửi kết đo lên máy tính để lưu trữ truyền xa Đồng thời nhận tín hiệu điều khiển hệ thống từ máy tính Cơ chế truyền số liệu lập trình phần mềm Khi sử dụng chuẩn ta truyền liệu khoảng cách ngắn(khoảng cách tối đa 15m), với tốc độ truyền tối đa 19200baud 3.8 Bộ nhớ chương trình EPROM nhớ liệu ngồi RAM Để truy nhập nhớ chương trình ta phải nối chân EA vi điều khiển tích cực thấp Các dường địa hai nhớ nối trực tiếp với bus địa hệ thống đường liệu chúng đựơc nối với bus liệu hệ thống 3.9 Bộ giải mã III Bµi tËp dµi Vi Xư Lý 21 Để thời điểm có thiết bị ngoại vi làm việc với vi điều khiển, ta sử dụng giải mã địa 74LS138 để xác định vùng địa làm việc thiết bị ngoại vi Đầu giải mã địa 74LS138 nối với chân chọn vỏ thiết bị ngoại vi PHầN 2: Xây dựng phần mềm CHƯƠNG Lưu đồ thuật toán 1.Lưu đồ chương trình a,Chương trình III Bµi tËp dµi Vi Xư Lý 22 III Bµi tËp dµi Vi Xư Lý 23 III Bµi tËp dµi Vi Xư Lý 24 INCLUDE 89c51.mc ; -; DINH NGHIA DIA CHI CAC THIET BI & CAC VUNG NHO SU DUNG TRONH CHUONG TRINH ; -ADC EQU 6000H ;Dia chi cong ADC TBC EQU 30H ;Dia chi chua gia tri trung binh cong ;cua kenh ADC SAI_SO EQU 31H ;Gia tri sai so nhiet cho phep MAX EQU 32H ;Gia tri nhiet lon nhat cho phep MIN EQU 33H ;Gia tri nhiet nho nhat cho phep TRAM EQU 34H ;Dia chi o nho chua hang tram cua so ;TBC CHUC EQU 35H ;Dia chi o nho chua hang chuc cua so ;TBC DON_VI EQU 36H ;Dia chi o nho chua hang don vi cua so ;TBC DATA_IN EQU 37H ;Dia chi dau chua du lieu doc vao tu ;ADC chua RAM noi CWR EQU 4003H ;Dia chi cua tu dieu khien cua 8255A PPI_A EQU 4000H ;Dia chi cua cong A cua 8255A PPI_B EQU 4001H ;Dia chi cua cong A cua 8255A PPI_C EQU 4002H ;Dia chi cua cong A cua 8255A ; -; CHUONG TRINH CHINH ; -ORG 0000H LJMP MAIN ORG 0003H LJMP EXI_0 ORG 0013H LJMP EXI_1 ORG 0030H MAIN: JNB P1.0,MAIN SETB EX0 SETB EX1 MOV DPTR,#CWR ;PPI 8255A MOV A,#80H MOVX @DPTR,A MOV DPTR,#ADC MOVX @DPTR,A ;Vi tri vecto ngat ngoai ;Diem nhap cua ngat ngoai ;Bat dau chuong trinh chinh ;An nut start ? ;Cho phep ngat ngoai ;Cho phep ngat ngoai ;Khoi tao che phu hop cho ;Che vao co so ;Da khoi tao xong ;Chuyen doi kenh dau tien ADC III Bµi tËp dµi Vi Xư Lý 25 MOV R0,#8 ;So kenh MOV R1,#DATA_IN ;Do lech dia chi kenh MOV R2,#0 ;R2 chu ket qua phep chia MOV R3,#0 ;R3 chua phan du phep chia CONTROL: LCALL CONVERT_DATA ;Chuyen doi so lieu de co the ;hien thi duoc LCALL DISPLAY_TBC ;Hien thi so lieu la TBC cua ;8 kenh LCALL CHECK_DATA ;Kiem tra xem co thoa man ;dieu kien dau bai JNB P1.1,STOP ;Ket thuc qua trinh ? LJMP _END STOP: LJMP CONTROL ; -;CAC CHUONG TRINH CON & ctc PHUC VU NGAT ; -;Ctc dung khan cap EXI_0: SJMP $ RETI ;Ctc ngat doc ket qua ADC EXI_1: MOVX A,@DPTR MOV @R1,A ;quy dinh INC R1 ;trong vung KQ MOV B,#8 DIV AB ADD A,R2 ;truoc MOV R2,A MOV A,B ADD A,R3 ;truoc MOV R3,A DJNZ R0,GTTB ;tinh toan RETI ;Dua gia tri vao Acc ;Dua ket qua vao vung nho ;R1 tro toi o nho tiep theo ;Nhiet tung kenh chi ;Cong voi ket qua phep tinh ;Phan du phep chia ;Cong voi ket qua phep tinh ;Neu doc het kenh goi c/t ;Ctc tinh gia tri trung binh GTTB: CLR EX1 ;Trong qua trinh tinh cam ADC ;chuyen doi MOV R0,8 MOV R1,#DATA_IN ;khoi tao lai MOV R2,#0 ;So kenh duoc khoi tao lai ;Do lech dia chi kenh duoc ;R2 chu ket qua phep chia III Bµi tËp dµi Vi Xư Lý 26 ;duoc khoi tao lai ;R3 chua phan du phep chia ;duoc khoi tao lai ;TINH TRUNG BINH CONG MOV A,R3 ;Phan du chia MOV B,#8 DIV AB ADD A,R2 ;Ket qua phep tinh cuoi MOV TBC,A ;Dua ket qua trung binh cong ;vao o nho tuong ung ;Cho phep lai ngat ngoai SETB EX1 MOV DPTR,#ADC; MOVX @DPTR,A ;Khoi dong lai ADC RET MOV R3,#0 ; -;Chuong trinh su dung de tach so bat ky cac hang ;Hang tram ,hang chuc va hang don vi nham muc dich hien thi tung ;kenh ; -CONVERT_DATA:MOV A,TBC ;de tach MOV B,#10 DIV AB MOV DON_VI,B MOV B,#10 DIV AB MOV CHUC,B MOV TRAM,A RET ;Lay gia tri trung binh cong ;HANG DON VI ;HANG CHUC ;HANG TRAM ; -;Chuong trinh hien thi nhiet trung binh cua ADC theo ;nguyen ly quet dong Su dung cong Port A cua 8255 va duoc quy ;uoc nhu sau : ;- Cac bit cao PA.6,5,4 noi voi TRANSISTOR de chon kenh hien thi ;- Cac bit thap PA.3,2,1,0 noi voi IC 7447 de hien thi cac so ;theo yeu cau ;Bit PA.7 su dung lam coi bao dong ; DISPLAY_TBC: NEXT: MOV A,TRAM SETB A.6 MOV DPTR,#PPI_A MOVX @DPTR,A LCALL DELAY MOV A,CHUC SETB A.5 MOV DPTR,#PPI_A MOVX @DPTR,A LCALL DELAY ;Hien thi so hang tram ;CHON HIEN THI DEN ;Chon cong Alam port hien thi ;Hien thi ;Tre mot khoang thoi gian ;Hien thi hang chuc ;CHON HIEN THI DEN ;Hien thi ;Tre mot khoang thoi gian III Bµi tËp dµi Vi Xư Lý 27 MOV A,DON_VI SETB A.4 MOV DPTR,#PPI_A MOVX @DPTR,A LCALL DELAY RET ;Hien thi hang don vi ;CHON HIEN THI DEN ;Hien thi ;Tre mot khoang thoi gian ; -;Chuong trinh nham kiem tra dieu kien cac kenhco thoa man voi ;dau bai khong ;- Neu co kenh lon hon hoac nho hon gia tri cho phep thi bao ;dong ;- Neu gia tri trung binh lon hon gia tri MAX hoac nho hon gia ;tri MIN thi bao dong ;Cong PPI_B se bao hieu so kenh vuot qua bang cac den ;Cong PPI_C se bao hieu so kenh thap bang cac den xanh ; -CHECK_DATA: MOV R4,#0 ;Hien thi cac kenh nho hon ;nhiet cho phep MOV R5,#0 ;Hien thi cac kenh lon hon ;nhiet cho phep ;B coi la bien dem kiem tra MOV B,#0 MOV R7,#0 ;R7 chua THU TU kenh hien tai ;dang kiem tra CONTINUE: MOV A,R7 ADD A,#DATA_IN MOV R6 ,A ;R6 chu dia chi g/t nhiet ;kenh hien tai MOV A,@R6 ;Doc nhiet luu RAM ;cua kenh hien tai CLR C SUBB A,B ;(A) < -(A)-B A chua sai lech ;nhiet JNC POS ;Neu Acc duong CPL A ADD A,#1 ;Neu am thi lay tri tuyet doi CLR C SUBB A,SAI_SO JNC CHANNEL_NEXT ;Neu kenh thoa man dieu kien ;nhiet dco kenh tiep LESS: INC B ;Neu khong thoa man dieu kien ;nhiet MOV A,#1 ;(A) = de chuan bi ;thuc hien bao kenh cao thap SJMP ROTATO ORL A,R4 ;R4 chua vi tri cac ;kenh nhiet thap SJMP CHANNEL_NEXT POS: SUBB A,SAI_SO III Bµi tËp dµi Vi Xư Lý 28 JNC GREATER GREATER: INC B MOV A,#1 SJMP ROTATO ORL A,R5 ;(A) = ROTATO: RL A DJNZ R7,ROTATO CHANNEL_NEXT:INC R7 MOV A,R7 SUBB A,#7 JC CONTINUE ;Doc het cac kenh MOV DPTR,#PPI_C MOV A,R4 MOVX @DPTR,A ;Hien thi cac den bao muc ;thap MOV DPTR,#PPI_B MOV A,R5 MOVX @DPTR,A ;Hien thi cac den bao muc cao MOV A,B ;A chua so kenh khong thoa ;man dieu kien dau bai SUBB A,#4 JNC ALARM ;Co it hon kenh vuot qua ;gia tri cho phep MOV A,TBC SUBB A,MAX JNC ALARM ;Gia tri trung binh > MAX MOV A,TBC SUBB A,MIN JC ALARM ;Gia tri trung binh < MIN SJMP EXIT ;Neu thoa man cac dieu kien ALARM: SETB P1.4 ;Bao dong neu khong thoa man ;dieu kien RET EXIT: DELAY: MOV R7,#10 Loop1: MOV R6,#20 Loop2: DJNZ R6,Loop2 DJNZ R7,Loop1 RET _END:END III Bµi tËp dµi Vi Xö Lý 29 ... Phần : thiết kế Hệ vi xử lý bit Chương Tìm hiểu u cầu cơng nghệ CHương Lựa chon hệ vi xư lý CHƯƠNG Lựa chọn thiết bị - Thiết kế nhớ - Thiết kế cổng vào số - Thiét kế vào tương tự - Ngoại vi logic... cầu toán tối ưu ta sử dụng vi điều khiển 80 51 đủ để điều khiển hệ thống hoạt động tốt III Bµi tËp dµi Vi Xư Lý PHầN : THIếT Kế Hệ VI Xử Lý BIT CHƯƠNG : Chọn hệ vi xử lý Phân tích chung : Ngày... ADC 080 9, vi điều khiển 80 51,bộ chốt số liệu, nhớ - CPU - ROM , RAM - Thiết bị ngoại vi : + Thiết bị số (digital) + Thiết bị tương tự (analog) + Thiết bị logic ợ1 CPU - Vi điều khiển 80 51 Bộ vi

Ngày đăng: 25/10/2021, 17:04

Tài liệu cùng người dùng

Tài liệu liên quan