Thiết kế hệ vi xử lý 8 bit - Phạm Gia Điềm - pdf 28

Download miễn phí Đề tài Thiết kế hệ vi xử lý 8 bit - Phạm Gia Điềm



Ta sử dụng LED 7 thanh để phụ vụ cho việc hiển thị giá trị nhiệt độ trung bình. Để phối ghép giữa VXL và LED 7 thanh ta sử dụng thêm vi mạch SN7447 để giải mã BCD ra 7 nét và để điều khiển bộ đèn hiển thị. Điều khiển hiển thị số liệu đơn giản nhất là ta cứ cung cấp nguồn liên tục cho LED khi đưa số liệu ra, nhưng cách này rất tốn năng lượng khi số lượng LED sử dụng lớn. Vì vậy thực tế (áp dụng trong thiết kế) ta sử dụng nguyên lý hiển thị động làm việc theo nguyên tắc dồn kênh: Toàn bộ các đèn hiển thị dùng chung một bộ điều khiển SN7447 và các đèn LED không được thắp sáng liên tục mà sáng luân phiên nhau theo một chu kỳ nhất định với thời gian sáng hợp lý (cỡ 20ms) công suất tiêu thụ nhờ thế giảm đi mà vẫn đạt được hiệu quả hiển thị.
 





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ket-noi - Kho tài liệu miễn phí lớn nhất của bạn


Ai cần tài liệu gì mà không tìm thấy ở Ket-noi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


ngõ ra cho phép chốt địa chỉ ALE cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài. Chân này cũng được dùng làm ngõ vào xung lập trình ( ) trong thời gian lập trình Flash.
Chân cho phép bộ nhớ chương trình ngoài , điều khiển truy xuất bộ nhớ chương trình ngoài.
Chân cho phép truy nhập bộ nhớ ngoài , phải được nối với GND để cho phép chíp vi điều khiển tìm nạp lệnh tờ các vị trí ô nhớ của bộ nhớ chương trình ngoài
Chân nối với VCC để thực hiện chương trình bên trong chíp.
còn nhận điện áp cho phép lập trình VPP trong thời gian lập trình cho Flash , điện áp này cấp cho bộ phận có yêu cầu điện áp 12V
XTAL1
Ngõ vào đến mạch khuyếch đại dảo của mạch dao động và ngõ đến mạch xung clock bên trong chíp.
XTAL2
Ngõ ra từ mạch khuyếch đại đảo của mạch dao động.
1.2 Tổ chức bộ nhớ:
1.2.1 Cấu trúc chung của bộ nhớ:
Tất cả các vi điều khiển thuộc họ MCS-51 đều phân chia bộ nhớ thành hai vùng địa chỉ cho bộ nhớ dữ liệu và bộ nhớ chương trình. Sự phân chia logic giữa bộ nhớ dữ liệu và bộ nhớ chương trình cho phép truy nhập bộ nhớ dữ liệu bằng 8 bit địa chỉ giúp cho việc lưu trữ và thao tác dữ liệu nhanh hơn.Tuy nhiên, chúng ta có thể sử dụng địa chỉ bộ nhớ dữ liệu 16 bit thông qua thanh ghi DPTR.
Bộ nhớ chương trình là loại bộ nhớ chỉ cho phép đọc, không cho phép ghi. Một số vi điều khiển được tích hợp sẵn bộ nhớ chương trình bên trong với dung lượng khoảng 4kbyte hay 8 kbyte, số còn lại phải sử dụng bộ chương trình mở rộng mà quá trình truy nhập được thực hiện thông qua sự điều khiển bằng tín hiệu PSEN (Progam Strobe Enable).
Tuy nhiên, vi điều khiển 8051 cho phép ta sử dụng đến 64kbyte bộ nhớ chương trình bằng cách sử dụng cả bộ nhớ chương trình bên trong và bên ngoài.
Bộ nhớ số liệu chiếm giữ vùng địa chỉ phân chia của bộ nhớ chương trình. Dung lượng của bộ nhớ dữ liệu có thể mở rộng lên tới 64 kbyte. Trong quá trình truy nhập bộ nhớ số liệu, CPU phát ra các tín hiệu đọc và tín hiệu viết số liệu thông qua các chân RD và WR.
00H
0000H
Bộ nhớ Chương trình
Bộ nhớ Số liệu
Bộ nhớ mở
rộng
Bộ nhớ
mở
rộng
|PSEN
|WR
|RD
FFH
|EA=1
Bộ nhớ
trong
|EA=0
Bộ nhớ ngoài
FFFFH
Hình 2.3: Cấu trúc bộ nhớ của họ MCS-51.
Chúng ta có thể kết hợp bộ nhớ chương trình mở rộng với bộ nhớ số liệu mở rộng bằng cách cho hai tín hiệu RD và PSEN qua một cổng logic AND, lối ra của cổng AND này sẽ tạo tín hiệu đọc cho bộ nhớ mở rộng.
1.2.2 Bộ nhớ chương trình:
Sau khi Reset, CPU bắt đầu thực hiện chương trình từ địa chỉ 0000H. Vùng đầu của bộ nhớ chương trình là vùng chứa các vector ngắt, mỗi ngắt được phân chia một vùng địa chỉ cố định trong trong bộ nhớ chương trình. Khi xuất hiện ngắt, CPU sẽ nhảy tới địa chỉ này, đây cũng là địa chỉ đầu của chương trình con phục vụ ngắt. Các vector ngắt cách nhau 8 byte, vì vậy nếu chương trình con phục vụ ngắt quá dài (>8 byte) thì tại vector ngắt ta phải đặt một lệnh nhảy không điều kiện tới vùng địa chỉ khác chứa chương trình con phục vụ ngắt.
1.2.3 Bộ nhớ số liệu:
Phía bên phải của Hình 2.3 biểu diễn không gian bộ nhớ dữ liệu của MCS-51. Chúng ta có thể sử dụng tới 64 Kbyte bộ nhớ số liệu ngoại vi. Độ rộng bus địa chỉ của bộ nhớ số liệu ngoài có thể là 8 bit hay 16 bit. Bus địa chỉ rộng 8 bit thường được sử dụng để liên kết với một hay nhiều đường vào ra khác để định địa chỉ cho RAM theo trang. Trong trường hợp bus địa chỉ rộng 16 bit, cổng P2 sẽ phát ra 8 bit địa chỉ cao còn cổng P1 sẽ phát ra 8 bit địa chỉ thấp. Bằng cách này, ta có thể truy nhập trực tiếp lên bộ nhớ dữ liệu ngoài với độ lớn tối đa là 64 Kbyte.
Bộ nhớ số liệu trong được chia ra làm 3 vùng:
+128 byte cao.
+128 byte thấp.
+Vùng dành cho các thanh ghi chức năng đặc biệt (SFR).
Địa chỉ của bộ nhớ số liệu trong luôn là 8 bit, và có thể quản lý được 256 byte bộ nhớ.
2. Tổ chức bộ nhớ (Memory Map):
Từ cấu trúc của vi điều khiển 89C51 giới thiệu ở chương I và yêu cầu thiết kế ta tiến hành phân bổ các vùng nhớ như sau:
Bộ nhớ chương trình 8K ROM chia làm hai vùng:
ROM trong (On-chip) có địa chỉ vật lý: 0000H á 0FFFH.
Bộ nhớ dữ liệu được mở rộng thêm 8K RAM ngoài, với địa chỉ vật lý: 2000H á 3FFFH.
Mạch ghép nối vào/ ra sử dụng IC8255 với địa chỉ của từng cấu hình như sau:
Địa chỉ cổng PA: 4000H
Địa chỉ cổng PB: 4001H
Địa chỉ cổng PC: 4002H
Địa chỉ của từ điều khiển PSW: 4003H
Địa chỉ của ADC08098 kênh vào tương tự: 6000H á 6007H.
3. Khối hiển thị :
Khối hiển thị gồm 8 LED 7 đoạn được tổ chức theo kiểu sáng luân phiên 2.5 ms một lần. LED sáng được chọn bởi 89C51 qua đường điều khiển từ cổng P0.0 -> P0.3. Dữ liệu được hiển thị dưới dạng mã 7 thanh cũng được 89C51 gửi tới LED qua đường data. Để phù hợp giữa số liệu đưa ra cổng của 8255 (ở dạng BCD) với số liệu hiển thị ra LED 7 đoạn, ta sử dụng mạch phần cứng. Vì vậy trong khối hiển thị ta sử dụng vi mạch SN7447 để giải mã số BCD ra mã 7 thanh và để điều khiển bộ đèn hiển thị.
4. Khối các thiết bị giao tiếp/ghép nối.
Cổng vào ra tương tự/số dùng ADC0809. Số liệu vào tương tự từ 8 cảm biến nhiệt độ sẽ được kết nối vào 8 cổng vào của ADC, ADC được điều khiển bởi VXL89C51 thực hiện việc chuyển đổi số liệu sang dạng số và lưu trữ vào một vùng nào đó trong RAM trong.
Cổng vào/ ra số dùng vi mạch PPI 8255 có khả năng lập trình thực hiện quá trình phối hợp trao đổi dữ liệu; cụ thể ở đây là số liệu vào giữa ADC với VXL và số liệu từ VXL ra LED.
Giới thiệu linh kiện và tổ chức phối ghép.
1. Thiết kế bộ nhớ:
Xem xét cấu trúc của 89C51 và yêu cầu cần 8K cho nhớ chương trình ta thiết kế thêm vùng nhớ chương trình dùng thêm 8Kb ROM đặt ở ngoài. Đối với yêu cầu cho nhớ dữ liệu, vì 89C51 đã có 128 bytes RAM trong và yêu cầu cần thiết kế bộ nhớ dữ liệu là 4Kb nên để dễ dàng cho thiết kế ta sử dụng thêm 8Kb RAM ngoài để mở rộng bộ nhớ dữ liệu cho hệ thống.
Bộ nhớ ROM ngoài
Đối với ROM ngoài ta dùng vi mạch nhớ chỉ đọc loại EPROM 2764(8K´8). Đâ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. Với dung lượng 8Kbyte như vậy nó có 13 đườ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à 0000H á1FFFH nên nó được chọn bởi tín hiệu chọn chip /CS1 của giải mã địa chỉ.
Sơ đồ chân của EPROM
Bộ nhớ RAM ngoài
Đối với RAM ngoài ta sử dụng loại SRAM vi mạch dùng trong thiết kế là 6264. Cũng có 13 đường địa chỉ 8 đường dữ liệu. Nó có địa chỉ 2000á3FFF, địa chỉ này được chọn ra trong vùng địa chỉ của vi điều khiển bởi chân /CS2 của giải mã địa chỉ. 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 6264:
2. Vi mạch ADC0809:
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ý.
Các đặc điểm cơ bản của ADC 0809
Nguồn nuôi đơn ± 5 V, hiệu suất cao.
Dải tín hiệu lối vào tương tự 5V khi nguồn nuôi là +5V. Có thể mở rộng thang đo bằng các giải pháp kỹ thuật cho từng mạch cụ thể.
Dễ dàng giao tiếp với vi xử lý vì đầu ra có bộ đệm 3 trạng thái nên có thể ghép trực tiếp vào kênh dữ liệu của hệ VXL.
Tổng sai số chưa chỉnh ±1/2LSB.
Thời gian chuyển đổi 100 ms .
Tần số xung clock 10kHz – 1028 kHz.
Đảm bảo sai số tuyến tính trong dải nhiệt độ từ –400C á 85OC.
a. Bảng chân lý và sơ đồ chân của vi mạch ADC0809.
A
B
C
X
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
X
X
X
(?)
* ý 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 +5v
Ref(-): điện áp vào chuẩn 0
Vcc: nguồn cung cấp
b. Cấu trúc bên trong của ADC 0809
Cấu trúc bên trong của ADC0809 được thể hiện ở hình vẽ dưới:
Hoạt động chuyển đổi:
Các bit địa chỉ ở lối vào A,B,C từ bộ giải mã địa chỉ sẽ chốt và xác định kênh đầu vào nào được chọn. Khi một kênh được chọn đồng thời yêu cầu START, ALE được tích cực, yêu cầu độ rộng xung START không nhỏ hơn 200ns. Giá trị điện áp cần được chuyển đổi sẽ được chốt lại ở cổng vào tương ứng xung Start bắt đầu chuyển đổi. Sau xung START khoảng 10μs đầu ra EOC (end of convert) lúc này xuống thấp thực sự bắt đầu quá trình chuyển đổi. Trong suốt quá trình chuyển đổi EOC luôn ở mức tích cực thấp, đồng thời đầu ra 3 trạng thái của ADC0809 bị thả nổi. Sau khoảng 100 ms, ADC0809 thực hiện việc chuyển đổi xong, d...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status