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
54 trang |
Chia sẻ: lethao | Lượt xem: 2042 | Lượt tải: 5
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:
- Ứng dụng IC8051 để hiển thị bộ đếm GIỜ - PHÚT – GIÂY trên sáu LED matrix.pdf