mb1504程式和圖
#include < reg52.h >
#include < intrins.h >
sbit CLK = P1^0; 9 腳
sbit DATA = P1^1; 10腳
sbit LE = P1^2; 11腳
void Send16Bit( unsigned int SendData )
{
unsigned char i;
unsigned int SendMiddle;
SendMiddle = SendData;
LE = 0; CLK = 0;
for( i = 0; i < 16; i ++ )
{
DATA = ( SendMiddle & 0x8000 );
_nop_( ); CLK = 1;
_nop_( ); CLK = 0;
SendMiddle = SendMiddle << 1;
}
LE = 1; _nop_( ); LE = 0;
}
void Send11Bit( unsigned int SendData )
{
unsigned char i;
unsigned int SendMiddle;
SendMiddle = SendData;
LE = 0; CLK = 0;
for( i = 0; i < 11; i ++ )
{
DATA = ( SendData & 0x8000 );
_nop_( ); CLK = 1;
_nop_( ); CLK = 0;
SendData = SendData << 1;
}
}
void Send8Bit( unsigned char SendData )
{
unsigned char i;
unsigned char SendMiddle;
SendMiddle = SendData;
for( i = 0; i < 8; i ++ )
{
DATA = ( SendData & 0x80 );
_nop_( ); CLK = 1;
_nop_( ); CLK = 0;
SendData = SendData << 1;
}
LE = 1; _nop_( ); LE = 0;
}
void SendReferF( void )
{ // 針對晶體 采用 12M
Send16Bit( 0x8961 ); // 12M Crystal
}
void FrequenceToSend( unsigned int FrequenceD )
{
unsigned char AD = 0, i = 0;
unsigned int ND = 0, MiddleF = 2000;
if( ( FrequenceD >= 800 ) &&