thiết kế mạch đo khoảng thời gian giữa hai sự kiện có hiển thị trên led 7 đoạn

13 839 1
thiết kế mạch đo khoảng thời gian giữa hai sự kiện có hiển thị trên  led 7 đoạn

Đ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

g BỘ GIAO THÔNG VẬN TẢI ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ MÔN ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP BÀI TẬP LỚN MÔN : KỸ THUẬT VI XỬ LÝ ĐỀ 5: Thiết kế mạch đo khoảng thời gian giữa hai sự kiện hiển thị trên LED 7 đoạn GV HƯỚNG DẪN : PHẠM TUẤN ANH SINH VIÊN : BÙI THẾ CƯỜNG LỚP : ĐTĐ52 – ĐH2 MÃ SINH VIÊN : 42217 Hải phòng,ngày 20 tháng 4 năm 2014 1 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 . - 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 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 : Bùi Thế Cường 2 CHƯƠNG 1 : GIỚI THIỆU PHẦN CỨNG 1.1. Vi xử lí - AT89C51 a) Chức năng: nhận tín hiệu từ bộ chuyển đổi ADC0804. Sau đó xử lý, chuyển tín hiệu số sang mã ASCII và xuất tín hiệu sang màn hình hiển thị LCD. b) Tổng quát về AT89C51: AT89C51 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này đặc điểm như sau: - 4k byte ROM,128 byte RAM - 4 Port I/O 8 bit. - 2 bộ đếm/ định thời 16 bit. - Giao tiếp nối tiếp. - 64k byte không gian bộ nhớ chương trình mở rộng. - 64k byte không gian bộ nhớ dữ liệu mở rộng. - Một bộ xử lý luận lý (thao tác trên các bít đơn). - 210 bit được địa chỉ hóa. - Bộ nhân / chia trong 4µs. * Tổ chức bộ nhớ RAM 128 byte RAM trong 8051 (một số thành viên 256 byte RAM). 128 byte RAM trong 8051 được gán địa chỉ từ 00 đến 7FH, chúng được phân chia thành từng nhóm như sau: - Các bank thanh ghi và ngăn xếp địa chỉ từ 00H đến 1Fh. - Ram địa chỉ hóa từng bit địa chỉ từ 20H đến 2FH. - Ram đa dụng từ 30H đến 7FH. - Các thanh ghi chức năng đặc biệt từ 80H đến FFH. 3 * Sơ đồ chân AT89C51: Hình 2.3. Sơ đồ chân AT89C51 - Bộ phận dao động của vi xử lý được kết nối như hình dưới: IC 89C51 với tần số làm việc là 12 MHz. Chân 18, 19 của 89C51 được nối với thạch anh (cũng thể thay thế thạch anh bằng tín hiệu xung clock). 1 chu kỳ máy của 89C51 là 1µs. ssT µ 110 1012 12 6 6 == × = − - Bộ phận Reset được kết nối như hình dưới: khi cấp nguồn, áp trên R2 (chân 9 của 89C51) lên mức cao 5V ( = VCC ) sau đó sẽ xuống 0V do tụ C nạp. 4 1.2. Kết nối Vi điều khiển với LED 7 đoạn : -Ngõ nhận tín hiệu điều khiển của led 7 đoạn 8 đường, vì vậy 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 Anode (cực +) chung . + Mã hiện thị cho led 7 đoạn 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 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 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 dạng nhị phân như sau :hgfedcba -Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn Anode chung (các led đơn sáng ở mức 0 ) : Số hiển thị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 1 1 0 0 0 0 0 0 C0 1 1 1 1 1 1 0 0 1 F9 2 1 0 1 0 0 1 0 0 A4 3 1 0 1 1 0 0 0 0 B0 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 5 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 Cathode chung (các led đơn sáng ở mức 1 ) : Số hiển thị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 2 0 1 0 1 1 0 1 1 5B 3 0 1 0 0 1 1 1 1 4F 4 0 1 1 0 0 1 1 0 66 5 0 1 1 0 1 1 0 1 6D 6 0 1 1 1 1 1 0 1 7D 7 0 0 0 0 0 1 1 1 07 8 0 1 1 1 1 1 1 1 7F 9 0 1 1 0 1 1 1 1 6F A 0 1 1 1 0 1 1 1 77 B 0 1 1 1 1 1 0 0 7C C 0 0 1 1 1 0 0 1 39 D 0 1 0 1 1 1 1 0 5E E 0 1 1 1 1 0 0 1 79 F 0 1 1 1 0 0 0 1 71 - 0 1 0 0 0 0 0 0 40 1.3. 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. 2 giải pháp : - 1 là sử dụng các IC 6 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 đ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 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 . -Để 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 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 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. thể sử dụng transistor loại A564 hoặc 2N3905 hoặc một transistor PNP khác thông 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ỉ 1 ngõ ra duy nhất nối với transistor ở mức 0 .Tại mỗi thời điểm chỉ 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ị 7 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 -6 s). 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ỉ led 7 đoạn thứ hai hiển thị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ỉ 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. 1.4. Mô hình mô phỏng : 8 CHƯƠNG 2: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH HỢP NGỮ 2.1. Lưu đồ thuật toán: 9 2.2. Chương trình hợp ngữ: #include <sfr51.inc> ORG 0000H SJMP MAIN TOCDO EQU 40H SAVE1 EQU 41H SAVE2 EQU 42H LED1 BIT P3.0 10 [...]... A= mã led tại vị trí A chỉ đến trong DPTR SAVE2,A ; gán A= mã led tại vị trí A chỉ đến trong DPTR ; ưu A vào một ô nhớ SAVER2 RET ;============================================== DISPLAY: MOV ; hiển thị TOCDO,#50; tần số 50Hz thì quét 50 hình trong 1S, như vậy 1 giây sẻ tăng số đếm lên 1 đơn vị LAP: CLR LED1 ; tắt Led 1 12 CLR LED2 ; tắt led2 MOV P2,SAVE1; đưa saver1 vào P2 SETB LED1 ; bật led hiển thị CALL... MOV R1,TH0 LCALL TRUYEN ;================================================ TRUYEN: MOV R3,#0;gán biến đếm R3=0 MOV DPTR,#MALED7V ;đưa mã led vào thanh ghi DPTR HERE1: LCALL DECODE LCALL DISPLAY INC R3 ; gọi chương trình giải mã led 7 thanh ; gọi chương trình hiển thị ; sau khi hiển thị xong thì tăng biến đếm lên 1 đơn vị CJNE R3,R1,HERE1 ;so sánh R3 với R1 JMP TRUYEN ; ;===============================================... trình trể 10uS CLR LED1 CLR LED2 MOV P2,SAVE2; đưa data lưu trong saver2 vào P2 SETB LED2 ; bật led2 CALL DELAY DJNZ TOCDO,LAP; giảm biến tốc độ nếu chưa=0 thì cho hiển thị và giảm tiếp đến =0 thì thoát RET ;=============================================== DELAY: ;delay 10uS MOV 43H,#20 LAP1: MOV DJNZ 44H,$ DJNZ 43H,LAP1 44H,#250 RET ;================================================ MALED7V: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H.. .LED2 BIT P3.1 ORG 003H SJMP NGAT_INT0 ORG 013H SJMP NGAT_INT1 ;========================================= MAIN: MOV R1,#1 MOV TMOD,#12H MOV TH1,#-3 MOV TH0,#0 MOV SCON,#50H CLR TF0 SETB IT0; SETB IT1; MOV . 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. trong khoảng vài chục µs(1µs=1/10 -6 s). 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 đo n thứ hai hiển thị. 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ố

Ngày đăng: 13/05/2014, 21:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan