Đồng hồ số với 89C51

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Đồng hồ số với 89C51

Bài gửi by Admin on Wed Jun 15, 2011 12:18 am

Đây là sơ đồ mạch và chương trình hoàn chỉnh của Đồng hồ số (giờ-phút-giây).
Nhưng chương trình chưa được viết chính xác tuyệt đối nên sau một thời gian thì sẽ có sự sai lệch.
Nếu cao thủ nào chỉnh sửa lại được thì post lên cho bà con học hỏi nha.
Chúc thành công!

Đây là sơ đồ mạch:


[You must be registered and logged in to see this image.]


Còn đây là chương trình.

;****************************************DONG HO SO CO HEN GIO********************************
;P3.1 : NUT CHINH GIO
;P3.2 : NUT HEN GIO
;P3.3 : CHON LED
;P3.4 : TANG GIA TRI CUA LED
;P3.5 : NOI VOI LOA
;*********************************************************************************************
;HOAN_CHINH_KHONG_CO_NHAP_NHAY
;--------------------------------------------------------------------
ORG 0
LJMP MAIN
ORG 0BH
LJMP T0_ISR
ORG 30H
;------------------------------------
MAIN:
;*********KHAI BAO BIEN**********
GIO EQU 30H
PHUT EQU 31H
GIAY EQU 32H
PTRAM_GIAY EQU 33H
GIO_HEN EQU 45H
PHUT_HEN EQU 46H
GIAY_HEN EQU 47H
MODE EQU 48H
;***********KHOI DONG BIEN********
CLR P3.5
MOV R1,#10
MOV TMOD,#1
MOV IE,#82H
;MOV TH0,#HIGH(-10000)
;MOV TL0,#LOW(-10000)
SETB TR0
MOV GIAY_HEN,#60
CT_CHINH:
ACALL DISPLAY
ACALL CHINH_GIAY
ACALL HEN_GIO_BAO_THUC
ACALL SOSANH
;ACALL BAO_THUC
LJMP CT_CHINH
;------------------------------------
T0_ISR:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
;CLR TF0
INC PTRAM_GIAY
MOV R0,PTRAM_GIAY
CJNE R0,#100,THOAT
MOV PTRAM_GIAY,#0
INC GIAY
MOV R0,GIAY
CJNE R0,#60,THOAT
MOV GIAY,#0
INC PHUT
MOV R0,PHUT
CJNE R0,#60,THOAT
MOV PHUT,#0
INC GIO
MOV R0,GIO
CJNE R0,#24,THOAT
MOV GIO,#0
RETI
THOAT: RETI
;----------------------------------
TACHSO:
MOV B,#10
DIV AB
MOV 40H,A
MOV 41H,B
RET
;----------------------------------
DISPLAY: ; ham hien thi cho dong ho chinh
ACALL GAN1
ACALL LED1
ACALL LED2
ACALL LED3
ACALL LED4
ACALL LED5
ACALL LED6
RET
;----------------------------------
DISPLAY1: ; ham hien thi cho dong ho hen gio
ACALL GAN2
ACALL LED1
ACALL LED2
ACALL LED3
ACALL LED4
ACALL LED5
ACALL LED6
RET
;-------------------------------------------
GAN1: ; luu ma hien thi vao cac o nho 34->39 cua chuong trinh dem h chinh
MOV DPTR,#BANGSO
MOV A,GIAY
ACALL TACHSO
MOV 34H,41H
MOV 35H,40H

MOV A,PHUT
ACALL TACHSO
MOV 36H,41H
MOV 37H,40H

MOV A,GIO
ACALL TACHSO
MOV 38H,41H
MOV 39H,40H
RET
;----------------------------------
GAN2: ; luu ma hien thi cua chuong trinh hen h
MOV DPTR,#BANGSO
MOV A,GIAY_HEN
ACALL TACHSO
MOV 34H,41H
MOV 35H,40H

MOV A,PHUT_HEN
ACALL TACHSO
MOV 36H,41H
MOV 37H,40H

MOV A,GIO_HEN
ACALL TACHSO
MOV 38H,41H
MOV 39H,40H
RET
;----------------------------------
LED1:
SETB P3.0
MOV A,34H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY ; tu day tinh duoc chu ki cua clock gan bang 2* delay
CLR P3.0
RET
LED2:
SETB P3.0
MOV A,35H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
CLR P3.0
RET
LED3:
SETB P3.0
MOV A,36H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
CLR P3.0
RET
LED4:
SETB P3.0
MOV A,37H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
CLR P3.0
RET
LED5:
SETB P3.0
MOV A,38H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
CLR P3.0
RET
LED6:
SETB P3.0
MOV A,39H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
CLR P3.0
RET
;------------------------------------------------
TAT_LED1: ; phai lap lai hai lan do tat 2 led lien tiep
SETB P3.0 ; moi lan cho xung len muc cao 4022 se mo mot led
MOV P1,#0FFH
ACALL DELAY
CLR P3.0

SETB P3.0
MOV P1,#0FFH
ACALL DELAY
CLR P3.0
RET
;----------------------------------
NN1: ; ham nhap nhay khi chinh s
DJNZ R1,TAT_LED1
ACALL LED1
ACALL LED2
MOV R1,#10
RET
NN2: ; nhap nhay khi chinh phut
DJNZ R1,TAT_LED1
ACALL LED3
ACALL LED4
MOV R1,#10
RET
NN3: ; nhap nhay khi chinh h
DJNZ R1,TAT_LED1
ACALL LED5
ACALL LED6
MOV R1,#10
RET
;---------------------------------------------------
CHINH_GIAY:
JB P3.1,THOAT1
A_GIAY:
ADJ_GIAY:
MOV R7,#0
ACALL GAN1
ACALL NN1
ACALL LED3
ACALL LED4
ACALL LED5
ACALL LED6
JNB P3.3,A_PHUT ;neu nhan chon led thi chuyen toi chinh phut
JNB P3.1,THOAT1 ;neu nhan lai chinh gio dong ho thi thoat khoi ham chi?nh
JB P3.4,ADJ_GIAY ; neu nhan tang gia tri thi chuyen toi chinh giay
ADJ_GIAY1:
MOV B,#70 ; yeu cau phai nhan va giu mot khoang thoi gian thi moi tang gia tri
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,ADJ_GIAY2 ; khi r7 tang toi 70 thi mot tang giay
INC GIAY
MOV A,GIAY
CJNE A,#60,ADJ_GIAY2
MOV GIAY,#0
ADJ_GIAY2:
ACALL DISPLAY
JNB P3.4,ADJ_GIAY1
ACALL ADJ_GIAY
RET
;----------------------------------------------
THOAT1: RET
;----------------------------------------------
A_PHUT:
ACALL DELAY_NUT
ADJ_PHUT:
MOV R7,#0
ACALL GAN1
ACALL LED1
ACALL LED2
ACALL NN2
ACALL LED5
ACALL LED6
JNB P3.3,A_GIO ; neu an chon led thi nhay toi chinh h
JNB P3.1,THOAT2 ; neu nhan chinh gio thi thoat khoi chuong trinh chi?h
JB P3.4,ADJ_PHUT ; neu ko nhan tang gia tri phut thi quay tro lai de cho
ADJ_PHUT1:
MOV B,#100 ; thoi gian an va giu nut cua chinh phut de lon hon la chinh s
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,ADJ_PHUT2
INC PHUT
MOV A,PHUT
CJNE A,#60,ADJ_PHUT2
MOV PHUT,#0
ADJ_PHUT2:
ACALL DISPLAY
JNB P3.4,ADJ_PHUT1
ACALL ADJ_PHUT
RET
;--------------------------------------------------
A_GIO:
ACALL DELAY_NUT
ADJ_GIO:
MOV R7,#0
ACALL GAN1
ACALL LED1
ACALL LED2
ACALL LED3
ACALL LED4
ACALL NN3
JNB P3.3,A_GIAY
JNB P3.1,THOAT2
JB P3.4,ADJ_GIO
ADJ_GIO1:
MOV B,#150 ; thoi gian de lon hon chinh phut ,kiem tra tren mo phong se thay ro
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,ADJ_GIO2
INC GIO
MOV A,GIO
CJNE A,#24,ADJ_GIO2
MOV GIO,#0
ADJ_GIO2:
ACALL DISPLAY
JNB P3.4,ADJ_GIO1
ACALL ADJ_GIO
RET
;-----------------------
THOAT2: RET
;-------------------------------------------------
HEN_GIO_BAO_THUC:
JB P3.2,THOAT2
MOV GIAY_HEN,#0
HEN_GIAY:
MOV R7,#0
ACALL GAN2
ACALL NN1
ACALL LED3
ACALL LED4
ACALL LED5
ACALL LED6
JNB P3.3,B_PHUT ; neu an chon led thi nhay toi chinh phut hen
JNB P3.2,THOAT4 ;neu nhan tiep hen h thi thoat khoi chuong trinh hen h
JB P3.4,HEN_GIAY
HEN_GIAY1:
MOV B,#50
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,HEN_GIAY2
INC GIAY_HEN
MOV A,GIAY_HEN
CJNE A,#60,HEN_GIAY2
MOV GIAY_HEN,#0
HEN_GIAY2:
ACALL DISPLAY1
JNB P3.4,HEN_GIAY1
ACALL HEN_GIAY
RET
;----------------------------------------------
THOAT4: RET
;---------------------------------------------
B_PHUT:
ACALL DELAY_NUT
HEN_PHUT:
MOV R7,#0
ACALL GAN2
ACALL LED1
ACALL LED2
ACALL NN2
ACALL LED5
ACALL LED6
JNB P3.3,B_GIO
JNB P3.2,THOAT3
JB P3.4,HEN_PHUT
HEN_PHUT1:
MOV B,#100
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,HEN_PHUT2
INC PHUT_HEN
MOV A,PHUT_HEN
CJNE A,#60,HEN_PHUT2
MOV PHUT_HEN,#0
HEN_PHUT2:
ACALL DISPLAY1
JNB P3.4,HEN_PHUT1
ACALL HEN_PHUT
RET
;----------------------------------------------------
B_GIO:
ACALL DELAY_NUT
HEN_GIO:
MOV R7,#0
ACALL GAN2
ACALL LED1
ACALL LED2
ACALL LED3
ACALL LED4
ACALL NN3
JNB P3.3,HEN_GIAY
JNB P3.2,THOAT3
JB P3.4,HEN_GIO
HEN_GIO1:
MOV B,#150
INC R7
MOV A,R7
DIV AB
MOV A,B
CJNE A,#0,HEN_GIO2
INC GIO_HEN
MOV A,GIO_HEN
CJNE A,#24,HEN_GIO2
MOV GIO_HEN,#0
HEN_GIO2:
ACALL DISPLAY1
JNB P3.4,HEN_GIO1
ACALL HEN_GIO
RET
;----------------------------------------------------
SOSANH:
MOV A,GIO
CJNE A,GIO_HEN,THOAT3

MOV A,PHUT_HEN
CJNE A,PHUT,THOAT3

MOV A,GIAY_HEN
CJNE A,GIAY,THOAT3
SETB P3.5
ACALL BAO_THUC
RET
;---------------------------------------------------------
THOAT3: RET
;------------------------------------------------------
BAO_THUC:
JNB P3.3,TAT_BAO_THUC
JNB P3.4,TAT_BAO_THUC
JNB P3.1,TAT_BAO_THUC
JNB P3.2,TAT_BAO_THUC
ACALL DISPLAY1
LJMP BAO_THUC
RET
;-----------------------------------------------------------
TAT_BAO_THUC:
CLR P3.5
ACALL DELAY_NUT
RET
;-------------------------------------------------------------
BANGSO:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
RET
;----------------------------------
DELAY:
MOV R0,100
LOOOP:
DJNZ R0,LOOOP
RET ; thoi gian: 100 miros
;----------------------------------
DELAY_NUT:
MOV R5,#200
MOV R6,#4
AGAIN1:
MOV R4,#200
DJNZ R4,$
DJNZ R5,AGAIN1
DJNZ R6,AGAIN1
RET ; thoi gian delay (200 +3)*200+ (200+3)*4
;---------------------------------------
END

Admin
Admin

Tổng số bài gửi : 263
Join date : 25/05/2011
Age : 25
Đến từ : Bình Định

Xem lý lịch thành viên http://cd2a.forumvi.com

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by gap_thoi on Sun Jul 10, 2011 10:34 am

hay lam admin co gang lam dc mach mau thi cho anh em xem thanh qua voi nhe

gap_thoi

Tổng số bài gửi : 11
Join date : 21/06/2011
Age : 25

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by Admin on Sun Jul 10, 2011 12:50 pm

Thôi chắc chờ năm sau quá, tại vì bây giờ bận quá không làm được đâu. Ai có thời gian thì tranh thủ làm hé, ...

Admin
Admin

Tổng số bài gửi : 263
Join date : 25/05/2011
Age : 25
Đến từ : Bình Định

Xem lý lịch thành viên http://cd2a.forumvi.com

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by ngocpho on Thu Dec 22, 2011 4:01 pm

mạch hiển thị thì đúng nhưng không chỉnh thời gian được
coi lại code đi

ngocpho

Tổng số bài gửi : 9
Join date : 15/06/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by Admin on Thu Dec 22, 2011 11:46 pm

Đúng con khỉ mốc, chạy 1 phút lệch vài giây. Tao kiểm tra rồi
Coi lại code đi, ai nói là không chỉnh thời gian được

Admin
Admin

Tổng số bài gửi : 263
Join date : 25/05/2011
Age : 25
Đến từ : Bình Định

Xem lý lịch thành viên http://cd2a.forumvi.com

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by ngocpho on Sat Dec 24, 2011 3:26 pm

Chỉnh được con khỉ
tao kiểm tra mấy lần rùi.
mỗi lần chỉnh thì nó chạy tầm bậy
Mầy coi xem lại đi

ngocpho

Tổng số bài gửi : 9
Join date : 15/06/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by duong van ky123 on Mon Mar 12, 2012 1:27 pm

cabai viet len nhem on ban da dang

duong van ky123

Tổng số bài gửi : 1
Join date : 12/03/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by Admin on Mon Mar 12, 2012 3:02 pm

Làm ơn viết có dấu đi bạn, đọc chẳng hiểu gì hết

_________________
[You must be registered and logged in to see this link.]
0979.316.957
0905.028.957
--------------------------

Admin
Admin

Tổng số bài gửi : 263
Join date : 25/05/2011
Age : 25
Đến từ : Bình Định

Xem lý lịch thành viên http://cd2a.forumvi.com

Về Đầu Trang Go down

Re: Đồng hồ số với 89C51

Bài gửi by Sponsored content Today at 7:43 pm


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết