سلام به همه دوستان عزیز من میخواستم سنسور smt160 رو با avr راه اندازی کنم برنامه زیر رو نوشتم اما رو lcd چیزی از مقادیر دما مشخص نیست و چیزی نشون نمیده ممنون میشم اگه کمک کنین.
اضافه شده در تاریخ :
اضافه شده در تاریخ :
تورو خدا هر کی میدونه کمک کنه ،خیلی واجبه .من خودم فکر میکنم که مشسکل کارم تو قسمت نمایش دادن محتوای t روی ال سی دیه ،اگه راهنمایی کنین ممنون میشم ،ب خدا زیاد کاری نداره
اضافه شده در تاریخ :
کد:
#include <mega16.h>
#include <alcd.h>
#include <math.h>
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>
float t1=0.0,t2=0.0;
unsigned char k[];
bit control=0;
unsigned char araye[16];
interrupt [EXT_INT0] void ext_int0_isr(void) {
TCCR1B=0X00;
if (control){
t2=TCNT1;
TCNT1=0;
MCUCR=0X02;
control=0;
}
else {
t1=TCNT1;
TCNT1=0;
MCUCR=0x03;
control=1;
}
TCCR1B=0X02;
}
void main(void)
{
float DC=0.0;
float t=0.0;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Low level
// INT1: Off
// INT2: Off
GICR|=0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;
ACSR=0x80;
SFIOR=0x00;
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
DC=t1/(t1+t2);
//DC+=0.018;
t=(DC-0.32)/0.0047;
ftoa(t,3,k);
sprintf(araye,"temp=",k);
//puts(araye);
// lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(araye);
// Place your code here
}
}
اضافه شده در تاریخ :
تورو خدا هر کی میدونه کمک کنه ،خیلی واجبه .من خودم فکر میکنم که مشسکل کارم تو قسمت نمایش دادن محتوای t روی ال سی دیه ،اگه راهنمایی کنین ممنون میشم ،ب خدا زیاد کاری نداره






دیدگاه