//跳线设置:默认跳线位
#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) //死循环
{;
}
}
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |