Xem mẫu

  1. BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ ĐỒ ÁN MÔN HỌC MÔN: VI XỬ LÝ Đề tài: ĐỒNG HỒ THỜI GIAN THỰC GVHD : Nguyễn Tất Bảo Thiện LỚP : ĐH ĐT6LTA SVTH :Tạ Tấn Vàng Nguyễn Tấn Vinh Nguyễn Mạnh Tú
  2. PHẦN MỘT: GIỚI THIỆU VỀ 8051, DS12887, 74154 VÀ LED 7 ĐOẠN I. VÀI ĐIỂM CƠ BẢN VỀ 8051: • 8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặ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. Sơ đồ chân của chip • Bộ nhân / chia 4µs. 8051
  3. II. IC ĐỒNG HỒ THỜI GIAN THỰC DS12887: Khảo sát sơ đồ chân của 1. DS12887: Hình dạng thực tế DS12887 •AD0-AD7 – Bus đa hợp địa chỉ/ dữ liệu •NC – Bỏ trống •MOT - Lựa chọn loại bus •CS – Ngõ vào lựa chọn RT C •AS – Chốt địa chỉ •R/W – Ngõ vào đọc/ghi •DS – Chốt dữ liệu •RESET\ - Ngõ vàoReset •IRQ\ - Ngõ ra yêu cầu ngắt •SQW – Ngõ ra sóng vuông •VCC – Nguồn cung cấp +5 Volt •GND – Mass
  4. 2. Cấu trúc bên trong Real Time Clock DS12C887: a. Sơ đồ địa chỉ của Real Time Clock: • Sơ đồ địa chỉ bao gồm 113 bytes RAM thông dụng, 11 bytes RAM mà thành phần bao gồm đồng hồ thời gian thực, lịch, dữ liệu báo giờ và 4 bytes được sử dụng cho việc điều khiển và thông báo tình trạng. Tất cả 128 bytes có thể được ghi hoặc đọc trực tiếp trừ những trường hợp sau : • 1. Thanh ghi C and D là hai thanh ghi chỉ đọc. • 2. Bit thứ 7 của thanh ghi A là bit chỉ đọc. • 3. Bit cao của byte thứ 2 là bit chỉ đọc.
  5. b. Các thanh ghi điều: DS12C887 có 4 thanh ghi điều khiển được sử dụng vào mọi lúc kể cả trong quá trình cập nhật. MSB LSB Thanh ghi A: BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 MSB LSB Thanh ghi B: BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 SET PIE AIE UIE SQWE DM 24/12 DSE MSB LSB Thanh ghi C: BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 IRQF PF AF UF 0 0 0 0 MSB LSB Thanh ghi D: BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VRT 0 0 0 0 0 0 0
  6. III. IC 74154: • Đây là IC có chức năng phân kênh, nó gôm có 22 ngõ vao, cho ̀ ̀ ra 24 ngõ ra. Chung ta dung nó để mở rông port xuât cho vi xử ́ ̀ ̣ ́ ly. Căn ban gôm có chân ngõ vao A(23),B(22),C(21),D(20) là ́ ̉ ̀ ̀ cac chân để chon ngõ ra tương ứng với cac ngõ ra tich cực mức ́ ̣ ́ ́ thâp là cac chân Y0(1), Y1(2), Y2(3), Y3(4), Y4(5), Y5(6), ́ ́ Y6(7), Y7(8), Y8(9), Y9(10),Y10(11), Y11(13), ́ ̣ ̣ Y12(14),Y13(15), Y14(16), Y15(17). Cho phep IC hoat đông Hình dạng thực tế 74154 G1(18), G2(19). Sơ đồ chân của IC 74154 Bảng chức năng
  7. IV. LED 7 ĐOẠN: Led 7 đoan là loai đen tiêt kiêm năng lượng, tuôi thọ cao, được sử ̣ ̣̀ ́ ̣ ̉ dung rông rai trong đời sông. Ở đây, led 7 đoan được dung để ̣ ̣ ̃ ́ ̣ ̀ hiên thị cac giá trị cua thời gian và lich rât tiên lợi và hiêu quả ̣ ́ ̉ ̣ ̣́ ̣ cao. 3 8 VCC VCC 7 U 15 A 6 B 4 C 2 D 1 E 9 F 10 G 5 DP le d 7 d o a n Sơ đồ chân Led 7 đoạn Hình dạng thực tế Led 7 đoạn
  8. PHẦN HAI: THIẾT KẾ VÀ THI CÔNG I. Thiết kế phần cứng: 1. Sơ đồ khối: KHỐI KHỐI MỞ RÔNG VÀ HIỆN THỊ ̣ VI XỬ LÝ ̣ LED 7 ĐOAN 2. Nhiệm vụ của các khối: a. Khối vi xử lý: Khối vi xử lý bao gồm IC vi xử lý 89C51 có công dụng để chạy chương trình giao tiếp xuất nhập qua các port, IC thời gian DS12887 để tao thời gian thực. ̣ Khối vi xử lý được kết nối 3 port để điều khiển quet cac led 7 đoan ́́ ̣ và để giao tiêp với RTC(DS12887). ́
  9. Sơ đồ nguyên lý mạch: VCC R 16 C4 C5 R 24 U 17 J7 24 40 31 R U 18 41 2 39 21 1 AD0 P 0 .0 /A D 0 P 2 .0 /A 8 EA VCC 5 3 38 VCC 22 2 AD1 P 0 .1 /A D 1 P 2 .1 /A 9 18 6 4 37 23 3 RST AD2 P 0 .2 /A D 2 P 2 .2 /A 1 0 7 5 36 24 4 AD3 P 0 .3 /A D 3 P 2 .3 /A 1 1 8 6 35 25 5 AD4 P 0 .4 /A D 4 P 2 .4 /A 1 2 23 9 7 34 26 6 SQW AD5 P 0 .5 /A D 5 P 2 .5 /A 1 3 10 8 33 27 7 AD6 P 0 .6 /A D 6 P 2 .6 /A 1 4 D1 11 9 32 28 8 C1 R 18 AD7 P 0 .7 /A D 7 P 2 .7 /A 1 5 C 19 12 LED IR Q P 3 .2 /IN T 0 R 1 5 R E S IS T O R S 16 IP 9 R /W P 3 .6 /W R 13 17 17 CON8 SW 1 CS DS P 3 .7 /R D GND 1 14 30 MOT AS A LE 9 RST 29 PSEN D S12887 R 19 J8 R 17 12 R 23 R R 20 R S W 3 R R 21 13 8 1 P 3 .3 /IN T 1 P 1 .7 S W 4 R R 22 15 7 2 P 3 .5 /T 1 P 1 .6 S W 6 R 14 6 3 P 3 .4 /T 0 P 1 .5 S W 2 11 5 4 P 3 .1 /T XD P 1 .4 10 4 5 P 3 .0 /R XD P 1 .3 19 3 6 X1 P 1 .2 C2 2 7 P 1 .1 Y1 1 8 P 1 .0 1 2 . 0 0 0 K H z1 8 X2 C3 CON8 8051
  10. b. Khối mở rộng và hiện thị: • Khôi nay gôm IC 74154 được sử dung để phân kênh và led 7 đoan để cho ́̀ ̀ ̣ ̣ hiên thị lich và thời gian. ̣ ̣ • Sơ đồ nguyên lý mach: ̣ C0 C1 C2 C3 C4 C5 C6 C7 3 8 3 8 3 8 3 8 3 8 3 8 3 8 3 8 VCC VCC VCC VC C VCC VC C VC C VC C VC C VC C VC C VC C VC C VC C VC C VC C D 0 D 0 D 0 D 0 D 0 D 0 D 0 D 0 7 U1 7 U2 7 U3 7 U4 7 U5 7 U6 7 U7 7 U8 A A A A A A A A J2 D 1 D 1 D 1 D 1 D 1 D 1 D 1 D 1 6 6 6 6 6 6 6 6 B B B B B B B B D 2 D 2 D 2 D 2 D 2 D 2 D 2 D 2 8 4 4 4 4 4 4 4 4 C C C C C C C C D 3 D 3 D 3 D 3 D 3 D 3 D 3 D 3 7 2 2 2 2 2 2 2 2 7 D D D D D D D D D D 4 D 4 D 4 D 4 D 4 D 4 D 4 D 4 6 1 1 1 1 1 1 1 1 6 D E E E E E E E E D 5 D 5 D 5 D 5 D 5 D 5 D 5 D 5 5 9 9 9 9 9 9 9 9 5 D F F F F F F F F D 6 D 6 D 6 D 6 D 6 D 6 D 6 D 6 4 10 10 10 10 10 10 10 10 4 D G G G G G G G G D 7 D 7 D 7 D 7 D 7 D 7 D 7 D 7 3 5 5 5 5 5 5 5 5 3 D DP DP DP DP DP DP DP DP 2 2 D 1 1 D 0 D CON8 le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n C 14 C 10 C 11 C 12 C 13 C8 C9 3 8 3 8 3 8 3 8 3 8 3 8 3 8 VCC VCC VCC VC C VCC VC C VC C VC C VC C VC C VC C VC C VC C VC C D 0 D 0 D 0 D 0 D 0 D 0 D 0 7 U9 7 U 10 7 U 11 7 U 12 7 U 13 7 U 14 7 U 15 A A A A A A A D 1 D 1 D 1 D 1 D 1 D 1 D 1 6 6 6 6 6 6 6 B B B B B B B D 2 D 2 D 2 D 2 D 2 D 2 D 2 4 4 4 4 4 4 4 C C C C C C C D 3 D 3 D 3 D 3 D 3 D 3 D 3 2 2 2 2 2 2 2 D D D D D D D D 4 D 4 D 4 D 4 D 4 D 4 D 4 1 1 1 1 1 1 1 E E E E E E E D 5 D 5 D 5 D 5 D 5 D 5 D 5 9 9 9 9 9 9 9 F F F F F F F D 6 D 6 D 6 D 6 D 6 D 6 D 6 10 10 10 10 10 10 10 G G G G G G G D 7 D 7 D 7 D 7 D 7 D 7 D 7 5 5 5 5 5 5 5 DP DP DP DP DP DP DP le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n le d 7 d o a n 11 13 15 10 12 14 0 2 4 6 8 1 3 5 7 9 C C C C C C C C C C C C C C C C VC C _AR R O W J6 1 2 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q 11 Q 12 Q 13 Q 14 Q 15 VC C _AR R O W CON2 A1015 A1015 A1015 A1015 A 1015 A1015 A 1015 A1015 A 1015 A1015 A1015 A1015 A 1015 A1015 A1015 R1 R 2 R 3 R 4 R 5 R 6 R 7 R 8 R 9 R 1 R0 1 R1 1 R2 1 R3 1 R4 1 5 RRRRRRRRRRRRRRR 1 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 U 16 Y11 Y10 Y12 Y13 Y14 Y15 Y0 Y1 Y2 Y3 Y4 Y5 Y7 Y9 Y6 Y8 74154 G1 G2 C D A B 3 2 1 8 19 0 2 2 2 2 1 5 4 3 2 1 J5 CON5
  11. II. Thiết kế phần BEGIN mềm: ải thích về chương Nạp các giá trị khởi tạo cho các ô nhớ thời gian và • Gi lịch.40H=59(giây),41H=59(phút),42H=23(giờ),43H=(thứ), 44H=01(ngày),45H=01(tháng),46H=09(năm). trình: Goi ctc kdrtc( chuong trình khởi động RTC DS1287) • Sơ lượt về lưu đồ: Gọi ctc drtc( chương trình đọc các giá trị thời gian, lịch và dữ li ệu từ RTC) Mov A,48H( chuyển nội dung ô nhớ mặc định là RTC đang hoạt động bình thường), tại địa chì 0EH của SRAM, ta nạp một giá trị mặc định cho nó trong lần khởi động RTC trước đó. Mặc định giá trị = 5 A= 5, kiểm tra xem RTC đã Yes được khởi động các giá trị măc định chưa. No Gọi chương trình GRTC( chương trình con ghi dữ liệu vào RTC) Gọi CTC DRTC ( chương trình con đọc dữ liệu từ RTC) Gọi CTC QUETLED(chương trình con hiển thị các giá trị thời gian và lịch) No P3.4=0, kiểm tra có phím chỉnh cài đặt giờ không? Yes Gọi CTC SETUPTIME (gọi chương trình con cài đặt lại giờ cho RTC) END
  12. Begin(chương trình con cài đặt thời gian và lịch) P3.4=0 Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì thôi P3.4=1 Gọi CTC SETPHUT (chương trình con cài đặt giá trị phút) P3.4=0 Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì thôi P3.4=1 Gọi CTC SETGIO (chương trình con cài đặt giá trị phút) P3.4=0 Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì thôi P3.4=1 Gọi CTC SETTHU (chương trình con cài đặt giá trị phút) P3.4=0 Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì thôi P3.4=1 Gọi CTC SETNGAY (chương trình con cài đặt giá trị phút) P3.4=0 Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì thôi P3.4=1 Gọi CTC SETTHANG (chương trình con cài đặt giá trị phút)
  13. ĐỌC_RTC Cất nội dung các thanh ghi 00h, 01h, ACC KHỞI ĐỘNG_RTC R0=00H,R1=40H, Mov A,#0AFH, chọn chế độ cho RTC Movx A,@R0, lấy nội dung từ RAM ngoai. Mov R0,#0AH, chọn thanh ghi A trong RTC Mov @R1,A, chuyển nội dung A vào ô nhớ d ữ liệu Movx @R0,A, Ghi vào RTC INC R0, tăng gián tiếp địa chỉ RAM ngoài Mov A,#0EH, chọn chế độ cho RTC INC R1, tăng gián tiếp địa chỉ ô nhớ chứa dữ liệu Mov R0,#0BH, chọn thanh ghi A trong RTC No R0=09H, kiểm tra đã lấy đủ dữ liệu chưa Movx @R0,A, Ghi vào RTC Yes Trả lại nội dung cho 00H, 01H, ACC RET RET
  14. BIN2BCD BCD2MA7THANH Mov B,#10 Mov DPTR,# TABLE, nạp địa chỉ dữ liệu. DIV AB ANL A, #0FH SWAP A Movc A,@A+DPTR, lấy dữ liệu ORL A,B RET RET
  15. QUÉT LED Cất 00H,01H,ACC vào stack Gọi CTC DELAY Tăng dữ liệu quét cột Mov R0,#40H Mov R1,#00H Mov A,@R0 Mov A,@R0 Goi CTC BIN2BCD Gọi CTC BCD2MA7THANH Goi CTC BIN2BCD SWAP A ( đảo nội dung thanh ghi A) Mov P1,A (xuất dữ liệu ra ) Gọi CTC BCD2MA7THANH Mov P2,R1 (xuất dữ liệu ra cột) Gọi CTC DELAY Mov P1,A (xuất dữ liệu ra ) Mov P2,R1 (xuất dữ liệu ra cột) Tăng dữ liệu quét cột Tăng R0 No R0 = 47H Yes RET
  16. Chương trình con SETPHUT Goi CTC QUETPHUT RET Kiểm tra xem có No Yes phím UP không? Kiểm tra co phim SETUP hay không? Yes No Goi CTC DELAY( chống nảy phím) No Kiểm tra xem có phím DOWN không? Yes Mov A,41H Goi CTC DELAY( chống nảy phím) Tăng giá trị nội dung thanh ghi A Mov A,41H Mov 41H,A Giảm giá trị nội dung thanh ghi A No Mov 41H,A Kiểm tra A=59 No Yes Kiểm tra Mov 41H,#00 A=0FFH Yes Mov 41H,#59 Yes Goi CTC GRTC DOWN=0 No Goi CTC DRTC Yes Mov R7,#100 UP=0 No Gọi CTC QUETPHUT No SETUP=0 Yes No Yes R7=0 RET
  17. GHI_RTC Cất nội dung các thanh ghi 00h, 01h, ACC R0=00H,R1=40H, MovA,@R1, chuyển gián tiếp nội dung ô nhớ dữ liệu vào A Movx @R0,A, ghi nội dung dữ liệu vào RAM ngoài INC R0, tăng gián tiếp địa chỉ RAM ngoài INC R1, tăng gián tiếp địa chỉ ô nhớ chứa dữ liệu No R0=09H, kiểm tra đã lấy đủ dữ liệu chưa Yes Trả lại nội dung cho 00H, 01H, ACC RET
  18. THE END
nguon tai.lieu . vn