2.控制电路解释
74HC573:通常用于IO复用的操作。
74LVC4245:用于点评状态转换,3.3V与5V之间。DIR为低电平则3.3V到5V,DIR为高电平反之。
74LV595:用于串并转换,控制多个芯片的使能。SER为输入的串行数据,SRLCK为串行时钟,RCLK为输出跳变时钟。
#define Ctr_out P3DIR |= BIT3+BIT6+BIT7
#define Ctr_0 P3OUT & = ~(BIT3+BIT6+BIT7)
#define SRCLK_1 P3OUT |=BIT7
#define SRCLK_0 P3OUT &=~BIT7
#define SER_1 P3OUT |= BIT6
#define SER_0 P3OUT &= ~BIT6
#define RCLK_1 P3OUT |= BIT3
#define RCLK_0 P3OUT &= ~BIT3
void BoardConfig(uChar cmd)
{
Ctrl_out;//P3设为输出
Ctrl_0;//输出为0
for(i=0;i<8;i++)
{
SRCLK_0;
if(cmd&0x80) SER_1;//检查cmd的最高位是不是1,是则置位SER
else SER_0;
SRCLK_1;//得到一个SER的串行值之后SRCLK的上升沿跳变锁存该数据
cmd<<1;//cmd向左移位,检查次高位
}
RCLK_1;//一个字节之后更新这组串行数据
_NOP();RCLK_0;
}
|