Thông báo

Collapse
No announcement yet.

ADC cho sensor

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

  • #16
    Cảm ơn bác sphinx đã giúp đỡ nhiều , thực ra chương trình cho robocon đã 1 phần hoàn thiện và chạy củng khá tốt. nếu rãnh bác qua góp y thêm.
    cảm ơn nhiều!.

    Comment


    • #17
      Van de nay cac ban co the vao trang web sau tham khao:http://www.kmitl.ac.th/~kswichit/ROBOT/Robo5.html

      Comment


      • #18
        không biêt chế độ none thì khác như thế nào với free chứ tôi sử dụng chế độ none cho ADC chạy không sao cả

        Comment


        • #19
          đây là mạch robocon sử dụng AVR
          giới thiệu với mọi người hi vọng giúp được các bạn tham gia robocon 2007

          Comment


          • #20
            KhÔng BiÊt Up LÊn CÓ ĐƯỢc KhÔng.
            Attached Files
            Last edited by manh_th; 29-07-2006, 00:08.

            Comment


            • #21
              xong rồi hôm nào mình post Anh chụp mạch lên OK.

              Comment


              • #22
                Nguyên văn bởi manh_th
                xong rồi hôm nào mình post Anh chụp mạch lên OK.
                hê hê ,cu Mạnh làm khá lắm.Cứ nghiên cứu cho kỹ đê,rồi anh còn hỏi nhìu đó
                |

                Comment


                • #23
                  có lẽ tại mình post không đúng chỗ hay chưa đúng lúc mà không thấy Anh E hào hứng lắm ,hôm nào rãnh làm 1 bài giới thiệu tính năng nỗi trội của mạch và cách sử lý , giải pháp cho A, E

                  Comment


                  • #24
                    adc ở chế độ free_running không hiển thị như chế độ thường

                    em viết code đọc 8 kênh ADC ở chế độ thường mô phỏng trên proteus thấy đúng phần cứng em cũng đã làm xong ,em chuyển sang chế độ free _running dùng ngắt ADC thì lại không còn đúng nũa(đọc 1 kênh vẫn đúng còn 8 kênh thì hiển thị kênh không đúng);em làm theo cách anh sphinx để dễ dàng cho việc đọc ADC và sử dụng nhưng sửa mãi code vẫn không được.đây là code
                    /************************************************** ***

                    Chip type : ATmega16
                    Program type : Application
                    Clock frequency : 4.000000 MHz
                    Memory model : Small
                    External RAM size : 0
                    Data Stack size : 256
                    ************************************************** ***/

                    #include <mega16.h>

                    // Alphanumeric LCD Module functions
                    #asm
                    .equ __lcd_port=0x15 ;PORTC
                    #endasm
                    #include <lcd.h>

                    #include <delay.h>

                    #define FIRST_ADC_INPUT 0
                    #define LAST_ADC_INPUT 7
                    unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
                    #define ADC_VREF_TYPE 0x60

                    // ADC interrupt service routine
                    // with auto input scanning
                    interrupt [ADC_INT] void adc_isr(void)
                    {
                    static unsigned char input_index=0;
                    // Read the 8 most significant bits
                    // of the AD conversion result
                    adc_data[input_index]=ADCH;
                    // Select next ADC input
                    if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
                    input_index=0;
                    ADMUX=(FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff))+input_index;
                    // Delay needed for the stabilization of the ADC input voltage
                    delay_us(10);
                    // Start the AD conversion
                    ADCSRA|=0x40;
                    }
                    unsigned char val_adc,i,j;
                    void lcd_putnums(unsigned char a)
                    {
                    unsigned char temp,x,y,z;
                    temp=a;
                    x=temp/100;
                    y=(temp%100)/10;
                    z=temp%10;
                    lcd_gotoxy(i,j);
                    lcd_putchar(x+48);
                    lcd_putchar(y+48);
                    lcd_putchar(z+48);
                    }
                    // Declare your global variables here

                    void main(void)
                    {


                    // ADC initialization
                    // ADC Clock frequency: 125.000 kHz
                    // ADC Voltage Reference: AVCC pin
                    // ADC Auto Trigger Source: Free Running
                    // Only the 8 most significant bits of
                    // the AD conversion result are used
                    ADMUX=FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff);
                    ADCSRA=0xEE;
                    SFIOR&=0x1F;

                    // LCD module initialization
                    lcd_init(16);
                    lcd_clear();
                    // Global enable interrupts
                    #asm("sei")

                    while (1)
                    {
                    val_adc=adc_data[0];
                    i=0;j=0;
                    delay_ms(2);
                    lcd_putnums(val_adc);
                    val_adc=adc_data[1];
                    i=4;j=0;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[2];
                    i=8;j=0;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[3];
                    i=12;j=0;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[4];
                    i=0;j=1;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[5];
                    i=4;j=1;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[6];
                    i=8;j=1;
                    lcd_putnums(val_adc);
                    val_adc=adc_data[7];
                    i=12;j=1;
                    lcd_putnums(val_adc);

                    // Place your code here

                    };
                    }
                    đây là 2 file mô phỏng 1 kênh và 8 kênh
                    Attached Files

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X