?? cc.c
字號:
#include<reg52.h>
#include<intrins.h>
sbit RS =P2^7;
sbit RW =P2^6;
sbit EN =P2^5;
#define INT 5
unsigned char count=0,cnt=0;
//unsigned long N;
unsigned long value[ INT ];
void inil( void );
void DelayL( );
void DelayS( );
void WriteCommand( unsigned char c );
void WriteData( unsigned char c );
void ShowChar( unsigned char pos,unsigned char c );
void ShowString( unsigned char line,char *ptr );
void InitLcd( );
void main( void )
{
unsigned char i;
unsigned long m;
unsigned char code str1[]=" cuit team 36 ";
unsigned char code str2[]=" 2005-7-18 ";
unsigned char line0[]="Frequnecy is: ";
unsigned char line1[]=" ";
DelayL( );
InitLcd( );
DelayL( );
ShowString( 0,str1 );
ShowString( 1,str2 );
inil( );
while( 1 )
{
if( count==INT )
{
for( i=0;i<INT;i++ )
{
m=m+value[i];
}
m=m/INT;
m=1843200/m;
if( m<1000 )
{
line1[0]=m/100+0x30;
m=m%100;
line1[1]=m/10+0x30;
line1[2]=m%10+0x30;
line1[3]='H';
line1[4]='z';
ShowString( 0,line0 );
ShowString( 1,line1 );
}
else
{
m=m/100;
line1[0]=m/100+0x30;
m=m%100;
line1[1]=m/10+0x30;
line1[2]='.';
line1[3]=m%10+0x30;
line1[4]='K';
line1[6]='H';
line1[7]='z';
ShowString( 0,line0 );
ShowString( 1,line1 );
for( i=0;i<=45;i++ )
{
void DelayL( );
}
}
for( i=0;i<=35;i++ )
{
void DelayL( );
}
m=0;
count=0;
cnt=0;
EX0=1;
ET0=1;
EA=1;
}
}
}
void inil( void )
{
EA=0;
INT0=1;
IT0=1;
TMOD=( TMOD&0XF0 )|0X01;
TR0=0;
TH0=TL0=0;
EX0=1;
ET0=1;
EA=1;
}
void intlint0( void ) interrupt 0
{
unsigned char th,tl,a;
unsigned long N;
if( TH0==TL0&&TL0==0 ) TR0=1;
else
{
TR0=0;
th=TH0;
tl=TL0;
a=cnt;
EX0=0;//````````````````
TH0=TL0=0;
cnt=0;
// TR0=1;
if( a==0 )
{
N=th*256+tl;
}
else
{
N=65536*a+th*256+tl;
}
value[ count++ ]=N;
if( count==INT )
{
EX0=0;
ET0=0;
TH0=TL0=0;
EA=0;
}
else
{
EX0=1; //````````````````````
}
}
}
void intlt0( void ) interrupt 1
{
cnt++;
TH0=TL0=0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LCD
void DelayL( )
{
unsigned char i,j;
i=0xF0;
j=0xFF;
while( i-- )
while( j-- );
}
void DelayS( )
{
unsigned char i;
i=0x1F;
while( i-- );
}
void WriteCommand( unsigned char c )
{
DelayS( );
EN=0;
RS=0;
RW=0;
_nop_( );
EN=1;
P0=c;
EN=0;
}
void WriteData( unsigned char c )
{
DelayS( );
EN=0;
RS=1;
RW=0;
_nop_( );
EN=1;
P0=c;
EN=0;
RS=0;
}
void ShowChar( unsigned char pos,unsigned char c )
{
unsigned char p;
if( pos>=0x10 )
p=pos+0xB0;//
else
p=pos+0x80;//
WriteCommand( p );
WriteData( c );
}
void ShowString( unsigned char line,char *ptr )
{
unsigned char l,i;
l=line<<4;
for( i=0;i<16;i++ )
ShowChar( l++, *(ptr+i) );
}
void InitLcd( )
{
DelayL( );
WriteCommand( 0x38 );
DelayL( );
WriteCommand( 0x38 );
DelayL( );
WriteCommand( 0x06 );
WriteCommand( 0x0c );
WriteCommand( 0x01 );
WriteCommand( 0x80 );
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -