?? io驅動74ls165.txt
字號:
//-------------------------------------庫函數聲明,管腳定義----------------------------------------
#include <reg52.h>
sbit a7=ACC^7;
sbit simuseri_CLK=P1^6; //用P1^6模擬串口時鐘
sbit simuseri_DATA=P1^5; //用P1^5模擬串口數據
//-------------------------------------------------------------------------------------------------------
// 函數名稱: in_simuseri
// 輸入參數:無
// 輸出參數:data_buf
// 功能說明:8位同步移位寄存器,將simuseri_DATA串行輸入的數據按從低位到高位
// 保存到data_buf
//--------------------------------------------------------------------------------------------------------
char in_simuseri(void)
{
char i;
char data_buf;
i=8;
do
{
ACC=ACC>>1;
for(;simuseri_CLK==0;) ;
a7=simuseri_DATA;
for(;simuseri_CLK==1;) ;
}
while(--i!=0);
simuseri_CLK=0;
data_buf=ACC;
return(data_buf);
}
//-------------------------------------庫函數聲明,管腳定義----------------------------------------
sbit drive74165_LD=P1^7;
//用P1^7控制SH/LD管腳
//-------------------------------------------------------------------------------------------------------
// 函數名稱:PAs
// 輸入參數:無
// 輸出參數:PAs_buf,返回并行輸入74LS165的數據
// 功能說明:直接調用,即可讀取并行輸入74LS165的數據,不需要考慮74LS165的
// 工作原理
//--------------------------------------------------------------------------------------------------------
char PAs(void)
{
char PAs_buf;
drive74165_LD =0; 并行置入數據
drive74165_LD =1; 開始串行移位
PAs_buf= in_simuseri();
Return(PAs_buf);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -