سلام
خسته نباشید
من این برنامه رو نوشتم
میخوام مقدار sin رو حساب و روی lcd نمایش بدم
ولی مقدار رو درست نمایش نمیده
من برحسب درجه عدد را وارد و جواب ان را میخوام روی lcd نمایش بده
برای مثال مقدار sin90 که برابر 1 می باشد رو 0.89 نشان میده
میشه برنامه رو یه بررسی کنید ممنون
سعید کوشا.
#include <mega32.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <math.h>
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
float weight;
char lcd_buf[32];
float number;
char *save_str= " ";
float result=0.0;
unsigned char mmz=0;
interrupt [ADC_INT] void adc_isr(void)
{
unsigned int adc_data;
adc_data=ADCW;
weight=adc_data*2.56/1024*10000;
}
void config_number(float f_number){
static float divsion[]={1,10,100,1000,10000,100000,1000000};
//f_number=(fnumber_number/divsion[mmz]);
//result=f_number;
}
void main(){
ACSR=0XC0;
SFIOR=0X00;
ADMUX=0XC0;
ADCSRA=0X8F;
lcd_init(16);
#asm("sei"
ADCSRA=0XCF;
lcd_gotoxy(0,0);
lcd_putsf("WEIGHT= gr"
;
while(1){
number=sin(20);
lcd_gotoxy(7,0);
sprintf(lcd_buf,"%f",number);
lcd_puts(lcd_buf);
delay_ms(20);
ADCSRA=0XCF;
};
}
خسته نباشید
من این برنامه رو نوشتم
میخوام مقدار sin رو حساب و روی lcd نمایش بدم
ولی مقدار رو درست نمایش نمیده
من برحسب درجه عدد را وارد و جواب ان را میخوام روی lcd نمایش بده
برای مثال مقدار sin90 که برابر 1 می باشد رو 0.89 نشان میده
میشه برنامه رو یه بررسی کنید ممنون
سعید کوشا.
#include <mega32.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <math.h>
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
float weight;
char lcd_buf[32];
float number;
char *save_str= " ";
float result=0.0;
unsigned char mmz=0;
interrupt [ADC_INT] void adc_isr(void)
{
unsigned int adc_data;
adc_data=ADCW;
weight=adc_data*2.56/1024*10000;
}
void config_number(float f_number){
static float divsion[]={1,10,100,1000,10000,100000,1000000};
//f_number=(fnumber_number/divsion[mmz]);
//result=f_number;
}
void main(){
ACSR=0XC0;
SFIOR=0X00;
ADMUX=0XC0;
ADCSRA=0X8F;
lcd_init(16);
#asm("sei"

ADCSRA=0XCF;
lcd_gotoxy(0,0);
lcd_putsf("WEIGHT= gr"

while(1){
number=sin(20);
lcd_gotoxy(7,0);
sprintf(lcd_buf,"%f",number);
lcd_puts(lcd_buf);
delay_ms(20);
ADCSRA=0XCF;
};
}
دیدگاه