TRước hết cảm ơn mọi nguòi trước
Em mói học VXL mà viết giao tiếp 89s52 với adc0808 đọc lm35
Em debug thấy đúng mà mô phỏng lại ko chậy..
mọi người xem dùm mình cái.. mình mò cả ngày rồi mà ko biết sai chỗ nào
Em mói học VXL mà viết giao tiếp 89s52 với adc0808 đọc lm35
Em debug thấy đúng mà mô phỏng lại ko chậy..
mọi người xem dùm mình cái.. mình mò cả ngày rồi mà ko biết sai chỗ nào
Code:
#include <AT89X52.h> //#include <mylcd1602.h> #define A P2_0 #define B P2_1 #define C P2_2 #define START P2_3 #define ALE P2_4 #define L_TR P2_5 #define L_CH P2_6 #define L_DV P2_7 #define DATA P1 #define LED P3 void delay(unsigned int time) { while(time--); } unsigned char i,TR,CH,DV; unsigned int kq; unsigned char MA7D[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // chuyen doi ADC void chuyendoi_adc() { ALE=START=1; ALE=START=0; delay(100); } // chon kenh void chonkenh(unsigned char in) { A = in%2; in = in/2; B = in%2; in = in/2; C = in%2; } //giai ma void giaimakq() { DV = kq % 10; kq = kq / 10; CH = kq % 10; TR = kq / 10; } // quet void hienthi_quet() { for(i=0;i<10;i++) { LED=MA7D[DV]; L_DV=0; delay(30); L_DV=1; LED=MA7D[CH]; L_CH=0; delay(30); L_CH=1; LED=MA7D[TR]; L_TR=0; delay(30); L_TR=1; } } //chuong trinh chinh void main() { A=1; B=1; C=1; while(1) { chonkenh(7); kq=0; for(i=0;i<10;i++) { chuyendoi_adc(); hienthi_quet(); kq=kq+P1; } kq=kq/10; giaimaikq(); } }