Đề tài Ứng dụng ic8051 để hiển thị bộ đếm giờ - Phút – giây trên sáu led matrix

PHẦN A : GIỚI THIỆU .1

Nhận xét của giáo viên hướng dẫn .2

Nhận xét của giáo viên phản biện .3

Lời mở đầu .4

Lời cảm tạ .5

Mục lục .6

PHẦN B: NỘI DUNG .7

Chương 1:Giới thiệu linh kiện dùng trong mạch .8

1.1 Vi điều khiển .8

1.1.1 Giới thiệu họ vi điều khiển. .8

1.1.2 Sơ đồ và chức năng các chân .9

1.1.3 Tổ chức bộ nhớ .11

1.1.4 Phần mềm lập trình VĐK MCS51 13

1.2 IC giải mã TPIC6B595 14

1.2.1 Sơ đồ và chức năng các chân 14

1.2.2 Sơ đồ logic của TPIC6B595 .15

1.2.3 Sơ đồ đầu vào và ra .16

1.3 LED MATRIX .17

1.3.1 Hình dạng và cấu tạo của LED .17

1.3.2 Nguyên lý hoạt động .18

1.4 IC ULN 2803 19

Chương 2: Kết luận và hướng phát triển đề tài .20

2.1 Kết luận 20

2.2 Hướng phát triển đề tài .20

PHẦN C: PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO .21

Phụ lục A: Lưu đồ giải thuật .22

Phụ lục B: Chương trình điều khiển .23

Phụ lục C: Sơ đồ mạch .52

pdf54 trang | Chia sẻ: lethao | Lượt xem: 2035 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng ic8051 để hiển thị bộ đếm giờ - Phút – giây trên sáu led matrix, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chíp 8051 được công ty INTEL chế tạo vào năm 1980 là là sản phẩm đầu tiên của họ bộ vi điều khiển MCS-51. Ngày nay, họ MCS-51 đã có trên 250 biến thể khác nhau và được hầu hết các công ty bán dẫn hàng đầu trên thế giới chế tạo, với số lượng tiêu thụ trên 4 tỷ bộ mỗi năm. Họ MCS-51 có khả năng ứng dụng rất rộng rãi, chúng có mặt trong rất nhiều sản phẩm dân dụng như máy giặt, máy điều hòa nhiệt độ, lò vi sóng, nồi cơm điện..., các thiết bị điện tử y tế và viễn thông, các thiết bị đo lường và điều khiển sử dụng trong công nghiệp, v.v...Đưới đây là cấu trúc cơ bản của các bộ vi điều khiển MCS-51: Trang 8 Tim va chinh sua : nguyenvanbientbd47@gmail.com Mỗi vi mạch MCS-51 bao gồm trong nó bộ xử lý trung tâm (CPU), bộ nhớ chỉ đọc (ROM), bộ nhớ đọc ghi (RAM), các cổng vào ra song song 8 bít (l/o Port), cổng vào ra nối tiếp (Serial Port), các bộ đếm và định thời (Timer), khối điều khiển ngắt (lnterrupt control), khối điều khiển bus (Bus control) và mạch tạo xung nhịp (Oscillator). Giao tiếp giữa CPU và các khối bên trong của MCS-51 đ- ược thực hiện qua các bus nội bộ gồm bus dữ liệu 8 bít, bus địa chỉ và các tín hiệu điều khiển khác. Cấu trúc trên cho phép coi MCS-51 như là một máy tính đơn chíp 8 bít. 1.1.2 Sơ đồ và chức năng các chân Sơ đồ các chân ra trên vỏ của các vi mạch MCS-51 như hình dướ đây chức năng của các chân như sau: - Các chân X1 (19) và X2 (18) để mắc thạch anh cho mạch tạo xung nhịp của MCS-51. - Chân RESET (9) là tín hiệu vào tích cực mức cao để thiết lập lại trạng thái ban đầu cho MCS-51. Trang 9 Tim va chinh sua : nguyenvanbientbd47@gmail.com - Chân /EA (31) là tin hiệu vào, khì nối /EA với +5v thì MCS-51 chỉ làm việc với các bộ nhớ ROM, RAM bên trong nó, còn khi nối /EA với đất thì MCS-51 làm việc với các bộ nhớ ROM, RAM bên ngoài. - Chân ALE (30) là tín hiệu ra dùng để chốt 8 bít địa chỉ thấp (AO A7) khi sử dụng bộ nhớ ngoài. - Chân /PSEN (29) là tín hiệu ra tích cực mức thấp dùng để đọc mã lệnh từ bộ nhớ chương trình bên ngoài khi /EA được nối với đất, khi /EA được nối với +5v thì /PSEN luôn không tích cực ở mức cao. - Các chân cổng 0: P0.7 P0.0 (32 39) được dùng làm cổng vào ra khi /EA được nối với +5v. Khi /EA nối đất thì cổng 0 được sử dụng làm bus địa chỉ và sổ liệu cho bộ nhớ ngoài. Khi đó, ở nửa đầu của chu kỳ lệnh truy nhập bộ nhớ ngoài, MCS-51 đa ra cổng 0 8 bit địa chỉ thấp (A0 A7), sau đó cổng 0 trở thành bus số liệu 8 bít, do đó phải dùng ALE để chốt 8 bit địa chỉ thấp vào thanh chốt địa chỉ phần thấp. - Các chân cổng 2: P2.0 P2.7 (21 28) được dùng làm cổng vào ra khi /EA được nối với +5v. Khi /EA được nối đất thì cổng 2 được sử dụng để đưa ra 8 bít địa chỉ cao (A8 A15) cho bộ nhớ ngoài. - Các chân cổng 3: P3.0 P3.7 (10 17) có thể được dùng làm cổng vào ra hoặc dùng cho chức năng khác như sau: P3.0 (RxD) có thể được dùng để nhận số liệu nối tiếp P3.1 (TxD) có thể được dùng để phát số liệu nối tiếp P3.2 (INTO) có thể được dùng để nhận ngắt ngoài 0; P3.3 (INT1) có thể được dùng để nhận ngắt ngoài 1; P3.4 (T0) có thể được dùng để nhận xung clock Timer 0; P3.5 (T1) có thể được dùng để nhận xung clock cho Timer 1; P3.6 (/WR) khi /EA nối đất thì nó được dùng để đưa ra tín hiệu điều khiển ghi RAM ngoài; P3.7 (/RD) khi /EA nối đất thì nó được dùng để đa ra tín hiệu điều khiển đọc RAM ngoài. - Các chân cổng 1: P1.0 P1.7 (1 8) đối với nhóm 8051 chỉ được sử dụng làm cổng vào ra. Đối với nhóm 8052 thì chân P1.0 (1) có thể được dùng để nhận Trang 10 Tim va chinh sua : nguyenvanbientbd47@gmail.com xung clock T2 cho Timer 2, còn chân P1.1 (2) có thể được dùng làm đầu vào nạp lại T2EX cho Timer 2. Chân GND (20) là để nối đất, còn chân Vcc (40) là để cấp nguồn cho vi mạch MCS-51 Tất cả 32 chân của 4 cổng P0 P3 đều có thể dùng làm các cổng vào ra số liệu song song 8 bít hoặc dùng làm các tín hiệu vào ra độc lập nhau. 1.1.3 Tổ chức bộ nhớ Họ MCS-51 có không gian nhớ riêng cho chương trình và số liệu ở cả bên trong và bên ngoài. Tổ chức bộ nhớ của 89C51 như trên hình sau: Hình 1.1: Tổ chức bộ nhớ Khi /EA được nối với +5v thì bộ nhớ ngoài không được dùng, MCS-51 chỉ truy nhập EEPROM trong để đọc mã chương trình và cất số liệu vào RAM trong. Khi /EA được nối đất thì bộ nhớ chương trình ROM trong không được dùng, MCS-51 đọc mã chương trình từ bộ nhớ chương trình ngoài bằng tín hiệu /PSEN, còn bộ nhớ số liệu ngoài được truy nhập bằng các tín hiệu /WR và /RD, do có bộ nhớ chương trình và bộ nhớ số liệu ngoài có thể dùng chung bus địa chỉ A0 A15. Bộ nhớ số liệu trong của họ MCS-51 có địa chỉ từ 00h đến FFh, trong đó nhóm 8052 có đủ 256 byte RAM, nhóm 8051 chỉ có 128 byte RAM ở các địa chỉ thấp từ 00h đến 7fh, vùng địa chỉ cao từ 80h đến FFh được dành cho các thanh ghi chức năng đặc biệt SFR. Tổ chức vùng 128 byte thấp bộ nhớ số liệu RAM trong của họ MCS-51như trên hình 3, nó được chia thành ba miền. Trang 11 Tim va chinh sua : nguyenvanbientbd47@gmail.com - Miền các băng thanh ghi chiếm địa chỉ từ 00h đến 1fh có 32 byte chia thành 4 băng, mỗi băng có 8 thanh ghi được đánh số từ R0 đến R7. Tại mỗi thời điểm chỉ có một băng thanh ghi có thể truy nhập và được gọi là băng tích cực. Để chọn băng tích cực cần nạp giá trị thích hợp cho các bít RS0 và RS1 của thanh ghi từ trạng thái PSW, mặc định bằng 0 là tích cực. Miền RAM được định địa chỉ bít có 16 byte 8 bít = 128 bít, chiếm địa chỉ từ 20h đến 1fh. Mỗi bít ở miền này được định địa chỉ riêng từ 00h đến 7fh nên có thể truy nhập đến từng bít riêng rẽ bằng các lệnh xử lý bít. Vùng RAM được định địa chỉ bít và các lệnh xử lý bít là một trong những đặc tính nổi bật đem lại sức mạnh cho họ bộ vi điều khiển MCS-51. - Miền RAM thông thường có 80 byte chiếm địa chỉ từ 30h đến 7fh. Các thanh ghi chức năng đặc biệt (viết tắt theo tiếng Anh là SFR) là tập các thanh ghi bên trong của bộ vi điều khiển. Họ MCS-51 định địa chỉ cho tất cả các SFR ở vùng 128 byte cao của bộ nhớ số liệu trong (xem hình 2), mỗi SFR có tên gọi và địa chỉ riêng, một số SFR có định địa chỉ cho từng bít. Khi bật nguồn hoặc RESET, tất cả các SFR đều được nạp giá trị đầu, sau đó chương trình cần nạp lại giá trị cho các SFR cần dùng theo yêu cầu sử dụng. Trang 12 Tim va chinh sua : nguyenvanbientbd47@gmail.com Hình 1.2: Tổ chức 128 byte thấp của RAM trong Việc truy nhập đến các SFR chỉ có thể thực hiện bằng phương pháp địa chỉ trực tiếp với tên gọi hoặc địa chỉ của SFR là toán hạng của lệnh. Với các SFR có định địa chỉ bít, có thể truy nhập và thay đổi trực tiếp từng bít.của nó bằng các lệnh xừ lý bít. Bảng 2 cho biết thông tin chủ yếu về các SFR. Ở nhóm 8051vùng 128 byte cao của bộ nhớ số liệu trong chỉ có các SFR, không tồn tại các ô nhớ khác ở vùng nhớ này. Ở nhóm 8052 bộ nhớ số liệu trong có 256 byte RAM, các ô nhớ của vùng RAM 128 byte cao chỉ có thể truy nhập đ- ược bằng phương pháp địa chỉ gián tiếp, còn các SFR cũng có địa chỉ nằm trong vùng đó nhưng chỉ truy nhập được bằng phương pháp địa chỉ trực tiếp, vì thế việc truy nhập chúng không bị xung đột và nhầm lẫn. 1.1.4 Phần mềm lập trình vi điều khiển MCS-51 Có thể viết trên ngôn ngữ Assembler hoặc các ngôn ngữ bậc cao khác như C, Basic, Forth... Tập lệnh Assembler của họ MCS-51 có 83 lệnh, được chia thành 5 nhóm là các lệnh số học, các lệnh logic, các lệnh chuyển số liệu, các lệnh xử lý bít và các lệnh rẽ nhánh. Các lệnh xứ lý bít là điểm mạnh cơ bản của họ MCS-51, vì chúng làm cho chương trình ngắn gọn hơn và chạy nhanh hơn. Ch- ương trình Assembler được viết trên máy tính, sau đó phải dịch ra mã máy của họ MCS-51 bằng trình biên dịch ASM51, rồi mới nạp. Chương trình mã máy vào bộ nhớ cho trình EEPROM (hoặc EPROM) ở bên trong hoặc bên ngoài MCS-51. Khi lập trình bằng ngôn ngữ bậc cao như C, Basic, Forth.... cũng phải dịch chúng ra mã máy của họ MCS-51 bằng các trình biên dịch tương ứng, sau đó nạp ch- ương trình mã máy vào bộ nhớ chương trình. Nói chung, chương trình viết trên ngôn ngữ Assembler khó hơn viết trên ngôn ngữ bậc cao, nhưng khi dịch ra mã Trang 13 Tim va chinh sua : nguyenvanbientbd47@gmail.com máy sẽ ngắn gọn hơn và chạy nhanh hơn các chương trình viết trên ngôn ngữ bậc cao. Để viết và nạp phần mềm cho MCS-51, bạn phải có các công cụ là máy vi tính, trình biên dịch ngôn ngữ sử dụng ra mã máy của họ MCS-51 và bộ nạp chương trình mã máy từ máy tính vào bộ nhớ chương trình EEPROM trong Mcs-51 hoặc bộ nhớ EPROM ngoài. 1.2 IC giải mã TPIC6B595N 1.2.1 Sơ đồ và chức năng các chân 6B595 thuộc họ CMOS là loại IC dịch dùng điều khiển điện áp ở ngõ ra. Được ứng dụng điều khiển điện áp ngõ ra bao gồm những cuộn dây, rơ le và bao gồm những thiết bị cùng áp hay những thiết bị có điện áp lớn. Dưới đây là sơ đồ và chức năng các chân của TPIC6B595: Chân 1(NC) không kết nối với bên trong Chân 2(Vcc) chân nguồn Chân 3(Serin) dữ liệu đưa vào Chân 4 đến chân 7 và chân 14 đến 17 ngõ ra Chân 8(Clear) khi ở mức tích cực thấp xoá bít Chân 8(G) ngõ ra cho phép, ở mức thấp điện áp ngõ ra được điều khiển, ở mức trạng thái ngõ ra đóng lại Chân 10,11 và 19 được nối mát Chân 12(NC) chân nhập dữ liệu cuối Trang 14 RCK SRCLR 12 DRAIN7 G SRCK SER IN D C1 CLR D C1 CLR D C1 CLR D C1 CLR D C1 CLR D C1 CLR D C1 CLR D C1 CLR D C2 D C2 D C2 D C2 D C2 D C2 18 SER OUT 10, 11, 19 GND DRAIN6 DRAIN5 DRAIN4 DRAIN3 DRAIN2 DRAIN1 DRAIN0 8 13 D Tim va chinh sua : nguyenvanbientbd47@gmail.com Chân 13 kích xung clock Chân 18 dữ liệu được kích cho IC kế tiếp Chân 20 không kết nối bên trong 1.2.2 Sơ đồ logic của TPIC6B595 9 3 Trang 15 TYPICAL OF ALL DRAIN OUTPUTS DRAIN GND EQUIVALENT OF EACH INPUT VCC Input 25 V GND 20 V 50 V 12 V SER IN G 5 V 0 V 5 V 0 V 5 V 0 V 5 V 0 V 5 V 0 V 24 V 0.5 V 3 2 1 07 6 5 4 SRCK RCK SRCLR DRAIN1 Tim va chinh sua : nguyenvanbientbd47@gmail.com 1.2.3 Sơ đồ của đầu vào và ra của TPIC6B595 Ta có giản đồ xung kích và xung ra của các chân IC Trang 16 Tim va chinh sua : nguyenvanbientbd47@gmail.com 1.3 LEDMATRIX 1.3.1 Hình dạng và cấu tạo của LED Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong một vỏ.Các tín hiệu điều khiển cột được nối với Anode của tất cả các led trên cùng một cột. Các tín hiệu điểu khiển hàng cũng được nối với Cathode của tất cả các led trên cùng một hàng như hình vẽ : Trang 17 Tim va chinh sua : nguyenvanbientbd47@gmail.com 1.3.2 Nguyên lý hoạt động Khi có một tín hiệu điều khiển ở cột và hàng ,các chân Anode của các led trên cột tương ứng được cấp điện áp cao , đồng thời các chân Cathode của các led trên hàng tương ứng được được cấp điện áp thấp .Tuy nhiên lúc đó chỉ có một led sáng ,vì nó có đồng thời điện thế cao trên Anode và điện thế thấp trên Cathode.Như vậy khi có một tín hiệu điều khiển hàng và cột ,thì tại một thời điểm chỉ có duy nhất một led tại chỗ gặp nhau của hàng và cột là sáng.Các bảng quang báo với số lượng led lớn hơn cũng được kết nối theo cấu trúc như vậy. Trong trường hợp ta muốn cho sáng đồng thời một số led rời rạc trên ma trận, để hiện thị một kí tự nào đó ,nếu trong hiển thị tĩnh ta phải cấp áp cao cho Anode và áp thấp cho Cathode ,cho các led tương ứng mà ta muốn sáng.Nhưng khi đó một số led ta không mong muốn cũng sẽ sáng ,miễn là nó nằm tại vị trí gặp nhau của các cột và hàng mà ta cấp nguồn.Vì vậy trong điều khiển led ma trận ta không thể sử dụng phương pháp hiển thị tĩnh mà phải sử dụng phương pháp quét (hiển thị động),có nghĩa là ta phải tiến hành cấp tín hiệu điều khiển theo dạng xung quét trên các hàng và cột có led cần hiển thị. Để đảm cho mắt nhìn thấy các led không bị nháy,thì tần số quét nhỏ nhất cho mỗi chu kì là khoảng 20HZ(50ms).Trong lập trình điều khiển led ma trận bằng vi xử lý ta cũng phải sử dụng phương pháp quét như vậy. Ma trận led có thể là loại chỉ hiển thị được một màu hoặc hiển thị được 2 màu trên một điểm,khi đó led có số chân ra tương ứng : đối với ma trận led 8x8 hiển thị một màu, thì số chân ra là 16,trong đó 8 chân dùng để điều khiển hàng và 8 chân còn lại dùng để điều khiển cột. Đối với loại 8x8 có 2 màu thì số chân ra của led là 24 chân,trong đó có 8 chân dùng để điều khiển cột (hoặc hàng ) chung cho cả hai màu,16 chân còn lại thì 8 chân dùng để điều khiển hàng (hoặc cột) màu thứ nhất,8 chân còn lại dùng điều khiển màu thứ 2. Trang 18 Tim va chinh sua : nguyenvanbientbd47@gmail.com 1.4 IC ULN2803 ULN2803 là IC đệm đảo có 9 chân trong đó có 8 ngõ vào và 8 ngõ ra, dưới đây là hình dạng và cấu tạo bên trong của 2803: Bộ đệm đảo dung IC2803 nhằm đảo bít nếu ngõ vào ở mức cao qua 2803 ra sẽ là mức thấp và ngược lại. ULN2803 chịu dựng mức điện áp từ 6V-15V hơn loai CMOS hay cả PMOS. Trang 19 Tim va chinh sua : nguyenvanbientbd47@gmail.com CHƯƠNG 2 KẾT LUẬN – HƯỚNG PHẤT TRIỂN ĐỀ TÀI 2.1 KẾT LUẬN Cuộc sống con người phát triển ngày càng hiện đại vì vậy thời gian rất quý báu đối với mỗi con người chúng ta. Đồng hồ chính là thước đo thời gian không thề thiếu, vì vậy chúng em chọn đề tài này phát triển nghiên cứu nó để làm ra những cái đồng hồ đa dạng hơn, hiện đại hơn. Đề tài chúng em lựa chọn làm đồ án 2 này điều khiển hiển thị trên 6 LED MATRIX , kiến thức còn hạn hẹp nên không tránh khỏi những sai sót. Chúng em rất mong nhận được những lời chỉ bảo từ thầy cô trong hội đồng. 2.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI Từ đề tài này chúng ta có thể phát triển lên một cái đòng hồ đa chức năng. Đồng hồ đa chức năng đó có hiển thị GIỜ - PHÚT – GIÂY là cái cơ bản thêm vào đó có NGÀY – THÁNG - NĂM của cả dương lịch và âm lịch. Ngoài ra có cảm biến nhiệt để đo nhiệt độ của thời tiết hàng ngày và nhiều chứa năng hơn nữa như hẹn giờ, chuông báo giờ …. Trang 20 Tim va chinh sua : nguyenvanbientbd47@gmail.com PHẦN C PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO Trang 21 Tim va chinh sua : nguyenvanbientbd47@gmail.com PHỤ LỤC A LƯU ĐỒ CHƯƠNG TRÌNH CHÍNH Trang 22 Tim va chinh sua : nguyenvanbientbd47@gmail.com PHỤ LỤC B CHƯƠNG TRÌNH ĐIỀU KHIỂN $MOD51 ;CHUONG TRINH DONG HO HIEN THI LED MATRIX SETTBIT P3.0 UP BIT P3.1 DOWN BIT P3.2 OK BIT P3.3 CLEAR BIT P2.4 ;CHAN 8 CLOCK BIT P2.6 ;CHAN 13 DATAIN BIT P2.3 ;CHAN 3 STROBE BIT P2.7 ;CHAN 12 ENABLE BIT P2.5 ;CHAN 9 ORG 0000H SETBCLEAR CLR ENABLE CLR CLOCK CLR DATAIN CLR STROBE LCALL DELAY MOV P0,#00H MOVTMOD,#01H MOVR4,#00H MOV20H,#00H ;CHUC GIO MOV21H,#00H ;D/VI GIO MOV22H,#00H ;CHUC PHUT MOV23H,#00H ;D/VI PHUT MOV24H,#00H ;CHUC GIAY MOV25H,#00H ;D/VI GIAY MOV 60H,#01H MOV 61H,#02H MOV 62H,#04H MOV 63H,#08H Trang 23 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOV 64H,#10H MOV 65H,#20H MOV 66H,#40H MOV 67H,#80H LB: LCALL GIAIMA1 LCALL GIAIMA2 LCALL GIAIMA3 LCALL GIAIMA4 LCALL GIAIMA5 LCALL GIAIMA6 MOV R2,#150 HTHI1: LCALL HIENTHI DJNZ R2,HTHI1 LCALL DELAY1S CJNE R4,#01,LB1 MOVR4,#00H LCALL GPGIAY LB1: JB SETT,LB ;Y1: MOV R2,#250 ;HTHI2: LCALL HIENTHI ; DJNZ R2,HTHI2 ; JNB SETT,Y1 MOV10H,#01H LCALL SETTING SJMP LB HIENTHI: MOVA,30H LCALL DATACOTX MOVA,38H LCALL DATACOTX MOVA,40H LCALL DATACOTX MOVA,48H LCALL DATACOTX MOVA,50H LCALL DATACOTX MOVA,58H LCALL DATACOTX Trang 24 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVP0,60H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,31H LCALL DATACOTX MOVA,39H LCALL DATACOTX MOVA,41H LCALL DATACOTX MOVA,49H LCALL DATACOTX MOVA,51H LCALL DATACOTX MOVA,59H LCALL DATACOTX MOVP0,61H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,32H LCALL DATACOTX MOVA,3AH LCALL DATACOTX MOVA,42H LCALL DATACOTX MOVA,4AH LCALL DATACOTX MOVA,52H LCALL DATACOTX Trang 25 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVA,5AH LCALL DATACOTX MOVP0,62H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,33H LCALL DATACOTX MOVA,3BH LCALL DATACOTX MOVA,43H LCALL DATACOTX MOVA,4BH LCALL DATACOTX MOVA,53H LCALL DATACOTX MOVA,5BH LCALL DATACOTX MOVP0,63H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,34H LCALL DATACOTX MOVA,3CH LCALL DATACOTX MOVA,44H LCALL DATACOTX MOVA,4CH LCALL DATACOTX Trang 26 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVA,54H LCALL DATACOTX MOVA,5CH LCALL DATACOTX MOVP0,64H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,35H LCALL DATACOTX MOVA,3DH LCALL DATACOTX MOVA,45H LCALL DATACOTX MOVA,4DH LCALL DATACOTX MOVA,55H LCALL DATACOTX MOVA,5DH LCALL DATACOTX MOVP0,65H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,36H LCALL DATACOTX MOVA,3EH LCALL DATACOTX MOVA,46H LCALL DATACOTX Trang 27 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVA,4EH LCALL DATACOTX MOVA,56H LCALL DATACOTX MOVA,5EH LCALL DATACOTX MOVP0,66H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR MOVA,37H LCALL DATACOTX MOVA,3FH LCALL DATACOTX MOVA,47H LCALL DATACOTX MOVA,4FH LCALL DATACOTX MOVA,57H LCALL DATACOTX MOVA,5FH LCALL DATACOTX MOVP0,67H LCALL DELAY MOVP0,#00 CLR CLEAR NOP NOP NOP SETBCLEAR RET DATACOTX: MOVR3,#08 Trang 28 Tim va chinh sua : nguyenvanbientbd47@gmail.com XOAY1: RLC A MOVDATAIN,C NOP NOP NOP NOP SETBCLOCK SETBSTROBE NOP NOP NOP NOP CLR STROBE CLR CLOCK DJNZ R3,XOAY1 RET DELAY: MOV R6,#050H DJNZ R6,$ RET SETTING: X5: LCALL GIAIMA1 LCALL GIAIMA2 LCALL GIAIMA3 LCALL GIAIMA4 LCALL GIAIMA5 LCALL GIAIMA6 MOV R2,#150 HTHI3: LCALL HIENTHI DJNZ R2,HTHI3 JB SETT,X2 Y2: ; MOV R2,#250 ;HTHI4: ; LCALL HIENTHI Trang 29 Tim va chinh sua : nguyenvanbientbd47@gmail.com ; DJNZ R2,HTHI4 ; JNB SETT,Y2 INC 10H MOVA,10H CJNE A,#4,X2 MOV10H,#01H X2: JB UP,X3 Y3: ; MOV R2,#250 ;HTHI5: ; LCALL HIENTHI ; DJNZ R2,HTHI5 ; JNB UP,Y3 LCALL DEMLEN X3: JB DOWN,X4 Y4: ; MOV R2,#250 ;HTHI6: ; LCALL HIENTHI ; DJNZ R2,HTHI6 ; JNB DOWN,Y4 LCALL DEMXUO X4: JB OK,X5 Y5: ; MOV R2,#250 ;HTHI7: ; LCALL HIENTHI ; DJNZ R2,HTHI7 ; JNB OK,Y5 RET DEMLEN: MOVA,10H CJNE A,#01,DL1 INC 25H MOVA,25H Trang 30 Tim va chinh sua : nguyenvanbientbd47@gmail.com CJNE A,#10,DL1 MOV25H,#00H INC 24H MOVA,24H CJNE A,#6,DL1 MOV24H,#00H DL1: MOVA,10H CJNE A,#02,DL2 INC 23H MOVA,23H CJNE A,#10,DL2 MOV23H,#00H INC 22H MOVA,22H CJNE A,#6,DL2 MOV22H,#00H DL2: MOVA,10H CJNE A,#03,DL3 MOVA,20H CJNE A,#2,DL4 INC 21H MOVA,21H CJNE A,#4,DL3 MOV21H,#00 MOV20H,#00 SJMP DL3 DL4: INC 21H MOVA,21H CJNE A,#10,DL3 MOV21H,#00H INC 20H MOVA,20H CJNE A,#3,DL3 DL3: RET DEMXUO: Trang 31 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVA,10H CJNE A,#01,DX1 DEC 25H MOVA,25H CJNE A,#0FFH,DX1 MOV25H,#09H DEC 24H MOVA,24H CJNE A,#0FFH,DX1 MOV24H,#05H DX1: MOVA,10H CJNE A,#02,DX2 DEC 23H MOVA,23H CJNE A,#0FFH,DX2 MOV23H,#09H DEC 22H MOVA,22H CJNE A,#0FFH,DX2 MOV22H,#05H DX2: MOVA,10H CJNE A,#03,DX3 DEC 21H MOVA,21H CJNE A,#0FFH,DX3 MOV21H,#09H DEC 20H MOVA,20H CJNE A,#0FFH,DX3 MOV20H,#02H MOV21H,#03H DX3: RET GIAIMA1: MOVA,20H CJNE A,#00H,GMA1 MOVR0,#30H Trang 32 Tim va chinh sua : nguyenvanbientbd47@gmail.com MOVDPTR,#800H GIMA1: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA1 GMA1: MOVA,20H CJNE A,#01H,GMA2 MOVR0,#30H MOVDPTR,#808H GIMA2: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA2 GMA2: MOVA,20H CJNE A,#02H,GMA3 MOVR0,#30H MOVDPTR,#810H GIMA3: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA3 GMA3: MOVA,20H CJNE A,#03H,GMA4 MOVR0,#30H MOVDPTR,#818H GIMA4: CLR A MOVC A,@A+DPTR MOV@R0,A Trang 33 Tim va chinh sua : nguyenvanbientbd47@gmail.com INC DPTR INC R0 CJNE R0,#38H,GIMA4 GMA4: MOVA,20H CJNE A,#04H,GMA5 MOVR0,#30H MOVDPTR,#820H GIMA5: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA5 GMA5: MOVA,20H CJNE A,#05H,GMA6 MOVR0,#30H MOVDPTR,#828H GIMA6: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA6 GMA6: MOVA,20H CJNE A,#06H,GMA7 MOVR0,#30H MOVDPTR,#830H GIMA7: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA7 Trang 34 Tim va chinh sua : nguyenvanbientbd47@gmail.com GMA7: MOVA,20H CJNE A,#07H,GMA8 MOVR0,#30H MOVDPTR,#838H GIMA8: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA8 GMA8: MOVA,20H CJNE A,#08H,GMA9 MOVR0,#30H MOVDPTR,#840H GIMA9: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA9 GMA9: MOVA,20H CJNE A,#09H,GMA10 MOVR0,#30H MOVDPTR,#848H GIMA10: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#38H,GIMA10 GMA10: RET GIAIMA2: MOVA,21H Trang 35 Tim va chinh sua : nguyenvanbientbd47@gmail.com CJNE A,#00H,GMA11 MOVR0,#38H MOVDPTR,#800H GIMA11: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA11 GMA11: MOVA,21H CJNE A,#01H,GMA12 MOVR0,#38H MOVDPTR,#808H GIMA12: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA12 GMA12: MOVA,21H CJNE A,#02H,GMA13 MOVR0,#38H MOVDPTR,#810H GIMA13: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA13 GMA13: MOVA,21H CJNE A,#03H,GMA14 MOVR0,#38H MOVDPTR,#818H GIMA14: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR Trang 36 Tim va chinh sua : nguyenvanbientbd47@gmail.com INC R0 CJNE R0,#40H,GIMA14 GMA14: MOVA,21H CJNE A,#04H,GMA15 MOVR0,#38H MOVDPTR,#820H GIMA15: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA15 GMA15: MOVA,21H CJNE A,#05H,GMA16 MOVR0,#38H MOVDPTR,#828H GIMA16: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA16 GMA16: MOVA,21H CJNE A,#06H,GMA17 MOVR0,#38H MOVDPTR,#830H GIMA17: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA17 GMA17: MOVA,21H CJNE A,#07H,GMA18 MOVR0,#38H MOVDPTR,#838H Trang 37 Tim va chinh sua : nguyenvanbientbd47@gmail.com GIMA18: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA18 GMA18: MOVA,21H CJNE A,#08H,GMA19 MOVR0,#38H MOVDPTR,#840H GIMA19: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA19 GMA19: MOVA,21H CJNE A,#09H,GMA20 MOVR0,#38H MOVDPTR,#848H GIMA20: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#40H,GIMA20 GMA20: RET GIAIMA3: MOVA,22H CJNE A,#00H,GMA21 MOVR0,#40H MOVDPTR,#800H GIMA21: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR Trang 38 Tim va chinh sua : nguyenvanbientbd47@gmail.com INC R0 CJNE R0,#48H,GIMA21 GMA21: MOVA,22H CJNE A,#01H,GMA22 MOVR0,#40H MOVDPTR,#808H GIMA22: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA22 GMA22: MOVA,22H CJNE A,#02H,GMA23 MOVR0,#40H MOVDPTR,#810H GIMA23: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA23 GMA23: MOVA,22H CJNE A,#03H,GMA24 MOVR0,#40H MOVDPTR,#818H GIMA24: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA24 GMA24: MOVA,22H CJNE A,#04H,GMA25 MOVR0,#40H MOVDPTR,#820H Trang 39 Tim va chinh sua : nguyenvanbientbd47@gmail.com GIMA25: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA25 GMA25: MOVA,22H CJNE A,#05H,GMA26 MOVR0,#40H MOVDPTR,#828H GIMA26: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA26 GMA26: MOVA,22H CJNE A,#06H,GMA27 MOVR0,#40H MOVDPTR,#830H GIMA27: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA27 GMA27: MOVA,22H CJNE A,#07H,GMA28 MOVR0,#40H MOVDPTR,#838H GIMA28: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA28 Trang 40 Tim va chinh sua : nguyenvanbientbd47@gmail.com GMA28: MOVA,22H CJNE A,#08H,GMA29 MOVR0,#40H MOVDPTR,#840H GIMA29: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA29 GMA29: MOVA,22H CJNE A,#09H,GMA30 MOVR0,#40H MOVDPTR,#848H GIMA30: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#48H,GIMA30 GMA30: RET GIAIMA4: MOVA,23H CJNE A,#00H,GMA31 MOVR0,#48H MOVDPTR,#800H GIMA31: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA31 GMA31: MOVA,23H CJNE A,#01H,GMA32 MOVR0,#48H MOVDPTR,#808H Trang 41 Tim va chinh sua : nguyenvanbientbd47@gmail.com GIMA32: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA32 GMA32: MOVA,23H CJNE A,#02H,GMA33 MOVR0,#48H MOVDPTR,#810H GIMA33: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA33 GMA33: MOVA,23H CJNE A,#03H,GMA34 MOVR0,#48H MOVDPTR,#818H GIMA34: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA34 GMA34: MOVA,23H CJNE A,#04H,GMA35 MOVR0,#48H MOVDPTR,#820H GIMA35: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA35 Trang 42 Tim va chinh sua : nguyenvanbientbd47@gmail.com GMA35: MOVA,23H CJNE A,#05H,GMA36 MOVR0,#48H MOVDPTR,#828H GIMA36: CLR A MOVC A,@A+DPTR MOV@R0,A INC DPTR INC R0 CJNE R0,#50H,GIMA36 GMA36: MOVA

Các file đính kèm theo tài liệu này:

  • pdfỨng dụng IC8051 để hiển thị bộ đếm GIỜ - PHÚT – GIÂY trên sáu LED matrix.pdf