Thông báo

Collapse
No announcement yet.

Gặp rắc rối với ADC Help

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Gặp rắc rối với ADC Help

    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
    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();
    		}
    }

Về tác giả

Collapse

xzthanhzx Tìm hiểu thêm về xzthanhzx

Bài viết mới nhất

Collapse

Đang tải...
X