Thông báo

Collapse
No announcement yet.

AVR+ LM35+ Led 7 thanh

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

  • AVR+ LM35+ Led 7 thanh

    Chào các bác. Các bác giúp e với e viết mãi code ko chạy được mô phỏng các bác chỉnh sửa giùm e. Đa tạ các bác
    [ATTACH=CONFIG]28815[/ATTACH]
    Code:
    #define F_CPU 8000000UL 
    
    #include <avr/io.h>
    #include <util/delay.h>
    #include <avr/interrupt.h>
    
    //*******************************Khai bao hang*************************************//
    
    #define led   PORTB
    #define led_a 0b0111
    #define led_b 0b1011
    #define led_c 0b1101
    #define led_d 0b1110
    #define data  PORTC
    #define do_C  0
    
    //*******************************Khai bao bien**************************************//
    
    unsigned char font[13]={0xC0,0xF9,0xA4,0xB0,
    						0x99,0x92,0x82,0xF8,
    						0x80,0x90,0x9C,0xC6,0x8E};    // font hien thi so cho cac led
    
    unsigned char led_index=0, temp, nhiet_do, adc_data[2];
    
    //**************************** Cau hinh chip ***************************
    
    void init (void)
    {
    	DDRB=0x0F;
    	DDRC=0xFF;
    
    //***************** KHOI TAO TIMER0 **************************
    	
    	TCCR0|=(1<<CS01)|(1<<CS00); // CS02=0, CS01=1, CS00=0: chon Prescaler = 8
    	TCNT0=0x00;             //gan gia tri khoi tao cho T/C0
    	OCR0=0x00;
    
    //************** KHOI TAO NGAT TIMER0 **************************
    	MCUCR=0x00;
    	MCUCSR=0x00;
    	TIMSK=0x41;               // enable timer0 interupt 
    	//TIMSK=1<<TOIE0;
    //***************** Analog Comparator initialization **********************
    	ACSR=0x80;
    	SFIOR=0x00;
    
    //****************** Set up ADC *******************************************
    
       ADMUX=0|(0x20 & 0xff);      // Set up ADC (Analog to Digital Converter)
       //ADCSRA=0xCB;
       ADCSRA|=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS1)|(1<<ADPS0);
       sei();
    
    }
    
    //xU LY NGAT 
    //******************* Ngat ADC **************************
    ISR (ADC_vect)
    {
    	static unsigned char input_index=0;
         adc_data[input_index]=ADCH; //adc_data[0] = ADCH 
         if (++input_index > (1)) input_index=0;
         ADMUX=(0|(0x20 & 0xff))+input_index;
         _delay_us(300);                  
         ADCSRA|=0x40;
    }
    //***************** NGAT TIMER0 *****************************
    ISR (TIMER0_VOF0_vect)//HIEN THI LED 7 BANG BANG NGAT TIMER0
    {
    	if(led_index==4) led_index=0;
         if(led_index==0)
         {
              led=led_a;
              data=font[(temp/10)%10];
         }
         if(led_index==1)
         {
              led=led_b;
              data=font[temp%10];
         }
         if(led_index==2)
         {
              led=led_c;
              data=font[10];
         }
         if(led_index==3)
         {
              led=led_d;
              if(nhiet_do==do_C) data=font[11]; else data=font[12];
         }
         led_index++;
    }
    
    
    void main (void)
    {
    	init();
    	nhiet_do=do_C;
    	_delay_ms(100);
    	while(1)
    		{
    			// do nothing
    		}
    }
    Attached Files

  • #2
    bạn ơi cho mình hỏi cách viết mã nhị phân như portb=0b1110; tức là tác động vào 4 bit đầu của portB còn 4 bit sau bằng 0 hay ko tác động vào

    Comment


    • #3
      Khởi tạo ngắt bạn phải cho vào hàm main chứ. Bạn đặt hoàn toàn ở ngoài thì sao có thể chạy được
      Nguyễn Huy Biên - 01649 802 694
      gmail :

      Comment


      • #4
        Nguyên văn bởi bienhou Xem bài viết
        Khởi tạo ngắt bạn phải cho vào hàm main chứ. Bạn đặt hoàn toàn ở ngoài thì sao có thể chạy được
        Chỉ nhầm mỗi chỗ đó thôi à, bạn xem còn thiếu chỗ nào không?!

        Comment


        • #5
          àh sr, bạn đã đặt hàm khởi tạo trong main rồi, mình ko để ý kỹ@@, mình chưa thấy bạn đẩy nhiệt độ vào hàm quét.
          Nguyễn Huy Biên - 01649 802 694
          gmail :

          Comment

          Về tác giả

          Collapse

          Feri Rocky Tìm hiểu thêm về Feri Rocky

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

          Collapse

          Đang tải...
          X