Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,87 MB
Nội dung
Thiết kế hệ vi xử lý bit I 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 : 8KB ( địa tuỳ chọn ) Cổng vào tơng tự kênh nhận tín hiệu đo nhiệt độ từ 0V(5V tơng ứng với nhiệt độ 0((100(C, cổng vào số liệu mạch điều khiển 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 đo nhiệt độ từ kênh lu trữ vào vùng nhớ RAM Sau lần đọc tính nhiệt độ trung bình cộng kênh gửi cổng hiển thị đèn LED So sánh nhiệt độ kênh với giá trị nhiệt độ trung bình Nếu kết lớn nhỏ giá trị cho phép cho trớc gửi tín hiệu báo động cao thấp tơng ứng với kênh Giá trị cho phép đặt ô nhớ RAM III Chơng trình dừng lại báo động còi xảy trờng hợp sau: Có kênh đo vợt nhỏ giới hạn cho phép so với giá trị trung bình Giá trị nhiệt độ trung bình lớn nhỏ giá trị giới hạn MAX, MIN tơng ứng Các giá trị giới hạn MAX, MIN đợc đặt ô nhớ RAM II Các bớc tiến hành Chọn vi xử lý (8085 8051,) Thiết kế sơ sơ đồ khối Thiết kế nhớ, cổng vào /ra mạch logic,mạch giải mã, mạch chốt,ADC,Xác định địa cho tín hiệu vào /ra Lập đồ nhớ Chọn linh kiện Nghiên cứu chọn chế độ làm việc linh kiện phù hợp với yêu cầu (logic vật lý) cho thiết kế bớc Thiết kế sơ đồ chi tiết cho hệ Xây dựng phần mềm sở sơ đồ thiết bớc 4: Xây dựng lu đồ chơng trình Xây dựng cấu chúc chơng trình Soạn thảo chơng trình mã ngữ vi xử lý chọn I II LI M U Vào năm 1971 tập doàn INTEL cho đời họ vi xử lý 4004 vi xử lý bit Và từ đến liên tục phát triển nâng cao từ họ vi xử lý bit đến vi xủ lý 32 bit 64 bit với tần số xung nhịp f=100ữ200 MHz , ngày chúng đợc ứng dụng rộng rãi vào sống đặc biệt ngành công nghiệp Bên cạnh họ vi xử lý, vào năm 1976 INTEL giới thiệu vi điều khiển (microcontroler) 8748, chip tơng tự nh vi xử lý chip họ vi điều khiển MCS 48, bao gồm CPU , 1Kbyte EPROM, 64 byte RAM, 27 chân xuất nhập định thời bit Độ phức tạp , kích thớc khả vi điều khiển đợc tăng lên bậc quan trọng vào năm 1980 INTEL công bố chip 8051, vi điều khiển họ vi điều khiển MCS 51 Chip chứa 60000 transistor, bao gồm K byte ROM, 128 byte RAM , 32 dờng xuất nhập, port định thời 16 bit số lợng mạch đáng ý IC đơn chip Các thành viên đựơc thêm vào họ MCS 51 biến thể ngày gần nh gấp đôi đặc trng Dới phát triển mạnh mẽ công nghệ vi xử lý việc tìm hiểu nghiên cứu để nắm bắt công nghệ, tìm cách ứng dụng vào thực tế công việc quan trọng sinh vên,những ngời kỹ s tơng lai Với kiến thức vi xử lý đợc học hai kỳ, có tham khảo sách vở, đặc biệt đợc giúp đỡ bảo tận tình thày giáo em hoàn thành nhiệm vụ thiết kế dùng chip vi điều khiển 8051 áp dụng vào đo nhiệt độ lò Thông qua thiết kế em đợc áp dụng kiến thức học vào công việc thiết kế phần cứng viết phần mềm cho hệ vi điều khiển Tuy vậy, phần lý thuyết , em muốn thiết kế mạchthật để thấy đợc phần thiếu sót thiết kế lập trình.Nhng thời gian có hạn nh kiến thức hạn chế nên tránh khỏi thiếu xót Em mong thày cô bảo giúp đỡ em I II Thiết kế hệ vi điều khiển 8051 I Giới thiệu vi điều khiển 8051 Là vi xử lý đơn chíp bit đợc sử dụng cho ứng dụng công nghiệp, đợc hãng intel công bố vào năm 1980 8051 vi điều khiển họ vi điều khiển MCS 51, với đặc điểm sau: Độ dài từ liệu bit Rất tiện dùng cho hệ điều khiển Tập lệnh phong phú với 256 lệnh ROM bên K RAM bên 128 byte Có 32 đờng vào theo hai hớng qua 4port xuất nhập ( I/O port) bit, địa riêng đờng Có định thời 16 bit Không gian địa ROM & RAM có thẻ đến 64K Có nguồn ngắt ,5 vector ngắt với mức u tiên Đã có giao động bên với tần số 12Mhz Có chứa A & B bit, B thờng dùng cho phép chia Sơ đồ khối chip 8051 Đ I II Tổ chức nhớ 8051: 8051 có khoảng địa độc lập cho nhớ chơng trình( ROM ) nhớ liệu( RAM ) Sự độc lập nhớ chơng trình nhớ liệu cho phép nhớ liệu đợc xử lí địa bit Nó đợc lu trữ thao tác nhanh CPU bit Tuy nhiên địa 16 bit đợc 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ộ nhớ đọc đợc nhờ tín hiệu chốt chân PSEN Bộ nhớ liệu RAM độc lập với nhớ chơng trình 128 byte thấp nhớ liệu chip truy nhập đến 64Kbyte CPU phát tín hiệu RD WR cần thiết suốt trình xử lí nhớ liệu a/ Bộ nhớ chơng trình( ROM ) : Kbyte ROM đợc chọn nối chân EA vào mức (nếu ROM ) 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, chân ALE xuất tín hiệu chốt địa chỉ( byte thấp dịa 16 bit) b/ Bộ nhớ liệu : Bộ nhớ liệu đợc chia thành vùng : FF SFR 80 7F RAM thường đa mụcđích 30 2F Bit addressable 20 1F 18 17 10 0F 08 07 00 Bank Bank Bank 31 Bank - Vùng :Địa từ 00H đến 1FH phần thấp đợc 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 ) I II 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 Sơ đồ chân 8051 Address Bus 8051 ROM RAM II Sơ đồ khối hệ thống: I II I/O Ngoai vi Data Bus Control Bus a Bộ vi điều khiển 8051:Có chức điều khiển hoạt động toàn hệ thống b Bộ nhớ chơng trình ROM ( Read Only Memory): Chỉ đọc số liệu viết ROM, viết vào trình lập trình, nguồn nuôi số liệu ROM ROM đợc dùng để chứa chơng trình điều hành chơng trình ứng dụng users program c Bộ nhớ liệu RAM ( Random Access Memory): Nghĩa thời điểm ngời dùng viết số liệu vào RAM đọc từ RAM lệnh W/R Khi nguồn nuôi số liệu RAM mất, nh RAM đợc dùng để chứa số liệu trao đổi hệ vi điều khiển thiết bị ngoại vi d Các cổng vào I/O: Các vi mạch vào để làm cổng vào số liệu, vi mạch trao đổi trực tiếp số liệu với ngoại vi ( cảm biến, công tắc tơ, ) Các thiết bị ngoại vi trao đổi tín hiệu với vi xử lý trực tiếp qua I/O e Các thiết bị ngoại vi: Là sensor đo nhiệt độ để cảm biến nhiệt độ đối tợng cần đo, thông qua biến đổi A/D biến đại lợng tơng tự thành thông tin nhiệt độ đa vào cổng vào I/O để đa vào hệ vi điều khiển xử lý.Bộ hiển thị đèn LED để hiển thị nhiệt độ đo Quan hệ mặt trao đổi thông tin khối chức năng: Từ ngoại vi , sensor cảm biến nhiệt độ đầu vào I II nhiệt độ đối tợng đo, đầu giá trị điện áp biến thiên từ 0Vữ5V, giá trị biến thiên điện áp đuợc đa đến biến đổi tơng tự số A/D Đầu A/D tín hiệu số (số hexa) mang thông tin nhiệt độ Thông tin đa đến cổng vào I/O , thông qua Data Bus vào vi xử lý Vi xử lý định địa cất số liệu vào nhớ liệu RAM III Thiết kế nhớ, cổng vào ra, mạch giải mã, mạch chốt, ADC Thiết kế nhớ: Hầu hết vi sử lý(CPU) có không gian nhớ chung cho liệu chơng trình chơng trình thờng đợc lu trữ đĩa đợc nạp vào RAM để thực thi Vì hai liệu chơng trình đợc lu trú RAM Các chíp vi điều khiển thờng đợc dùng làm thành phần trung tâm thiết kế hớng điều khiển, nhớ có dung lợng giới hạn, ổ đĩa hệ điều hành Chơng trình điều khiển phải thờng trú ROM Do 8051 có không gian nhớ riêng cho chơng trình liệu Cả hai nhớ đặt bên chip PROGRAM MEMORY DATA MEMORY FFFFH EXTERNAl EXTERNAL INTERNAL FFH EA=1 INTER NAL EA=0 EXTER NAL 00 0000 < 0000> RD PSEN Bộ nhớ I II WR Bộ nhớ chơng trình EPROM Trong vi điều khiển nhớ ch- CS ơng trình có 4K byte ROM trong,và nhớ EPROM2732 có dung lợng 4K Đây nhớ lập trình xoá tia cực tím, có tốc độ truy nhập nhanh, có 12 đờ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 0000ữ0FFFH.Địa đợc chọn vi mạch giải mã địa 74138, với đầu chọn chip Sơ đồ chân EPROM 2732 Bộ nhớ RAM Bên cạnh nhớ chơng trình CS1 EPROM ta sử dụng nhớ RAM có dung lợng 8K byte, có 13 đờng địa đờng liệu Nó có địa 2000ữ3FFF, địa đợc chọn vùng địa vi điều khiển chân # Ngoài có đờng chọn vỏ khác CS2 đợc nối tích cực có hai đờngtín hiệu yêu cầu đọc viết #OE, #WE Sơ đồ chân RAM I II Các mạch phụ trợ a Mạch giải mã 74LS138 Khi muốn có nhiều đầu chọn vỏ từ giải mã không nên dùng mạch NAND đơn giản mà nên dùng mạch giải mã chế tạo chuẩn Nó bao gồm 14 chân, đó: ữ đờng địa chỉ, tích cực CS 70 mức thấp,có thể dùng chọn cho nhớ KB A,B,C đờng địa vào , tích cực cao E1 ,E2 đầu vào cho phép làm viêc , tích cực mức thấp E3 đầu vào cho phép làm viêc , tích cực mức cao Ta có bảng chân lý sau: C B A E1 E2 E3 CS CS1 CS CS CS X X X 0 0 1 1 X X 0 0 0 0 X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X 0 1 0 1 X X X 1 1 X X 0 0 0 0 1 1 1 1 1 U1 74LS138 74LS138 A2 A1 A0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 E3 E2 E1 CS CS CS 1 1 1 1` 1 1 1 1 1 1 1 1 1 1 1 Sơ đồ chân vi mạch: b Mạch chốt 74HC373 Khi port đợc sử dụng làm bus địa chỉ/dữ liệu đa hợp Chân ALE VXL xuất tín hiệu dể chốt địa chỉ, tín hiệu đợc nối vào đầu vào chốt vi mạch 74HC373 tín hiệu địa đợc chốt 1/2 chu kỳ đầu nhớ.Chân port xuất nhập liệu hợp lệ suốt 1/2 chu kỳ lại c 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 I II 10 đọc số liệu đầu Việc lựa chọn kênh tuân theo quy luật sau: C 0 0 1 1 X B 0 1 0 1 X A 1 1 X Kênh Vào IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 (?) d Bộ phận hiển thị: Ta dùng đèn LEG thanh, đèn đợc nối với đầu mạch giải mã BCD/7 seg chọn loại vi mạch 74LS47 Sơ đồ chân vi mạch nh hình sau: U1 74LS47 A3 A2 A1 A0 g f e d c b a test RBI RBO U1 e Cổng mạch vào/ dùng vi 74LS373 mạch logic chiều OE E Cổng ra:cổng đơn giản mạch lật D để D7 Q7 D6 Q6 chốt lại bit D5 Q5 Ta dùng cổng bit 74LS373 tổ hợp mạch D D4 Q4 D3 Q3 nh D2 Q2 Sơ đồ chân vi mạch nh sau: D1 Q1 D0 Q0 D0ữD7 tín hiệu đầu vào liệu Q0ữQ7 tín hịu liệu đợc chốt đầu Khi có tín hiệu tích cực thấp vào đầu vào OE tín hiệu đợc chốt đầu Q E chân cho phép vi mạch hoạt động Ta nối chân xuống đất Cổng vào dùng vi vạch vào chiều 74LS244 có sơ đồ chân nh I II 12 sau Nguyên lý hoạt động vi mạch tơng tự nh U1 74LS244 OEa Ia3 Ia2 Ia1 Ia0 OEb Ib3 Ib2 Ib1 Ib0 f Mạch chốt 7475: Đầu vào số liệu D0ữD3 đợc chốt lại đầu Q0ữQ3 có tín hiệu chốt đa vào đầu vào E01.Tín hiệu đầu đợc giữ lại đến có tín hiệu đợc chốt tiếp Ya3 Ya2 Ya1 Ya0 Yb3 Yb2 Yb1 Yb0 U2 74LS75 D3 D2 E23 D1 D0 E01 Q3 Q3 Q2 Q2 Q1 Q1 Q0 Q0 IV Thiết kế phần mềm Lập đồ nhớ Theo ta phân vùng nhớ cho nhớ liệu chơng trình Ta có đồ nhớ nh sau: 7475 FFFF H 74LS373 74LS244 ADC0809 I II 13 RAM 8K 6000 H 5FFF H 4000 ROM 8K 3FFF H 2000h 1FFF H 0000 H Vi mạch ROM , RAM K nên dùng 13đờng địa từ A0ữA12 Từ A13ữA15 dùng để chọn vùng nhớ cho vi mạch, đợc đa vào đầu vào mạch giải mã 74LS138 A13 A14 A15 Đầu 0 CS 0 CS1 CS 1 CS 0 CS 1 CS 1 CS 1 CS CS 0000Hữ0FFFH đợc chọn Vùng nhớ ROM 4K có địa từ CS1 2000Hữ3FFFH đuợc chọn bơi Vùng nhớ RAM 8K có địa từ Mạch ADC 0809 đợc phân vùng từ CS địa 4000Hữ5FFFH đợc chọn Tiếp theo mạch vào logic 74LS244 đợc bố chí vùnh nhớ 6000H, 74LS373 vùng nhờ 6001H Lập lu đồ chơng trình: a Lu đồ chơng trình chính: I II 14 Start Lap thong so ban dau Start ? INT No Yes False Kenh TinhTtb Vao t Hien thi Thuc hien chuong trinh va cho ngat True Dung ? Yes False Kenh +1 Ttb >MAX No False Ttb[...]... SUBB A,#MAX; Ta so sánh phần nguyên của nhiệt độ với MAX JNC ALARM ; Nếu nhiệt độ lớn hơn MAX thì báo động MOV A,41H SUBB A,MIN ;So sánh phần nguyên của nhiệt độ với nhiệt độ MIN JC ALARM ; Nếu nhiệt độ nhỏ hơn nhiệt độ MIN thì báo động ;**** **** ;**** So sánh T từng kênh với T TB cho phép **** MOV DPTR,#2000H MOV R7,#200 ; Số lần lặp lại hiển thị đèn các kênh có nhiệt độ cao Repeat_3: MOV 40H,#9 ;Thực... với 8 kênh đo Loop 4: DJZ 40H, END_COMPARE MOVX A,@DPTR INC DPTR SUBB A,41H ;So sánh nhiệt độ của kênh đo với nhiệt độ trung bình MOV 09H,C ;lu giữ dấu của phép toán SUBB A,45H JC Loop 4 MOV C,09H ;Lấy lại dấu của phép toán JC LESS JNC GREAT LESS : INC 47H; tăng thêm số lợng kênh có nhiệt độ đo nhỏ trong 47H CALL Green_LED JMP Loop4 GREAT: I II 22 INC 46H ; tăng thêm số lợng kênh có nhiệt độ đo lớn trong... trên D2 Q2 Sơ đồ chân vi mạch nh sau: D1 Q1 D0 Q0 D0ữD7 là các tín hiệu đầu vào dữ liệu Q0ữQ7 là các tín hịu dữ liệu đợc chốt ở đầu ra Khi có tín hiệu tích cực thấp vào đầu vào OE thì tín hiệu đợc chốt ở đầu ra Q E là chân cho phép vi mạch hoạt động Ta nối chân này xuống đất Cổng vào cũng dùng vi vạch vào một chiều 74LS244 có sơ đồ chân nh I II 12 sau Nguyên lý hoạt động của vi mạch tơng tự nh trên... điện áp vào chuẩn +5v - Ref(-): điện áp vào chuẩn 0 - Vcc: nguồn cung cấp Các đặc điểm của ADC 0809 - Độ phân giải 8 bít - Tổng sai số cha chỉnh 1LSB - Thời gian chuyển đổi 100 às - Nguồn cung cấp 5 V - Điện áp vào 0-5V - Tần số xung clock 10kHz 1028 kHz - Dễ dàng giao tiếp với vi xử lý hoặc dùng riêng - Không cần điều chỉnh zero hoặc thang đo Nguyên lý hoạt động: Khi có tín hiệu ALE và Start ở.. .Thiết bị này loại trừ khả năng cần thiết điều chỉnh điểm zero bên ngoài và khả năng điều chỉnh tỉ số làm cho ADC đễ dàng giao tiếp với các bộ vi xử lý - ý nghĩa các chân: - IN0 IN7: 8 đầu vào tơng tự - A,B,C : các tín hiệu chọn kênh - Các chân 2.1-2.7: là các đầu ra 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... ;****Ta có (DPH) = 20H từ phần trên **** MOV R4,#00H; R4 chứa byte thấp địa chỉ nhiệt độ đo MOV R5,#0FH; R5 chứa byte thấp địa chỉ của phần nguyên nhiệt độ Loop1: MOV DPL,R4 MOV A,@DPTR INC R4 DIV AB MOV DPL,R5 MOVX @DPTR,A INC DPTR MOV A,B MOVX @DPTR,A INC R5 DJNZ 40H,Loop1 ;****Thực hiện cộng phần nguyên của nhiệt độ đo* *** MOV 40H,#8 MOV 41H,#0 MOV DPTR,200FH Loop2: MOVX A,@DPTR ADD A,41H MOV 41H,A... EX1ISR: MOV A,R2 SUBB A,#8 ; Xem số kênh đo đợc đã đủ 8 cha JC ĐO ; Nếu cha đủ thì tiếp tục đo JNC Tinh_TB; Nếu đã đủ rồi thì tính Ttb ĐO: MOV DPTR,#PortA I II 20 MOVX A,@DPTR CALL STANDARD ;Chuẩn hoá số liệu vào MOV DPL,R0; MOV DPH,#20H; MOVX @DPTR,A ; chuyển số liệu sau khi chuẩn hoá vào địa chỉ ;**** tơng ứng của nó RETI Tinh_TB: MOV 40H,#8; 40H chứa vòng lặp 8 kênh đo MOV B,#8 ;****Ta có (DPH) = 20H... IN6 IN7 (?) d Bộ phận hiển thị: Ta dùng đèn LEG 7 thanh, đèn này đợc nối với đầu ra của mạch giải mã BCD/7 seg chọn loại vi mạch 74LS47 Sơ đồ chân vi mạch nh hình sau: U1 74LS47 A3 A2 A1 A0 g f e d c b a test RBI RBO U1 e Cổng mạch vào/ ra dùng vi 74LS373 mạch logic một chiều OE E Cổng ra:cổng ra đơn giản có thể là mạch lật D để D7 Q7 D6 Q6 chốt lại 1 bit D5 Q5 Ta dùng cổng ra 8 bit 74LS373 là tổ hợp... MOV A,41H ;Lấy phần ngutên nhiệt độ trung bình (A) MOV B,#10 DIV AB MOVX @DPTR,A; Cất số hàng chục vào ô nhớ RAM MOV A,B INC DPTR MOVX @DPTR,A ;Cất số hàng đơn vị vào ô nhớ tiếp theo INC DPTR MOV A,42H MOV B,#10 DIV AB MOVX @DPTR,A;Cất số thập phân thứ nhất vào ô nhớ tiếp MOV A,B INC DPTR MOV @DPTR,A ;Cất số thập phân thứ hai vào ô nhớ tiếp ;**** Thực hiện hiển thị nhiệt độ trung bình **** Repeat 2:... ; R5 chứa thứ tự sáng của đèn MOV R6,#0001.0000B ; R6 điều kiện để kết thúc MOV R7,#125; Số lần lặp lại của hiển thị 4 đèn Repeat 1: MOVX A,@DPTR; đầu tiên hiển thị số hàng chục MOV #PortC,A MOV A,R5 RL A ;Chuyển hiển thị đến đèn tiếp theo MOV #Port B,A CALL DELAY_4ms INC DPTR XOR A,R6 JNZ Repeat 1 DEC R7 JNZ Repeat 2 RET ;**** Phần chơng trình con hiển thị báo nhiệt độ thấp của từng kênh*** Green_LED: