📄 mc145162.c
字号:
/*******************************************************
*******************************************************/
#include <AT89X52.H>
#define CLK P0_0
#define ADin P0_1
#define Din P0_2
#define ENB P0_3
/********************************************************************/
void MC145162_Reset(unsigned int,unsigned long int,unsigned int,unsigned int);
void delay(unsigned int);
/*******************************************************************/
void delay(unsigned int time_delay)
{
unsigned int time_delay_counter;
for (time_delay_counter=0; time_delay_counter<time_delay; time_delay_counter++)
{}
}
void MC145162_Reset(unsigned int Ctrl_Data,unsigned long int Ref_Data,unsigned int Tx_Count,unsigned int Rx_Count)
{
unsigned int i;
unsigned long int mask;
ENB=0;
CLK=0;
ADin=0;
Din=0;
ENB=1;
mask=0x80;
for(i = 0;i < 8;i++)
{
CLK=0;
if(Ctrl_Data & mask) Din=1;
else Din=0;
CLK=1;
mask = mask >> 1;
Din=0;
}
CLK=0;
ENB=0;
mask=0x80000000;
ENB=1;
for(i = 0;i < 32;i++)
{
CLK=0;
if(Ref_Data & mask)
{
Din=1;
}
else
{
Din=0;
}
CLK=1;
mask = mask >> 1;
Din=0;
}
CLK=0;
ENB=0;
mask = 0x8000;
for(i = 0;i < 16; i++)
{
CLK=0;
if(Tx_Count & mask)
{
ADin=1;
}
else
{
ADin=0;
}
if(Rx_Count & mask)
{
Din=1;
}
else
{
Din=0;
}
CLK=1;
mask = mask >> 1;
ADin=0;
Din=0;
CLK=0;
}
ENB=1;
ENB=0;
}
void main (void)
{
delay(200);
MC145162_Reset(0x90,0x31904000,3100,3100);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -