KHƠNG CHO PHÉP COUNTER

Một phần của tài liệu TIMER VÀ COUNTER CỦA MCS51 potx (Trang 29 - 34)

Đ

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 Đ

Một phần của tài liệu TIMER VÀ COUNTER CỦA MCS51 potx (Trang 29 - 34)