QC

Voltmeter using 8051-Vôn kế sử dụng 8051

 Voltmeter using 8051-Vôn kế sử dụng 8051

Voltmeter using 8051.

Một vôn kế 0-5V đơn giản sử dụng 8051 được trình bày trong bài viết này. Vôn kế kỹ thuật số này có độ nhạy 200mV hơi thấp nhưng dự án này nhằm mục đích chứng minh cách một bộ hiển thị ADC và bảy đoạn có thể được giao tiếp với 8051 để có được kết quả kỹ thuật số của điện áp đầu vào. Một vôn kế cao cấp 31/2 chữ số sẽ sớm được bổ sung. ADC0804 là ADC và AT89S51 là bộ điều khiển được sử dụng trong dự án này. Trước khi thực hiện dự án này, hãy xem qua các dự án Giao diện ADC tới 8051 và Giao diện hiển thị bảy đoạn tới 8051 sẽ cung cấp cho bạn ý tưởng cơ bản về những điều cơ bản.

Circuit diagram.




About the circuit.

Trong mạch Vref / 2 (pin9) của ADC được để mở và điều đó có nghĩa là khoảng điện áp đầu vào có thể là o đến 5V và kích thước bước sẽ là 5/255 = 19,6mV. Phương trình cho đầu ra kỹ thuật số của ADC0804 là Kích thước Dout = Vin / Bước. Trong mạch này, đối với điện áp đầu vào là 1V, đầu ra kỹ thuật số sẽ là 1 / 19,6mV = 51 và do đó tương đương nhị phân của 51 tức là 00110011. Đầu ra kỹ thuật số của ADC được giao diện với P1.0 của vi điều khiển. Các tín hiệu điều khiển cho ADC tức là CS, RD, WR và INTR có sẵn từ các chân P3.7, P3.6, P3.5 và P3.4 của bộ vi điều khiển tương ứng. Màn hình 7 phân đoạn ghép kênh 2 chữ số được giao tiếp với Cổng0 của bộ vi điều khiển. Các tín hiệu điều khiển cho các bóng bán dẫn trình điều khiển hiển thị Q1 và Q2 được lấy từ P3.2 và P3.1 của vi điều khiển. Công tắc nút nhấn S1, tụ điện C2 và điện trở R10 tạo thành mạch đặt lại gỡ lỗi.

Program.

ORG 00H
MOV P1,#11111111B
MOV P0,#00000000B
MOV P3,#00000000B
MOV DPTR,#LABEL
MAIN: CLR P3.7
SETB P3.6
CLR P3.5
SETB P3.5
WAIT: JB P3.4,WAIT
CLR P3.7
CLR P3.6
MOV A,P1
MOV B,#10D
DIV AB
MOV B,#2D
MUL AB
MOV B,#10D
DIV AB
SETB P3.2
ACALL DISPLAY
MOV P0,A
ACALL DELAY
MOV P0,#10000000B
ACALL DELAY
MOV A,B
CLR P3.2
SETB P3.1
ACALL DISPLAY
MOV P0,A
ACALL DELAY
CLR P3.1
SJMP MAIN
DELAY: MOV R3,#02H
DEL1: MOV R2,#0FAH
DEL2: DJNZ R2,DEL2
DJNZ R3,DEL1
RET
DISPLAY: MOVC A,@A+DPTR
RET
LABEL: DB 3FH
DB 06H
DB 5BH
DB 4FH
DB 66H
DB 6DH
DB 7DH
DB 07H
DB 7FH
DB 6FH
END

Về chương trình.
Lúc đầu, chương trình điều khiển ADC để tạo ra đầu ra kỹ thuật số tương ứng với điện áp đầu vào. Đầu ra kỹ thuật số này được quét qua P1.0 và được tải đến bộ tích lũy. Sau đó, giá trị trong bộ tích lũy được chia cho 10 để bỏ qua chữ số cuối cùng. Ví dụ, để điện áp đầu vào là 4V. Khi đó đầu ra kỹ thuật số tương ứng của ADC sẽ là 204D (D là viết tắt của thập phân) .Sau khi chia cho 10, giá trị còn lại trong bộ tích lũy sẽ là 20D. 20D này sau đó được nhân với 2D và kết quả là 40D. Mục tiêu tiếp theo của chương trình là thao tác 40D này và thực hiện đọc 4.0 trên màn hình. Đối với điều này, 40D một lần nữa được chia cho 10D. Điều này dẫn đến 4 bên trong bộ tích lũy và 0 bên trong thanh ghi B. Sau đó, chương trình lấy mẫu ổ đĩa số cho 4 bằng cách sử dụng bảng tra cứu, đặt mẫu này trên Cổng 0 và kích hoạt Q1. Sau 1 ms trễ 10000000B được tải đến P0 và điều này chiếm dấu chấm. Sau khi độ trễ thêm 1ms Q1 bị vô hiệu hóa, nội dung trong B (tức là 0) được chuyển đến A, nhận dạng ổ đĩa chữ số chính xác cho 0 bằng cách sử dụng bảng tra cứu, đặt mẫu này trên Cổng 0 và kích hoạt Q2. Sau khi trễ thêm 1ms, Q2 sẽ ngừng hoạt động và toàn bộ chu kỳ được lặp lại.

















Error No module Onnx opencv

 Error No module Onnx opencv Lệnh :  pip install onnx==1.9 Mã lỗi PS F:\opencv_e\2.video> & C:/Users/youtb/Anaconda3/envs/virtualenv/...