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 Công thức điện tửbởi mèomướpDạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 20:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Ok , thanks bác đã chỉ...
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 15:06 -
-
bởi nguyendinhvanSau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !
Chập thì thay. Cháy thì tháo
Làm thì láo. Báo thì hay
May thì khoe. Rủi thì bỏ
Thành tích nhỏ. Báo thành to
Làm cho có. Báo chi li
Sai cả li. Báo...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 00:35 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 22:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 22:14 -
-
Trả lời cho Tự làm máy đo Cuộn cảmbởi bacthoHay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
-
Channel: Điện tử dành cho người mới bắt đầu
25-11-2024, 21:48 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 21:43 -
-
Trả lời cho các bạn giúp mình về file HEX với!!!bởi bacthoBạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
-
Channel: Vi điều khiển họ 8051
25-11-2024, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 20:43 -
Comment