Mình đang học lập trình ASM, làm chương trình báo chuông. MÌnh dùng ds12887+89s52 hiện thị led 7 đoạn.Mình đọc hết trong diễn đàn chỉ thấy làm để hiện thị giờ phút giây, chưa thấy ai lập trình báo chuông (dùng ds12887). Ai tưng làm hay có kinh nghiệm chỉ giúp mình với. Hiện thị giờ, phút, giây thì được rồi nhưng làm cách nào để có thể cài đặt số lần báo giờ, đổ chuông theo ý mình cài đặt.
Thông báo
Collapse
No announcement yet.
Ai có kinh nghiệm giúp với
Collapse
X
-
Nguyên văn bởi rebelhp Xem bài viếtMình đang học lập trình ASM, làm chương trình báo chuông. MÌnh dùng ds12887+89s52 hiện thị led 7 đoạn.Mình đọc hết trong diễn đàn chỉ thấy làm để hiện thị giờ phút giây, chưa thấy ai lập trình báo chuông (dùng ds12887). Ai tưng làm hay có kinh nghiệm chỉ giúp mình với. Hiện thị giờ, phút, giây thì được rồi nhưng làm cách nào để có thể cài đặt số lần báo giờ, đổ chuông theo ý mình cài đặt.
-
Nguyên văn bởi rebelhp Xem bài viếtnói vậy ai chả nói được. Ko biết thì mình mới hỏi chứ? bạn có thể nói rõ hơn ko? nếu có tài liệu cụ thể thì hay. muốn đặt bao nhiều lần báo giờ trong ngày chằng hạn?
Đây là trích đoạn phần so sánh giúp bạn dễ hình dung:
SOSANHHEN:
MOV R0,#REG_PHUTHEN
MOVX A,@R0
MOV 3AH,A
MOV R0,#REG_GIOHEN
MOVX A,@R0
MOV 3BH,A
MOV A,05H
CJNE A,3AH,THOATSOSANH
MOV A,06H
CJNE A,3BH,THOATSOSANH
MOV A,R4
IF A < #16H THEN LJMP KICHLOA ;THOI GIAN LOA KEU (TINH BANG GIAY)
SETB LOA
RET
KICHLOA:
CLR LOA
RET
THOATSOSANH:
SETB LOA
RET
Comment
-
thanks anh rất nhiều. đọc hướng dẫn của anh cũng sáng ra được một ít. ASM lại có cả lệnh IF...THEN ah?Em có một ví dụ lập trình xong về giờ, phút, giây như sau. anh có thể cho hướng đi cụ thể về phần hẹn giờ ko? và mình hẹn nhiều lần để nó tự đổ chuông thì làm thế nào( như chuông báo tiết học
;##########P3 điều khiển các đoạn, P1 dk các led, P0 nối vơi AD RTC,
; ##########P2.3 chỉnh thời gian, P2.2 TANG_H, P2.1 TANG PHUT,P2.0 UPDATE
AD EQU P0
CS BIT P2.7
AS BIT P2.6
RW BIT P2.5
DSS BIT P2.4
PHUT_CHINH EQU 42H
GIO_CHINH EQU 43H
THU_CHINH EQU 44H
MAIN: SETB CS
MOV 30H,#0; o nho giây
MOV 31H,#0; chuc giây
MOV 32H,#0;phút
MOV 33H,#0;chuc phút
MOV 34H,#0; giờ
MOV 35H,#0; chục giờ
MOV 36H,#0;lưu ô nhớ giây
MOV 37H,#0;lưu ô nhớ phút
MOV 38H,#0; lưu o nhớ giờ
MOV 39H,#0; luu o nhớ thứ
MOV 40H,#0; thứ
MOV 41H,#0; CHUCTHU
MOV 42H,#0; giá trị phút sau khi đã chỉnh xong
MOV 43H,#0; giá trị giờ sau khi đã chỉnh xong
AGAIN: LCALL DOC
LCALL BIN_BCD
LCALL OUTLED
JNB P2.3,TIEPSUC
SJMP AGAIN
TIEPSUC: LJMP CHINH_TG
DOC: MOV A,#00H
LCALL WRITE_ADD
MOV A,#0FFH
MOV AD,A
LCALL READ
MOV 36H,A
MOV A,#02H
LCALL WRITE_ADD
MOV A,#0FFH
MOV AD,A
LCALL READ
MOV 37H,A
MOV A,#04H
LCALL WRITE_ADD
MOV A,#0FFH
MOV AD,A
LCALL READ
MOV 38H,A
MOV A,#06H
LCALL WRITE_ADD
MOV A,#0FFH
MOV AD,A
LCALL READ
MOV 39H,A
RET
WRITE_ADD: SETB CS
MOV AD,#0FFH
CLR RW
CLR DSS
CLR AS
NOP
SETB DSS
SETB RW
NOP
SETB AS
CLR CS
MOV AD,A
CLR AS
RET
READ: CLR DSS
NOP
MOV A,AD
SETB DSS
SETB CS
SETB AS
RET
BIN_BCD: MOV A,36H
MOV B,#10
DIV AB
MOV 30H,B
MOV 31H,A
MOV A,37H
MOV B,#10
DIV AB
MOV 32H,B
MOV 33H,A
MOV A,38H
MOV B,#10
DIV AB
MOV 34H,B
MOV 35H,A
MOV A,39H
MOV B,#10
DIV AB
MOV 40H,B
MOV 41H,A
RET
OUTLED: MOV A,40H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.6
LCALL DELAY500US
SETB P1.6
MOV A,41H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.7
LCALL DELAY500US
SETB P1.7
MOV A,30H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.0
LCALL DELAY500US
SETB P1.0
MOV A,31H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.1
LCALL DELAY500US
SETB P1.1
MOV A,32H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.2
LCALL DELAY500US
SETB P1.2
MOV A,33H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.3
LCALL DELAY500US
SETB P1.3
MOV A,34H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.4
LCALL DELAY500US
SETB P1.4
MOV A,35H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.5
LCALL DELAY500US
SETB P1.5
RET
DELAY500US: MOV R0,#250
DJNZ R1,$
RET
;##################CHINH_THOI_GIAN################ ########
CHINH_TG:
LCALL DELAYNUT
JB P2.3,TIEPSUC4
LCALL LED_CHINH; HIEN THI RA LED GIA TRI HIEN TAI
CHINH_GIO1: LCALL DISPLAY
JNB P2.2,TIEPSUC1
JNB P2.1,TIEPSUC2
JNB P2.0,TIEPSUC3
JNB P2.3,TIEPSUC5
SJMP CHINH_GIO1
TIEPSUC1: LJMP TANG_GIO
TIEPSUC2: LJMP TANG_PHUT
TIEPSUC3: LJMP TANG_THU
TIEPSUC4: LJMP AGAIN
TIEPSUC5: LCALL DELAYNUT
JB P2.3 ,CHINH_GIO1
LJMP UPDATE
LED_CHINH:
DV_P EQU 32H; LUU GIA TRI DON VI PHUT VAO DV_P(32H)
CH_P EQU 33H; LUU GIA TRI CHUC PHUT VO CH_P(33H)
DV_H EQU 34H; LUU DON VI GIO VAO DV_H(34H)
CH_H EQU 35H; LUU CHUC GIO VAO CH_H(35H)
DV_THU EQU 40H
DISPLAY: MOV A,DV_P
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.2
LCALL DELAY500US
SETB P1.2
MOV A,CH_P
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.3
LCALL DELAY500US
SETB P1.3
MOV A,DV_H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.4
LCALL DELAY500US
SETB P1.4
MOV A,CH_H
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CLR P1.5
LCALL DELAY500US
SETB P1.5
mov a,DV_thu
mov dptr,#maled
movc a,@a+dptr
mov p3,a
clr p1.6
lcall delay500us
setb p1.6
RET
TANG_GIO:
LCALL DELAYNUT ;CHONG NHIEU NUT
JB P2.2,THOATCHINH
MOV A,CH_H
CJNE A,#02,TANG_GIO1
MOV A,DV_H
CJNE A,#03,TANG_GIO2
MOV CH_H,#00
MOV DV_H,#00
LJMP CHINH_GIO1
TANG_GIO1: MOV A,DV_H
CJNE A,#09,TANG_GIO2
INC CH_H
MOV DV_H,#00
LJMP CHINH_GIO1
TANG_GIO2:
INC DV_H
LJMP CHINH_GIO1
;TAÊNG PHUÙT NAØ-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TANG_PHUT: LCALL DELAYNUT
JB P2.1,THOATCHINH
INC DV_P
MOV A,DV_P
CJNE A,#10,THOATCHINH
MOV DV_P,#00
INC CH_P
MOV A,CH_P
CJNE A,#06,THOATCHINH
MOV DV_P,#00
MOV CH_P,#00
TANG_THU: LCALL DELAYNUT
JB P2.0,THOATCHINH
INC DV_THU
MOV A,DV_THU
CJNE A,#08,THOATCHINH
MOV DV_THU,#00
THOATCHINH: LJMP CHINH_GIO1
UPDATE:
ACALL RE_UPDATE
MOV A,#00H
LCALL WRITE_ADD
MOV A,#00
LCALL WRITE_BYTE
NOP
NOP
MOV A,#02H
LCALL WRITE_ADD
MOV A,42H
LCALL WRITE_BYTE
NOP
NOP
MOV A,#04H
LCALL WRITE_ADD
MOV A,43H
LCALL WRITE_BYTE
MOV A,#06H
LCALL WRITE_ADD
MOV A,39h
LCALL WRITE_BYTE
LJMP AGAIN
RE_UPDATE: ;CHUYEN 2GT GIOCHINH VA PHUTCHINH - > BINARY
MOV A,CH_P
MOV B,#10
MUL AB
ADD A,DV_P
MOV 42H,A
MOV A, CH_H
MOV B,#10
MUL AB
ADD A,DV_H
MOV 43H,A
mov 39h,DV_THU
RET
WRITE_BYTE:
CLR RW
NOP
MOV AD,A
SETB RW
NOP
SETB CS
SETB AS
ret
DELAYNUT: MOV R7,#255
LAP: MOV R6,#200
DJNZ R6,$
DJNZ R7,LAP
RET
MALED: DB 0C0H
DB 0F9H
DB 0A4H
DB 0b0H
DB 99H
DB 92H
DB 82H
DB 0f8H
DB 80H
DB 90H
END
Comment
-
Muốn xài If...then trong ASM thì bạn phải xài trình biên dịch prog-studio v5.28. Nó hỗ trợ cho bạn lệnh if...then, nhờ lệnh này mà bạn viết ct sẽ gọn nhẹ và dễ dàng hơn nhiều. Muốn hẹn giờ theo nhiều lần thì phải so sánh các gt giờ hiện tại với các gt hẹn đó thôi bạn à.
Comment
-
Mình cũng đang làm về bộ báo giờ.Khi nhận đề tài ko đọc kĩ cứ tưởng chỉ làm mạch báo chuông thôi ai ngờ khi đọc lại là làm về mạch báo chuông trường học. Phát sinh ra ở đây là phải làm nhiều lần hẹn chuông, rồi đổ chuông trong ngày. Ai từng làm về vấn để này có thể chỉ giúp ko? Mình dùng vdk + RTC
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho tìm mua đồng hồ vạn năngbởi bqvietNói một cách xây dựng thì kiểu đồng hồ kiêm kẹp dòng NJTY3266 mà bạn Mèo đề cập là đúng nhu cầu người hỏi rồi. Một số cửa hàng bán trên 200ng, vài sàn thương mại điện tử bán dưới - thế là đúng nhu cầu về giá. Nếu khéo săn...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 20:02 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Đa năng còn chưa dùng hết, nếu không biết cách dùng.
200k thì hơi khó mua, nhưng 50k chắc là có. Cứ bảo bán cho tôi cái đồng hồ hỏng.-
Channel: Điện tử dành cho người mới bắt đầu
26-01-2025, 23:21 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Lão Đinh Vặn học giải phương trình hồi đi trẻ mà. Mẫu giáo học lập trình AI rồi. Lớp lão ấy gần lớp em nên em biết....
-
Channel: Điện tử công suất
26-01-2025, 23:11 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vậy chú đã hỏi hãng SIEMEN chưa? Tại sao cái PLC S7-200 cổ lỗ mà họ vẫn thiết kế riêng cho thị trường TQ với chữ SMART? Thậm chí phần mềm riêng để đọc file ngu.smart?
Vấn đề không còn là công nghệ "cốt lõi" nữa, mà là giá thành quyết định. Ham rẻ là trả giá mà....-
Channel: Điện tử công suất
26-01-2025, 23:01 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi vi van phamĐồng ý với Bqv.
50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
- Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...-
Channel: Điện tử công suất
26-01-2025, 08:09 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
-
Channel: Điện tử công suất
26-01-2025, 06:19 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietCuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
-
Channel: Điện tử công suất
24-01-2025, 19:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietBqv phải vào ngay để tán đồng với bài viết trên của bạn. Chỉ bàn về kỹ thuật, thiết bị máy móc của hãng dù danh tiếng vẫn có thể xảy ra những chuyện ngoài dự kiến, thậm chí những chuyện tưởng như không bao giờ có thể xảy ra....
-
Channel: Điện tử công suất
24-01-2025, 19:31 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80(ĐT chia sẻ MPPT này, với mong muốn rằng, chúng ta hãy tự tin lên, hãy tự hào là người VN, đừng quá tin vào người khác, đừng quá thần tượng họ, cần kiểm tra thực chứng chứ không nên cứ cho các thiết bị thông minh, cao siêu là hoàn hảo)
-
Channel: Điện tử công suất
24-01-2025, 12:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Dưới đây là hình ảnh thực:
(bị phạm con tụ pi C17 (phía trên IC U3/DIP08: văng mất xác!)
(hàn vào vị trí C17 tụ pi 27nF ( giá trị phỏng đoán từ 10-100nF!), mạch vẫn chạy như trước khi cạy keo)...-
Channel: Điện tử công suất
24-01-2025, 12:05 -
Comment