:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
|
|
نشاط [ مشتاق الله ]
قوة السمعة:0
|
|
12-05-2016, 08:04 PM
المشاركة 1
|
|
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
و الصلاة و السلام على رسول الله و على آله و صحبه .
اخوتى الاعزاء بفضل الله اقدم اليك مشروع كنت صممته على البروتيوس نجح و لله الحمد و لكنى لم اجربه عمليا .
استخدم فيه :
-- avr atmega 8 /16
-- ic : max6675 وهى المسئولة عن قراءة الفولت الخارج من الثرمو ثم و حساب درجة الحرارة ثم اخراج قيمة القياس على شكل serial pulses هذا ما اذكره يمكنكم القراءة عنه فى النت .
-- المترجم : ميكروسي
الدائرة :

البرنامج :
كود:
/*
* license : free for all
* date : 2016
* version : 1.0
* team : Qaria.Brothers
*/
#include <built_in.h>
#define chipSelect PORTB4_BIT
// LCD module connections
sbit LCD_RS at PORTD2_bit;
sbit LCD_EN at PORTD3_bit;
sbit LCD_D4 at PORTD4_bit;
sbit LCD_D5 at PORTD5_bit;
sbit LCD_D6 at PORTD6_bit;
sbit LCD_D7 at PORTD7_bit;
sbit LCD_RS_Direction at DDD2_bit;
sbit LCD_EN_Direction at DDD3_bit;
sbit LCD_D4_Direction at DDD4_bit;
sbit LCD_D5_Direction at DDD5_bit;
sbit LCD_D6_Direction at DDD6_bit;
sbit LCD_D7_Direction at DDD7_bit;
// End LCD module connections
char temp ;
unsigned int thermo ; float th1;
void main() {
DDRB=0XFF;
ADC_INIT();
Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);
while(1){
SPI1_Init();
chipSelect=0; // ENABLE (inverted)
delay_ms(250);
thermo=SPI1_Read(temp); // read first hi byte
thermo<<=8; // SHIFT FIRST BYTE TO HI OF INTEGER
thermo|=SPI1_Read(temp); // raed second lo byte
thermo&=0x7ff8 ; // make neglicted bit=0
thermo>>=2; // must be thermo>>=3 ; // shooting out neglicted bits
th1= thermo*0.25 ; // value of result in float form :-
thermo=thermo*0.25; // value in integer form divide result /4 datasheet==> resolution = 12bit => 4096 but it reads max 1024 so must divide by 4
chipSelect=1; // DISABLE
Lcd_Out(1,1,"thrmcpl.temp=");
Lcd_chr(2,9,(thermo/1000)+48);
Lcd_chr(2,10,((thermo%1000)/100)+48);
Lcd_chr(2,11,(((thermo%1000)%100)/10)+48);
Lcd_chr(2,12,(((thermo%1000)%100)%10)+48);
thermo=th1*100-thermo*100 ;
Lcd_chr(2,13,',');
Lcd_chr(2,14,(thermo/10)+48);
Lcd_chr(2,15,(thermo%10)+48);
}
}
الحمد الذى بنعمته تتم الصالحات
الله مولانا ولا مولى لهم
انى عذت بربى و ربكم ان ترجمون
الله ينصرك سوريا و . و . - كلنا حلب و غزة
|