قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 30-09-2012, 01:14 PM المشاركة 1   
افتراضي ممكن مساعدة تحويل برنامج Twitter FaceBook Google+



السلام عليكم ممكن احد يحول الكود الي MikroC بارك الله فيكم هو مشروع لقياس نبضات القلب

كود:
c code Hi-Tech C.
//# define 
# include 
#define  rs   RA2
#define  e   RA1
#define  lcd_data PORTB
#define _XTAL_FREQ 4000000
void delayms(unsigned int itime);
void pulse(void);
void send_char(unsigned char data);
void lcd_goto(unsigned char data);
void lcd_clr(void);
void send_string(const char *s);
void init_lcd(void);
void dis_num(unsigned int data,unsigned char digit);
void prog1(void);
unsigned long no=0;
void main (void)
{
 TRISA=0;    
 TRISB=0;
 TRISA3=1;
 init_lcd();
delayms(10);
lcd_clr();
delayms(10);
send_string(“Heart rate meter”);
delayms(1000);
lcd_clr();
delayms(10);
 while(1)
 {
 prog1();
 }
}
void prog1(void)
{
 unsigned int temp1=0,temp2=0;
 unsigned char i;
 unsigned int hb=1;
  while(RA3);
  while(!RA3){
  hb++;
  delayms(1);
  }
 hb=30000/hb;
 lcd_goto(2);
 send_string(“H.B.R:    bpm”);
 lcd_goto(8);
 dis_num(hb,3);
}
void delayms(unsigned int itime)
{
 unsigned int i;
for(;itime>0;itime–)
{
__delay_ms(1);
}
}
void send_config(unsigned char data) //send lcd configuration 
{
 rs=0;        //set lcd to configuration mode
lcd_data=data&0xf0;     //lcd data port = data
 pulse();
 lcd_data=(data<<4)&0xf0;
 pulse();
}
void pulse(void)
{
 e=1;        //pulse e to confirm the data
 delayms(1);
 e=0;
 delayms(1);
}
void lcd_goto(unsigned char data)  //set the location of the lcd cursor
{          //if the given value is (0-15) the 
     send_config(0×80+data);   //cursor will be at the lower line
}
void lcd_clr(void)      //clear the lcd
{
send_config(0×01);
 delayms(2);
}
void send_string(const char *s)   //send a string to display in the lcd
{
rs = 1;  
while (*s)send_char (*s++);
}
void send_char(unsigned char data)  //send lcd character
{
rs =1;
delayms(1);        //set lcd to display mode
 lcd_data=data&0xf0;     //lcd data port = data
 pulse();
 lcd_data=(data<<4)&0xf0;
 pulse();
}
void init_lcd(void)
{
 rs=0;e=0;        //command mode
 delayms(10);      //delay 10ms
 lcd_data=0×30;      //load initial nibble
 pulse();       //Latch initial code
 delayms(5);       //delay 5ms
 pulse();       //Latch initial code
 delayms(1);       //delay 1ms
 pulse();       //Latch initial code
 lcd_data=0×20;
 pulse();       //Latch initial code
 //configure lcd
 send_config(0×28);     //Set 4-bit mode, 2 lines
 send_config(0xF);     //Switch off display
  send_config(0×06);     //Enable cursor auto increase
}
void dis_num(unsigned int data,unsigned char digit)
{
 if(digit>3)
 send_char(’0′+(data/1000)%10);
 if(digit>2)
 send_char(’0′+(data/100)%10);
 if(digit>1)
 send_char(’0′+(data/10)%10);
 if(digit>0)
 send_char(’0′+(data/1)%10);
}

اعلانات

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 30-09-2012, 01:22 PM المشاركة 2   
افتراضي


هذه الدائرة والمتحكم هو pic16f84


اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:15 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025