1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

báo cáo giữa kì vdk

Thảo luận trong 'Báo cáo giửa kỳ' bắt đầu bởi nickkie, 23 Tháng một 2010.

  1. nickkie New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
    Họ và tên:TRẦN HOÀNG HẠC
    MSSV:05111025
    LỚP:051112A
    Email:tranhoanghact@yahoo.com.vn
    ĐỀ TÀI
    HIỂN THỊ NHIỆT ĐỘ RA LCD
    1/Nguyên lí hoạt động:
    LM35 đọc nhiệt độ ngòai môi trường,chân Vout của LM sẽ được nối với chân ADC của AVR,LM35 sẽ gởi thông số cho AVR thông qua chân Vout này,sau đó AVR sẽ lấy thông số này xuất ra màn hình LCD
    2/Mạch nguyên lí:
    [IMG]

    3/Mạch đã hoàn thành:
    [IMG]

    [IMG]
    3/chương trình:
    #include <mega32.h>
    #include <stdlib.h>
    #asm
    .equ __lcd_port=0x18 ;PORTB
    #endasm
    #include <lcd.h>
    #include <delay.h>
    int adc;
    int i;
    char flash *str="NHIET DO";
    char *str1;
    #define ADC_VREF_TYPE 0xE0
    unsigned char read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    ADCSRA|=0x40;
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCH;
    }
    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    TCNT0=0x05;
    i++;
    if(i==1000)
    {
    i=0;

    adc=((read_adc(0))*5)/((10*0.001)*255);


    }

    }
    void main(void)
    {
    PORTA=0x00;
    DDRA=0x00;

    PORTB=0x00;
    DDRB=0x00;

    PORTC=0x00;
    DDRC=0x00;

    PORTD=0x00;
    DDRD=0x00;

    TCCR0=0x03;
    TCNT0=0x05;
    OCR0=0x00;

    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    MCUCR=0x00;
    MCUCSR=0x00;

    TIMSK=0x01;

    ACSR=0x80;
    SFIOR=0x00;

    ADMUX=ADC_VREF_TYPE & 0xff;
    ADCSRA=0x84;

    lcd_init(8);

    #asm("sei")

    while (1)
    {
    itoa(adc,str1);
    lcd_gotoxy(0,0);
    lcd_putsf(str);
    lcd_gotoxy(0,1);
    lcd_puts(str1);
    lcd_gotoxy(2,1);
    lcd_putchar(0xDF);
    lcd_gotoxy(3,1);
    lcd_putchar('C');
    delay_ms(300);
    lcd_clear();
    };
    }
    4/clip mạch đã chạy:
    http://www.mediafire.com/?3mjnnfya0lz


    mời mấy bạn cùng xem
    5/nhược điểm của đề tài:
    đọc nhiệt độ chưa chính xác lắm
  2. thachcuong12 New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  3. takeushi New Member

    Số bài viết: 12
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này