CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀIĐề tài : Thiết kế và chế tạo bộ điều khiển từ xa hẹn giờ tắt mở thiết bị điện gia dụng 1.1 Nhiệm vụ đề tài : - Tìm hiểu cách thức giao tiếp cơ bản từ bộ thu ph
Trang 1CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
Đề tài : Thiết kế và chế tạo bộ điều khiển từ xa hẹn giờ tắt mở thiết bị điện gia dụng
1.1 Nhiệm vụ đề tài :
- Tìm hiểu cách thức giao tiếp cơ bản từ bộ thu phát sóng RF trên thị trường
- Đặt ra phương pháp thu tín hiệu để kết nối vi điều khiển 8051
- Xây dựng chương trình điều khiển cho phù hợp
- Cải tiến và nâng cấp mở rộng các thiết kế về sau
1.2 Sơ đồ khối hệ thống :
Sơ đồ hệ thống được biểu diễn như sau :
Sóng RF
KHỐI PHÁT SÓNG RF( Remote RF 8 kênh )
(
KHỐI THU SÓNG RF( giải mã sóng RF )
KHỐI CÔNG SUẤT
( điềukhiểnthiếtbị )
KHỐI VI ĐIỀU KHIỂN( chip AT89S52 )
KHỐI HIỂN THỊ( 6 led 7 đoạn )
Trang 2- Khoảng cách truyền tải : 200m.
- Dạng điều biến : ASK
Trang 3 Chân giao tiếp :
- Chân 1 : bit 1 tín hiệu số
- Chân 2 : bit 2 tín hiệu số
- Chân 3 : bit 3 tín hiệu số
Trang 4- Chân 5 : nối mass.
- Chân 6 : chân báo hiệu
- Chân 7 : Nối dương nguồn
1.3.3 Chíp vi điều khiển :
Chíp vi điều khiển AT89S52 thuộc họ 8051 làm nhiệm vụ điều khiển toàn hệthống Chíp nhận tín hiệu điều khiển từ mạch thu RF và xử lí tín hiệu xuất lên khốiLED để hiển thị hoặc xuất ra điều khiển thiết bị
Sử dụng 6 led 7 đoạn bố trí chia thành 3 cặp :
- 2 led hiển thị giờ : 1 led hiển thị hàng đơn vị, 1 led hiển thị hàng chục
Trang 5- 2 led hiển thị phút : 1 led hiển thị hàng đơn vị, 1 led hiển thị hàng chục.
- 2 led hiển thị giây : 1 led hiển thị hàng đơn vị, 1 led hiển thị hàng chục
1.3.5 Khối công suất :
Sử dụng Rowle điều khiển đến thiết bị điện gia dụng, chip vi điều khiển xuất tínhiệu và khuếch đại qua mạch công suất đưa vào Rơle
Trang 6CHƯƠNG 2 THIẾT KẾ PHẦN CỨNG2.1 Vấn đề thu phát sóng RF trong điều khiển từ xa :
Trước khi nghĩ đến việc mở rộng các ứng dụng của sóng điện từ trong điềukhiển, chúng ta hãy tìm hiểu kĩ hơn về hai IC chuyên dùng trong điều khiển từ xa, đó
là IC PT2262 dùng để tạo ra mã lệnh và IC PT2272 dùng để giải mã Ngày nay người
ta chế tạo rất nhiều các cặp IC, một con thì dùng cho bên phát và một con dùng chobên nhận
2.1.1 Phát sóng sử dụng IC 2262 :
PT2262 có sơ đồ chân như hình vẽ sau :
IC PT2262 có nhiều nhóm, nhiều phiên bản, phân nhóm theo cách chữ viết tiếptheo ở bên sau chữ PT2262, hình vẽ cho thấy có nhóm 18 chân và có nhóm 20 chân,theo tên ghi trên các chân của IC chúng ta hiểu công dụng từng chân như sau :
+ Chân cuối của hàng dưới cho nối Mass và chân cuối của hàng trên cho nối
Trang 7+ Trên chân OSC1 và OSC2 dùng gắn điện trở R để định tần cho xung nhịp,dùng tạo ra các dãy xung mã lệnh Tần số xung nhịp phải lấy tương thích giữa bênphát và bên nhận.
+ Các chân A0-A5 dùng nhập mã địa chỉ, trên mỗi chân có thể có 3 trạng thái,cho nối Mass là bit 0, cho nối vào nguồn dương là bit 1 và bỏ trống là bit F
+ Chân A6/D0 – A11/D5 có thể dùng như các chân địa chỉ từ A6-A11, nhưngkhi dùng như chân nhập dữ liệu data thì chỉ xác lập theo mức 0 và mức 1, chỉ có 2trạng thái
+ Chân TE dùng cho xuất nhóm xung mã lệnh, nó có tác dụng ở mức áp thấp.Nghĩa là khi chân này ở mức áp thấp, nó sẽ cho xuất ra xung mã lệnh trên chân Dout
+ Chân Dout , là chân ngã ra của nhóm tín hiệu mã lệnh, các tín hiệu mã lệnhđều ở dạng xung, nghĩa là lúc ở mức áp thấp, lúc ở mức áp cao
2.1.2 Thu sóng sử dụng IC 2272 :
Khi xung mã lệnh phát ra từ ICPT2262 nhóm xung mã lệnh này sẽ được đưa và
IC PT2272 để được giải mã và phát ra tín hiệu để điều khiển các thiết bị
Trang 8Từ sơ đồ khối chức năng chúng ta thấy hoạt động của IC PT2272 sẽ như sau :+ Chân OSC1 và chân OSC2 dùng gắn điện trở để định tần cho xung nhịp, xungnhịp này cần thiết cho hoạt động của IC.
+ Các chân địa chỉ là A0 đến A5 và chân địa chỉ/ dữ liệu là A6/D5 đến A11/D0,trạng thái bit trên các chân này dùng xác lập mã lệnh dùng cho việc dò mã lệnh củabên phát
+ Chân ngã vào là DIN, sau khi qua 2 tầng khuếch đại đảo, tín hiệu mã lệnh chovào mạch computer logic để dò mã lệnh, nếu mã lệnh của bên phát đúng với mã lệnh
đã xác lập trong IC, nó sẽ cho qua mạch Output Logic chờ xuất ra, khi mạch dò xungđồng bộ Synchro Detect xác nhận tín hiệu là chính xác, nó sẽ cho xuất lệnh điều khiểntrên chân VT
2.1.3 Tương thích bộ IC 2262/2272 :
Có nhiều phiên bản của cặp IC PT2262 và PT2272 dùng trong điều khiển theo
mã lệnh Có loại không có chân data, có loại có 2 chân data, 3 chân data, 4 chân data,
5 chân data và 6 chân data
Người ta dùng một mạch dao động để tạo ra xung nhịp, tần số xung nhịp tùythuộc vào trị của điện trở gắn trên chân OSC1 và OSC2 Sau khi có xung nhịp có chu
kì là α, bây giờ người ta tạo ra các dạng xung khác nhau dùng để chỉ trạng thái các bit :
đó là bit 0, bit 1, bit F
+ Bit 0 là lúc các chân địa chỉ hay các chân dữ liệu cho nối Mass
+ Bit 1 là lúc các chân địa chỉ hay các chân dữ liệu cho nối lên nguồn dương.+ Bit F là lúc các chân địa chỉ này bỏ trống
Sau đây là vẽ cho thấy cách thức tạo ra dãy xung mã lệnh của cặp xung ICPT2262/2272
Trang 92.2 Thiết kế phần cứng và giao tiếp với module thu phát sóng RF :
2.2.2 Thiết kế khối hiển thị :
Khối hiển thị thiết kế như sau:
Trang 10h: P2.7Mạch sử dụng 6 led 7 đoạn loại Anot chung, kết nối chung chân katot và nốivào Port 2 của chip Vi điều khiển AT89S52 Các chân Anot cấp nguồn +5V thông qua
6 BJT 2SA1015 khi BJT này được kích dẫn Chân VĐK đưa tín hiệu điều khiển mức
áp 0V vào chân B của 2SA1015 thông qua trở phân cực R14 đến R19 có giá trị 4,7kΩ thìBJT này được kích dẫn, khi đó led 7 đoạn tương ứng được cấp nguồn Ngược lại khitín hiệu điều khiển mức áp +5V thì BJT này được tắt, khi đó led 7 đoạn tương ứngkhông được cấp nguồn
Trở hạn dòng R6 đến R13 nối tiếp các chân katot led 7 đoạn đến chân VĐKnhằm hạn dòng ổn định và chia điện áp cho led Ở đây ta sử dụng thuật toán quét 6 lednên chọn dòng qua led tầm 5mA x6 led =30mA Thiết kế R6 :
R6=5−1 8−0 2
BJT 2SA1015 dẫn dòng Ic tầm 30mA thì có dải phân bố hFE khá rộng, chọn giátrị nhỏ hơn 180 Ta chọn hFE = 30 để BJT dẫn bão hòa Thiết kế R14 :
2.2.2 Thiết kế khối vi điều khiển :
Khối VĐK thiết kế như sau
Sử dụng VĐK AT89S52 làm nhiệm vụ xử lí trung tâm Chip được trang bịthạch anh 12M tạo xung nhịp, tụ lọc nhiễu 33pF, mạch reset tụ hóa 10uF, trở 10 kΩ,nút nhấn reset thông qua trở hạn dòng 100Ω
Port 0 có trở thanh 4,7kΩ kéo lên và giao tiếp mạch hiển thị điều khiển cấpnguồn quét led
Port 2 giao tiếp mạch hiển thị điều khiển mã xuất tín hiệu trên led 7đoạn thôngqua 8 trở hạn dòng có giá trị 100 Ω
Port 1 giao tiếp chân 1, 2, 3, 4 mạch thu sóng RF ở các chân P1.0, P1.1, P1.2,P1.3 để nhận tín hiệu thu được từ remote
Trang 11Chân P3.2 nhận tín hiệu ngắt ngoài 0 báo thu tín hiệu.
Chân P3.5 xuất tín hiệu ra mạch công suất để điều khiển thiết bị
Ngoài ra mạch thu RF chân 5 nối mass, chân 7 nối nguồn + 5V Chân 6 mạchnày xuất tín hiệu ngõ ra tích cực mức 1 Để kết nối với ngắt ngoài VĐK tích cực mức
0, ta thêm vào mạch đảo pha đơn giản sử dụng 1 BJT 2SC1815 và 2 trở 100Ω và4,7kΩ
2.2.3 Thiết kế khối công suất đầu ra ( mang tính chất mô phỏng ) :
Khối công suất thiết kế như sau
Mạch công suất đàu ra sử dụng Rơle để điều khiển đóng mở đối tượng Ở đây ta
sử dụng led đơn D2 báo hiệu để nhìn thấy tín hiệu đầu ra Rơle đóng ngắt bởi BJT2SA1015 khi BJT này dẫn Chân VĐK xuất tín hiệu out đưa vào chân B của BJT2SA1015 thông qua trở phân cực R20 Diode D1 có tác dụng xả dòng ngược do cuộndây Rơle sinh ra
Rơle có dòng kích 30mA, ta chọn hFE =40 của BJT 2SA1015 để BJT dễ dàngdẫn bão hòa
R20=(5−0 7 ) x 40
30 x 10−3 =5 6 k Ω
2.3 Mạch in và ráp linh kiện :
Trang 15CALL DELAY50us
SETB P0.4 MOV P2,A
MOV R1,C_MINUTE MOV A,R1
CALL DELAY50us
SETB P0.2 MOV P2,A
MOV R2,C_SECOND MOV A,R2
Trang 16MOV DPTR,#BANGMA
MOV B,#10
DIV AB
CLR P0.6 MOVC A,@A+DPTR
CALL DELAY50us
SETB P0.6 MOV P2,A
MOV R0,ON_HOUR MOV A,R0 HIENTHI_2
CALL DELAY50us
SETB P0.4 MOV P2,A
MOV R1,ON_MINUTE MOV A,R1
Trang 17MOV DPTR,#BANGMA
MOV B,#10
DIV AB
CLR P0.6 MOVC A,@A+DPTR
CALL DELAY50us
SETB P0.6 MOV P2,A
MOV R0,OFF_HOUR MOV A,R0 HIENTHI_3
CALL DELAY50us
SETB P0.4 MOV P2,A
MOV R1,OFF_MINUTE MOV A,R1
Trang 183.2 Thuật toán ngắt Timer :
MOV C_HOUR,A
MOV C_HOUR,#0
POP ACC POP PSW
S
S S
S
Trang 193.3 Thuật toán ngắt ngoài :
MOV A,ON_HOUR
MOV ON_HOUR,#0
MOV ON_MINUTE,#0 A=60?
S
S S
S
S
K1=1?
S
Trang 203.4 Thuật toán các chương trình con:
MOV R7,#2
MOV R6,#0FFH DELAY50US
RET R7=0?
R6=0?
Trang 213.5 Code chương trình :
K1 BIT P1.0 ; CHÂN A SÓNG RF K2 BIT P1.1 ;CHÂN B SÓNG RFK3 BIT P1.2 ;CHÂN C SÓNG RFK4 BIT P1.3 ;CHÂN D SÓNG RFC_HOUR EQU 23H; DIA CHI HIEN THI GIOC_MINUTE EQU 24H ; DIA CHI HIEN THI PHUTC_SECOND EQU 25H ;; DIA CHI HIEN THI GIAYON_HOUR EQU 26H ;;DIA CHI LUU GIA TRI MO HEN GIOON_MINUTE EQU 27H ;DIA CHI LUU GIA TRI MO HEN PHUTOFF_HOUR EQU 28H ;DIA CHI LUU GIA TRI TAT HEN GIOOFF_MINUTE EQU 29H ;DIA CHI LUU GIA TRI TAT HEN PHUT
;;;;;;;;;;;DINH NGIA CAC VEC TO DIA CHI NGAT ;;;;;;;;;;;;;;;;;
ORG 00HJMP MAINORG 03H ; VEC TO NGAT NGAT NGOAI 0JMP NGAT_NGOAI_0
ORG 0BH; VECTO NGAT TIMER0JMP NGAT_TIMER0
ORG 30HMAIN:
MOV SP,#50H;;; DIA CHI NGAN XEPMOV TMOD,#02H ;;; CHE DO NGAT TIME0 CHE , MODE2 CHE
DO NAP LAI
Trang 22MOV TL0,#-100 ;; GIA TRI BAN DAU TL0
;;;;;;;;;;;;;;;;;
MOV 22H,#0 ;GÁN 22H=0MOV C_HOUR,#0 ;GÁN GIÁ TRI GIO HIEN THI=0
MOV ON_HOUR,#0 ;GÁN GIÁ TRI GIO HEN MO THI=0MOV ON_MINUTE,#0;GÁN GIÁ TRI PHUT HEN MO THI=0
MOV OFF_MINUTE,#0 ;GÁN GIÁ TRI PHT HEN TATTHI=0
;;;;;;;;;;;;;;;;;
LOP1:
SETB EX0 ;;; EX0=1 CHO PHEP NGAT NGOAISETB ET0 ;;; ET0=1 CHO PHEP NGAT TIMER0SETB TR0 ;;;TR0=1 CHO PHEP NGAT 0 BAT DAU DEM
Trang 23CJNE A,ON_HOUR,NEXT ;;; KIEM TRA ON_HOUR=A ; NEU
= THI XUONG PHIA DUOI;; CON A#ON_HOUR NHAY XUONG NHAN NEXT
MOV A,C_MINUTE ;DUA GTRI C_MINUTE VAO A CJNE A,ON_MINUTE,NEXT ;NEU = THI XUONG PHIA DUOI;;
CON A#ON_MINUTE NHAY XUONG NHAN NEXTSETB P3.5 ; NEU KTRA A=ON_HOUR,,, A=ON_MINUTE ;;;;;; THI CHO P3.5 =1 DE MO THIET BI HEN GIO
NEXT:
MOV A,C_HOUR ;;; DUA GTRI C_HOUR VAO ACJNE A,OFF_HOUR,EXIT;;; KIEM TRA OFF_HOUR=A ; NEU = THI XUONG PHIA DUOI;; CON A#OFF_HOUR NHAY XUONG NHAN NEXT
MOV A,C_MINUTE ;DUA GTRI C_MINUTE VAO ACJNE A,OFF_MINUTE,EXIT ;; KIEM TRA OFF_MINUTE=A ;NEU
= THI XUONG PHIA DUOI;; CON A#OFF_MINUTE NHAY XUONGNHAN NEXT
CLR P3.5 ; NEU KTRA A=OFF_HOUR,,, A=OFF_MINUTE ;;;;;; THICHO P3.5 =1 DE TAT THIET BI HEN GIO
Trang 24MOV R0,C_HOUR ;;; DUA GTRI C_HOUR VAO AMOV A,R0 ;;; DUA R0 VAO A
MOVC A,@A+DPTR ;;;; TU GTRI THAN GHI A TRUY CAP TREN GTRI BANG MA
MOV P2,A ; DUA GTRI A VAO PORT 2CLR P0.5 ; BAT LED 7SEG THU 5CALL DELAY50US; GOI DELAY50USSETB P0.5 ; TAT 7SEG THU 6
;;;;;;;;;;;;;;;HIEN THI PHUT;;;;;;;;;;
MOV DPTR,#BANGMAMOV R1,C_MINUTE ; DUA R1 VAO C_MINUTEMOV A,R1 ;; DUA R1 VAO A
Trang 25CALL DELAY50US; GOI DELAY50USSETB P0.4 ; TAT 7SEG THU 4
MOVC A,@A+DPTRMOV P2,A ;; DUA GTRI A VAO PORT 2
CALL DELAY50USSETB P0.3 ; GOI DELAY50US
;;;;;;;;;;;;;;;;; HIEN THI GIAY;;;;;;;;;;;;;;;;;;
MOV DPTR,#BANGMA
MOV A,R2 ; DUA GRTI THANH GHI R2 VAO AMOV B,#10 ;; CHO B=10
DUA VAO B)MOVC A,@A+DPTRMOV P2,A ;; DUA GTRI THANH GHI A VAO P2CLR P0.2 ;; BAT LED 7SEG LED 2
SETB P0.2 ;; XOA LED 7SEG LED 2
MOVC A,@A+DPTRMOV P2,A;;; MOV GTRI A VAO PORT2CLR P0.1 ; BAT LED 7SEG LED 1CALL DELAY50US ;; GOI DELAY50US
Trang 26MOVC A,@A+DPTRMOV P2,A ;;; DUA GTRI A VAO PORT2CLR P0.5 ;;;;BAT LED 7SEG 5
SETB P0.5 ;; TAT LED 7SEG 5
Trang 27MOV P2,A ;MOV THANH GHI A VÀO POTTR 2CLR P0.4 ; MO LED 7SEG 4
CALL DELAY50US ;; GOI DELAY50USSETB P0.4 ;; TAT LED 7SEG 4
MOVC A,@A+DPTRMOV P2,A ;;;DUA GTRI THANH GHI A VAO PORT 2CLR P0.3 ;; BAT LED 7SEG THU 3
CALL DELAY50US ; GOI DELAY50USSETB P0.3 ; TAT LED 7SEG 3
RETHIENTHI_3:
R0MOV A,R0;;; DUA GTRI THANH GHI R0 VAO AMOV B,#10 ;;; GÁN B=10
DIV AB ;; A/BMOVC A,@A+DPTRMOV P2,A ; DUA GTRI A VAO PORT2CLR P0.6 ; MO LED 7SEG 6
CALL DELAY50US ;CALL DELAY50USSETB P0.6 ; TAT LED 7SEG 6
MOVC A,@A+DPTRMOV P2,A ; DUA GTRI A VAO PORT2
Trang 28CALL DELAY50US ; GOI DELAY50USSETB P0.5;; TAT LED 7SEG 5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV R1,OFF_MINUTE ;;; DUA GTRI R1 VAO OFF_MINUTEMOV A,R1 ;; DUA GTRI R1 VAO A
MOV B,#10 ;; GÁN B=10DIV AB ;; A/B
MOVC A,@A+DPTRMOV P2,A ;; DUA GTRI THANH GHI A VAO THANH GHI PORT2CLR P0.4 ;; BAT LED 4
CALL DELAY50US ;; GOI DELAY50USSETB P0.4;;; TAT LED 4
MOV A,B;;; DUA GTRI B VAO AMOVC A,@A+DPTR
MOV P2,A;; DUA GTRI THANH GHI A VAO BCLR P0.3 ;;; BAT LED 7SEG THU 3
CALL DELAY50US ;; GOI DELAY50USSETB P0.3 ;;; TAT LED 7SEG THU 3RET
;;;;;;;;;;;;;;CHUONG TRINH NGAT TIMER0 TAO DELAY 1S ;;;;;;;;;;;;;;;
NGAT_TIMER0:
PUSH ACC ;;; DUA THANH GHI ACC VAO NGAN SAP THAN GHISP,#50H
PUSH PSW ;;;; DUA THANH GHI PSW VAO THANH GHI SP
Trang 29MOV A,21H;;; DUA GTRI 21H VAO THANH GHI ACJNE A,#250,TERI0 ;;; KIEM TRA A=250 ,, NEU A<250 THI NHAY DEN TEN NHAN TERI0
MOV 21H,#0;;; GÁN GTRI 21H = 0INC 22H;; TANG GTRI TRONG THANH GHI 22HMOV A,22H;;; DUA GTRI 22H VAO A
CJNE A,#22,TERI0 ;;;; KTRA GTRI A < 22 THI NHAY DEN TEN NHAN TERI0;;A=22 NHAY XUONG LENH DUOI
MOV 22H,#0 ;;; GÁN GRTI 22H =0
;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;TANG GIAY LEN 1 DON VI;;;;;;;
MOV A,#1 ;;;; GÁN A=1ADD A,C_SECOND ;;;;; A+ C_SECOND (GTRI CONG DUA VAO THANH GHI A)
MOV C_SECOND,A ;;;;;;; GÁN A BANG GTRI C_SECONDCJNE A,#60,TERI0 ;;;;;;; KIEM TRA NEU A<60 THI NHAY DEN TEN NHAN TREI0(THOAT NGAT), NEU =60 THI NHAY XUONG LEN PHIA DUOI
MOV C_SECOND,#0;;; GÁN GIÂY=0
;;;;;;;;;;;;;;;;;;;TANG PHUT LEN 1 DON VI;;;;;;;;;;;;
MOV A,#1;;;; GÁN A=1;;
ADD A,C_MINUTE;; A+ C_MINUTE (GTRI CONG DUA VAO THANH GHI A)
MOV C_MINUTE,A;;;; DUA GTRI A VAO C_MINUTE CJNE A,#60,TERI0 ;;;; KIEMTRA NEU A<60 THI NHAY DEN TEN NHAN TERI0(THOAT NGAT TIMER0),, A=60 THI NHAY XUONG DUOI
MOV C_MINUTE,#0;;; GÁN PHÚT =0
Trang 30MOV A,#1;;; GÁN A=1ADD A,C_HOUR ;;; A+ C_HOUR(KET QUA DUA VAO THANH GHI A)
MOV C_HOUR,A ;;;; GAN A VAO GIOCJNE A,#24,TERI0 ;;; KIEM TRA DKIEN A<24 THI NHAY DEN TEN NHAN TERI0,, A=24 THI NHAY XUONG DUOI
MOV C_HOUR,#0 ;; GÁN GIO=0
;;;;;;;;;;;THOÁT NGAT TIMER0TERI0:
POP PSW;;; LAY KET QUÁ CUA THANH GHI PSW TU NGAN SEPPOP ACC;;; LAY KET QUÁ CUA THANH GHI ACC TU NGAN SEPRETI
;;;;;;;CHUONG TRINH NGAT NGOAI DE DIEU CHINH GIO MO VAHAN GIO MO TAT ;;;;;;;;;;;;;;
NGAT_NGOAI_0:
PUSH ACC PUSH PSW
KTRA_1:
JNB K1,KTRA1_1;;;; KIEM TRA NEU K1=0 THI NHAY DEN KTRA1_1, NGUOC LAI NEU K1=1 THUC HIEN CHUONG TRINH KTRA1_1:
;CALL HIENTHI_1
JB K1,KTRA1_1
;;;;;;;; CHUONG TRINH TANG PHÚT HIEN THI;;;;;;
Trang 31CALL HIENTHI_1 ;;;; GOI HIENTHI1JNB K2,KTRA_2 ;;; K2=0 NHAY XUONG KTRA_2,, K2=1 THI TANG GTRI PHUT LEN 1 DON VI
KTR1:
CALL HIENTHI_1 ;;; GOI HIENTHI_1
JB K2,KTR1 ;; NEU K2=1 DOI KHI K2=0 DE TANG PHUT LEN 1 DON VI
MOV R0,C_MINUTE;;; DUA GTRI PHÚT HIEN THI VAO THANH GHI R0
MOV A,#1;;; GÁN A=1ADD A,R0 ;;;A+R0(KET QUA LUU VAO A)
CJNE A,#60,KTRA_1;; KTRA NEU PHÚT CHUA BANG 60 THI NEU K2=1 THÌ TIEP TUC TANG CHO DEN 60;
MOV C_MINUTE,#0;; A=60 ,, GÁN PHUT =0
;;;;; KTRA NUT NHAN TANG GTRI GIO;;;;;;;;;;
KTRA_2:
CALL HIENTHI_1 ;;;;; GOI HIEN THI_1JNB K3,KTRA_3;;;;;; KIEM TR K3=0 THI NHAY XUONG KIEM TRA PHIAM KHÁC,, NEU K3=1 THI THUC HIEN TANG GIO L?N 1DVI
KTRA1_2:
CALL HIENTHI_1 ;;;;;GOI HIEN THI 1
JB K3,KTRA1_2 ;;;; NEU K3 =1 VE 0 THI CHO PHAP HIEN THI LEN LED 7DAON,, CON NGC LAI THI
MOV R0,C_HOUR;;;;; DUA GTRI GIO VAO R0MOV A,#1 ;;; GÁN A=1;
Trang 32ADD A,R0 ;;; A+R0(KETQUA LUU VAO A)MOV C_HOUR,A ;;;; GÁN GTRI CUA A VAO C HOUR CJNE A,#24,KTRA_1 ;;;; KIEM TRA NEU GTRI GIO CHUA DC 24 THI NEU CO NUT NHAN K3 THI TIEP TUC TANG GIO
MOV C_HOUR,#0;;; GÁN GTRI GIO=0
;;;;;;;;;;;; K1=1 THI SE GIAM GTRI GIO VA PHUT,, KHI NHAN K2 HOAC K3;;;;;;;;;
;;;;;;;;;;;;GIAM PHUT HIEN THI 1 DON VI;;;;;;;;;;;;;;;
KTRA1_5:
CALL HIENTHI_1 ;; GOI HIEN THI 1
JB K2,KTRA1_5 ;;;;; NEU K2=1 NHUNG CHUA CHUYEN XUONG
0 THI DUNG DOI,,, K2 =1 CHUYEN XUONG K2 BANG 0 GIAM PHUT HIEN THI DI 1 DON VI
MOV A,C_MINUTE ;;;; GÁN GTRI PHUT HIEN THI VAO ASUBB A,#1 ;;; A-1(KET QUA LUU VAO A;
MOV C_MINUTE,A ;;; GÁN GTRI A VAO GTRI HIEN THI PHUT
CO K2 TAC DONG THI GIAM A CHO DEN =-1