Tư vấn: 0979.466.469 / 0938.128.290

MENU

Bộ đếm đối tượng sử dụng 8051

Gia cong pcb 600*150px

Bài viết này nói về một mạch đếm đối tượng/đếm người đơn giản bằng cách sử dụng vi điều khiển 8051. Vi điều khiển AT89S51 thuộc họ 8051 được sử dụng ở đây. Mạch này có thể đếm số đối tượng đi qua một đường, số người đi qua một cổng/cửa và cũng có thể được sử dụng cho nhiều mục đích khác. Mạch có thể được chia thành hai phần chính, đó là phần cảm biến và phần hiển thị.

Phần cảm biến. Phần cảm biến bao gồm một đèn LED siêu sáng (có tiêu điểm), một cảm biến ánh sáng phụ thuộc vào trở kháng (LDR), bộ khuếch đại LM324 và các thành phần điện trở và tụ kèm theo. Đèn LED được đặt ở một bên của cửa và cảm biến LDR được đặt ở phía bên kia để ánh sáng từ LED chiếu trực tiếp lên LDR. Như bạn biết, trở kháng của LDR có mối quan hệ nghịch đảo với độ mạnh của ánh sáng chiếu vào nó. Điều chỉnh điện trở cố định R14 được điều chỉnh sao cho điện áp qua LDR dưới 1,5V khi nó được chiếu sáng. Điện áp này (được ghi nhãn là A trong sơ đồ mạch) được kết nối đến đầu vào ngược của opamp, được kết nối như một bộ so sánh với điện áp tham chiếu 1,5V (được đặt bằng R15 và R16). Tụ C1 được sử dụng để loại bỏ nhiễu hoặc bất kỳ tín hiệu nào gây ra việc kích hoạt sai. Kháng R13 được sử dụng để kiểm soát dòng qua LED.

Khi ánh sáng chiếu vào LDR, điện áp qua nó sẽ thấp hơn điện áp tham chiếu, vì vậy đầu ra của opamp vẫn ở mức cao. Khi tia sáng bị chặn, điện áp qua LDR vượt qua điện áp tham chiếu, vì vậy đầu ra của opamp giảm và nó chỉ ra sự đi qua.

Phần hiển thị. Đầu ra của opamp được đưa vào chân INTO (ngắt 0) của vi điều khiển. Vi điều khiển được lập trình để đếm số xung lưỡi âm nhận được tại chân INT0 và hiển thị nó trên màn hình hiển thị bảy đoạn ba số.

Module điện tử 932*50

Sơ đồ mạch.

Program.

ORG 000H
SJMP INIT
ORG 003H  // starting address of interrupt service routine (ISR)
ACALL ISR // calls interrupt service routine
RETI

INIT: MOV P0,#00000000B
      MOV P3,#11111111B
      MOV P1,#00000000B
      MOV R6,#00000000B
      MOV DPTR,#LUT
      SETB IP.0     // sets highest priority for the interrupt INT0
      SETB TCON.0   // interrupt generated by a falling edge signal at INT0 pin
      SETB IE.0     //enables the external interrupt
      SETB IE.7     //enables the global interrupt control

MAIN: MOV A,R6
      MOV B,#100D
      DIV AB
      ACALL DISPLAY
      SETB P1.0
      ACALL DELAY
      ACALL DELAY
      MOV A,B
      MOV B,#10D
      DIV AB
      ACALL DISPLAY
      CLR P1.0
      SETB P1.1
      ACALL DELAY
      ACALL DELAY
      MOV A,B
      ACALL DISPLAY
      CLR P1.1
      SETB P1.2
      ACALL DELAY
      ACALL DELAY
      CLR P1.2
      SJMP MAIN

ISR: INC R6     //interrupt service routine
     RET

DISPLAY: MOVC A,@A+DPTR // display sub routine
         CPL A
         MOV P0,A
         RET

DELAY: MOV R3,#255D  // 1mS delay
LABEL: DJNZ R3,LABEL
       RET
LUT: DB 3FH
     DB 06H
     DB 5BH
     DB 4FH
     DB 66H
     DB 6DH
     DB 7DH
     DB 07H
     DB 7FH
     DB 6FH
END

Chương trình được viết sao cho nó liên tục hiển thị giá trị hiện tại trong thanh ghi R6 trên màn hình hiển thị bảy đoạn ba số. Mỗi khi có một xung lưỡi âm hợp lệ (ngắt) tại chân INT0, chương trình nhánh đến quy trình phục vụ ngắt (quy trình con ISR). Quy trình con ISR tăng giá trị trong thanh ghi R6, sau đó quay trở lại vòng lặp MAIN và màn hình được cập nhật bằng giá trị mới.

Ghi chú. Toàn bộ mạch có thể được cung cấp điện từ nguồn DC 5V.

Cảm biến LDR phải được đặt trong một hộp để ánh sáng từ đèn LED chỉ chiếu vào nó

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
35000 /Cái
/ Cái

Code: 7201-001 Còn hàng

Lưu xem sau
Sale 0%
18000 /Cái
/ Cái

Code: 7201-019 Còn hàng

Lưu xem sau
Sale 0%
50000 /Cái
/ Cái

Code: 7201-023 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0979 466 469
Bạn cần linh kiện mẫu ? 7-11 ngày