//跳线设置:默认跳线位 #include <AT89X52.H> #define uchar unsigned char sbit simuseri_CLK=P2^4; //用P2^4模拟串口时钟 sbit simuseri_DATA=P2^5; //用P2^5模拟串口数据 sbit a7=ACC^7; #define uint unsigned int
//------------------------------------------------------------------------------------------------------- // 函数名称:out_simuseri // 输入参数:data_buf // 输出参数:无 // 功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA //-------------------------------------------------------------------------------------------------------- void out_simuseri(uchar data_buf) { uchar i; i=8; ACC=data_buf; do { simuseri_CLK=0; simuseri_DATA=a7; simuseri_CLK=1; ACC=ACC<<1; } while(--i!=0); }
void delay() //延时函数 { uint i; i = 0x1ff; while(i--); }
void main(void)
{
P0= 0x00; //P0口送全0 out_simuseri(0xFF); //74hc164 输出全1 //这样点阵一端高电平,一端低电平就亮了,如果是共阴点阵就要反过来
while(1) //死循环 {; }
}
|