الادخال لل 8051 هو تردد(frequency)
وكل تردد معين يمثل درجه حرارة
مثل التردد 500 هرتز يمثل 32 درجه سيليزيه
الى تردد 5 كيلو هيرتز يمثل 43 درجه سيليزيه
كتبت البرنامج ولكن لدي اخطاء في العرض
وهو ان التردد ثابت
ولكن الاخراج على شاشه lcd
متغير ولا اعرف ما هي المشكله
وهذه هي المرحله الاخيرة من البرنامج
/*---------------------------------------------------------*/
#include
#include
#include
#define NewLine 0xc0
#define ClrDisp 0x01
#define TwoLine10dots 0x38
#define ScrOnCurOffBlinkOff 0x0F
#define IncCurDntMovDis 0x06
#define OUT P1
int check ;
sbit BusyFlag=P1^7;
sbit RS =P3^5;
sbit RW =P3^6;
sbit E =P3^7;
/*---------------------------------------------------------
Timer 0 Overflow Interrupt
---------------------------------------------------------*/
unsigned long tt ;
unsigned long t;
void T0_ISR (void) interrupt 1
{
TF0 = 0; // Reset the interrupt request
}
/*---------------------------------------------------------
MAIN C function
---------------------------------------------------------*/
/*---------------------------------------------------------
---------------------------------------------------------*/
int temp(){
int x,y;
y=tt/335;
x=y+31;
return x;
}
void checkBusy(void){
OUT=0XFF ;
do{ ;
E =0;
RS =0;
RW =1;
E =1;
}while(BusyFlag);
E=0;
RW = 0;
}
void sendCmd (unsigned char Cmd){
checkBusy();
RS = 0;
RW = 0;
OUT = Cmd;
E =1;
E =0;
}
void sendData (unsigned char ch){
checkBusy();
RS = 1;
RW = 0;
OUT=ch;
E = 1;
E = 0;
}
void init_LCD (void){
sendCmd(TwoLine10dots);
sendCmd(ScrOnCurOffBlinkOff);
sendCmd(IncCurDntMovDis);
}
void main (void)
{
int a;
/*--------------------------------------
Set serial port for 9600 baud at
11.0592 MHz. Note that we use Timer 1
for the baud rate generator.
--------------------------------------*/
SCON = 0x53;
PCON =0x00;
TH1 = 0xFA;
TL1 = 0xFA;
TR1 = 1;
TI = 1 ;
/*--------------------------------------
Enable interrupts for timer 0.
--------------------------------------*/
ET0 = 1;
EA = 1;
/*--------------------------------------
Set Timer0 for 16-bit interval timer
mode.
--------------------------------------*/
TMOD = 0x21;
while (1)
{
/*--------------------------------------
Clear the timer overflow counter and
the timer low and high registers. Then,
start the timer.
--------------------------------------*/
TH0 = 0;
TL0 = 0;
TR0 = 1;
/*--------------------------------------
Wait for the pulse to start.
Then, wait for the pulse to end.
--------------------------------------*/
while (!INT0);
while (INT0);
/*--------------------------------------
Compute the width of the pulse -- one
clock cycle is 1us for a standard 8051
and display it.
--------------------------------------*/
tt=((unsigned long)(TH0*256)+TL0) ;
printf ("%1d\n",tt=(unsigned long)(TH0*256)+TL0) ;
a=temp();
if (a==32){
init_LCD();
sendCmd(ClrDisp);
sendData('A');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==33){
init_LCD();
sendCmd(ClrDisp);
sendData('b');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==34){
init_LCD();
sendCmd(ClrDisp);
sendData('c');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==35){
init_LCD();
sendCmd(ClrDisp);
sendData('d');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==36){
init_LCD();
sendCmd(ClrDisp);
sendData('e');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==37){
init_LCD();
sendCmd(ClrDisp);
sendData('f');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==38){
init_LCD();
sendCmd(ClrDisp);
sendData('g');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==39){
init_LCD();
sendCmd(ClrDisp);
sendData('h');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==40){
init_LCD();
sendCmd(ClrDisp);
sendData('i');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else if (a==41){
init_LCD();
sendCmd(ClrDisp);
sendData('j');
sendCmd(NewLine);
for(t=0;t<1000;t++){}
}
else {
// for(t=0;t<10000000;t++){}
for(t=0;t<10000;t++);
}
}
الخميس ديسمبر 02, 2010 11:42 am من طرف فافي
» ارتداء الستيانه
الثلاثاء يونيو 29, 2010 11:34 am من طرف سمسم العراقي
» انضر الى اجمل ما خلقه الله سبحانه وتعالى
الأربعاء ديسمبر 02, 2009 1:19 pm من طرف سمسم العراقي
» آخر صور للفنان رضى العبد الله
السبت أكتوبر 31, 2009 10:28 am من طرف فافي
» سر دمعتي .......
الجمعة يوليو 17, 2009 6:50 am من طرف mylove
» كليب كامل يوسف ^^ عزابي ^^ حصرياًَ بس مني
الثلاثاء يوليو 14, 2009 1:34 pm من طرف فافي
» احلى رقصة بالعالم ارجو الرد.....
السبت يوليو 11, 2009 7:52 am من طرف فافي
» سؤال يطرح نفسه بقوة ؟؟؟؟؟
الجمعة يوليو 10, 2009 6:34 pm من طرف سمسم العراقي
» طفل في الهند له ذيل
الجمعة يوليو 10, 2009 6:30 pm من طرف سمسم العراقي