Đ
COUNTER = 0
Đ
VIẾT CHƯƠNG TRÌNH
SỬ DỤNG RESET CỦA VI ĐIỀU KHIỂN XUNG ĐẾM ĐƯA VAØO T0 – P3.4
START BIT P3.0 STOP BIT P3.1 ORG 0
MAIN: MOV DPTR,#MA7DOAN
MOV TMOD,#00000101 B ;COUNTER0
MAIN1: CLR TR0
CALL HEXTOBCD
CALL GIAIMA HIENTHI
JB START,$ ;KHONG NHAN THI CHO
SETB TR0 ;CHO PHEP COUNTER DEM
MAIN2: CALL HEXTOBCD
CALL GIAIMA_HIENTHI
JNB STOP,MAIN1 ;NHAY VE NGUNG COUNTER
MOV A,TL0
CJNE A,#100,MAIN2
MOV TL0,#0 JMP MAIN2
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TL0
MOV B,#10 DIV AB RET
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON GIAI MA SO BCD SANG MA 7 DOAN TUONG UNG
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMAHIENTHI:
MOVC A,@A+DPTR
MOV P1,A ;HANG CHUC DUNG P1
MOV A,B
MOVC A,@A+DPTR
MOV P0,A ;HANG DON VI
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
XUNG ĐẾM ĐƯA VAØO T0 – P3.4
START1 BIT P3.0 STOP 1 BIT P3.1 RESET1 BIT P3.2 START2 BIT P3.3
STOP 2 BIT P3.4 NGÕ VAØO NHẬN XUNG CỦA C0 RESET2 BIT P3.5 NGÕ VAØO NHẬN XUNG CỦA C1
BAØI SỐ KIỂM TRA GIỮA KỲ SỐ 2: kết nối vi điều khiển với 2 led 7 đoạn anode chung và 2 nút điều khiển kết nối trực tiếp. Hãy vẽ lưu đồ và chương trình đếm thời gian hiển thị trên 2 led từ 00 đến 55. Ba nút nhấn cĩ Stop, Start.
Khi nhấn Start thì mạch bắt đầu đếm khi cĩ xung
Khi nhấn Stop thì mạch ngừng đếm, nhấn Start thì mạch tiếp tục đếm.
BEGIN
DEM:=00, HEX->BCD, GMA, HIENTHI KHỞI TẠO MÃ START S Đ DEM:= DEM+1
HEX->BCD, GMA, HIENTHI
DEM:=0STOP STOP S Đ DEM=56 S Đ VIẾT CHƯƠNG TRÌNH
SỬ DỤNG RESET CỦA VI ĐIỀU KHIỂN START BIT P3.0 STOP BIT P3.1 LEDDV EQU P0 LEDCH EQU P1 DEM EQU R7 ORG 0
MAIN: MOV DPTR,#MA7DOAN
MOV DEM,#0
MAIN1: CALL HEXTOBCD
CALL GIAIMAHIENTHI
MAIN2: INC DEM
CALL HEXTOBCD
CALL GIAIMA_HIENTHI
JNB STOP,MAIN1 ;NHAY VE NGUNG COUNTER
CJNE DEM,#56,MAIN2 MOV DEM,#0
JMP MAIN2
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HEXTOBCD: MOV A,DEM
MOV B,#10 DIV AB RET
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON GIAI MA SO BCD SANG MA 7 DOAN TUONG UNG
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMAHIENTHI:
MOVC A,@A+DPTR
MOV P1,A ;HANG CHUC DUNG P1
MOV A,B
MOVC A,@A+DPTR
MOV P0,A ;HANG DON VI
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
BAØI SỐ KIỂM TRA GIỮA KỲ SỐ 3: kết nối vi điều khiển với 2 led 7 đoạn anode chung và 1 nút START_STOP điều khiển kết nối trực tiếp. Hãy vẽ lưu đồ và chương trình đếm xung ngoại hiển thị trên 2 led từ 00 đến 59.
Khi nhấn START_STOP thì mạch bắt đầu đếm khi cĩ xung.
Khi nhấn START_STOP thì mạch ngừng đếm, nhấn START_STOP thì mạch tiếp tục đếm.
BEGIN
C0:=00, HEX->BCD, GMA, HIENTHI KHỞI TẠO MÃ , COUNTER C0
SSS S
Đ
HEX->BCD, GMA, HIENTHI
C0:=0SS SS S Đ C0=60 S Đ