標(biāo)題: 74hc165使用教程適合初學(xué)者 [打印本頁]

作者: 2500    時(shí)間: 2016-10-28 14:57
標(biāo)題: 74hc165使用教程適合初學(xué)者
#include<reg52.h>
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit SHLD=P1^7;   //1腳SH/LD移位控制/置入控制(低電平有效)
sbit CLK=P1^6;   //2腳CLK,CLK INH時(shí)鐘輸入端(上升沿有效)
sbit QH=P1^5;   //9腳QH輸出端
uint data1=0,
     data2=0;
                 data3=0;
void XD_74hc165_Readdata(void)  
{
uchar i;         //位移時(shí)使用
unsigned char
readdata1,
readdata2,
readdata3;//獲取數(shù)據(jù)時(shí)使用
readdata1 = 0x00; //初始值
readdata2 = 0x00;
readdata3 = 0x00;

SHLD=0;                 //將165外部端口數(shù)據(jù)裝入內(nèi)部寄存器        置入控制端口(低電平有效)
_nop_();
SHLD=1;                 //抬高為移位準(zhǔn)備  移位控制(高電平有效)
/****************讀取第一個(gè)74HC165***************************************************/
for(i=0;i<8;i++)        //移動(dòng)8位字節(jié)
         {
    readdata1<<=1;    //每次左移一位
                CLK=0;          //時(shí)鐘低
                _nop_();
                readdata1|=QH;                        //先接收高位
          CLK=1;                            //時(shí)鐘高,上升沿下一個(gè)數(shù)據(jù)移出
                _nop_();
   }
/****************讀取第二個(gè)74HC165***************************************************/
for(i=0;i<8;i++)        //移動(dòng)8位字節(jié)
         {
   readdata2<<=1;    //每次左移一位
         CLK=0;          //時(shí)鐘低
         _nop_();
         readdata2|=QH;                        //先接收高位
         CLK=1;                            //時(shí)鐘高,上升沿下一個(gè)數(shù)據(jù)移出
         _nop_();
   }
/****************讀取第三個(gè)74HC165***************************************************/
for(i=0;i<8;i++)        //移動(dòng)8位字節(jié)
         {
   readdata3<<=1;    //每次左移一位
         CLK=0;          //時(shí)鐘低
         _nop_();
         readdata3|=QH;                        //先接收高位
         CLK=1;                            //時(shí)鐘高,上升沿下一個(gè)數(shù)據(jù)移出
          _nop_();
   }
                       

         data1=readdata1;      //返回接收字符
         data2=readdata2;
         data3=readdata3;
}

void main()
{
XD_74hc165_Readdata();
while(1)
   {
   P2=data1;                 //顯示
         P3=data2;
         P0=data3;
   }
}
[attach]3[/attach]



165.rar

74.45 KB, 下載次數(shù): 29, 下載積分: 黑幣 -5


作者: 騷年    時(shí)間: 2017-4-8 09:37
有沒有級(jí)聯(lián)圖





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1