165.c

来自「两片74hc165级联的驱动」· C语言 代码 · 共 45 行

C
45
字号
#include<reg51.h>

#define uchar unsigned char
#define uint unsigned int

sbit clk=P1^0; //时钟
sbit sh=P1^1; //移位/置入控制  为低电平时 并行数据A-H被移入寄存器  为高时:并行置数被禁止
sbit so=P1^2; //数据输出

uchar out1,out2;

//将165的8 bit 并行输入 转为串口16进制输出
InputChar()
{ 
   uchar i,c=0x00;
   for (i=0;i<8;i++)
   {
    c<<=1;    //0000 0010
	if(so)
	{c=c|0x01;}
    clk=0;  //下降沿有效
    clk=0;   
    clk=1;
   }
   return c;
}  

Input165()
{
 sh=1;
 P2=InputChar();  和单片机相连的165
 P3=InputChar();
 sh=0;  //sh为0时 并行置数禁止,串行传输开始
}

main()
{
 while(1)
  {
   Input165();
  }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?