THIẾT KẾ HỆ VI XỬ LÝ 8 BIT.
Trang 13 Bộ nhớ dữ liệu RAM : 8KB ( địa chỉ tuỳ chọn ) 4 Cổng vào tơng tự 8 kênh nhận tín hiệu đo
nhiệt độ từ 0V5V tơng ứng với nhiệt độ
0100C, các cổng vào ra số liệu và mạch điều
3 Sau mỗi lần đọc tính nhiệt độ trung bình cộng của 8 kênh và gửi ra cổng hiển thị bằng đèn LED.
4 So sánh nhiệt độ của từng kênh với giá trị nhiệt độ trung bình Nếu kết quả lớn hơn hoặc nhỏ hơn giá trị cho phép cho trớc thì gửi tín hiệu báo động cao hoặc thấp tơng ứng với kênh đó Giá trị cho phép này đặt trong một ô nhớ của RAM
5 Chơng trình dừng lại và báo động bằng còi khi xảy ra một trong các trờng hợp sau:
Có ít nhất 4 kênh đo vợt quá hoặc nhỏ hơn giới hạn cho phép so với giá trị trung bình
Giá trị nhiệt độ trung bình lớn hơn hoặc nhỏ hơn giá trị giới hạn MAX, MIN tơng ứng Các giá trị giới hạn MAX, MIN đợc đặt trong 2 ô nhớ của RAM
II Các b ớc tiến hành
1 Chọn bộ vi xử lý (8085 hoặc 8051,) Thiết kế sơ bộ sơ đồ khối
2 Thiết kế bộ nhớ, cổng vào /ra bằng mạch logic,mạch giải mã, mạch chốt,ADC,Xác định
địa chỉ cho các tín hiệu vào /ra Lập bản đồ bộ nhớ
3 Chọn linh kiện Nghiên cứu và chọn chế độ làm
việc của linh kiện phù hợp với yêu cầu (logic và vật lý) cho thiết kế ở bớc 2.
4 Thiết kế sơ đồ chi tiết cho hệ
Trang 2LờI NóI ĐầU
Vào năm 1971 tập doàn INTEL đã cho ra đời họ vi xử lý đầu tiên 4004 là vi xử lý 4 bit Và từ đó đến nay nó liên tục phát triển và nâng cao từ họ vi xử
lý 4 bit đầu tiên đến nay là vi xủ lý 32 bit và 64 bit với tần số xung nhịp f=100200 MHz , ngày nay chúng đợc ứng dụng rộng rãi vào trong cuộc sống và đặc biệt là trong các ngành công nghiệp
Bên cạnh họ vi xử lý, vào năm 1976 INTEL giới thiệu bộ vi
điều khiển (microcontroler) 8748, một chip tơng tự nh các bộ vi xử lý và là chip đầu tiên trong họ vi điều khiển MCS – 48, bao gồm 1 CPU , 1Kbyte EPROM, 64 byte RAM, 27 chân xuất nhập và một bộ định thời 8 bit
Độ phức tạp , kích thớc và khả năng của bộ vi điều khiển đợc tăng lên một bậc quan trọng vào năm 1980 khi INTEL công bố chip 8051, bộ vi điều khiển đầu tiên của họ vi điều khiển MCS –51 Chip này chứa trên 60000 transistor, bao gồm 4 K byte ROM, 128 byte RAM , 32 dờng xuất nhập, 1 port và 2 bộ định thời 16 bit đây là một số lợng mạch đáng chú ý trong một IC đơn chip Các thành viên mới đựơc thêm vào họ MCS – 51 và các biến thể ngày nay gần nh gấp đôi các đặc trng này
Dới sự phát triển mạnh mẽ đó của công nghệ vi xử lý thì 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ế là một công việc quan trọng của sinh
vên,những ngời kỹ s tơng lai
Với kiến thức về vi xử lý đợc học trong hai kỳ, có sự tham khảo trong sách vở, và đặc biệt đợc sự giúp đỡ chỉ bảo tận tình của 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 độ của lò Thông qua bản thiết kế này em đã đợc áp dụng những kiến thức đã học vào công việc thiết kế phần cứng và viết phần mềm cho hệ vi điều khiển.
Tuy vậy, đây mới chỉ là phần lý thuyết , em rất muốn thiết
Trang 3và lập trình.Nhng do thời gian có hạn cũng nh kiến thức còn hạn chế nên không thể tránh khỏi những thiếu xót
Em mong thày cô chỉ bảo và giúp đỡ em
Trang 4Thiế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 8 bit đợc sử dụng cho những ứng dụng công nghiệp, đợc hãng intel công bố vào năm 1980.
8051 là bộ vi điều khiển đầu tiên của họ vi điều khiển
MCS –51, với những đặc điểm sau: Độ dài từ dữ liệu là 8 bit
Rất tiện dùng cho hệ điều khiển Tập lệnh rất phong phú với 256 lệnh ROM bên trong là 4 K
RAM bên ngoài là 128 byte
Có 32 đờng vào ra theo hai hớng qua 4port xuất
Có 6 nguồn ngắt ,5 vector ngắt với 2 mức u tiên Đã có bộ giao động bên trong với tần số 12Mhz Có 2 thanh chứa A & B mỗi thanh 8 bit, trong đó
B thờng dùng cho phép chia
Trang 5Sơ đồ khối của chip 8051
8051 có 2 khoảng địa chỉ độc lập cho bộ nhớ chơng trình( ROM ) và bộ nhớ dữ liệu( RAM ) Sự độc lập của bộ nhớ chơng trình và bộ nhớ dữ liệu cho phép bộ nhớ dữ liệu đợc xử lí bởi địa chỉ 8 bit Nó có thể đợc lu trữ và thao tác nhanh hơn bởi CPU 8 bit Tuy nhiên địa chỉ 16 bit cũng có thể đợc phát ra thông qua thanh ghi DPTR.
Bộ nhớ chơng trình (ROM,EPROM) là bộ nhớ chỉ có đọc Bộ nhớ này có thể lên tới 64Kbyte Trong 8051 4Kbyte thấp nhất của bộ nhớ chơng trình là trên chip.Bộ nhớ ngoài có thể đọc đợc nhờ tín hiệu chốt của chân PSEN.
Bộ nhớ dữ liệu RAM độc lập với bộ nhớ chơng trình 128 byte thấp nhất của bộ nhớ dữ liệu trên chip và nó có thể truy nhập đến 64Kbyte ngoài CPU sẽ phát ra các tín hiệu RD và WR cần thiết trong suốt quá trình xử lí bộ nhớ dữ liệu
4 Kbyte ROM trong có thể đợc chọn bởi nối chân EA vào mức 0 (nếu bằng 1 thì ROM ngoài ) Khi truy nhập bộ nhớ ngoài sử dụng cổng P0 và P2 làm 16 đờng vào ra Trong đó P0 làm
Trang 6chức năng Bus địa chỉ và Bus dữ liệu, chân ALE xuất hiện tín hiệu chốt địa chỉ( byte thấp của dịa chỉ 16 bit)
- Vùng 1 :Địa chỉ từ 00H đến 1FH là phần thấp nhất đ-ợc chia thành 4 khối của 8 thanh ghi Các lệnh của ch-ơng trình sẽ gọi các thanh ghi này từ R0 đến R7 Hai bit trong thanh ghi trạng thái (RS0,RS1 ) sẽ lựa chọn khối 4 này
- Vùng 2: Địa chỉ từ 20H đến 2FH bao gồm 16 byte là vùng ô nhớ địa chỉ theo bit
- Vùng 3: Địa chỉ từ 30H đến 7FH làm chức năng thông thờng của bộ nhớ RAM
- Vùng các thanh ghi chức năng đặc biệt (SFR).Có 21 thanh ghi chức năng đặc biệt chiếm phần trên của RAM nội từ địa chỉ 80H đến FFH
Trang 7II Sơ đồ khối của hệ thống:
Trang 8
a Bộ vi điều khiển 8051:Có chức năng điều khiển hoạt động của toàn bộ hệ thống
b Bộ nhớ chơng trình ROM ( Read Only Memory):
Chỉ có thể đọc số liệu viết trong ROM, không thể viết vào trong quá trình lập trình, khi nguồn nuôi mất thì số liệu trong ROM vẫn còn.
ROM đợc dùng để chứa chơng trình điều hành hoặc các chơng trình ứng dụng “ user’s program”
c Bộ nhớ dữ liệu RAM ( Random Access Memory):
Nghĩa là tại thời điểm bất kỳ ngời dùng cũng có thể viết số liệu vào trong RAM hoặc đọc từ RAM ra bằng lệnh W/R Khi nguồn nuôi mất thì số liệu trong RAM cũng mất, nh vậy RAM đợc dùng để chứa số liệu trao đổi giữa hệ vi điều khiển và thiết bị ngoại vi
d Các cổng vào ra I/O:
Các vi mạch vào ra để làm cổng vào ra số liệu, các vi mạch này sẽ trao đổi trực tiếp số liệu với ngoại vi ( các 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à các sensor đo nhiệt độ để cảm biến nhiệt độ của đối tợng cần đo, thông qua bộ biến đổi A/D biến các đại lợng t-ơng tự thành thông tin về nhiệt độ đa vào cổng vào ra 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ệ về mặt trao đổi thông tin giữa các khối chức năng:
Trang 9PROGRAM MEMORY DATA MEMORY
Từ ngoại vi , các bộ sensor cảm biến nhiệt độ đầu vào của nó là nhiệt độ của đối tợng đo, đầu ra là giá trị điện áp biến thiên từ
0V5V, giá trị biến thiên điện áp này đuợc đa đến bộ biến đổi tơng tự số A/D
Đầu ra của bộ A/D là các tín hiệu số (số hexa) mang thông tin về nhiệt độ.
Thông tin này đa đến cổng vào ra I/O , thông qua Data Bus vào vi xử lý
Vi xử lý định địa chỉ và cất số liệu vào bộ nhớ dữ
trình đều đợc lu trú trong RAM.
Các chíp vi điều khiển thờng đợc dùng làm thành phần trung tâm trong các thiết kế hớng điều khiển, trong đó bộ nhớ có dung lợng giới hạn, không có ổ đĩa và hệ điều hành Chơng trình điều khiển phải thờng trú trong ROM
Do vậy 8051 có không gian nhớ riêng cho chơng trình và dữ liệu Cả hai bộ nhớ này đều đặt bên trong chip
Trang 10
Bộ nhớ ngoài
Bộ nhớ chơng trình EPROM
Trong vi điều khiển bộ nhớ chơng trình của nó có 4K byte ROM trong,và bộ nhớ ngoài EPROM2732 có dung lợng 4K Đây là bộ nhớ lập trình xoá bằng tia cực tím, nó có tốc độ truy nhập rất nhanh, nó có 12 đờng chọn địa chỉ và có 8 đ-ờng ra dữ liệu EPROM chỉ đợc hoạt động khi chân #OE ở mức tích cực thấp, nó đợc vi điêù khiển chọn làm việc khi chân #CE cũng đợc tích cực thấp EPROM đợc nuôi với mức điện áp 5V, điện áp này đợc đa vào bộ nhớ thông qua chân Vpp Địa chỉ của EPROM trong hệ thống là 00000FFFH.Địa chỉ này đợc chọn bởi vi mạch giải mã địa chỉ 74138, với đầu ngoài RAM có dung lợng 8K byte, có 13 đờng địa chỉ 8 đ-ờng dữ liệu Nó có địa chỉ 20003FFF, địa chỉ này đợc
Ngoài ra còn có đờng chọn vỏ khác là CS2 đợc nối tích cực và có hai đờngtín hiệu yêu cầu đọc viết là #OE, #WE
Sơ đồ chân của RAM
2732
Trang 112 Các mạch phụ trợ
a Mạch giải mã 74LS138
Khi muốn có nhiều đầu ra chọn vỏ từ bộ giải mã thì không nên dùng mạch NAND đơn giản nữa mà nên dùng mạch giải mã đã chế tạo chuẩn.
Nó bao gồm 14 chân, trong đó:
dùng chọn cho bộ nhớ 8 KB
A,B,C là 3 đờng địa chỉ vào , tích cực cao.
E1 ,E2 là các đầu vào cho phép làm viêc , tích cực ở mức
Trang 12Khi port 0 đợc sử dụng làm bus địa chỉ/dữ liệu đa hợp Chân ALE của VXL xuất hiện tín hiệu dể chốt địa chỉ, tín hiệu này đợc nối vào đầu vào chốt của vi mạch 74HC373 và tín hiệu địa chỉ đợc chốt ở đây trong 1/2 chu kỳ đầu của bộ nhớ.Chân port 0 sẽ xuất nhập dữ liệu hợp lệ trong suốt 1/2 chu kỳ còn lại
c Bộ chuyển đổi tơng tự số ADC 0809
Bộ ADC 0809 là một thiết bị CMOS tích hợp với một bộ chuyển đổi tơng sang số 8 bit, bộ chọn kênh và mật bộ logic điều khiển tơng thích Bộ chuyển đổi tơng tự số này sử dụng phơng pháp chuyển đổi xấp xỉ Bộ chọn kênh có thể chọn ra kênh cần chuyển đổi bằng 3 chân chọn địa chỉ 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:
Trang 13- 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 +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 ở mức tích cực nó sẽ chốt tín hiệu ở đầu vào của kênh đợc chọn bởi 3 chân A,B,C và bắt đầu chuyển đổi trong khoảng thời gian 100s Sau đó nó phát ra xung EOC báo đã chuyển đổi xong.
Khi có tín hiệu Enable ( OE ) ở mức tích cực sẽ cho phép các thiết bị có đọc số liệu ở đầu ra
Việc lựa chọn các kênh tuân theo quy luật sau:
Trang 14X X X (?)
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
Trang 15f Mạch chốt 7475:
Đầu vào số liệu D0D3 đợc chốt lại ở đầu ra Q0Q3 khi có tín hiệu chốt đa vào đầu vào E01.Tín hiệu đầu ra này đợc giữ lại đến khi có tín hiệu mới đợc chốt tiếp
Trang 16Vi mạch ROM , RAM 8 K nên dùng 13đờng địa chỉ từ A0A12 Từ A13A15 dùng để chọn vùng nhớ cho các vi mạch, nó đợc đ-a vào đầu vào mạch giải mã 74LS138.
Thuc hien chuong trinh va cho ngat
Dung ?
YesNo
Trang 17b.Lu đồ chơng trình phục vụ ngắt INT 1 để vào số liệu:
Trang 18c.Lu đồ chơng trình phục vụ ngắt ngoài INT 0 (Dừng
Trang 19d Ngoài ra còn có các lu đồ chơng trình con tạo chễ,
Trang 21MOV SP,#5FH; Khởỉ tạo đỉnh stack tại 60H MOV PSW,#0000.1000B; Làm việc với bank 1 Khoi_tao:
MOV R3,#9; Vòng lặp để đo các kênh MOV R2,#1; số kênh đo đợc
MOV R0,#00H; Phần thấp địa chỉ chọn kênh đo MOV R1,#40H; Phần cao địa chỉ chọn CS
Trang 22JNZ DATA_INPUT ;Nếu đo cha đủ 8 thì đo tiếp JZ Khoi_tao ;Nếu đo đủ rồi thì bắt đầu lại từ đầu
Trang 23;**** Chơng trình phục vụ ngắt ngoài INT1 **** 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
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
Trang 25MOV 40H,#9 ;Thùc hiÖn vßng lÆp 8 lÇn t¬ng øng víi 8 kªnh
Trang 26DIV AB
MOV 31H,A; PhÇn nguyªn 1(31H) MOV A,B; D 1A
Trang 27MOV @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: MOV DPTR,#2100H
MOV R5,#1000.0000B ; 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
Trang 28CALL DELAY _4ms
;****Ch¬ng tr×nh con t¹o trÔ 4ms****
MOV R6, #50; R6 chøa sè lÇn thùc hiÖn vßng lÆp ë ngoµi Tao_tre4:MOV R7,#15 ; R7 chøa sè lÇn thùc hiÖn vßng lÆp ë
Trang 29Date:9-Jun-2002 Sheet of File:C:\PROTEL\CHIEN1.SCHDrawn By: