Minh dang lam cai do an ve ADC va 8051 cac cao thu co mach nao ve van de nay gui dum minh voi
Thông báo
Collapse
No announcement yet.
Co bac nao biet ve giao tiep ADC voi 8051 chi em voi
Collapse
X
-
Tiểu đệ đã xem mạch của bác Cận rồi nhưng có mấy chỗ tiẻu đệ không hiểu lắm mong được bác cận chỉ giúp:
1.Tiểu đệ thấy chân ALE bác để chơi sao bác không dùng nó để tạo xung nhịp cho ADC nhỉ
2.Chân ngắt của ADC bác không dùng ngắt ngoài của VĐK để đọc
3.Tín hiêu từ Sensor đi vào theo tại hạ biết có 2 chuẩn nhw sau:
Nếu được truyền từ xa VXL về thì tuân theo chuẩn dòng điện :tức là dòng điện được truyền là từ 0-20mA hoặc 4-20mA (Để thu dòng điện này dùng điện trở khép vòng kín)
Nếu gần bom mạch thì dùng chuẩn điện áp (0-5V hoặc 0-10v) em thấy bác dùng mạch khuyếch đại thuận, không hiểu Sensor của bác đặt ở đâu và dùng chuẩn gì thế(theo em nghĩ chắc chắn là điện áp rồi nhwng không biết trong giải bao nhiêu) !!!
Em cũng như những người khác đang cần một mạch ADC nên muốn xin bác chỉ giáo (em mới học về mấy thứ này nếu có nói sai xin bác đừng giận nhé )
Comment
-
ADC08004 và ADC0809 tôi đều đã làm rồi, chỉ đơn giản thôi, kô biết cậu luusang dung loại nào, Đây thôi đua ra một ví dụ cho 0809.
#include <sfr51.inc> ;Chen files chua cac dinh nghia ve thanh ghi trong 8051
;CT giao tiep voi ADC0809 va cam bien LM35D
;Ket noi giua ADC0809 va MCU AT89S52
; P3.5 = RD
; P3.6 = Start
; P3.7 = Output_enable
; P1(0..7) = D0 -> D7
;********************************************
;Ket noi cac den LED7 thanh voi AT89S52
;a...g = P0
;P2.0 = LED1 Chu C
;P2.1 = LED2 ky tu do
;P2.3 = LED3 Hang don vi
;P2.4 = LED4 hang chuc
;43H - Dia chi RAM chua so hang chuc
;42h - Dia chi RAM chua so hAng don vi
;40h,41h - Dia chi RAM chua ky hieu do C
;*******************************************
; Dinh nghia cac bien tai day
Out_data bit P3.7
Start bit P3.6
ORG 0000h ; Dia chi bat dau cua Rom
LJMP MAIN
ORG 0003h
LJMP Read_ADC0809 ; Dia chi bat dau vecto ngat ngoai
;ORG 000BH ; Vector ngat Timer0
;LJMP T0ISR
;ORG 001BH ; Vector ngat Timer1
;LJMP T1ISR
ORG 0030H ; Dia chi bat dau Chuong trinh chinh
MAIN: ; Khoi tao cac gia tri ban dau
;SETB IT0 ; TAC DONG CANH AM (cho chan P3.2 la chan vao cua ngat ngoai)
; Khi co xung tu cao xuong thap thi ngat xay ra
;MOV TMOD,#11H ; CHE DO 16 BIT cho Timer0 va Timer1
;MOV IE,#81H ; Gan 81h vao thanh ghi IE la thanh ghi cho phep ngat
; Cho phep cac ngat hoat dong (ngat ngoai,ngat do Timer0,1)
MOV P1,#0FFH ; Thiet lap P1 la chan vao du lieu
MOV P3,#0FFH
MOV DPTR,#LED7SEG ; Dua DPTR tro toi bang giai ma hien thi cho LED7
SETB P0.0 ; Tat het tat ca cac LED
SETB P0.1
SETB P0.2
SETB P0.3
CLR Start
CLR Out_data
MOV 40H,#C6H ; Chu C
MOV 41H,#9CH ; Ky tu do
;acall send_start
;acall Read_ADC0809
mov R6,#0
BACK:
;inc r6
;cjne r6,#200,next
acall send_start
acall read_0809
;mov r6,#0
next: ; Goi chuong trinh hien thi
LCALL DISPLAY ; Goi chuong trinh con hien thi ra LED7
SJMP BACK ; Chuan bi cho qua trinh chuyen doi tiep theo
Read_ADC0809:
nop
nop
nop
nop
nop
HERE: JB P3.2, HERE ; Doi cho qua trinh chuyen doi xong(100us)
setb out_data ; Dua xung muc thap toi chan RD - cho phep doc du lieu tu ADC(Xuat ra D0..D7)
nop
nop
MOV A,P1 ; Dua du lieu 8bit tu P1 den thanh ghi A
LCALL BIN2BCD ; tra bang, doi BCD -> LED 7 doan
clr out_data
ret
DISPLAY:
MOV P2,40H
CLR P0.0 ;Bat LED1
ACALL DELAY
SETB P0.0 ;TAT LED 1
MOV P2,41H
CLR P0.1
ACALL DELAY
SETB P0.1 ;TAT LED 2
MOV P2,42H ; LED1 Hang don vi
CLR P0.2 ; ba^.t LED1 sa'ng
ACALL DELAY ; delay
SETB P0.2 ; ta('t LED1
MOV P2,43H ; LED2 hang chuc
CLR P0.3 ; ba^.t LED2 sa'ng
ACALL DELAY ; delay
SETB P0.3 ; ta('t LED2
RET
BIN2BCD:;Chuong trinh chuyen doi tu so hex sang BCD
; gia tri doc tu ADC lu trong thanh ghi A
clr c
subb a,#139
clr c
rlc a
mov b,#10
div ab
mov 42H,b
mov 43H,a
MOV A,42h ; Lay thong tin LED7 cua so don vi
MOVC A,@A+DPTR
MOV 42h,A
MOV A,43H ; Lay ma LED7 cua so hang chuc
MOVC A,@A+DPTR
MOV 43H,A
RET
Send_start:
SETB Start
nop
nop
nop
CLR Start
acall delay120us
ret
delay120us:
MOV TH1,#HIGH(-120)
MOV TL1,#LOW(-120)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
RET
;*********************************************
DELAY: ; Tao tre trong qua trinh quet cac LED7 Thanh
MOV R1,#2 ; Thoi gian quet moi LED la 2x255us
LOOP: MOV R0,#50 ; Nguyen tac quet LED la cac LED duoc quet lien tiep nhau trong thoi gian rat ngan
loop2: DJNZ R0,LOOP2 ; Do su luu anh tren vong mac nguoi nen ta thay cac LED nhu sang lien tuc
DJNZ R1,LOOP ; Thoi gian quet tuy thuoc ham DELAY, gia tri R1 cang lon thi cac LED se nhap nhay
RET ; Toi thieu phai dam bao du 24hinh/giay
Tao_am: ;Bat dau chuong trinh ngat tao am hieu 500Hz tai chan P0.6
MOV R7,#20 ;Khi ngat ngoai xay ra thi chuong trinh EX0ISR duoc goi, NAp 20 vao thanh ghi R7
SETB TF0 ; Bat co ngat TF0
SETB TF1 ; Bat co ngat TF1
SETB ET0 ; Cho phep ngat boi Timer0 hoat dong
SETB ET1 ; Cho phep ngat boi Timer1 hoat dong
RETI ; Tro ve chuong trinh chinh
; De su dung ngat noi chan P0.7 voi chan P3.2, con chan P0.6 noi ra loa ben ngoai
; se tao ra am hieu 500Hz trong 1 giay
T0ISR: ;Ngat do Timer0
CLR TR0 ; Xoa TR0, tam ngung, khong cho bo dinh thoi Tomer0 hoat dong
DJNZ R7,SKIP ; Giam R7 di 1 va nhay nay R7 =0
CLR ET0
CLR ET1
LJMP EXIT
SKIP:
MOV TH0,#HIGH(-50000) ;Nap gia tri ban dau cho TH0 va TL0
MOV TL0,#LOW(-50000)
SETB TR0
EXIT: RETI
T1ISR: ;Ngat do Timer1
CLR TR1
MOV TH1,#HIGH(-1250)
MOV TL1,#LOW(-1250)
CPL P0.6
SETB TR1
RETI
LED7SEG:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 88H,0C6H,86H,8EH,82H,89H,7FH,FFH
END
Chuong trinh dung Reaads51 để dịch ra files HEX.
Còn với ADC0804 thì cứ xem datasheet sẽ có lập trình phù hợp. Nói chung tất cả các loại ADC.Ethernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
-
Có thể không cần dùng ngắt, đọi 100uS rồi đọc ADC cũng ổn. Cảm biến ở đây là LM335. Còn LM35D bác nào biết chỗ mua kô, chỉ tôi với. Tôi ở HNEthernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
-
ADC0804 cũng có, để pót sau nhé, hôm nay kô mang USB, nếu cần làm mạch cụ thể thì liên hệ qua mail.
http://www.freewebs.com/linhnc308/index.htm - Đang xây dựng, bà con thông cảmEthernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
-
bác nam can có thể post lên đoạn Code dùng với ICL 7109 không vậy . Em cũng đang làm mạch đo nhiệt độ dùng ICL 7109 nhưng con này lằng nhằnh quá .Never say never, think in solutions, not in trouble......
Email:
Cell phone:0904498179
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
Hôm qua, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -
-
bởi Thần ChếtChào các chuyên gia.
có cách nào để kiểm tra IC op-amp như LM324, 358, 393 sống hay đã chết không các bác?. Tìm mãi trên mạng mà không có thoing tin nào.
rất mong các chuyên gia chia sẻ ạ-
Channel: Hướng dẫn tìm thông tin linh kiện
26-11-2025, 03:30 -

Comment