Đồ án khảo sát vi điều khiển 89c51 và thiết kế mạch đồng hồ

37 708 0
Đồ án khảo sát vi điều khiển 89c51 và thiết kế mạch đồng hồ

Đ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

GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG I TỔNG QUAN I GIỚI THIỆU: Ngày kỹ thuật vi điều khiển trở nên quen thuộc ngành kỹ thuật dân dụng Từ dây chuyền sản xuất lớn đến thiết bị gia dụng, thấy diện vi điều khiển Các vi điều khiển có khả xử lý nhiều hoạt động phức tạp mà cần vi mạch nhỏ, thay tủ điều khiển lớn phức tạp mạch điện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển góp phần vào kỹ thuật điều khiển mà góp phần to lớn vào việc phát triển thông tin Đó đời hàng loạt thiết bị đại ngành viễn thông, truyền hình, đặc biệt đời mạng Internet góp phần đưa người đến đỉnh cao văn minh nhân loại Chính lý nên việc tìm hiểu, khảo sát vi điều khiển điều mà sinh viên ngành điện mà đặc biệt chuyên ngành kỹ thuật điện-điện tử phải quan tâm Đó nhu cầu cần thiết cấp bách sinh viên, đề tài thực đáp ứng nhu cầu Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phức tạp Phần công việc xử lý phụ thuộc vào người, chương trình hay phần mềm Tuy thấy máy tính ngày thông minh, giải toán phức tạp vài phần triệu giây, dựa hiểu biết người Nếu tham gia người hệ thống vi điều khiển vật vô tri Do nói đến vi điều khiển giống máy tính bao gồm phần phần cứng phần mềm Các vi điều khiển theo thời gian với phát triển công nghệ bán dẫn tiến triển nhanh, từ vi điều khiển Bit đơn giản đến vi điều khiển 32 Bit Với công nghệ tiên tiến ngày máy tính đến việc suy SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch nghĩ, tri thức thông tin đưa vào, máy tính thuộc hệ trí tuệ nhân tạo Mặc dù vi điều khiển bước dài để tiếp cận với kỹ thuật việc có sớm chiều Việc hiểu chế hoạt động vi điều khiển Bit sở để tìm hiểu sử dụng vi điều khiển tối tân hơn, bước muốn xâm nhập sâu vào lĩnh vực Một vài năm gần đồng hồ số Việt Nam ngày phát triển mạnh mẽ, vấn đề đóng vai trò quan trọng phát triển sống thời đại người ta sử dụng đồng hồ số tranh trang trí đồng hồ lớn có hiển thị thời gian taị nơi công cộng hay quan xí nghiệp…Nó tốt đem lại nhiều lợi ích to lớn Cũng người ưa chuộng vừa đẹp tiện lợi đơn giản, đại, bắt mắt, chi phí hợp lý tính hiệu nó.Với lại với màu sắc sặc sỡ, bắt mắt, gây nhiều ý hẳn không xa lạ người dân Để đồng hồ hiển thị thời gian, ngày tháng năm nhiệt độ… thêm rực rỡ thu hút ý người ta sử dụng phương pháp lập trình dùng vi xử lý, để điều khiển tạo hiển thị đẹp mắt II GIỚI HẠN ĐỀ TÀI: Do thời gian nghiên cứu thực đề tài có hạn việc tìm hiểu vi điều khiển hạn chế nên nội dung đề tài xoay quanh phạm vi sau:  Khảo sát vi điều khiển 89C51  Thiết kế mạch đồng hồ: SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG II KHẢO SÁT VI ĐIỀU KHIỂN 8951 I GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS-51 (8951): Giới thiệu họ MCS-51: MCS-51 họ IC vi điều khiển hãng Intel sản xuất Các IC tiêu biểu cho họ 8051 8031 Các sản phẩm MCS-51 thích hợp cho ứng dụng điều khiển Việc xử lý Byte toán số học cấu trúc liệu nhỏ thực nhiều chế độ truy xuất liệu nhanh RAM nội Tập lệnh cung cấp bảng tiện dụng lệnh số học Bit gồm lệnh nhân lệnh chia Nó cung cấp hổ trợ mở rộng Chip dùng cho biến Bit kiểu liệu riêng biệt cho phép quản lý kiểm tra Bit trực tiếp điều khiển hệ thống logic đòi hỏi xử lý luận lý AT89C51 cung cấp đặc tính chuẩn sau: KB nhớ đọc xóa lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, TIMER/COUNTER 16 Bit, vectơ ngắt có cấu trúc mức ngắt, Port nối tiếp bán song công, mạch dao động tạo xung Clock dao động ON-CHIP Thêm vào đó, AT89C51 thiết kế với logic tĩnh cho hoạt động đến mức không tần số hỗ trợ hai phần mềm lựa chọn chế độ tiết kiệm công suất, chế độ chờ (IDLE MODE) dừng CPU cho phép RAM, timer/counter, port nối tiếp hệ thống ngắt tiếp tục hoạt động Chế độ giảm công suất lưu nội dung RAM treo dao động làm khả hoạt động tất chức khác Reset hệ thống  Các đặc điểm 8951 tóm tắt sau:  KB nhớ lập trình lại nhanh, có khả tới 1000 chu kỳ ghi xoá  Tần số hoạt động từ: 0Hz đến 24 MHz  mức khóa nhớ lập trình  Timer/counter 16 Bit  128 Byte RAM nội SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch  Port xuất /nhập I/O bit  Giao tiếp nối tiếp  64 KB vùng nhớ mã  64 KB vùng nhớ liệu ngoại  Xử lý Boolean (hoạt động bit đơn)  210 vị trí nhớ định vị bit  μs cho hoạt động nhân chia Sơ đồ khối AT89C51: INT1\ INT0\ SERIAL PORT TEMER0 TEMER1 TEMER2 8032\8052 128 byte RAM 8032\8052 INTERRUPT CONTROL OTHER REGISTER ROM 0K: 8031\8032 4K:8951 8K:8052 128 byte RAM TEMER2 8032\8052 TEMER1 TEMER1 CPU BUS CONTROL I/O PORT SERIAL PORT OSCILATOR EA\ RST ALE\ PSEN\ P0 P1 P2 P3 Address\Data TXD RXD Hình 2.1 Sơ đồ khối 89C51 SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Các ghi có vi điều khiển bao gồm :  Khối ALU kèm với ghi temp 1,temp ghi trạng thái PSM  Bộ điều khiển logic  Vùng nhớ RAM vùng nhớ Flash Rom lưu trữ chương trình  Mạch tạo dao động  Khối xử lý ngắt,truyền liệu,khối Time/Counter  Thanh ghi A,B,dptr port có chốt đệm  Thanh ghi đếm chương trình PC  Con trỏ liệu dptr  Thanh ghi trỏ ngăn xếp SP  Thanh ghi lệnh IR  Các ghi hỗ trợ để quản lý địa nhớ bên bên Sơ đồ chân IC 89C51 : 19 12 MHz 18 XTAL.2 29 PSEN\ 30 ALE 31 EA\ RD WR T1 T0 INT1 INT0 TXD RXD Vcc 40 XTAL.1 17 16 15 14 13 12 11 10 8951 RST P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 Vss 20 Hình 2.2 Sơ đồ chân SVTH:Võ Văn Nhiệm P0 P0 P0 P0 P0 P0 P0 P0 P1 P1 P1 P1 P1 P1 IC P1 P1 P2 89C51 Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Chức chân 8951 : At89C51 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép (có nghĩa chân có chức năng), đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa 4.1 Các Port:  Port 0: - Port port có chức chân 32 – 39 8951 Trong thiết kế cỡ nhỏ không dùng nhớ mở rộng có chức đường IO Đối với thiết kế cỡ lớn có nhớ mở rộng, kết hợp bus địa bus liệu  Port 1: - Port port IO chân 1-8 Các chân ký hiệu P1.0, P1.1, P1.2,…có thề dùng cho giao tiếp với thiết bị cần Port chức khác, chúng dùng cho giao tiếp ngoại vi  Port 2: - Port port có tác dụng kép chân 21- 28 dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng  Port 3: - Port port có tác dụng kép chân 10-17 Các chân port có nhiều chức năng, công dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8951 bảng sau: Bit Tên SVTH:Võ Văn Nhiệm Chức chuyển đổi Trang GVHD: Nguyễn Văn Song P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXT TXD INT0\ INT1\ T0 T1 WR\ RD\ Đồ Án Vi Mạch Ngõ xuất liệu nối tiếp Ngõ xuất liệu nối tiếp Ngõ vào ngắt cứng thứ Ngõ vào ngắt cứng thứ Ngõ vào củaTIMER/COUNTER thứ Ngõ vào củaTIMER/COUNTER thứ Tín hiệu điều khiển ghi liệu lên nhớ Tín hiệu điều khiển đọc nhớ liệu 4.2 Các ngõ tín hiệu điều khiển:  Ngõ tín hiệu PSEN (Program store enable): - PSEN tín hiệu ngõ chân 29 có tác dụng cho phép đọc nhớ chương trình mở rộng thường nói đến chân 0E\ (output enable) Eprom cho phép đọc byte mã lệnh - PSEN mức thấp thời gian vi điều khiển 8951 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu chốt vào ghi lệnh bên 8951 để giải mã lệnh Khi 8951 thi hành chương trình ROM nội PSEN mức logic  Ngõ tín hiệu điều khiển ALE (Address Latch Enable): - Khi 8951 truy xuất nhớ bên ngoài, port có chức bus địa bus liệu phải tách đường liệu địa Tín hiệu ALE chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường địa liệu kết nối chúng với IC chốt - Tín hiệu chân ALE xung khoảng thời gian port đóng vai trò địa thấp nên chốt địa hoàn toàn tự động Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động chip dùng làm tín hiệu clock cho phần khác hệ thống Chân ALE dùng làm ngõ vào xung lập trình cho Eprom 8951  Ngõ tín hiệu EA\(External Access) : - Tín hiệu vào EA\ chân 31 thường mắt lên mức mức Nếu mức 1, 8951 thi hành chương trình từ ROM nội khoảng địa thấp SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Kbyte Nếu mức 0, 8951 thi hành chương trình từ nhớ mở rộng Chân EA\ lấy làm chân cấp nguồn 21V lập trình cho Eprom 8951  Ngõ tín hiệu RST (Reset): - Ngõ vào RST chân ngõ vào Reset 8951 Khi ngõ vào tín hiệu đưa lên cao chu kỳ máy, ghi bên nạp 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 giao động X1,X2: - Bộ dao động được tích hợp bêntrong 8951, sử dụng 8951 người thiết kế cần kết nối thêm thạch anh tụ hình vẽ sơ đồ Tần số thạch anh thường sử dụng cho 8951 12Mhz  Chân 40 (Vcc) nối lên nguồn 5V II CẤU TRÚC BÊN TRONG VI ĐIỀU KHIỂN : Tổ chức nhớ: FF 0FFF CODE Memory ON-CHIP Memory FFFF FFFF CODE Memory DATA Memory Enable via PSEN Enable via RD & WR 00 0000 0000 0000 Hình 2.3 Tổ chức nhớ Cấu trúc RAM bên 89C51 phân chia sau: - Các bank ghi có địa từ 00F đến 1FH - RAM địa hóa bit có địa từ 20H đến FH - RAM đa dụng từ 30H đến 7FH - Các ghi chức đặc biệt từ 80H đến FFH SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Bản đồ nhớ RAM Chip sau: 7F FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B RAM đa dụng E0 E7 E6 E5 E4 E E2 E1 E0 ACC D0 D7 D6 D5 D4 D D2 D1 D0 PSW 30 B8 - 2F 2E 2D 2C 7F 77 6F 67 7E 76 6E 66 7D 75 6D 65 7C 74 6C 64 7B 73 6B 63 7A 72 6A 62 79 71 69 61 78 70 68 60 2B 2A 29 28 5F 57 4F 47 5E 56 4E 46 5D 55 4D 45 5C 54 4C 44 5B 53 4B 43 5A 52 4A 42 59 51 49 41 58 50 48 40 27 26 25 24 23 3F 37 2F 27 1F 3E 36 2E 26 1E 3D 35 2D 25 1D 3C 34 2C 24 1C 3B 33 2B 23 1B 3A 32 2A 22 1A 39 31 29 21 19 38 30 28 20 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F Bank 18 17 Bank - - BC B B B9 B8 IP B A B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 A8 AF AC A A A9 A8 IE B A A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 99 Không định địa hóa SBUF bit 98 9F 9E 9D 9C 9B 9A 99 98 SCON 90 97 96 95 94 93 92 91 90 P1 8D Không bit 8C Không bit 8B Không bit 8A Không bit 89 Không bit 88 8F 8E định địa hóa TH1 định địa hóa TH0 định địa hóa TL1 định địa hóa TL0 định địa hóa TMO D 8D 8C 8B 8A 89 88 TCO N 87 Không định địa hóa PCON bit 10 SVTH:Võ Văn Nhiệm Trang GVHD: Nguyễn Văn Song Đồ Án Vi Mạch 83 Không bit 82 Không bit 81 Không bit 80 87 86 0F Bank 08 07 Bank ghi 00 (mặc định cho R0 -R7) RAM định địa hóa DPH định địa hóa DPL định địa hóa SP 85 84 83 82 81 80 P0 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT Bộ nhớ 89C51 bao gồm ROM RAM RAM 8951 bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa hóa bit, bank ghi ghi chức đặc biệt 8951 có nhớ theo cấu trúc Harvard: có vùng nhớ riêng biệt cho chương trình liệu Chương trình liệu chứa bên 8951 8951 kết nối với 64 Kbyte nhớ chương trình 64 Kbyte liệu Hai đặc tính cần ý là: Các ghi Port xuất nhập định vị nhớ truy xuất trực tiếp giống địa nhớ khác Ngăn xếp bên RAM nội nhỏ so với RAM ngoại vi điều khiển khác RAM đa dụng: Mặc dù hình vẽ cho thấy 80 byte đa dụng chiếm địa từ 30H đến 7FH, 32 byte từ 00H đến 1FH dùng với mục đích tương tự (mặc dù địa có mục đích khác) Mọi địa vùng RAM đa dụng truy xuất tự dùng kiểu địa trực tiếp gián tiếp  RAM truy xuất bit: 89C51 chứa 210 bit địa hóa, có 128 bit có chứa byte có chứa địa từ 20FH đến 2FH bit lại chứa nhóm ghi có chức đặc biệt Ý tưởng truy xuất bit phần mềm đặc tính mạnh SVTH:Võ Văn Nhiệm Trang 10 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Chức năng: Chuyển liệu từ ô nhớ có địa chứa ghi DPTR vào ghi A  Chuyển liệu từ ghi A ô nhớ gián tiếp: Cú pháp: MOVX @ Ri,A Chức năng: Chuyển liệu từ ghi A ô nhớ có điạ chứa Ri  Chuyển liệu từ ghi A vào ô nhớ gián tiếp (16 bit địa chỉ): Cú pháp: MOVX @ DPTR, A Chức năng: Chuyển liệu từ ghi A ô nhớ có đĩa chứa DPTR  Cất nội dung ô nhớ trực tiếp vào ngăn xếp: Cú pháp: PUSH direct Chức năng: Cất nội dung ô nhớ có địa direct vào ngăn xếp, trỏ SP tăng lên trước lưu nội dung  Lấy liệu từ ngăn xếp trả ô nhớ trực tiếp: Cú pháp: POP direct Chức năng: Lấy liệu từ ngăn xếp trả ô nhớ có địa direct, trỏ SP giảm trước lấy liệu  Trao đổi liệu ghi với ghi A: Cú pháp: XCH A,Rn Chức năng: Đổi chổ nội dung A với Rn  Trao đổi liệu ô nhớ trực tiếp với ghi A: Cú pháp: XCH A, direct Chức năng: Trao đổi liệu ô nhớ có địa direct với ghi A  Trao đổi liệu ô nhớ gián tiếp với ghi A: Cú pháp: XCH A,@ Ri Chức năng: Trao đổi liệu ô nhớ trực tiếp với ghi A  Trao đổi liệu bit ô nhớ gián tiếp với ghi A: Cú pháp: XCHD A, @ Ri SVTH:Võ Văn Nhiệm Trang 23 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Chức năng: Đổi chổ bit thấp ô nhớ có địa chứa ghi Ri với liệu bit thấp ghi A Các lệnh số học (Arithmetic Intrustion):  Lệnh cộng: ADD A, Rn : (A) (A) + (Rn) Cộng nội dung ghi Rn với cộng nội dung ghi A, kết lưu ghi A, lệnh có ảnh hưởng đến ghi trạng thái (cờ C) ADD A, direct : (A) (A) + (direct) Cộng nội dung ô nhớ có địa direct với nội dung ghi A, kết lưu ghi A, lệnh có ảnh hưởng đến ghi trạng thái (cờ C) ADD A, @ Ri : (A) (A) + ((Ri)) Cộng nội dung ô nhớ có địa chỉ chứa Ri với nội dung ghi A, kết lưu ghi A, lệnh có ảnh hưởng đến ghi trạng thái (cờ C) ADD A, #data : (A) (A) + # data Cộng liệu bit với nội dung ghi A, kết lưu ghi A, lệnh có ảnh hưởng đến ghi trạng thái (cờ C) ADDC A, Rn : (A) (A) + (C) + (Rn) Cộng nội dung ghi Rn với nội dung ghi A với bit C, kết lưu ghi A, lệnh có ảnh hưởng đến ghi trạng thái (cờ C)  ADDC A, direct : (A) (A) + (C) + (direct) ADDC A, @ Ri : (A) (A) + (C) + ((Ri)) ADDC A, # data : (A) (A) + (C) + # data Lệnh trừ: SUBB A, Rn : (A) (A) - (C) - (Rn)  SUBB A, direct : (A) (A) - (C) - (direct) SUBB A, @ Ri : (A) (A) - (C) - ((Ri)) SUBB A, # data : (A) (A) - (C) - data Lệnh tăng: INC A : SVTH:Võ Văn Nhiệm (A) (A) + Trang 24 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Tăng nội dung ghi A lên  INC direct : (direct) (direct) + INC @ Ri : ((Ri)) ((Ri)) + INC Rn INC DPTR : (DPTR) (DPTR) + : (Rn) (Rn) + Lệnh giảm: DEC A : (A) (A) - DEC direct : (direct) (direct) - DEC @ Ri : (Ri) (Ri) - DEC Rn  : (Rn) (Rn) - Lệnh nhân: MULL AB : (A) LOW [(A) x (B)]; có ảnh hưởng cờ OV : (B) HIGH [(A) x (B)]; cờ Carry xóa  Lệnh chia: DIV AB : (A) Integer Result of [(A)/(B)]; cờ OV : Remainder of [(A)/(B)]; cờ Carry xóa  Lệnh điều chỉnh: DA A : Điều chỉnh ghi A thành số BCD phép cộng BCD (thường DA A kèm với ADD, ADDC) Nếu [(A3 - A0) > ] [(AC) = ] (A3A0) (A3A0) + Nếu [(A7 - A4) > ] [(C) = ] (A7A4) (A7A4) + Nhóm lệnh logic (Logic Operation): Tất lệnh logic sử dụng ghi A toán hạng thực thi chu kỳ máy, A chu kỳ máy Những hoạt động logic thực byte vị trí nhớ liệu nội mà không qua ghi A Các hoạt động logic tóm tắt sau: ANL SVTH:Võ Văn Nhiệm Trang 25 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch ANL A,Rn : (A) (A) AND (Rn) ANL A,direct : (A) (A) AND (direct) ANL A, @ Ri : (A) (A) AND ((Ri)) ANL A, # data : (A) (A) AND (# data) ANL direct , A : (direct) (direct) AND (A) ANL direct , # data :(direct) (direct) AND # data ORL ORL ORL ORL ORL ORL ORL A,Rn A,direct A, @ Ri A, # data direct, A direct, # data : (A) (A) OR (Rn) : (A) (A) OR (direct) : (A) (A) OR ((Ri)) : (A) (A) OR # data : (direct) (direct) OR # (A) : (direct) (direct) OR # data XRL XRL A,Rn : (A) (A) (Rn) XRL A,direct : (A) (A) (direct) XRL A, @ Ri : (A) (A) ((Ri)) XRL A, # data : (A) (A) # data XRL direct, A : (direct) (direct) (A) XRL direct, # data : (direct) (direct) # data CLR A : (A) CLR C : (C) CLR Bit : (Bit) RL : Quay vòng ghi A qua trái bit A (An + 1) (An); n = 06 (A0) (A7) RLC A : Quay vòng ghi A qua trái bit có cờ Carry (An + 1) (An); n = 06 (C) (A7) (A0) (C) SVTH:Võ Văn Nhiệm Trang 26 GVHD: Nguyễn Văn Song RR Đồ Án Vi Mạch : Quay vòng ghi A qua phải bit A (An + 1) (An); n = 06 (C) (A7) (A0) (C : Quay vòng ghi A qua phải bit có RRC A cờ cary (An + 1) (An); n = 06 (C) (A7) (A0) (C) : Đổi chổ bit thấp bit cao A SWAP A Nhóm lệnh chuyển quyền điều khiển: Có nhiều lệnh điều khiển lên chương trình bao gồm việc gọi trả lại từ chương trình chia nhánh có điều kiện hay điều kiện Tất lệnh rẽ nhánh điều không ảnh hưởng đến cờ Ta định nhãn cần nhảy tới mà không cần rõ địa chỉ, trình biên dịch đặt địa nơi cần nhảy tới vào lệnh đưa Sau tóm tắt hoạt động lệnh nhảy JC rel : Nhảy đến “rel” cờ Carry C = JNC rel : Nhảy đến “rel” cờ Carry C = JB : Nhảy đến “rel” (bit) =1 bit, rel JNB bit, rel :Nhảy đến “rel” (bit) =0 JBC bit, rel :Nhảy đến “rel” (bit) = xóa bit ACALL addr11 : Lệnh gọi chương trình địa addr11 Chương trình không cách lệnh gọi 2Kbyte Addr11 thay nhãn (tên chương trình con) LCALL addr16 : Lệnh gọi chương trình địa addr16 Chương trình không cách lệnh gọi 64Kbyte Addr16 thay nhãn (tên chương trình con) RET SVTH:Võ Văn Nhiệm : Kết thúc chương trình trở chương trình Trang 27 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch : Kết thúc thủ tục phục vụ ngắt quay chương trình RETI Chính hoạt động tương tự RET AJMP Addr11 : lệnh nhảy đến địa addr11 để thực lệnh Addr11 thay nhãn (tên chương trình con) Địa nhảy đến không Kbyte LJMP Addr16 : Lệnh nhảy đến địa addr16 để thực lệnh Nơi nhảy đến tùy ý vùng 64 Kb SJMP rel : Nhảy ngắn không điều kiện 128 byte tới lùi JMP @ A + DPTR: Nhảy không điều kiện đến địa nội dung A cộng với DPTR JZ rel : Lệnh nhảy đến thực chương trình địa rel Z = JNZ rel : Lệnh nhảy đến thực chương trình địa rel Z = JC rel : Lệnh nhảy đến thực chương trình địa rel C = JNC rel : Lệnh nhảy đến thực chương trình địa rel C = CJNE A, direct, rel : So sánh nhảy, nội dung ghi A khác nội dung ô nhớ có địa direct nhảy thực lệnh địa rel Nếu không nhảy CJNE A, # data, rel : Tương tự lệnh CJNE A, direct, rel CJNE Rn, # data, rel : Tương tự lệnh CJNE A, direct, rel CJNE @ Ri, # data, rel : Tương tự lệnh CJNE A, direct, rel DJNZ Rn, rel : Giảm Rn nhảy đến rel Rn khác DJNZ direct, rel : Tương tự lệnh DJNZ Rn, rel Các lệnh luận lý ( Boolean Instruction): 8951 chứa xử lí luận lý đầy đủ cho hoạt động bit đơn, điểm mạnh họ vi điều kiển MCS-51 mà họ vi điều khiển khác SVTH:Võ Văn Nhiệm Trang 28 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch RAM nội chứa 128 bit đơn vị vùng nhớ ghi chức đặc biệt cấp lên đến 128 đơn vị khác Tất đường Port bit định vị, đường xử lí Port đơn vị riêng biệt Cách truy xuất bit không lệnh rẽ nhánh không, mà danh mục đầy đủ lệnh MOVE, SET, CLEAR, COMPLEMENT, OR, AND Toàn truy xuất bit dùng định vị trực tiếp với địa từ 00H - 7FH 128 vùng nhớ thấp 80H - FFh vùng ghi chức đặc biệt Bit Carry C ghi PSW\ từ trạng thái chương trình dùng tích lũy đơn xử lí luận lý Bit Carry bit định vị có địa trực tiếp nằm PSW Hai lệnh CLR C CLR CY có tác dụng xóa bit cờ Carry lệnh byte lệnh sau byte Hoạt động lệnh luận lý tóm tắt sau: CLR C : Xóa cờ Carry xuống Có ảnh hưởng cờ Carry CLR BIT : Xóa bit xuống Không ảnh hưởng cờ Carry SETB C : Set cờ Carry lên Có ảnh hưởng cờ Carry SETB BIT : Set bit lên Không ảnh hưởng cờ Carry CLP C : Đảo bit cờ Carry Có ảnh hưởng cờ Carry CPL BIT : Đảo bit Không ảnh hưởng cờ Carry ANL C, BIT : (C) (C) AND (BIT): Có ảnh hưởng cờ Carry ANL C, / BIT : (C) (C) AND NOT (BIT): Không ảnh hưởng cờ Carry ORL C, BIT : (C) (C) OR (BIT): Tác động cờ Carry ORL C, / BIT : (C) (C) OR NOT (BIT): Tác động cờ Carry MOV C, BIT : (C) (BIT) : Cờ Carry bị tác động MOV BIT, C : (BIT) (C) : Không ảnh hưởng cờ Carry SVTH:Võ Văn Nhiệm Trang 29 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch IV TÌM HIỂU VỀ LED ĐOẠN: Hình 2.9 led đoạn Led đoạn có cấu tạo bao gồm led đơn có dạng xếp theo hình bên có thêm led đơn hình tròn nhỏ thể dấu chấm tròn góc dưới, bên phải led đoạn led đơn led đoạn có Anode(cực +) Cathode(cực -) nối chung với vào điểm, đưa chân để kết nối với mạch điện Trên cấu tạo LED đoạn loại common cathod (cực âm chung) Còn loại common anod (cực dương chung) sơ đồ tương tự Còn nguyên lý hoạt động giống LED Cấp nguồn cho chân đoạn tương ứng với chân sáng Chúng ta sử dụng chân cổng VĐK AT89C51 để điều khiển cực led đoạn có cách khác để hiển thị :người ta quét cho sáng thời gian ngắn, cho cảm giác sáng tất led, vừa tiết kiệm điện chân port cho VĐK SVTH:Võ Văn Nhiệm Trang 30 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG III THIẾT KẾ MẠCH ĐỒNG HỒ: Mạch: +5v RP1 RESPACK-8 U2:A 74HC04 U2:B U1 19 18 29 30 31 XTAL1 XTAL2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 74HC04 U2:C 74HC04 U2:D 21 22 23 24 25 26 27 28 13 12 74HC04 U2:E 11 10 11 12 13 14 15 16 17 SW1 10 74HC04 U2:F SW -SPST-MOM SW2 74HC04 SW -SPST-MOM U3:A 80C51 74HC04 U3:B 74HC04 Hình 2.10 mạch đồng hồ Bộ hiển thị (led đoạn): +5v RP1 RESPACK-8 U2:A 74HC04 U2:B U1 19 18 29 30 31 XTAL1 XTAL2 RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 U2:C 74HC04 U2:D 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 74HC04 13 12 74HC04 U2:E 11 SW1 10 74HC04 U2:F SW-SPST-MOM SW2 74HC04 SW-SPST-MOM U3:A 80C51 74HC04 U3:B 74HC04 Hình 2.11 hiển thị dồng hồ SVTH:Võ Văn Nhiệm Trang 31 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Lưu đồ: Begin Khởi tạo vùng nhớ lưu trữ mã đoạn từ Tăng biến đếm hàng chục,đơn vị giây - so sánh với 60 Khởi tạo vùng nhớ lưu biến đếm hàng chục, đơn vị của, giờ, phút, giây = 00 Tăng biến đếm hàng chục,đơn vị phút - so sánh với 60 Giã mã hàng chục đơn vị giờ, phút, giây (từ mã nhị phân sang đoạn) Delay hiển thị 1s Tăng biến đếm hàng chục,đơn vị - so sánh với 24 end SVTH:Võ Văn Nhiệm Trang 32 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch Chương trình: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh hien thi gio-phut-giay dung timer0 dem chinh xac thoi gian 1s ; p0 xuat du lieu doan ; p2quet led ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ORG LJMP MAIN ORG 0003H LJMP NGAT0 org ljmp 0013h ngat1 Org 100 Main: SETB setb MOV IE,#10000101B Mov dptr, Mov tmod, clr tf0 ;giay ;chucgiay ;phut ;chucphut #ma7doan #01h Mov Mov Mov Mov Mov Mov gio: phut: giay: IT0 IT1 equ equ equ equ 20h,#00h 21h,#00h 22h,#00h 23h, #00h 24h,#00h 25h, #00h Mov 32h, #00h Mov 31h, #00h mov 30h, #00h lcall giai_ma lcall delay_hienthi 20h 21h 22h 23h ; bien luu donvi giay ; bien luu chuc giay ; bien luu don vi phut ; bien luu chuc phut ; bien luu don vi gio ; bien luu chuc gio ; bien dem phut ; bien dem giay Inc Mov Cjne 30h ; dem tang giay va so sanh a,30h a,#60,giay inc mov cjne 31h ; dem tang phut va so sanh a,31h a,#60,phut inc mov cjne 32h ; dem tang gio va so sanh a,32h a,#24,gio sjmp main SVTH:Võ Văn Nhiệm Trang 33 GVHD: Nguyễn Văn Song ngat0: mov inc mov cjne mov kip1: mov mov ie,#085H reti ie,#80h 31h a,31h a,#60,kip1 a,#00 31h,a ngat1: mov inc mov cjne mov kip: mov mov ie,#085H reti ie,#80h 32h a,32h a,#24,kip a,#00 31h,a giai_ma: Mov Mov Div Đồ Án Vi Mạch a, 30h b, #10 ab Movc Mov a, 21h, @a+dptr a ; luu so hang chuc giay Mov Movc Mov a, a, 20h, b @a+dptr a ; luu so hang don vi giay Mov Mov Div Movc Mov a, 31h b, #10 ab a, @a+dptr 23h, a ; luu so hang chuc phut Mov Movc Mov a, a, 22h, Mov Mov Div a, 32h b, #10 ab Movc Mov a, 24h, @a+dptr a ; luu so hang chuc gio Mov Movc Mov a, a, 25h, b @a+dptr a ; luu so hang don vi gio b @a+dptr a ; luu so hang don vi phut Ret delay_hienthi: mov r6,#20 SVTH:Võ Văn Nhiệm Trang 34 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch lap20: mov th0,#high(-50000) ; chuong trinh delay 1ms mov tl0,#low(-50000) setb tr0 clr tf0 lap1: lcall hienthi jnb tf0,lap1 djnz r6,lap20 ret hienthi: mov p0,20h ; doan chuong trinh hien thi dv giay mov p2,#01111111b lcall delay mov p2,#0ffh mov p0,21h ;doan chuong trinh hien thi chuc giay mov p2,#10111111b lcall delay mov p2,#0ffh mov p0,22h ; doan chuong trinh hien thi dv phut mov p2,#11101111b lcall delay mov p1,#0ffh mov p0,23h ; doan chuong trinh hien thi chuc phut mov p2,#11110111b lcall delay mov p2,#0ffh mov p0,24h ; doan chuong trinh hien thi dv gio mov p2,#11111110b lcall delay mov p2,#0ffh mov p0,25h ;doan chuong trinh hien thi chuc gio mov p2,#11111101b lcall delay mov p2,#0ffh ret ma7doan: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H delay: Mov r0, #0fh Djnz r0,$ Ret end SVTH:Võ Văn Nhiệm Trang 35 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I KẾT LUẬN Sau thực việc ta mạch điều khiển,kết nối với hiển thị led đoạn mạch đồng hồ số hoàn chỉnh chạy theo chương trình nạp vào vi điều khiển: Mạch hoạt động: +5v RP1 RESPACK-8 U2:A 74HC04 U2:B U1 19 18 29 30 31 XTAL1 XTAL2 RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 U2:C 74HC04 U2:D 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 74HC04 13 12 74HC04 U2:E 11 SW1 10 74HC04 U2:F SW -SPST-MOM SW2 74HC04 SW -SPST-MOM U3:A 80C51 74HC04 U3:B 74HC04 Đề tài số hạn chế chưa sử dụng hết tính vi điều khiển Do thời gian thưc có hạn nên tránh khỏi thiếu sót nên mong góp ý từ thầy cô bạn để đề tài hoàn thiện II HƯỚNG PHÁT TRIỂN Nếu đề tài hoàn thành tốt đẹp thời gian tới, với điều kiện cho phép em cố gắng phát triển đề tài lớn với nhiều hiệu ứng lạ góp phần giới thiệu phát triển ngành quảng cáo led đơn ngày sâu rộng đến vùng quê xa xôi SVTH:Võ Văn Nhiệm Trang 36 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch TÀI LIỆU THAM KHẢO Tra linh kiện WWW.ALLDATASHEET.COM Diễn đàn điện tử Việt Nam www.dientuvietnam.net Tài liệu thực hành vi xử lý Trương Ngọc Anh Kỹ Thuật Vi Xử Lý: Tác giả: Trần Văn Trọng (ĐHSP Kỹ Thuật-TP.HCM) Giới thiệu họ VDK 89C51 Đặng Hữu Phúc trường đại học Trà Vinh Giáo trình Vi điều khiển Phạm Hùng Kim Khánh www.led.net.vn www.diendandien.com www.hoiquandientu.com SVTH:Võ Văn Nhiệm Trang 37 [...]... r0, #0fh Djnz r0,$ Ret end SVTH:Võ Văn Nhiệm Trang 35 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I KẾT LUẬN Sau khi thực hiện những vi c trên ta được mạch điều khiển, kết nối với bộ hiển thị led 7 đoạn sẽ được mạch đồng hồ số hoàn chỉnh và chạy theo chương trình đã được nạp vào vi điều khiển: Mạch đang hoạt động: +5v RP1 1 2 3 4 5 6 7 8 9 RESPACK-8 U2:A 1 2 74HC04 U2:B... Song RR Đồ Án Vi Mạch : Quay vòng thanh ghi A qua phải 1 bit A (An + 1) (An); n = 06 (C) (A7) (A0) (C : Quay vòng thanh ghi A qua phải 1 bit có RRC A cờ cary (An + 1) (An); n = 06 (C) (A7) (A0) (C) : Đổi chổ 4 bit thấp và 4 bit cao của A SWAP A 4 Nhóm lệnh chuyển quyền điều khiển: Có nhiều lệnh điều khiển lên chương trình bao gồm vi c gọi hoặc trả lại từ chương trình con hoặc chia nhánh có điều kiện... lượt từng con 1 trong thời gian ngắn, như vậy vẫn cho cảm giác sáng đều tất cả các led, vừa tiết kiệm điện và chân port cho VĐK SVTH:Võ Văn Nhiệm Trang 30 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch CHƯƠNG III THIẾT KẾ MẠCH ĐỒNG HỒ: 1 Mạch: +5v RP1 1 2 3 4 5 6 7 8 9 RESPACK-8 U2:A 1 2 74HC04 U2:B U1 19 18 9 29 30 31 1 2 3 4 5 6 7 8 XTAL1 XTAL2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6... Rn, rel : Giảm Rn đi 1 và nhảy đến rel nếu Rn khác 0 DJNZ direct, rel : Tương tự lệnh DJNZ Rn, rel 5 Các lệnh luận lý ( Boolean Instruction): 8951 chứa một bộ xử lí luận lý đầy đủ cho các hoạt động bit đơn, đây là một điểm mạnh của họ vi điều kiển MCS-51 mà các họ vi điều khiển khác không có SVTH:Võ Văn Nhiệm Trang 28 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch RAM nội chứa 128 bit đơn vị và các vùng nhớ các... byte được PUSH vào sẽ mất đi và các byte POP ra thì không biết rõ Các lệnh di chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp Địa chỉ gián tiếp có thể dùng chỉ 1 byte (@ Ri) hoặc các địa chỉ 2 byte (@ DPTR) Tất cả các lệnh dịch chuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2 chu kỳ máy và dùng thanh ghi A làm toán hạng điểm đến Vi c đọc và ghi thanh ghi RAM ngoài (RD và WR) chỉ tích... direct vào ô nhớ có địa chỉ derect  Chuyển dữ liệu từ ô nhớ gián tiếp vào ô nhớ trực tiếp: Cú pháp: MOV direct,@ Ri Chức năng: Chuyển dữ liệu từ ộ nhớ có địa chỉ chứa trong thanh ghi Ri vào ô nhớ có địa chỉ direct  Chuyển dữ liệu vào ộ nhớ trực tiếp: Cú pháp: MOV direct, #data Chức năng: Nạp dữ liệu 8 bit vào ô nhớ có địa chỉ direct SVTH:Võ Văn Nhiệm Trang 21 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch ... thị dồng hồ SVTH:Võ Văn Nhiệm Trang 31 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch 3 Lưu đồ: Begin Khởi tạo vùng nhớ lưu trữ mã 7 đoạn từ 0 Tăng biến đếm hàng chục,đơn vị giây - so sánh với 60 Khởi tạo vùng nhớ lưu biến đếm hàng chục, đơn vị của, giờ, phút, giây = 00 Tăng biến đếm hàng chục,đơn vị phút - so sánh với 60 Giã mã hàng chục đơn vị của giờ, phút, giây (từ mã nhị phân sang 7 đoạn) Delay và hiển thị... Án Vi Mạch  Chuyển dữ liệu từ thanh ghi A vào thanh ghi: Cú pháp: MOV Rn, A Chức năng: Chuyển dữ liệu từ thanh ghi A vào thanh ghi Rn  Chuyển dữ liệu từ ô nhớ trực tiếp vào thanh ghi Rn: Cú pháp: MOV Rn, #direct Chức năng: Chuyển nội dung ô nhớ trong RAM nội có địa chỉ direct vào thanh ghi Rn  Chuyển dữ liệu tức thời 8 bit vào thanh ghi Rn: Cú pháp: MOV Rn, #data Chức năng: Chuyển dữ liệu 8 bit vào... (DPH: byte cao) Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H: MOV A , #55H MOV DPTR, #1000H MOV @DPTR, A SVTH:Võ Văn Nhiệm Trang 14 GVHD: Nguyễn Văn Song Đồ Án Vi Mạch - Lệnh đầu tiên dùng để nạp 55H vào thanh ghi A Lệnh thứ hai dùng để nạp địa chỉ của ô nhớ cần lưu giá trị 55H vào con trỏ dữ liệu DPTR Lệnh thứ ba sẽ di chuyển nội dung thanh ghi A (là 55H) vào ô nhớ RAM bên ngoài có địa chỉ chứa... dữ liệu từ thanh ghi A vào ô nhớ gián tiếp: Cú pháp: MOV @ Ri,A Chức năng: Chuyển dữ liệu từ thanh ghi A vào ô nhớ trong RAM nội có địa chỉ chứa trong Ri  Chuyển dữ liệu từ ô nhớ trực tiếp vào ô nhớ gián tiếp: Cú pháp: MOV @ Ri,direct Chức năng: Chuyển nội dung ô nhớ có địa chỉ direct vào ộ nhớ có nội dung chứa trong thanh ghi Ri  Chuyển dữ liệu ô nhớ tức thời vào ô nhớ gián tiếp: Cú pháp: MOV @

Ngày đăng: 23/07/2016, 18:02

Từ khóa liên quan

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

Tài liệu liên quan