Mạch đồng hồ sử dụng IC89C51
Trang 1Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Khoa Học Tự Nhiên Khoa Điện Tử – Viễn Thông
-0O0-
SEMINAR:
MẠCH ĐỒNG HỒ SỬ DỤNG IC89C51
Lê Trung Thắng MSSV: 0213231
Trang 2
Lời Giới Thiệu
Vi điều khiển MCS-51 tuy cũ, Được Intel đưa ra từ năm 1980, Chip 8051 của Intel là dòng sản
phẩm đầu tiên của họ MCS-51, sau này còn có nhiều dòng khác của họ MCS-51 được Intel nhượng quyền (nhưng vẫn phải giữ lại tập lệnh) cho nhiều hãng khác sản xuất như : AT89C51 của Atmel, 87C51 của Philips, SAB 80C515 của Infineon, MSC1200Y2 của Texas Instruments,
…Các dòng MCS – 51 sau này tuy sử dụng lại Core 8051, nhưng ngoại vi được phát triển thêm
do vậy mà tính năng của dòng 8051 vẫn liên tục được cải tiển Về phía người sử dụng thì vẫn dùng lại tập lệnh của MCS-51 có bổ sung thêm một số lệnh mới khác nên không cần phải học lại
từ đầu, vì vậy nên dù đã ra đời từ những năm 1980 nhưng đến giờ chip 8051 vẫn được sử dụng phổ biến
Seminar này là một bài tập nhỏ về ứng dụng của 8051 Việc sử dụng ngôn ngữ ASM tuy khó đọc nhưng lại giúp cho người học nắm được nhiều hơn về cấu trúc của vi điều khiển, đây cũng là mục tiêu của seminar này
Bạn đọc có thể lấy source code ở link dưới đây (code được viết bằng phần mềm Prog-Studio):
Trang 3M ẠCH ĐỒNG HỒ
***********************
Lê Trung Thắng
MSSV: 0213231
I LINH KIỆN SỬ DỤNG
* IC 89C51
* IC 4511
* LED 7 ĐOẠN CATHOD CHUNG
* TỤ ĐIỆN 33PF
* ĐIỆN TRỞ
* SWITCH
* THẠCH ANH 11,0592 MHZ
* ĐÈN LED
II SƠ ĐỒ CHÂN
_ IC 89C51 và IC 4511:
U 2
4511
7 1 2 6 3
4 5
13 12 11 10 9 15 14 16
A B C D
LT
BI LE
a b c d e f g
VD DG
U 1
AT89C 51
9
18 19
29 30 31
1 2 3 4 5 6 7 8
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
39 38 37 36 35 34 33 32
R ST
XTAL2 XTAL1
PSEN ALE/PR OG
EA/VPP
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
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/R XD P3.1/TXD P3.2/IN T0 P3.3/IN T1 P3.4/T0 P3.5/T1 P3.6/W R P3.7/R D
P0.0/AD 0 P0.1/AD 1 P0.2/AD 2 P0.3/AD 3 P0.4/AD 4 P0.5/AD 5 P0.6/AD 6 P0.7/AD 7
Trang 4III SƠ ĐỒ NGUYÊN LÝ
B2 B3
VC C
B3
B6
B5
U 9
4511
7 2
3 4
13 11 9 15
16
A C
LT BI LE
a c e f g
VD DG
B1
LED 3
SW 3
B5
U 5
LED C ATH OD
7 B D F G
D P
GN D A 6 2 9 10 5 8
LED 5
VD D
B0 B2
R 4
B0 B0
R 2
B2
C 3
C AP N P
R 5
B6
LED 0
R 1
B5
B4
LED
B5
C 1
C AP N P
R 10
B3
B1
U 6
LED C ATH OD
7 B D F G
D P
GN D A 6 2 9 10 5 8
VC C
U 4
LED C ATH OD
7 B D F G
D P
GN D A 6 2 9 10 5 8
LED 3
U 8
LED C ATH OD
7
B
D
F
G
D P
GN D
A
6
2
9
10
5
8
B1
U 7
LED C ATH OD
7 B D F G
D P
GN D A 6 2 9 10 5 8
R 14
VC C
LED 5
SW 2
LED 4
Y 1
Z TA
B4
B2
B3
R 3
C 2
C AP N P
B1
R 6
R 12
LE TR U N G TH AN G _ N GU Y EN VAN BAY <R ev C ode> MAC H D ON G H O
A
Saturday , N ov em ber 19, 2005
Title
Size D oc um ent N um ber R ev
LED 0
B2
B6
B0
B7
B4
R 11
R 9
B6
R 7
B2
SW 1
B4
B6
LED 2
SW 4
SW _PB_SPST
B0
SW 5
B5
B1
B4
LED 1
VC C
B0
U 2
AT89C 51
9 18
29 31
1 3 5 7
21 23 25 27
10 12 14 16
39 37 35 33
R ST XTAL2
PSEN ALE/PR OG
EA/VPP
P1.0 P1.2 P1.4 P1.6
P2.0/A8 P2.2/A10 P2.4/A12 P2.6/A14
P3.0/R XD P3.1/TXD P3.2/IN T0 P3.4/T0 P3.6/W R P3.7/R D
P0.0/AD 0 P0.2/AD 2 P0.4/AD 4 P0.6/AD 6
B1
B5 B4
B3 B2
LED 1
VC C
B6 B0
LED 2
R 15
R 16
B4
R 13
B3
U 3
LED C ATH OD
7 B D F G
D P
GN D A 6 2 9 10 5
8 B1
B6
LED 4
B5
Trang 5IV CHƯƠNG TRÌNH NẠP CHO IC
INCLUDE 89C51.MC
;MACH DONG HO HEN GIO
ORG 0000H
LJMP MAIN
ORG 0003H ; NGAT NGOAI 0
LJMP HENGIO
ORG 001BH ; NGAT TM1
LJMP KTNGAT
ORG 30H
MAIN:
SETB P1.4
MOV TMOD,#11H
MOV IE,#137D
MOV IP,#8H
SETB IT0
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
ACALL QUETLEDCHINH
;******************************************************
LAPCHINH:
SETB P1.4
ACALL SOSANH
INC R1
CJNE R1,#0AH,NN1
CJNE R2,#05H,NN2
CJNE R3,#09H,NN3
CJNE R4,#05H,NN4
CJNE R6,#02H,NN6
CJNE R5,#03H,NN5
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
Trang 6MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
ACALL QUETLEDCHINH
NN1:
ACALL QUETLEDCHINH
SJMP LAPCHINH
NN2:
INC R2
MOV R1,#00H
ACALL QUETLEDCHINH
SJMP LAPCHINH
NN3:
INC R3
MOV R1,#00H
MOV R2,#00H
ACALL QUETLEDCHINH
SJMP LAPCHINH
NN4:
INC R4
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
ACALL QUETLEDCHINH
SJMP LAPCHINH
NN5:
INC R5
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
ACALL QUETLEDCHINH
SJMP LAPCHINH
NN6:
CJNE R5,#09H,NN5
INC R6
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
ACALL QUETLEDCHINH
SJMP LAPCHINH
;***********************************************
QUETLEDCHINH:
Trang 7MOV R7,#50
LAP1:
MOV P0,#0FEH
MOV P2,R1
ACALL DELAY3MS
MOV P0,#0FDH
MOV P2,R2
ACALL DELAY3MS
MOV P0,#0FBH
MOV P2,R3
ACALL DELAY3MS
MOV P0,#0F7H
MOV P2,R4
ACALL DELAY3MS
MOV P0,#0EFH
MOV P2,R5
ACALL DELAY3MS
MOV P0,#0DFH
MOV P2,R6
ACALL DELAY3MS
DJNZ R7,LAP1
RET
;************************************************
DELAY3MS:
MOV TL0,#48H
MOV TH0,#0F4H
SETB TR0
ACALL DOP1
JNB TF0,$
CLR TR0
CLR TF0
RET
;*************************************************
DOP1:
JB P1.0,DOP2
CLR P1.3
JNB P1.5,VEDELAY
CLR P1.5
MOV TH1,#00H
MOV TL1,#00H
SETB TR1
SJMP VEDELAY
DOP2:
JB P1.1,VEDELAY
JNB P1.5,VEDELAY
Trang 8CLR P1.5
MOV TL1,#00H
MOV TH1,#00H
SETB TR1
SJMP VEDELAY
VEDELAY:
RET
;****************************************
KTNGAT:
JNB P1.4,NGATHENGIO1
SJMP NGATDEMGIO
NGATHENGIO1:
LJMP NGATHENGIO
;****************************************
NGATDEMGIO:
JB P1.3,GIOCHINH
CJNE R3,#09H,TANGPHUTCHINH
INC R4
MOV R3,#00H
SJMP THOATCHINH
TANGPHUTCHINH:
INC R3
THOATCHINH:
CJNE R4,#06H,RACHINH1
MOV R3,#00H
MOV R4,#00H
RACHINH1:
SETB P1.3
CLR TR1
SETB P1.5
RETI
GIOCHINH:
CJNE R6,#02H,TANGGIOCHINH
CJNE R5,#03H,TANGR5CHINH
MOV R6,#00H
MOV R5,#00H
SJMP RACHINH2
TANGGIOCHINH:
CJNE R5,#09H,TANGR5CHINH
INC R6
MOV R5,#00H
SJMP RACHINH2
TANGR5CHINH:
INC R5
RACHINH2:
Trang 9CLR TR1
SETB P1.5
RETI
;********************************************
;PHAN NAY LA CHUONG TRINH HEN GIO
;********************************************
HENGIO:
CLR P1.4
LAPPHU:
INC R1
CJNE R1,#0AH,NNN1
CJNE R2,#05H,NNN2
CJNE R3,#09H,NNN3
CJNE R4,#05H,NNN4
CJNE R6,#02H,NNN6
CJNE R5,#03H,NNN5
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
NNN1:
ACALL QUETLEDPHU
SJMP LAPPHU
NNN2:
INC R2
MOV R1,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
NNN3:
INC R3
MOV R1,#00H
MOV R2,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
NNN4:
INC R4
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
Trang 10INC R5
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
NNN6:
CJNE R5,#09H,NNN5
INC R6
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
ACALL QUETLEDPHU
SJMP LAPPHU
;*********************************************
QUETLEDPHU:
MOV R7,#50
LAP2:
MOV P0,#0FEH
MOV P2,#00H
ACALL DELAY3MSHEN
MOV P0,#0FDH
MOV P2,#00H
ACALL DELAY3MSHEN
MOV P0,#0FBH
MOV P2,20H
ACALL DELAY3MSHEN
MOV P0,#0F7H
MOV P2,21H
ACALL DELAY3MSHEN
MOV P0,#0EFH
MOV P2,22H
ACALL DELAY3MSHEN
MOV P0,#0DFH
MOV P2,23H
ACALL DELAY3MSHEN
DJNZ R7,LAP2
RET
;************************************************
DELAY3MSHEN:
Trang 11MOV TL0,#48H
MOV TH0,#0F4H
SETB TR0
ACALL DOHENP1
JNB TF0,$
CLR TR0
CLR TF0
RET
;**************************************************
NGATHENGIO:
JB P1.3,GIOHEN
MOV A,20H
CJNE A,#09H,TANGPHUTHEN
INC 21H
MOV 20H,#00H
SJMP THOATHEN ; XEM TIEP MODULE THU 2 THEO SAU
;*************************************************
DOHENP1:
JB P1.0,DOHENP2
CLR P1.3
JNB P1.5,VEDELAYHEN
CLR P1.5
MOV TL1,#00H
MOV TH1,#00H
SETB TR1
SJMP VEDELAYHEN
DOHENP2:
JB P1.1,DOHENP3
JNB P1.5,VEDELAYHEN
CLR P1.5
MOV TL1,#00H
MOV TH1,#00H
SETB TR1
SJMP VEDELAYHEN
DOHENP3:
JB P1.2,VEDELAYHEN
SJMP KETTHUCHEN
VEDELAYHEN:
RET
;****************************************************
TANGPHUTHEN:
INC 20H
THOATHEN:
MOV A,21H
Trang 12CJNE A,#6H,RAHEN1
MOV 20H,#00H
MOV 21H,#00H
RAHEN1:
SETB P1.3
CLR TR1
SETB P1.5
RETI
GIOHEN:
MOV A,23H
CJNE A,#02H,TANGGIOHEN
MOV A,22H
CJNE A,#03H,TANGR5HEN
MOV 23H,#00H
MOV 22H,#00H
SJMP RAHEN2
TANGGIOHEN:
MOV A,22H
CJNE A,#09H,TANGR5HEN
INC 23H
MOV 22H,#00H
SJMP RAHEN2
TANGR5HEN:
INC 22H
RAHEN2:
CLR TR1
SETB P1.5
RETI
;****************************************************
SOSANH:
MOV A,R3
CJNE A,20H,THOATSOSANH
MOV A,R4
CJNE A,21H,THOATSOSANH
MOV A,R5
CJNE A,22H,THOATSOSANH
MOV A,R6
CJNE A,23H,THOATSOSANH
CLR P1.6
RET
THOATSOSANH:
SETB P1.6
RET
;****************************************************
KETTHUCHEN:
Trang 13MOV SP,#50H
MOV 51H,#57H
MOV 52H,#00H
RETI
; CHUONG TRINH NAY DUOC VIET BOI:
;LE TRUNG THANG
END
V FILE.HEX
:1000000002003002015EFFFFFFFFFFFFFFFFFFFF67
:10001000FFFFFFFFFFFFFFFFFFFFFF020122FFFFC8
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000D29475891175A88975B808D28879007A23
:10004000007B007C007D007E00752000752100751E
:10005000220075230011BAD294517C09B90A1DBA45
:10006000051EBB0922BC0528BE023DBD032D79003B
:100070007A007B007C007D007E0011BA11BA80D727
:100080000A790011BA80D00B79007A0011BA80C7C2
:100090000C79007A007B0011BA80BC0D79007A00DF
:1000A0007B007C0011BA80AFBD09F00E79007A00A8
:1000B0007B007C007D0011BA809D7F327580FE89B7
:1000C000A011E97580FD8AA011E97580FB8BA01154
:1000D000E97580F78CA011E97580EF8DA011E975A5
:1000E00080DF8EA011E9DFD422758A48758CF4D2A6
:1000F0008C11FB308DFDC28CC28D22209011C293D9
:1001000030951EC295758D00758B00D28E801220A1
:10011000910F30950CC295758B00758D00D28E8035
:1001200000223094028003020208209317BB0905C5
:100130000C7B0080010BBC06047B007C00D293C2C8
:100140008ED29532BE0209BD030E7E007D0080096D
:10015000BD09050E7D0080010DC28ED29532C2947C
:1001600009B90A1FBA0520BB0924BC052ABE023FF3
:10017000BD032F79007A007B007C007D007E00317A
:10018000C180DD31C180D90A790031C180D20B79BB
:10019000007A0031C180C90C79007A007B0031C13E
:1001A00080BE0D79007A007B007C0031C180B1BD3A
:1001B00009F00E79007A007B007C007D0031C1805F
:1001C0009F7F327580FE75A00031F67580FD75A0A9
:1001D0000031F67580FB8520A031F67580F785210A
:1001E000A031F67580EF8522A031F67580DF85237A
:1001F000A031F6DFCE22758A48758CF4D28C511767
:10020000308DFDC28CC28D2220934CE520B4093381
:100210000521752000802E209011C293309523C2B5
Trang 14:1002300011C295758B00758D00D28E8005209202BB
:10024000804F220520E521B40606752000752100A7
:10025000D293C28ED29532E523B4020DE522B403C7
:1002600014752300752200800EE522B409070523CA
:1002700075220080020522C28ED29532EBB5200E87
:10028000ECB5210AEDB52206EEB52302C296D29650
:100290002275815075515775520032FFFFFFFFFFE5
:1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:00000001FF
VI GIẢI THÍCH CHƯƠNG TRÌNH
Chương trình này gồm hai phần : Điếm giờ và hẹn giờ,được viết thành 2 Module Tương ứng với 2 nhãn: LẶP CHÍNH và HẸN GIỜ.
Chương trình sử dụng bộ định thời TM0,ø TM1,ø ngắt ngoài 0,ngắt TM1.Trong đó ngắt ngoài 0 Phục vụ cho phần hẹn giờ ,ngắt TM 1 chỉ để trì hoãn khi chỉnh tăng giờ ,phút
Để hiển thị trên đèn led 7 đoạn,ta dùng phương pháp QUÉT LED,trong đó tại mỗi thời điểm chỉ có 1 led được sáng,như vậy thực tế các led sẽ chớp ,nháy liên tục
,nhưng với tần số rất cao nên ta có cảm giác đèn sáng liên tục.
Port0 là port dùng để điều khiển sự sáng ,tắt của đèn.
Port2 xuất dữ liệu (số đếm ) ra led thông qua IC giải mã 4511
Dữ liệu cho phần đếm giờ được cất trong các thanh ghi R1…R6.
Dữ liệu cho phần hẹn giờ được cất trong các vị trí 20h…23h.
Vùng Stack được sử dụng tại vị trí 50h.
Thanh chứa A chứa dữ liệu trung gian trong các quá trình so sánh.
Cách tính thời gian Quét Led:
R7=50 , Delay=3000, số lần gọi Delay=6,chu kì máy = 1,08507uS
Thời gian tăng số đếm giây = 50×(30+55)×6×1.08507 = 1s
VII CÁCH SỬ DỤNG
Bấm SW4 reset hệ thống
Bấm SW1 chỉnh phút
Bấm SW2 chỉnh giờ
Bấm SW5 chuuyển sang màng hình hẹn giờ
Bấm SW3 trở lại trạng thái đếm giờ bình thường
***********************************
KTX, 29-12-2005