THIẾT KẾ HỆ VI XỬ LÝ 8 BIT
Trang 1ĐỀ TÀI THIẾT KẾ HỆ VI XỬ LÝ 8 BITYÊU CẦU
Phần cứng :
1 Bộ vi xử lý 8 bit (8085, 89C51 .)
2 Bộ nhớ chương trình ROM : 8KB từ địa chỉ 0000H
3 Bộ nhớ dữ liệu RAM 8kB có địa chỉ tuỳ chọn
4 Cổng vào tương tự 8 kênh nhận tín hiệu nhiệt độ từ 0 – 10Vtương ứng vói nhiệt độ từ 0 – 200 độ C
2 Đọc tín hiệu từ 8 kênh đo lư trữ trong vùng nhớ RAM
3 Sau mỗi lần đọc tính giá trị trung bình của nhiệt độ và gửi kết quả
Trang 2Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
PHẦN I THIẾT KẾ MẠCH PHẦN CỨNG
CHƯƠNG I ĐỊNH HƯỚNG THIẾT KẾ
Thiết kế một hệ vi xử lý bao gồm cả việc thiết kế tổ chức phần cứng và viếtphần mềm cho nền phần cứng mà ta thiết kế Việc xem xét giữa tổ chức phần cứng
và chương trình phần mềm cho một thiết kế là một vấn đề cần phải cân nhắc Vì khi
tổ chức phần cứng càng phức tạp, càng có nhiều chức năng hỗ trợ cho yêu cầu thiết
kế thì phần mềm càng được giảm bớt và dễ dàng thực hiện nhưng lại đẩy cao giáthành chi phí cho phần cứng, cũng như chi phí bảo trì Ngược lại với một phầncứng tối thiểu lại yêu cầu một chương trình phần mềm phức tạp hơn, hoàn thiệnhơn; nhưng lại cho phép bảo trì hệ thống dễ dàng hơn cũng như việc phát triển tínhnăng của hệ thống từ đó có thể đưa ra giá cạnh tranh được
Từ yêu cầu và nhận định trên ta có những định hướng sơ bộ cho thiết kế nhưsau:
+ AT89C51 có các đặc trưng chuẩn sau: 4Kb Flash, 128 byte RAM, 32đường xuất nhập, bộ định thời / đếm 16 bit, một cấu trúc ngắn hai mức ưu tiên và 5nguyên nhân ngắt, một port nối tiếp song song công, mạch dao động và mạch daođộng và mạch tạo xung trên chíp
Vì những lý do trên mà việc lựa chọn vi điều khiển 89C51 là một giải pháphoàn toàn phù hợp cho thiết kế
2 Tổ chức ngoại vi:
Trang 3+ Xử lý tín hiệu vào ta dùng thiết bị chuyển đổi tương tự/ số (ADC) có 8 kênhvào tương tự kết nối với 8 tín hiệu đo nhiệt độ từ 0 10V tương ứng với nhiệt độ
Tất cả các thiết bị phải được kết nối với nhau thông qua các bus cần thiết gồmbus dữ liệu, bus địa chỉ và bus điều khiển
Sơ đồ khối cho thiết kế phần cứng của hệ thống như sau:
VXL
v o ào tương
tự 8 kênhKhối hiển thị
Control Bus
Address Bus
Mạch giao tiếp8255
Data Bus
Trang 4Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
CHƯƠNG II NỘI DUNG THIẾT KẾ
I tổ chức phần cứng hệ VXL89C51.
1 Hệ vi xử lý AT89C51:
1.1 Sơ đồ chân hệ vi xử lý AT89C51:
Port 0
Port 0 là port xuất nhập 8 bit hai chiều cực D hở
Port 0 còn được cấu hình làm bus địa chỉ ( byte thấp ) và bus dữ liệu đa hợptrong khi truy xuất bộ nhớ dữ liệu ngoài vcà bộ nhỡ chư[ng trình ngoài
Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và các byte mãtrong khi kiểm tra chương trình
Port 1
Port 1 là port xuất nhập 8 bít
Port 1 cũng là byte địa chỉ thấp trong thừi gian lập trình cho Flash và kiểmtra chương trình
Port 2
Port 2 là port xuất nhập 8 bit hai chiều
Port 2 tạo ra byte cao của địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớchương trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng địachỉ 16 bit
Port 2 cũng nhận các địa chỉ cao và tín hiệu điều khiển trong thời gian lậptrình cho Flash và kiểm tra chương trình
Port 3
Trang 5Port 3 là port xuất nhập 8 bit hai chiều.
Port 3 cũng còn được dùng làm chức năng khác của AT89C51 các chứcnăng được liệt kê như sau:
Chân của port Chức năng
P3.0 RxD ( ngõ vào của port nối tiếp )
P3.1 TxD ( ngõ ra của port nối tiếp )
P3.2 INT 0 ( ngõ và ngắt ngoài 0 )
P3.3 INT 1 ( ngõ vào ngắn ngoài 1 )
P3.4 TO ( ngõ vào bên ngoài của bộ định thời 0 )
P3.5 T1 ( ngõ vào bên ngoài của bộ định thời 1 )
P3.6 RW( điều khiển bộ nhớ dữ liệu ngoài )
P3.7 RD ( điều khiển đọc bộ nhớ dữ liệu ngoài )
Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và điềukhiển chương trình
RST
Ngõ vào reset
ALE/PROG xung của ngõ ra cho phép chốt địa chỉ ALE cho phép chốt bytethấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài Chân này cũng được dùnglàm ngõ vào xung lập trình ( PROG ) trong thời gian lập trình Flash
Chân EA nối với VCC để thực hiện chương trình bên trong chíp
pp V
Trang 6Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
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 haivù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 8bit đị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 dunglượ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ìnhtruy 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ôngqua các chân RD và WR
00H 0000H
Số liệu
Bộ nhớ mở rộng
Bộ nhớ
m ở
|EA=0
Bộ nhớ ngo i ài
FFFFH
Hình 2.3: Cấu trúc bộ nhớ của họ
Trang 7MCS-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ủacổ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ânchia 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ắtquá 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ớivù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 địachỉ của bộ nhớ số liệu ngoài có thể là 8 bit hoặc 16 bit Bus địa chỉ rộng 8 bitthường được sử dụng để liên kết với một hoặc nhiều đường vào ra khác để định địachỉ 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 256byte 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:
Trang 8Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
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 LEDqua đườ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ểnthị 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ếnnhiệt độ sẽ được kết nối vào 8 cổng vào của ADC, ADC được điều khiển bởiVXL89C51 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ùngnà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
II 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ầucho nhớ dữ liệu, vì 89C51 đã có 128 bytes RAM trong và yêu cầu cần thiết kế bộ
Trang 9nhớ 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
Thực ra thì ta có thể dùng bộ nhớ ROM ngoài là các chíp nhớ EPROM códung lượng 4K hoặc 8K có bán trên thị trường để mở rộng bộ nhớ.Tuy nhiên, đểcho đơn giản ta lựa chọn giải pháp là dùng bộ nhớ ROM 8k trên chíp vi điều khiển89S51.Như vậy sẽ đơn giản hơn rất nhiều cho thiết kế mà vẫn phù hợp với nộidung phạm vi cho phép của chương trình
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ỉ 20003FFF, địachỉ 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 đổitươ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àmcho 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
Trang 10- Đả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.
- 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
Trang 11Cấ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 ápcần được chuyển đổi sẽ được chốt lại ở cổng vào tương ứng xung Start bắt đầuchuyển đổi Sau xung START khoảng 10μs đầu ra EOC (end of convert) lúc nàyxuống thấp thực sự bắt đầu quá trình chuyển đổi Trong suốt quá trình chuyển đổiEOC 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 s, ADC0809 thực hiện việc chuyển đổi xong, dữ liệu đầu vàođược đưa đến bộ đệm đầu ra ba trạng thái đồng thời chân tín hiệu EOC chuyển lênmức cao báo cho VXL biết để đọc kết quả vào
c Ghép ADC0809 với VXL8051.
+ Các kênh vào Analog được nối vào các đầu vào tương ứng của ADC Mỗikênh đó có địa chỉ riêng do tổ hợp 3 bit địa chỉ A,B,C quy định Các đầu vào địachỉ này kết nối với đường địa chỉ A0A1A2 của Bus địa chỉ của hệ thống Các đườngđịa chỉ cao của hệ thống được dùng để tạo tín hiệu chọn chip (/CS) cho ADC0809
Trang 12Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47+ Tín hiệu /CS được đưa tới đầu vào của mạch OR để khởi động ADC (Start)khi có tín hiệu /WR đồng thời chốt địa chỉ (ALE) của kênh hiện hành có giá trị làgiá trị 3 bit A,B,C Tín hiệu /CS cũng được đưa tới đầu vào của mạch OR thứ hai
để tạo tín hiệu OE cùng với /RD nhằm chốt dữ liệu đã biến đổi xong ở đầu ra
+ Vì khi biến đổi xong, ACD0809 dùng tín hiệu ra chân EOC để báo choVXL biết mã nhị phân tương ứng với mức cao của tín hiệu đầu vào đã được tạo ra
Vì vậy ta kết nối EOC với đầu vào ngắt ngoài /INT1 của 8051
- + 8 bit dữ liệu thường được ghép trực tiếp với Bus dữ liệu hệ thống vìbản thân bộ đệm ra là 3 trạng thái, cũng có thể ghép qua 8255
3.Vi mạch giao tiếp song song PPI 8255:
Vi mạch 8255 là một vi mạch được sử dụng phổ biến để giao tiếp trong các hệVXL 8 – 16 bit Sử dụng 8255A làm cho việc thiết kế để ghép nối bộ VXL với cácthiết bị ngoại vi đơn giản đi nhiều, độ mềm dẻo của thiết kế sẽ tăng lên và linh kiệnphụ trợ đi kèm cũng giảm đi nhiều Do có khả năng lập trình được nên nó có thểvừa dùng như cổng nhận số liệu cũng như xuất số liệu tuỳ nội dung của từ điềukhiển mà người lập trình đưa vào
Trang 13a Sơ đồ chân và sơ đồ chức năng của 8255A.
Sơ đồ chức năng và sơ đồ chân của 8255A được thể hiện dưới hình vẽ sau:
Chân 35 (Reset input): ngõ vào xóa, chân reset phải được nối với tín hiệu
reset out của vi xử lý để không làm ảnh hướng đến mạch điều khiển Khi reset, cáccổng của 8255A là các ngõ vào, đồng thời tất cả các dữ liệu trên thanh ghi bêntrong 8255A đều bị xóa, 8255A trở về trạng thái ban đầu săn sàng làm việc
Chân 6 (CS\): tín hiệu ngõ vào chip select (CS\) được điều khiển bởi vi xử lý,
dùng để lựa chọn 8255A làm việc khi vi xử lý giao tiếp với nhiều thiết bị
Chân 5 (RD\): ngõ vào đọc dữ liệu (Read Input).
Chân 36 (WR\) : ngõ vào ghi dữ liệu (Write Input).
Chân 8,9 (A 1 , A 0 ): ngõ vào địa chỉ (Address Input), dùng nhận địa chỉ vào để
lựa chọn thanh ghi và các cổng
Trang 14b Cấu trúc bên trong và hoạt động của 8255A.
Sơ đồ khối cấu trúc bên trong của vi mạch 8255A.
Hoạt động của vi mạch 8255A:
Từ sơ đồ khối cấu trúc bên trong của vi mạch 8255A ta thấy các cổng của
8255A được chia thành 2 nhóm:
Nhóm A gồm cổng A và 4 bit cao của cổng C
Nhóm A
Port C(4 bit thấp)
Port B
Nhóm B
Điều khiển nhóm A
Điều khiển nhóm B
Trang 15- Đường dữ liệu: gồm 8 đường dữ liệu (D0 - D7) Mã lệnh, các dữ liệu đềuđược truyền đi trên đường này.
- Đường địa chỉ: gồm 2 đường (A0 – A1) dùng để lựa chọn cổng hoặc thanhghi điều khiển như đã trình bày ở trên
- Đường điều khiển: gồm các đường RD\, WR\, CS\, Reset dùng để điều
khiển việc hoạt động của 8255A
Để sử dụng các cổng làm công cụ giao tiếp, người sử dụng phải gửi từ điềukhiển ra thanh ghi điều khiển để 8255A định cấu hình làm việc cho các cổng đúngnhư yêu cầu của người lập trình
c Từ điều khiển:
Từ điều khiển là dữ liệu được gửi tới thanh ghi điều khiển (CWR) của 8255.Giá trị của từ điều khiển sẽ xác định cấu hình làm việc cho các cổng của 8255A, đó
là việc lựa chọn chức năng nhập hay xuất của các cổng
Trong từ điều khiển có một bit để phân biệt hai chức năng điều khiển khácnhau là:
+ Định nghĩa chế độ các cửa (bit D7 của từ điều kiển là 1)
+ Lập/xoá các bit của Port C (bit D7của từ điều khiển là 0)
Định nghĩa chế độ các cổng
Khi D7 =1, 8255A sẽ sử dụng thông tin trong CWR để định nghĩa chế độ cáccửa Nội dung của CWR xác định chức năng của 24 đường ghép nối với thiết bịngoại vi Phần mềm của hệ thống sẽ định nghĩa chế độ của PA, PB một cách độclập; còn PC có thể được định nghĩa độc lập hay chia làm hai phụ thuộc vào chế độcủa PA và PB
Trang 16Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47Trong chế độ này có thể có 3 chế độ làm việc khác nhau tuỳ thuộc vào nộidung của hai bit D6D5, cụ thể là:
+ Chế độ 0(Vào ra cơ sở): D6D5 = 00,ở chế độ này 8255A cho khả năngxuất/nhập dữ liệu đơn giản qua cả 3 cổng A, B, C một cách độc lập
+ Chế độ 1 : D6D5 =01, đây là chế độ vào ra có chốt (Strobe), nghĩa là có sựđối thoại giữa ngoại vi và hệ VXL thông qua các bit của cổng C Trong chế độ này,với nhóm A thì PA dùng để trao đổi số liệu và nửa cao của PC (PC4 PC7) để đốithoại giữa ngoại vi và VXL Còn ở nhóm B thì PB dùng để trao đổi số liệu và PCL
d Ghép nối 8255A với VXL8051.
+ Với hệ thống đơn giản có thể phối ghép trực tiếp 8255A với VXL Đầuvào /CS được nối vào một trong các /CSi của giải mã địa chỉ 74LS138 (sẽ đề cậpsau)
Cửa CD
3 D
2 D
1 bit 0 bit 1
bit 2 bit 3 bit 4 bit 5 bit 6 bit 70 0 0
Trang 17A1A0 được giải mã bên trong mạch 8255A để chọn các cửa vào/ra A, B, C và CWRnhư đã đề cập ở trên.
+ Các chân số liệu của 8255 có thể kết nối trực tiếp vào Bus số liệu của hệthống mà không cần đệm 3 trạng thái, vì bản thân các cổng P0 của 8051 đều có đệm
3 trạng thái rồi
e Ghép nối 8255A với thiết bị ngoại vi:
Phần ghép nối với thiết bị ngoại vi của 8255A thông qua 24 đường số liệu vàđiều khiển ở các cổng A, B, C Các đường ghép nối này được định nghĩa bằngchương trình như giới thiệu ở trên Bằng cách chọn chế độ làm việc thích hợp vàchính xác vi mạch 8255A có thể đáp ứng được những nhu cầu ghép nối tinh vi
4 Thiết kế khối hiển thị:
Ở đây ta dùng khối hiển thị là dùng khối hiển thị tinh thể lỏng LCD:
RD WR
BUS S/
L 74245
Chốt Đ/C Thấp 74373
Giải
mã đ/
c (3/8)
RD WR
P2
(P3.7) (P3.6
Trang 18Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
Khối hiển thị này có ưu điểm là:
- Màn hình đang dần có giá thành hạ
- Khả năng hiển thị số, ký tự và đồ họa tốt hơn nhiều so với đèn LED
- Sử dụng thêm bộ điều khiển làm tươi LCD và như vậy giải phóng CPUkhỏi công việc này Còn đối với LED luôn cần CPU hoặc bằng cách nào đó để duytrì việc hiển thị dữ liệu
- Dễ dàng lập trình các kí tự ,đồ họa
Chức năng các chân của LCD
VCC : chân nối nguồn 5V
VSS : chân đất
VEE : chân điều khiển độ tương phản của LCD
RS : chân này dùng để chọn thanh ghi.Nếu RS=0 thì thanh ghi mã lệnhđược chọn còn nếu RS=1 thì thanh ghi dữ liệu được chọn và cho phép người dùnggửi dữ liệu hiển thị lên LCD
R/W : chân vào đọc ghi cho phép người dùng đọc/ghi thông tin từ /lên LCDR/W=0 thì đọc, còn R/W=0 thì là ghi lên LCD
E : chân cho phép được LCD sử dụng để chốt thông tin hiện có trênchân dữ liệu Khi dữ liệu được cấp đến thì một xung cao xuống thấp được áp đếnchân E để LCD chốt dữ liệu trên chân dữ liệu.Xung này phải rộng tối thiểu là450ns
D0-D7 : Đây là 8 chân dữ liệu trên 8 bít ,được dùng để gửi thông tin lên LCDhoặc đọc nội dung của các thanh ghi trong LCD
Ta có thể gửi các mã lệnh đến để điều khiển hiển thị trên LCD ,các mã lệnhnày được cho trong tài liệu kỹ thuật của LCD
Trang 19Trong hệ thống ,khi ghép nối thì các chân của LCD có thể ghép qua 8051hoặc có thể ghép qua các chân của cổng giao tiếp 8255 tùy theo sở thích của người
sử dụng
Trang 201 3 4 9
= 7
5 Khối vào dữ liệu:
Khối vào dữ liệu mà ta sử dụng đó là bàn phím số 16 phím được dùng rộngrãi.Nguyên tắc hoạt động của bàn phím thực chất là nguyên tắc hoạt động của matrận phím Chương trình để chạy bàn phím là chương trình dùng thuật toán "bẫyphím " nghĩa là liên tục quét hàng của bàn phím ,đồng thời khi phát hiện có phímnhấn ,cột tương ứng =0 thì bộ Vi xử lý của ta hoàn toàn có thể xác định được hàng
và cột của phím được ấn và từ đó cho mã của phím
Trang 21C B A /E1 /E2 E1 /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7
Đây là mạch có tác dụng chốt lại số liệu ở đầu
vào khi có tín hiệu tích cực, đầu ra sẽ không bị biến
đổi khi tín hiệu đầu vào đã mất Nó chỉ thay đổi khi
tín hiệu chốt tích cực trở lại Bên ngoài vỏ cũng có tín
hiệu /OE cho phép hoạt động Khi có yêu cầu chốt
chân LE sẽ được tích cực
Trong ghép nối với 89C51:
+ Chân /OE (số 1) của 74LS373 được nối đất
+ Chân LE(số 11) của 74LS373 được nối với chân ALE (số 30) của 89C51
Trang 22Ra LCD
LED b¸o thÊp
T it l e
S iz e D o c u m e n t N u m b e r R e v
D a t e : S h e e t o f
Bui Duc Thang- Automation1-K47-hut
measure the degree
Thiết kế hệ vi xử lý 8 bít Bùi Đức Thắng-TĐH1-K47
III.Sơ đồ thiết kế chi tiết.
Trang 23PHẦN II THIẾT KẾ PHẦN MỀNLƯU ĐỒ THUẬT TOÁN
1.Lưu đồ của chương trình:
- Khởi tạo chế độ của 8255A
- Cho phép ngắt ngo i ài
- Nhập giá trị min, max ,trung bình
-
STOP Đ
Đ
có chọn kênh?
Đ
Có đk báo động?
S
Báo động
Đọc từ ADC Hiện to trung bình
S
Trang 24Chờ đọc xong
Đọc xong ?
N
j=j-1
j=0 N
End
Y Y