II. PHẦN MỀM ĐỒNG HỒ THỜI GIAN THỰC VÀ BỘ ĐIỀU KHIỂN TỪ XA DÙNG REMOTE HỒNG NGOẠI (CODE_2)
Phần mềm đồng hồ thời gian thực và bộ điều khiển từ xa dùng remote hồng ngoại (Code_2) cũng được lập trình bằng ngôn ngữ Assembler (ASM), soạn thảo và biên dịch bằng chương trình Keil Version. Nội dung Code_2 nằm ở thư mục phụ lục “ trang 80”.
CHƯƠNG IV: KẾT LUẬN VÀ ĐỀ NGHỊ I. KẾT LUẬN
Sau một thời gian nghiên cứu và tìm hiểu về đề tài này. Cùng với sự chỉ dẫn tận tình của các Thầy Lương Vinh Quốc Danh. Đến nay em đã thiết kế thành công “Lịch Vạn Niên Điện Tử” , mạch hoạt động rất ổn định và đáp ứng được yêu cầu của đề tài đặt ra. Do thời gian và năng lực giới hạn nên sản phẩm được thiết kế không thể tránh khỏi một số khuyết điểm: sản phẩm hơi thô, không được đẹp… kính mong quý thầy cô và các bạn thông cảm.
Sau đây là một số hình ảnh của “Lịch Vạn Niên Điện Tử”:
Modul hiển thị
Modul hiệu ứng dùng led đơn
Modul xử lý trung tâm
Lịch Vạn Niên Điện Tử
II. ĐỀ NGHỊ
Sau khi đã thiết kế thành công đề tài này, em có một số đề nghị để khắc phục những khuyết điểm mà em mắc phải.
Thay đổi IC chốt 74HC374 bằng IC ghi dịch và chốt 74LS595. Bằng cách này sẽ là giảm bớt quá trình phức tạp khi thiết kế phần cứng, góp phần làm cho sản phẩm gọn nhẹ hơn.
Thiết kế thêm bộ chuyển đổi từ ngày dương lịch sang ngày âm lịch.
Thay đổi tiếng chuông báo thức bằng một bài nhạc mà bạn yêu thích.
TÀI LIỆU THAM KHẢO
[1] Giáo trình Vi Điều Khiển _ Tác giả Th.Phạm Hùng Kim Khánh
[2] Tài liệu hướng dẫn Thực Tập Vi Điều Khiển _ Biên soạn Th.Trần Nhật Khải Hoàn, KS.Trần Hữu Danh.
[3] Giáo trình MẠCH XUNG _ Biên soạn Th.Lương Văn Sơn, KS.Nguyễn Khắc Nguyên.
[4] Giáo trình MẠCH SỐ _ Tác giả Th.Nguyễn Trung Lập.
[5] Giáo trình MẠCH TƯƠNG TỰ _ Tác giả KS. Trương Văn Tám
[6] http://alldatasheet.com/
[7] http://www.dientuvienthong.net/diendan/index.php
[8] http://www.dientuvietnam.net/forums/
PHỤ LỤC
1. Phần mềm đo nhiệt độ (CODE_1)
RDL BIT P3.0
WRL BIT P3.1
INT BIT P3.3
LED1 BIT P2.7
LED2 BIT P3.2
LED3 BIT P3.4
LED4 BIT P3.5
ORG 0000H
LJMP MAIN
MAIN:
MOV P0,#00H
MOV P2,#00H
CLR LED1
CLR LED2
CLR LED3
CLR LED4
MOV DPTR,#LED7S
MOV R0,#00H
MOV R7,#05
SETB RDL
SETB WRL
HERE:
CALL TRUY_CAP_ADC
CALL HIENTHI
CALL HIEU_UNG_1
CALL TRUY_CAP_ADC
CALL HIENTHI
CALL HIEU_UNG_2
JMP HERE
;-------------------------------------------------------------------------------------
;--------Truy nhap vao chip ADC0804--------
TRUY_CAP_ADC:
CLR WRL
SETB WRL ;Tao xung canh len tai chan WR ;de bat dau qua trinh bien doi
JB INT,$ ;Cho qua trinh bien doi hoan thanh
SETB RDL
CLR RDL ;Tao xung canh xuong tai chan
;RD de doc du lieu
CALL DELAY
MOV R0,P1 ;Dua du lieu vao thanh ghi R0
SETB RDL
RET
;------Hien thi nhiet do ra led 7 doan------
HIENTHI:
MOV A,R0
MOV B,#10
DIV AB ;Chia Gia tri thanh ghi A cho 10,
;phan nguyen luu trong A, du luu trong B
CALL READ
CLR P3.7
SETB P3.7 ;Tao xung canh len de xuat du lieu
CALL DELAY_6us
MOV A,B
CALL READ
CLR P3.6
SETB P3.6
CALL DELAY_6us
RET
;------Hieu ung thu 1 cho led doan------
HIEU_UNG_1:
LOOP1:
SETB LED1
CLR LED2
CLR LED3
SETB LED4
MOV P0,#04H
CALL DELAY
CALL DELAY
CLR LED1
SETB LED2
CLR LED3
CLR LED4
MOV P0,#09H
CALL DELAY
CALL DELAY
CLR LED1
CLR LED2
SETB LED3
CLR LED4
MOV P0,#12H
CALL DELAY
CALL DELAY
DJNZ R7,LOOP1
MOV R7,#10
MOV P0,#00H
CLR LED3
RET
;------Hieu ung thu 2 cho led doan------
HIEU_UNG_2:
LOOP2:
SETB LED1
CALL DELAY
CLR LED1
SETB LED2
CALL DELAY
CLR LED2
SETB LED3
CALL DELAY
CLR LED3
SETB LED4
CALL DELAY
CLR LED4
MOV P0,#01H
CALL DELAY
MOV P0,#02H
CALL DELAY
MOV P0,#04H
CALL DELAY
MOV P0,#08H
CALL DELAY
MOV P0,#10H
CALL DELAY
MOV P0,#00H
CALL DELAY
DJNZ R7,LOOP2
MOV R7,#05
RET
;------Doc noi dung o nho DPTR-----
READ:
MOVC A,@A+DPTR
MOV P2,A
RET
;------Tao tre 6us------
DELAY_6us:
NOP
NOP
NOP
NOP
NOP
NOP
RET
;------Tao tre (250*200*2)/10^6 = 0.1s------
DELAY:
MOV R1,#250
L1:
MOV R2,#200
DJNZ R2,$
DJNZ R1,L1
RET
LED7S: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
END
2. Phần mềm đồng hồ thời gian thực và bộ điều khiển từ xa dùng remote hồng ngoại (CODE_2)
SCL BIT P0.0
SDA BIT P0.1
SPEAKER BIT P3.0
BELL BIT P3.1
SIGNAL BIT P3.2
DIS3 BIT P0.2
DIS4 BIT P0.3
DIS5 BIT P0.4
DIS6 BIT P0.5
DIS8 BIT P0.6
DIS7 BIT P0.7
DIS9 BIT P3.3
DIS15 BIT P2.0
DIS13 BIT P2.1
DIS12 BIT P2.2
DIS14 BIT P2.3
DIS10 BIT P2.4
DIS11 BIT P2.5
DIS16 BIT P2.6
DIS17 BIT P2.7
DIS18 BIT P3.4
DIS19 BIT P3.5
DIS21 BIT P3.6
DIS20 BIT P3.7
CO DATA 2DH
LAST BIT CO.7
HOUR DATA 20H
MINUTE DATA 21H
SECOND DATA 22H
DAY DATA 23H
DATE DATA 24H
MONTH DATA 25H
YEAR DATA 26H
ALK_HOUR DATA 27H
ALK_MINUTE DATA 28H
SQW_OUT DATA 29H
BYTECOUNT DATA 2AH
BITCOUNT DATA 2BH
TAM DATA 2CH
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP GIAI_MA_ROMOTE_SONY
MAIN:
MOV R0,#1FH
MOV R1,#00H
MOV R2,#0FFH
MOV R3,#00H
MOV DPTR,#LED7S
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
CLR LAST
CLR SPEAKER
CLR BELL
MOV SECOND,#50H
MOV MINUTE,#59H
MOV HOUR,#00H
MOV DAY,#02H
MOV DATE,#01H
MOV MONTH,#01H
MOV YEAR,#10H
MOV ALK_MINUTE,#30H
MOV ALK_HOUR,#22H
MOV SQW_OUT,#90H
MOV TAM,#00H
MOV IE,#00H
MOV TMOD,#10H
SETB EA
SETB EX0
SETB IT0
MOV SP,#256-32
HERE:
CALL READ_CLOCK
CALL HIENTHI_2
CALL ALARM_TEST
CALL TAT_MO_CHUONG
CALL HIEU_UNG_CHINH
JMP HERE
;------------------------------------------------------------------------------
;----Chuong trinh ngat de giai ma tin hieu hong ngoai----
GIAI_MA_ROMOTE_SONY:
MOV R1,A
CALL DELAY_900us
MOV A,#40H
JB SIGNAL,EXIT_GIAIMA
RP1:
JNB SIGNAL,RP1 ;Cho tin hieu len muc cao
RP2:
JB SIGNAL,RP2 ;Cho tin hieu xuong muc thap
CALL DELAY_900us ;Tao tre 900us
MOV C,SIGNAL ;Dua de lieu vao C
JC BIT0 ; Neu C=1 du lieu la bit 0
;neu C=0 du lieu la bit 1
BIT1:
SETB C ;Dat C bang 1
RRC A ;Ghi vao A
JC END_SIGNAL
JMP RP1
BIT0:
CLR C ;Dat C bang 0
RRC A ;Ghi vao A
JC END_SIGNAL
JMP RP2
END_SIGNAL:
CALL LONG_DELAY ;Tao tre de chong nhieu
RR A ; Quay phai A
JMP KEY_ON_OFF
;----Phim cho phep mo/tat che do dieu chinh----
KEY_ON_OFF:
CJNE A,#15H,SOSANH
MOV A,R2
CPL A
MOV R2,A
MOV R0,#20H
CJNE R2,#0FFH,EXIT_KEY_ON_OFF
MOV R0,#01FH
EXIT_KEY_ON_OFF:
JMP EXIT_GIAIMA
SOSANH:
CJNE R2,#0FFH,KEY_NEXT
JMP EXIT_GIAIMA
;----Phim lua chon vi tri dieu chinh----
KEY_NEXT:
CJNE A,#18H,KEY_BACK
INC R0
CJNE R0,#29H,EXIT_KEY_NEXT
MOV R0,#20H
EXIT_KEY_NEXT:
CALL HIEU_UNG_CHINH
JMP EXIT_GIAIMA
KEY_BACK:
CJNE A,#19H,KEY_01
DEC R0
CJNE R0,#1FH,EXIT_KEY_NEXT
MOV R0,#28H
EXIT_KEY_BACK:
CALL HIEU_UNG_CHINH
EXIT_GIAIMA:
CALL LONG_DELAY
JNB SIGNAL,EXIT_GIAIMA
MOV A,R1
CLR IE0
RETI
;-----Cac phim du lieu cai dat------
KEY_01:
CJNE A,#00H,KEY_02
MOV TAM,#01H
CALL XULY
JMP EXIT_GIAIMA
KEY_02:
CJNE A,#01H,KEY_03
MOV TAM,#02H
CALL XULY
JMP EXIT_GIAIMA
KEY_03:
CJNE A,#02H,KEY_04
MOV TAM,#03H
CALL XULY
JMP EXIT_GIAIMA
KEY_04:
CJNE A,#03H,KEY_05
MOV TAM,#04H
CALL XULY
JMP EXIT_GIAIMA
KEY_05:
CJNE A,#04H,KEY_06
MOV TAM,#05H
CALL XULY
JMP EXIT_GIAIMA
KEY_06:
CJNE A,#05H,KEY_07
MOV TAM,#06H
CALL XULY
JMP EXIT_GIAIMA
KEY_07:
CJNE A,#06H,KEY_08
MOV TAM,#07H
CALL XULY
JMP EXIT_GIAIMA
KEY_08:
CJNE A,#07H,KEY_09
MOV TAM,#08H
CALL XULY
JMP EXIT_GIAIMA
KEY_09:
CJNE A,#08H,KEY_10
MOV TAM,#09H
CALL XULY
JMP EXIT_GIAIMA
KEY_10:
CJNE A,#09H,KEY_MO_CHUONG
MOV TAM,#00H
CALL XULY
JMP EXIT_GIAIMA
KEY_MO_CHUONG:
CJNE A,#12H,KEY_TAT_CHUONG
MOV R3,#0FFH
SETB BELL
JMP EXIT_GIAIMA
KEY_TAT_CHUONG:
CJNE A,#13H,EXIT_GIAIMA
MOV R3,#00H
CLR BELL
JMP EXIT_GIAIMA
;----Dua gia tri duoc dieu chinh vao cac o nho du lieu----
XULY:
MOV A,@R0
SWAP A
ANL A,#0F0H
ORL A,TAM
MOV @R0,A
CALL WRITE_CLOCK
CALL READ_CLOCK
CALL HIENTHI_2
RET
;----Tao ra hieu ung khi dieu chinh----
HIEU_UNG_CHINH:
CJNE R0,#20H,TT1
MOV P1,#0FFH
CLR DIS3
SETB DIS3
CLR DIS4
SETB DIS4
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT1:
CJNE R0,#21H,TT2
MOV P1,#0FFH
CLR DIS5
SETB DIS5
CLR DIS6
SETB DIS6
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT2:
CJNE R0,#22H,TT3
MOV P1,#0FFH
CLR DIS7
SETB DIS7
CLR DIS8
SETB DIS8
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT3:
CJNE R0,#23H,TT4
MOV P1,#0FFH
CLR DIS9
SETB DIS9
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT4:
CJNE R0,#24H,TT5
MOV P1,#0FFH
CLR DIS10
SETB DIS10
CLR DIS11
SETB DIS11
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT5:
CJNE R0,#25H,TT6
MOV P1,#0FFH
CLR DIS12
SETB DIS12
CLR DIS13
SETB DIS13
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT6:
CJNE R0,#26H,TT7
MOV P1,#0FFH
CLR DIS14
SETB DIS14
CLR DIS15
SETB DIS15
CLR DIS16
SETB DIS16
CLR DIS17
SETB DIS17
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT7:
CJNE R0,#27H,TT8
MOV P1,#0FFH
CLR DIS18
SETB DIS18
CLR DIS19
SETB DIS19
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
JMP EXIT_HUC
TT8:
CJNE R0,#28H,EXIT_HUC
MOV P1,#0FFH
CLR DIS20
SETB DIS20
CLR DIS21
SETB DIS21
CALL LONG_DELAY
CALL LONG_DELAY
CALL HIENTHI_2
CALL LONG_DELAY
CALL LONG_DELAY
EXIT_HUC:
RET
;----Chon che do tat/mo chuong theo tung gio----
TAT_MO_CHUONG:
CJNE R3,#0FFH,TT10
MOV A,MINUTE
CJNE A,#00H,TT10
MOV A,SECOND
CJNE A,#00H,TT10
CLR SPEAKER ;Mo am thanh bao thuc
CALL LONG_DELAY
CALL LONG_DELAY
CALL LONG_DELAY
CALL LONG_DELAY
TT10:
SETB SPEAKER ;Tat am thanh bao thuc
RET
;----Gui dieu kien STARRT den DS1307-----
SEND_START:
SETB SDA
SETB SCL
CALL DELAY6US
CLR SDA
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
;-----Gui dieu kien STOP den DS1307----
SEND_STOP:
CLR SDA
SETB SCL
CALL DELAY6US
SETB SDA
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
;----Ghi 8 bit du lieu vao DS1307---
SEND_BYTE:
MOV BITCOUNT,#08H
SEND_BYTE_LOOP:
JNB ACC.7,LEVEL_LOW
SETB SDA
JMP SEND_BITS
LEVEL_LOW:
CLR SDA
SEND_BITS:
SETB SCL
CALL DELAY6US
CLR SCL ;Ket thuc 1 xung nhip
RL A
DJNZ BITCOUNT,SEND_BYTE_LOOP
JB LAST,NOT_ACK1 ;Neu lan doc cuoi cung thi
;khong gui bit ACK
ACK1: ;Gui bit ACK
CLR SDA
SETB SCL
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
NOT_ACK1: ;Gui bit Not_ACK (NACK)
SETB SDA
SETB SCL
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
;----Doc 8 bit du lieu tu DS1307----
READ_BYTE:
MOV BITCOUNT,#08H
MOV A,#00H
SETB SDA
READ_BITS:
SETB SCL
MOV C,SDA
CALL DELAY6US
RLC A ;Dua SDA vao thanh ghi A
CLR SCL
CALL DELAY6US
DJNZ BITCOUNT,READ_BITS
JB LAST,NOT_ACK2 ;Neu lan doc cuoi cung thi
;khong gui bit ACK
ACK2: ;Gui bit ACK
CLR SDA
SETB SCL
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
NOT_ACK2: ;Gui bit NACK
SETB SDA
SETB SCL
CALL DELAY6US
CLR SCL
CALL DELAY6US
RET
;----Doc thoi gian thuc tu DS1307----
READ_CLOCK:
CALL SEND_START
CLR LAST
MOV A,#0D0H
CALL SEND_BYTE
SETB LAST
MOV A,#00H
CALL SEND_BYTE
CALL SEND_STOP
CALL SEND_START
CLR LAST
MOV A,#0D1H
CALL SEND_BYTE
CALL READ_BYTE
MOV SECOND,A
CALL READ_BYTE
MOV MINUTE,A
CALL READ_BYTE
MOV HOUR,A
CALL READ_BYTE
MOV DAY,A
CALL READ_BYTE
MOV DATE,A
CALL READ_BYTE
MOV MONTH,A
CALL READ_BYTE
MOV YEAR,A
CALL READ_BYTE
MOV SQW_OUT,A
CALL READ_BYTE
MOV ALK_HOUR,A
SETB LAST
CALL READ_BYTE
MOV ALK_MINUTE,A
CALL SEND_STOP
RET
;----Cai dat thoi gian cho DS1307----
WRITE_CLOCK:
CALL SEND_START
CLR LAST
MOV A,#0D0H
CALL SEND_BYTE
MOV A,#00H
CALL SEND_BYTE
MOV A,SECOND
CALL SEND_BYTE
MOV A,MINUTE
CALL SEND_BYTE
MOV A,HOUR
CALL SEND_BYTE
MOV A,DAY
CJNE A,#08H,TTD
MOV A,#01H
TTD:
CALL SEND_BYTE
MOV A,DATE
CALL SEND_BYTE
MOV A,MONTH
CALL SEND_BYTE
MOV A,YEAR
CALL SEND_BYTE
MOV A,#90H
CALL SEND_BYTE
MOV A,ALK_HOUR
CALL SEND_BYTE
SETB LAST
MOV A,ALK_MINUTE
CALL SEND_BYTE
CALL SEND_STOP
RET
;----Thoi gian bao thuc----
ALARM_TEST:
MOV A,MINUTE
CJNE A,ALK_MINUTE,EXIT_ALARM_TEST
MOV A,HOUR
CJNE A,ALK_HOUR,EXIT_ALARM_TEST
CLR SPEAKER
LOOP_ALK_TEST:
MOV A,MINUTE
CJNE A,ALK_MINUTE,EXIT_ALARM_TEST
CALL HIENTHI_2
CALL READ_CLOCK
JMP LOOP_ALK_TEST
EXIT_ALARM_TEST:
SETB SPEAKER
RET
;----Xuat ket qua ra led 7 doan----
HIENTHI_2:
MOV A,HOUR
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS3
SETB DIS3
CALL DELAY6US
MOV A,HOUR
ANL A,#0FH
CALL READ
CLR DIS4
SETB DIS4
CALL DELAY6US
MOV A,MINUTE
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS5
SETB DIS5
CALL DELAY6US
MOV A,MINUTE
ANL A,#0FH
CALL READ
CLR DIS6
SETB DIS6
CALL DELAY6US
MOV A,SECOND
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS7
SETB DIS7
CALL DELAY6US
MOV A,SECOND
ANL A,#0FH
CALL READ
CLR DIS8
SETB DIS8
CALL DELAY6US
MOV A,DAY
CJNE A,#01H,TTDD
MOV A,#08H
TTDD:
CALL READ
CLR DIS9
SETB DIS9
CALL DELAY6US
MOV A,DATE
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS10
SETB DIS10
CALL DELAY6US
MOV A,DATE
ANL A,#0FH
CALL READ
CLR DIS11
SETB DIS11
CALL DELAY6US
MOV A,MONTH
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS12
SETB DIS12
CALL DELAY6US
MOV A,MONTH
ANL A,#0FH
CALL READ
CLR DIS13
SETB DIS13
CALL DELAY6US
MOV A,#20
MOV B,#10
DIV AB
CALL READ
CLR DIS14
SETB DIS14
CALL DELAY6US
MOV A,B
CALL READ
CLR DIS15
SETB DIS15
CALL DELAY6US
MOV A,YEAR
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS16
SETB DIS16
CALL DELAY6US
MOV A,YEAR
ANL A,#0FH
CALL READ
CLR DIS17
SETB DIS17
CALL DELAY6US
MOV A,ALK_HOUR
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS18
SETB DIS18
CALL DELAY6US
MOV A,ALK_HOUR
ANL A,#0FH
CALL READ
CLR DIS19
SETB DIS19
CALL DELAY6US
MOV A,ALK_MINUTE
ANL A,#0F0H
SWAP A
CALL READ
CLR DIS20
SETB DIS20
CALL DELAY6US
MOV A,ALK_MINUTE
ANL A,#0FH
CALL READ
CLR DIS21
SETB DIS21
CALL DELAY6US
RET
;----Doc noi dung o nho DPTR----
READ:
MOVC A,@A+DPTR
MOV P1,A
RET
;----Tao tre 900us----
DELAY_900us:
MOV TH1,#HIGH(-900)
MOV TL1,#LOW(-900)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
;----Tao tre 6us----
DELAY6US:
NOP
NOP
NOP
NOP
NOP
NOP
RET
;----Tao tre (250*200*2)/10^6 = 0.1s----
LONG_DELAY:
MOV R7,#250
L2:
MOV R6,#200
DJNZ R6,$
DJNZ R7,L2
RET
LED7S: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
END
3. Hướng dẫn sử dụng bộ điều khiển dùng Remote SONY
Các bước thực hiện để cài đặt thời gian cho “Lịch Vạn Niên Điện Tử”
-
Bước 1: Ấn phím POWER lần thứ nhất để mở chế độ cài đặt. Lưu ý nếu như chế độ cài đặt không được mở thì tất cả các phím còn lại đều bị vô hiệu hoá.
-
Bước 2: Sau khi chế độ cài đặt được mở, sử dụng phím CONT hoặc CONT để chọn vị trí cài đặt. Phím CONT để next (chuyển) đến vị trí kế tiếp, phím CONT để back (trở về) vị trí phía sau.
Sử dụng 2 phím VOL hoặc VOL để chọn chế độ báo chuông theo từng giờ (6h,7h,8h.….), phím VOL dùng để mở và VOL dùng để tắt chế độ này.
-
Bước 3: Nhập vào các giá trị cần cài đặt bằng các số trên remote từ 1 đến 10 (do remote không có số 0 nên số 10 lúc này được xem là số 0), vậy giá trị được nhập giới hạn từ 0 đến 9. Nguyên tắt nhập số cài đặt tương tự như nguyên tắt nhập số trong máy tính bỏ túi.
-
Bước 4: Ấn phím POWER lần thứ hai để tắt chế độ cài đặt.
4. Code word của remote SONY
Để có được các code word remote SONY tôi sử dụng các led đơn (mắt ở port 0) để chỉ thị cho mỗi lần ấn phím. Sau đây là một vài code word mà tôi đã giải mã:
Tín hiệu hiển thị ở Port 0
|
Phím ấn remote
|
Mã lệnh khi ấn phím
(hex)
|
00000000B
|
1
|
00H
|
00000001B
|
2
|
01H
|
00000010B
|
3
|
02H
|
00000011B
|
4
|
03H
|
00000100B
|
5
|
04H
|
00000101B
|
6
|
05H
|
00000110B
|
7
|
06H
|
00000111B
|
8
|
07H
|
00001000B
|
9
|
08H
|
00001001B
|
10
|
09H
|
00010101B
|
POWER
|
15H
|
00011000B
|
CONT
|
18H
|
00011001B
|
COUNT
|
19H
|
00010010B
|
VOL
|
12H
|
00010011B
|
VOL
|
13H
|
00100101B
|
TV/VIDEO
|
25H
|
01111000B
|
MEMD
|
78H
|
00001011B
|
TUNE2
|
0BH
|
01110110B
|
FINE
|
76H
|
01110111B
|
FINE
|
77H
|
01101100B
|
TUNE1
|
6CH
|
01111100B
|
SELECT
|
7CH
|
01100101B
|
ENTER
|
65H
|
01100110B
|
MENU
|
66H
|
00010000B
|
PROGR
|
10H
|
00010001B
|
PROGR
|
11H
|
Sơ đồ khối bên trong AT89S52
Chia sẻ với bạn bè của bạn: |