chào các bạn , đồ án của mình là dùng ADC0808 và 89c51 để đo điện áp trên 8 kênh vào, mình đã viết xong code nhưng trong bài mình thì con ADC được cấp xung CLK ngoài , nay mình muốn dùng chính con 89c51 để cấp xung 500KHz cho ADC bằng timer thì có được không? phải đảm bảo các lệnh khác hoạt động bình thường mà không ảnh hưởng đến xung của ADC (gần như kiểu chạy 2 chương trình cùng lúc ấy ) ai biết chỉ mình với, có đoạn code ASM thì càng tốt
Thông báo
Collapse
No announcement yet.
Mình muốn dùng Timer trong 89c51 để tạo xung CLK cho ADC0808
Collapse
X
-
Nguyên văn bởi minh_mh Xem bài viếtchào các bạn , đồ án của mình là dùng ADC0808 và 89c51 để đo điện áp trên 8 kênh vào, mình đã viết xong code nhưng trong bài mình thì con ADC được cấp xung CLK ngoài , nay mình muốn dùng chính con 89c51 để cấp xung 500KHz cho ADC bằng timer thì có được không? phải đảm bảo các lệnh khác hoạt động bình thường mà không ảnh hưởng đến xung của ADC (gần như kiểu chạy 2 chương trình cùng lúc ấy ) ai biết chỉ mình với, có đoạn code ASM thì càng tốt
xung cho adc do dùng CPL bit P1.2 để tạo ra
dùng timer mode auto reload, cứ đến ngắt timer thì CPL cái bit P1.2 nối với chân CLK của ADC
"gần như kiểu chạy 2 chương trình cùng lúc ấy" mà bác nói chính là interrupt đấy, còn gọi là ngắt
; Chuc nang cua chuong trinh: Do nhiet do moi truong bang LM35 va hien thi tren text LCD
; Ket noi day:
; LM35:
; * OUT cua LM35 ----> IN7 cua ADC
; LCD:
; * EN cua LCD ----> P2.0 cua 8051
; * RW cua LCD ----> P2.2 cua 8051
; * RS cua LCD ----> P2.4 cua 8051
; * Port data cua LCD (D0-D7) ----> Port 0 cua 8051
; ADC:
; * Port dieu khien cua ADC (EOC,A0,CLK,A1,ALE,A2,STR,OE) ----> Port 1 cua 8051
; * Port data cua ADC (D0-D7) ----> Port 3 cua 8051
; Luu y: Vref+ cua ADC = 1.28V
// LCD
EN_LCD BIT P2.0
RW_LCD BIT P2.2
RS_LCD BIT P2.4
// ADC
EOC_ADC BIT P1.0
CLK_ADC BIT P1.2
ALE_ADC BIT P1.4
STR_ADC BIT P1.6
A0_ADC BIT P1.1
A1_ADC BIT P1.3
A2_ADC BIT P1.5
OE_ADC BIT P1.7
// DATA BUS
ADC EQU P3
LCD EQU P0
ORG 0000H
JMP MAIN
ORG 000BH ;Interrupt vector of Timer 0
T0ISR: CPL CLK_ADC
RETI
ORG 0030H
MAIN: MOV TMOD,#02H
MOV TH0,#(-1)
SETB TR0
MOV IE,#82H
LCD_ADC:
// LAY DATA TU ADC
SETB A0_ADC
SETB A1_ADC
SETB A2_ADC
CLR ALE_ADC // CHO ALE=0
CLR STR_ADC // CHO START=0
SETB ALE_ADC // CHO ALE=1 DE CHOT NGO VAO CHO ADC
SETB STR_ADC // CHO START=1 DE RESET ADC
CLR ALE_ADC // CHO ALE=1
CLR STR_ADC // CHO START=0 DE BAT DAU CHUYEN DOI
JNB EOC_ADC,$ // CHO CHO DEN KHI ADC CHUYEN DOI XONG
SETB OE_ADC // CHO OE=1 DE DU LIEU RA TU ADC
MOV A,ADC // LAY DU LIEU TU ADC VAO A
//TINH TOAN
MOV B,#20 // MOV VAO B GIA TRI 51, TUONG UNG VOI 1000MV, STEP LA 20mV
DIV AB // CHIA DE TRICH XUAT CO SO CUA 1000MV
MOV R7,A // DAT R7 LA SO HANG NGAN mV
MOV A,B // MOV SO DU VAO A DE CHIA TIEP
MOV B,#2 // MOV VAO B GIA TRI 5, TUONG UNG VOI 100MV
DIV AB // CHIA DE LAY CO SO CUA 100mV
MOV R6,A // DAT R6 LA SO HANG TRAM mV
//MOV R5,B
MOV A,R7 // DUA R7 VAO A DE THUC HIEN TINH NHAN
ADD A,#30H // CONG VAO GIA TRI 30H DE PHU HOP VOI CGROM CUA LCD
MOV R7,A // TRA KET QUA SAU KHI NHAN VE R7 DE LAT NUA HIEN THI
MOV A,R6 // DUA R6 VAO A DE THUC HIEN TINH NHAN
ADD A,#30H // CONG VAO GIA TRI 30H DE PHU HOP VOI CGROM CUA LCD
MOV R6,A // TRA KET QUA SAU KHI NHAN VE R6 DE LAT NUA HIEN THI
// KHOI DONG LCD
MOV A,#38H // MODE 8 BIT, 2 DONG, FONT 5x8
CALL GUILENH
MOV A,#0CH // KHONG HIEN CURSOR, KHONG BLINKING
CALL GUILENH
MOV A,#06H // HIEN THI TANG VA KHONG SHIFT
CALL GUILENH
MOV A,#01H // XOA MAN HINH
CALL GUILENH
// HIEN THI LCD
MOV A,#'T'
CALL HIENTHI
MOV A,#'E'
CALL HIENTHI
MOV A,#'M'
CALL HIENTHI
MOV A,#':'
CALL HIENTHI
MOV A,#' '
CALL HIENTHI
MOV A,R7 // HIEN THI SO CHUC DO
CALL HIENTHI
MOV A,R6 // HIEN THI SO DO
CALL HIENTHI
MOV A,#0DFH
CALL HIENTHI
MOV A,#'C' // HIEN THI CHU C
CALL HIENTHI
CALL DELAY
JMP LCD_ADC
GUILENH:
CALL KTLCDF // KIEM TRA XEM LCD CO RANH KHONG
MOV LCD,A // GUI VAO P0 DE CHO GUI
CLR RS_LCD // RS=0 DE GUI LENH
CLR RW_LCD // GHI DU LIEU VAO LCD NEN RW=0
SETB EN_LCD // TAO XUNG CAO
CLR EN_LCD // XUONG THAP DE BAT DAY GUI
RET
HIENTHI:
CALL KTLCDF // KIEM TRA XEM LCD CO RANH KHONG
MOV LCD,A // GUI VAO P0 DE CHO GUI
SETB RS_LCD // RS=1 DE GUI DATA (HIEN THI)
CLR RW_LCD // GHI DU LIEU VAO LCD NEN RW=0
SETB EN_LCD // TAO XUNG CAO
CLR EN_LCD // XUONG THAP DE BAT DAY GUI
RET
KTLCDF:
SETB P0.7 // GIA SU P0.7 LA HIGH
CLR RS_LCD // DOC CO BF NEN RS=0
SETB RW_LCD // DOC DU LIEU TU LCD NEN RW=1
BACK: CLR EN_LCD // DUA XUNG XUONG THAP
SETB EN_LCD // DUA XUNG LEN CAO
JB P0.7, BACK // NEU VAN CHUA LCD CHUA RANH THI TIEP TUC CHO
RET
DELAY:
MOV R1,#3
AGAIN2:
MOV R2,#233
AGAIN1:
MOV R3,#255
DJNZ R3,$
DJNZ R2,AGAIN1
DJNZ R1,AGAIN2
RET
END
-
Nguyên văn bởi minh_mh Xem bài viếtthank bạn hình như đúng rồi đấy để mình thử xem nào
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanSửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
-
Channel: Điện tử công suất
hôm nay, 09:25 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanĐúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....-
Channel: Điện thanh
hôm nay, 09:10 -
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Cadence ORCAD
Hôm qua, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...-
Channel: Điện thanh
Hôm qua, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
Hôm qua, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhNó không phải cái loa rời. Chả nhẽ đèo thêm 2 con loa tép ngoài thì kỳ lắm....
-
Channel: Điện thanh
08-01-2025, 09:45 -
Comment