Thông báo

Collapse
No announcement yet.

giúp mình về ATMEGA 8

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

  • giúp mình về ATMEGA 8

    thầy bắt làm mạch đo nhiệt độ và có còi báo động viết bằng assambly . mình chỉ biết viết C thôi . bạn nào chỉ mình với

    mình cảm ơn nhiều lắm!!

  • #2
    ai giup minh với

    Comment


    • #3
      đây là code C , bác nào chuyển qua assambly giùm mình với !!! mình cảm ơn rất nhiều

      #include <mega8.h>

      #asm
      .equ __lcd_port=0x12 ;PORTD
      #endasm
      #include <lcd.h>
      #include <delay.h>
      #include <stdlib.h>
      #define ADC_VREF_TYPE 0xC0
      // Read the AD conversion result
      unsigned int read_adc(unsigned char adc_input)
      {
      ADMUX=adc_input|ADC_VREF_TYPE;
      // Start the AD conversion
      ADCSRA|=0x40;
      // Wait for the AD conversion to complete
      while ((ADCSRA & 0x10)==0);
      ADCSRA|=0x10;
      return ADCW;
      }
      // Declare your global variables here
      void main(void)
      {
      // Declare your local variables here
      int m=0,mode=0;
      unsigned char ADCS[6],ADC;

      PORTB=0x00;
      DDRB=0x06;

      PORTC=0x00;
      DDRC=0x02;

      PORTD=0x00;
      DDRD=0x00;

      TCCR0=0x00;
      TCNT0=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;

      TIMSK=0x00;

      ACSR=0x80;
      SFIOR=0x00;

      ADMUX=ADC_VREF_TYPE;
      ADCSRA=0x86;

      lcd_init(16);
      lcd_clear();
      lcd_putsf(" Design by");
      lcd_gotoxy(0,1);
      lcd_putsf(" HOANG HIEP");
      delay_ms(400);
      lcd_clear();
      lcd_putsf(" MSSV");
      lcd_gotoxy(0,1);
      lcd_putsf(" 06112087");
      delay_ms(300);
      while (1)
      {
      // Place your code here
      if (PIND.3==1)
      {
      mode++;
      if (mode==2) mode=0;
      };
      if (mode==0)
      {
      ADC=read_adc(0)/4;
      ftoa(ADC,1,ADCS);
      lcd_clear();
      if (ADC>45)
      {
      PORTB.1=1;
      PORTB.2=1;
      delay_ms(50);
      lcd_putsf("-WARNING-");
      lcd_puts(ADCS);
      lcd_putsf(" oC");
      PORTB.1=0;
      //PORTB.1=~PORTB.1;
      //PORTB.2=PORTB.1;
      }
      else
      {
      PORTB.1=0;
      PORTB.2=0;
      lcd_putsf("Nhiet do : ");
      lcd_puts(ADCS);
      delay_ms(100);
      //PORTB.2=~PORTB.2;
      //PORTB.1=0;
      };
      // Designer intro
      lcd_gotoxy(0,1);
      if (m==0)
      lcd_putsf(" HOANG HIEP ");
      if (m==1)
      lcd_putsf(" 06112087");
      if (m==2)
      lcd_putsf(" HOANG HIEP");
      m++;
      if (m==3) m=1;
      delay_ms(200);
      }

      };
      }

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X