1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI tập lớn VI xử lý

19 1,1K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết kế mạch đo khoảng thời gian giữa hai sự kiện hiển thị kết quả trên LED 7 vạch
Tác giả Mã Văn Châu
Người hướng dẫn Giáo viên hướng dẫn Nguyễn Văn Tiến
Trường học Trường Đại học Hàng Hải Việt Nam
Chuyên ngành Điện tử và Vi xử lý
Thể loại Bài tập lớn
Năm xuất bản 2013
Thành phố Hải Phòng
Định dạng
Số trang 19
Dung lượng 216 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết kế mạch đo khoảng thời gian giữa 2 sự kiện có hiển thị kết quả trên LED 7 vạch

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI

KHOA ĐIỆN – ĐIỆN TỬ TÀU BIỂN

BÀI TẬP LỚN

MÔN: VI XỬ LÝ

Giáo viên hướng dẫn : NGUYỄN VĂN TIẾN

Hải Phòng, Năm 2013

Trang 2

ĐỀ 5: ‘‘Thiết kế mạch đo khoảng thời gian giữa hai sự kiện có hiển thị kết quả

trên LED 7 vạch ’’

Yêu cầu nội dung:

Xây dựng mạch nguyên lý hệ VĐK gồm: VĐK 8051, LED 7 vạch, nút ấn và các vi mạch phụ trợ khác nhằm thực hiện chức năng đo khoảng thời gian

Trình tự:

- Mô tả công nghệ

- Xây dựng mạch phần cứng

-Thuyết minh nguyên lý hoạt động của mạch

- Xây dựng lưu đồ thuật toán

- Viết phần mềm điều khiển , thuyết minh cách thức hoạt động

Trang 3

ĐỀ CƯƠNG SƠ BỘ

Chương 1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051

1.1.Cấu trúc phần cứng

1.2.Sơ đồ chân và chức năng từng chân

Chương 2 ỨNG DỤNG ĐO KHOẢNG THỜI GIAN 2 XUNG

2.1.Mạch tạo xung sử dụng time 555

2.2.Giới thiệu về LED 7 vạch

2.3 Lưu đồ thuật toán

2.4.Mạch đo và chương trình hợp ngữ

Trang 4

LỜI NÓI ĐẦU

Bộ vi xử lý là hạt nhân của hệ VXL.Nó thực hiện các phép tính logic hoặc số học

để điều khiển toàn bộ hoạt động của hệ

- Đọc các lệnh từ ô nhớ ,giải mã lệnh và thực hiện lệnh

- Trao đổi số liệu với bộ nhớ và các thiết bị vào ra

- Có thể được điều khiển từ số tín hiệu bên ngoài để thực hiện một số chức

năng đặc biệt như thâm nhập bộ nhớ ,ngắt và treo

Một hệ VXL bao gồm 2 phần :

- Phần cứng

- Phần mềm

Phần cứng là toàn bộ các kết cấu vật lý cấu thành nên hệ như ROM, RAM …

Phần mềm là phần logic bao gồm hệ điều hành và chương trình ứng dụng (do người viết ).Chương trình được lưu trữ trong bộ nhớ bằng mã nhị phân của máy tính Một chương trình viết bằng ngôn ngữ máy là 1 chuỗi các byte nhị phân biểu diễn các lệnh

mã máy tính thực hiện được Hợp ngữ thay thế các mã nhị phân của ngôn ngữ máy bằng các mã gợi nhớ giúp chúng ta dễ nhớ hơn và dễ lập trình hơn

Trong quá trình làm bài tập lớn do trình độ còn hạn chế nên không tránh khỏi có sai xót Em mong thầy giáo giúp đỡ và chỉ bảo Em trân thành cảm ơn

Sinh viên : Mã Văn Châu

Trang 5

Chương 1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051

1.1 Cấu trúc phần cứng

Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như nhau Dưới đây là giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất Chúng có những đăc điểm sau :

- 8 kb EPROM bên trong

- 4 Port xuất /nhập I/O 8 bít

- Giao tiếp nối tiếp

- 64 kb vùng nhớ mã ngoài

- 64 kb vùng nhớ dữ liệu ngoại

- Xử lý Boolean (hoạt động trên bit đơn )

- 210 vị trí nhớ có thể định vị bit

- 4 µs cho hoạt động nhân hoặc chia

Sơ đồ khối của 8051 :

Hinh ve

1.2 Sơ đồ chân và chức năng chân của 8951

1.2.1 Sơ đồ chân

Hinh ve

1.2.2 Chức năng các chân của 8951

8951 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng ),mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ

a Các port

- Port 0 :

Port 0 là port có 2 chức năng ở các chân 32-39 của 8951 Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường I/O Đối với các thiết

kế cỡ lớn có bộ nhớ mỏ rộng ,nó được kết hợp giữa bus địa chỉ và bus dữ liệu P0 được dồn kênh giữa bus dữ liệu (D0-D7) và bus địa chỉ (A0-A7)

Trang 6

- Port 1 :

Port 1 là port I/O trên các chân 1 đến 8 Các chân được ký hiệu P1.0 , P1.1,P1.2,…

có thê rdungf cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năng khác ,vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài

- Port 2 :

Port 2 là 1 port có tác dụng kép trên các chân 21-28 ,được dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng

- Port 3 :

Port 3 là port có tác dụng kép trên các chân 10-17 Các chân của port này có nhiều chức năng ,các công dụng chuyển đổi có lien hệ với các đặc tính đặc biệt của 8951 như bảng sau :

Bit Tên Chức năng chuyển đổi

P3.0 RXD Chân nhận dữ liệu của cổng nối tiếp

P3.1 TXD Chân thu dữ liệu của cổng nối tiếp

P3.2 /INT0 Chân tiếp nhận ngắt cứng thứ 0

P3.3 /INT1 Chân tiếp nhận ngắt cứng thứ 1

P3.4 T0 Ngõ vào của TIMER/COUNTER thứ 0

P3.5 T1 Ngõ vào của TIMER/COUNTER thứ 1

P3.6 /WR Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7 /RD Tín hiệu đọc bộ nhớ dữ liệu ngoài

b Các ngõ tín hiệu điều khiển :

Ngõ tín hiệu PSEN (Program store enable):

-PSEN là tín hiệu ngõ ra ở chân số 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nói đến chân /OE (output enable ) của EPROM cho phép đọc các byte mã lệnh

-PSEN ở mức thấp trong thời gian Microcotroller 8951 lấy lệnh Các mã lệnh của chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1

Trang 7

Ngõ tín hiệu điều khiển ALE (Address Latch Enable) :

-Khi 8951 truy xuất bộ nhớ bên ngoài ,Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân 30 ,nó dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt

-Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò

là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động Các xung tín hiệu ALE có tốc đọ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 8951

Ngõ tín hiệu /EA (External Access) :

-Tín hiệu vào /EA ở chân 31 thường được mắc lên mức 1 hoặc 0 Nếu ở mức 1,

8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 kbyte Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân /EA được lấy làm chân cấp nguồn 21V khi lập trình cho EPROM trong 8951

Ngõ tín hiệu RST (Reset ) :

-Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy ,các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset

Các ngõ vào bộ dao động XTAL1 ,XTAL2 :

-Hai chân XTAL1 và XTAL2 (chân 18 và 19) Bộ dao động được tích hợp bên trong 8951 khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các

tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho 8951 la 12 MHz

Chân 40 (Vcc) được nối lên nguồn nuôi 5V

Chương 2 : ỨNG DỤNG ĐO KHOẢNG THỜI GIAN GIỮA 2 XUNG

( F < 1000 HZ )

Trang 8

2.1.Mạch tạo xung dùng time 555 :

-Vcc cung cấp nguồn cho IC có thể sử dụng từ 4.5 v đến 5v Đường mạch màu đỏ

là dương nguồn ,đường màu đen dưới cùng là âm nguồn

-Khi thay đổi các điện trở R1 ,R2 và các giá trị tụ C1 sẽ thu được dao động có tần số

và độ rộng xung như ý muốn theo công thức sau :

T =0.7*(R1 + 2 *R2)*C1 (2.1.1)

Và f=1.4*(R1 + 2*R2)*C1 (2.1.2)

Trong đó :

+ T là thời gian của một chu kỳ tính bằng (s)

+ f là tần số dao động tính bằng (Hz)

+ R1 và R2 là điện trở (Ohm)

+ C1 là tụ điện (fara)

T=Tm + Ts (2.1.3)

Trong đó :

+ Tm là thời gian điện áp cao Tm =0.7*(R1 +R2)*C1 (2.1.4)

Trang 9

+ Ts là thời gian điện áp thấp Ts=0.7*R2*C1 (2.1.5)

Chu kỳ toàn phần T bao gồm thời gian có điện áp cao Tm và thời gian có điện áp thấp

TS Từ công thức trên ta có thể tạo ra một dao động xung vuông Tm và Ts bất kỳ Sau khi đã tạo ra xung có Tm và Ts ta có : T =TM +Ts và f=1/T (2.16)

2.2.Giới thiệu về LED 7 vạch :

-Trong các thiết bị ,để cảnh báo trạng thái hoạt động của thiết bị đó cho người sử dụng với thong số chỉ là các dãy số đơn thuần,thường người ta sử dụng “LED 7 đoạn” Led 7 đoạn được sử dụng khi các dãy số không đòi hởi quá phức tạp,chỉ cần hiện thị số

là đủ ,chẳng hạn led 7 vạch được dùng để hiện thị nhiệt độ phòng Trong đó đồng hồ treo tường bằng điện tử ,hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào đó…

-LED 7 đoạn có cấu tạo gồm 7 led đơn có dạng thanh xếp theo hình và thêm một led đơn hình tròn nhỏ để thể hiện dấu chấm tròn ở góc dưới,bên phải của led7đoạn

-8 led đơn trên led 7 đoạn có Anode (cực +) hoặc Cathode (cực -) được nối chung với nhau vào một điểm ,đưa chân ra ngoài để kết nối với mạch điện 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng ,cũng được đưa ra ngoài kết nối với mạch điện

- Nếu led 7 đoạn có Anode(cực +) chung thì đầu chung này được nối với +Vcc Các chân còn lại dùng để điều khiển trạng thái sang tắt của các led đơn Led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0

-Nếu led 7 đoạn có Cathode (cực -) chung thì đầu chung này được nối xuống Ground (hay mass),các chân còn lại được dùng để điều khiển trạng thái sang tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1

Trang 10

- Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V có thể hạn chế dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển

-Sơ đồ vị trí các led được trình bày như hình dưới :

Trang 11

-Các điện trở 330 Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua led nếu led 7 đoạn được nối với nguồn 5V Chân nhận tín hiệu a điều khiển led

a sang tắt ,ngõ vào b để điều khiển led b Tương tự với các chân và các led còn lại

2.21 Kết nối với vi điều khiển

-Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 port nào đó của Vi điều khiển để điểu khiển led 7 đoạn Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ VĐK led 7 đoạn thường gọi là “ Mã hiển thị led 7 đoạn ”.Có 2 kiểu mã hiển thị led 7 đoạn :

+ Mã hiện thị cho led 7 đoạn có Anode (cực +) chung

+ Mã hiện thị cho led 7 đoạn có Cathode(cực -)chung

Chẳng hạn :để hiện thị số 1 cần làm cho các led ở vị trí b cà c sáng ,nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào 2 chân b và c điện áp là 0V (mức 0),các chân còn lại thì đặt điện áp là 5V (mức 1).Nếu sử dụng led 7 đoạn có Cathode chung thì điện áp hoàn toàn ngược lại,tức là phải đặt vào chân b và c điện

áp là 5V (mức 1)

-Bảng mã hiện thị led 7 đoạn : phần cứng được kết nối với 1 Port bất kỳ của vi điều khiển ,để thuận tiện cho việc sử lý về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a ,Px.1 nối với chân b ,lần lượt theo thứ tự cho đến Px.7 nối với chân h

-Dữ liệu xuất có dạng nhị phân như sau :hgfedcba

Trang 12

-Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn sáng ở mức 0 ) :

Số hiển thị Mã hiển thị (nhị phân ) Mã hiện thị (thập lục phân )

h g f e d c b a

4 1 0 0 1 1 0 0 1 99

5 1 0 0 1 0 0 1 0 92

6 1 1 0 0 0 0 1 0 82

7 1 1 1 1 1 0 0 0 F8 8 1 0 0 0 0 0 0 0 80

9 1 0 0 1 0 0 0 0 90

A 1 0 0 0 1 0 0 0 88

B 1 0 0 0 0 0 1 1 83

C 1 1 0 0 0 1 1 0 C6 D 1 0 1 0 0 0 0 1 A1 E 1 0 0 0 0 1 1 0 86

F 1 0 0 0 1 1 1 0 8E - 1 0 1 1 1 1 1 1 BF -Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn sáng ở mức 1 ) : Số hiển thị Mã hiển thị (nhị phân ) Mã hiện thị (thập lục phân ) h g f e d c b a 0 0 0 1 1 1 1 1 1 3F 1 0 0 0 0 0 1 1 0 06

Trang 13

3 0 1 0 0 1 1 1 1 4F

2.2.2 Giao tiếp Vi điều khiển với nhiều led 7 đoạn

-Nếu kết nối mỗi Port của Vi điều khiển với 1 led 7 đoạn thì tối đa kết nối được 4

led 7 đoạn Mặt khác nếu kết nối như trên sẽ hạn chế khả năng thực hiện các công việc khác nhau của VĐK Cho nên cần phải kết nối,điều khiển nhiều led 7 đoạn với số lượng chân điều khiển từ VĐK càng ít càng tốt Có 2 giải pháp : - 1 là sử dụng các IC chuyên dụng cho công việc hiện thị led 7 đoạn.-2 là kết nối nhiều led 7 đoạn vào cùng

1 đường xuất tín hiệu hiển thị Nội dụng này sẽ được đề cập cách kết nối nhiều led 7 đoạn theo giải pháp thứ 2

-Mắt người có đặc điểm sinh lý là chỉ thu nhaanh 24 hình/giây để tổng hợp các hình ảnh về thế giới xung quanh Nếu một tín hiệu ánh sáng có chu kỳ sáng tắt hơn 24 lần trong 1 giây,mắt người luôn cảm nhận đó là 1 nguồn sáng lien tục Để minh họa cho điều này ,bạn hãy lấy các chương trình đã thực hiện với led đơn và làm ngắn thời gian delay lại đến ,ột giá trị nào đó bạn sẽ thấy các led đều sáng liên tục

Trang 14

-Để kết nối nhiều led 7 đoạn vào VĐK thực hiện như sau : nối tất cả các chân nhận tín hiệu của tất cả các led 7 đoạn ( chân abcdefgh ) cần sử dụng vào cùng 1 Port,

4 led 7 đoạn có các chân nhận tín hiệu cùng được nối với P0 Dùng các ngõ ra còn lại của VĐK điều khiển on/off cho led 7 đoạn , mỗi ngõ ra điều khiển on/off cho 1 led 7 đoạn

-Trong sơ đồ trên, led 7 đoạn được sử dụng là loại có Anode chung ,với tất cả các chân nhận tín hiệu được kết nối với Port 0 đã qua điện trở hạn chế dòng Để điều khiển ON/OFF cho các led 7 đoạn ,Sử dụng Transistor loại PNP , transistor này nhận dòng điều khiển từ một ngõ ra của VĐK ,led 7 đoạn sẽ được ON khi tín hiệu điều khiển đến transistor ở mức 0 Có thể sử dụng transistor loại A564 hoặc 2N3905 hoặc một transistor PNP khác có thong số thích hợp Các điện trở 4.7 K và điện trở treo 4.7K đảm bảo transistor luôn hoạt động ở chế độ ngắt/dẫn (đảm bảo khi led 7 đoạn đang ở trạng thái OFF sẽ bị tắt hoàn toàn ,không bị sáng mờ mờ )

-Tại mỗi thời điểm chỉ nên cho VĐK điều khiển cho 1 led 7 đoạn hoạt động ,do

đó tại mỗi thời điểm chỉ có 1 ngõ ra duy nhất nối với transistor ở mức 0 Tại mỗi thời điểm chỉ có 1 led 7 đoạn được ON nên sẽ không xảy ra tình trạng quá tải và quá tải cho VĐK khi điều khiển nhiều led 7 đoạn

- Trong sơ đồ kết nối trên, chẳng hạn cần hiển thị số 451, qui ước thứ tự các led 7 được đếm từ phải sang trái, như vậy cần làm cho led 7 đoạn thứ nhất hiển thị

số 1, led 7 đoạn thứ hai hiện thị số 5, led 7 đoạn thứ 3 hiện thị số 4, các led còn lại không hiện thị Đầu tiên OFF tất cả các led 7 đoạn Kế tiếp xuất mã hiển thị led 7 đoạn để hiển thị số 1, ON led 7 đoạn thứ nhất, lúc này dòng điện chỉ đi qua led 7 đoạn thứ nhất, làm cho led 7 đoạn thứ nhất hiển thị số 1, thời gian ON trong

khoảng vài chục µs(1µs=1/10-6s) Kế tiếp xuất mã hiển thị led 7 đoạn hiển thị số 5, OFF led 7 đoạn thứ nhất và đồng thời ON led 7 đoạn thứ 2, lúc này chỉ có led 7

Trang 15

đoạn thứ hai hiển thị và hiển thị số 5 Tiếp theo xuất mã hiển thị led 7 đoạn hiện thị

số 4, OFF led 7 đoạn thứ hai và ON led 7 thứ ba, lúc này chỉ duy nhất led 7 đoạn

thứ ba hiển thị số 4 Cứ thế lặp lại quá trình trên liên tục Thời gian ON/OFF chỉ

trong khoảng vài chục µs, và tại mỗi thời điểm chỉ có mỗi một led 7 đoạn hiện thị

số của chính nó, vì vậy mắt người thấy 3 led 7 đoạn không sáng đứt quãng, mà sáng liên tục, mỗi led hiển thị 1 số riêng của nó Thực hiện tương tự để mở rộng số lượng led 7 đoạn cần sử dụng

2.3 Lưu đồ thuật toán :

2.4 Mạch đo và chương trình hợp ngữ

# include <sfr51.inc>

ORG 00H

MOV SP,#50H

MOV DPTR,#MANG

SETB P1.1 ;CHON DAU VAO START

SETB P1.2 ;CHON DAU VAO STOP

SETB P1.3 ;CHON DAU VAO XUNG

MOV TMOD,# 02H

MAIN :

MOV THO,#0

Ngày đăng: 31/12/2013, 22:36

TỪ KHÓA LIÊN QUAN

w