//跳線設(shè)置:默認跳線位 #include <AT89X52.H> #define uchar unsigned char sbit simuseri_CLK=P2^4; //用P2^4模擬串口時鐘 sbit simuseri_DATA=P2^5; //用P2^5模擬串口數(shù)據(jù) sbit a7=ACC^7; #define uint unsigned int
//------------------------------------------------------------------------------------------------------- // 函數(shù)名稱:out_simuseri // 輸入?yún)?shù):data_buf // 輸出參數(shù):無 // 功能說明:8位同步移位寄存器,將data_buf的數(shù)據(jù)逐位輸出到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() //延時函數(shù) { uint i; i = 0x1ff; while(i--); }
void main(void)
{
P0= 0x00; //P0口送全0 out_simuseri(0xFF); //74hc164 輸出全1 //這樣點陣一端高電平,一端低電平就亮了,如果是共陰點陣就要反過來
while(1) //死循環(huán) {; }
}
|