//跳線設置:默認跳線位 #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) //死循環 {; }
}
|