74HC595串入并出芯片应用_AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计 Allegro,pads,PCB电路板设计,硬件及芯片资料分享—小北设计

74HC595串入并出芯片应用

51单片机 by AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计

//74HC595重要引脚说明:

//MR(10脚): 低电平时将移位寄存器的数据清零。通常接到VCC防止数据清零。

//OE(13脚)允许输出,低电平有效
//SH_CP的上升沿,数据发生移位,而在ST_CP的上升沿,数据从每个寄存器中传送到存储寄存器
//DS(14脚)为串行数据输入引脚,本例通过移位运算将高位送入PWD寄存器的进位标
//志位CY,CY的值再传给DS引脚,8次移位即可完成一个字符的串行传送。
//ST_CP(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P2^0;
sbit DS   =P2^1;
sbit ST_CP=P2^2;
uchar temp;
uchar shizi[]={0x3F,0x06,0x5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
//延时
void yan_shi(uint ms)
{
 uchar i;
 while(--ms)
 for(i=0;i<120;i++);
}
//串行输入子程序
void shu_ru75HC595()
{
uchar i;
for(i=0;i<8;i++)//例如:十六进是0X00,对应的二进制为:0000 0000
{
temp<<=1;//最高位会移入进位标志(CY) 最低位补0
DS=CY;//在C语言中,CY(进位标志)是程序状态字寄存器(PSW)中的一个状态标志位,用于记录算术运算中的进位或借位状态
SH_CP=1;//移位时钟脉冲上升移位
_nop_();
_nop_();//12MHz晶振下,每个 _nop_(); 延时约1微秒,在 <intrins.h>函数中。
SH_CP=0;
}
}
//并行输出
void shu_chu75HC595()
{
ST_CP=0;
_nop_();
ST_CP=1;//上升沿将数据送到输止出锁存器
_nop_();
ST_CP=0;//锁存显示数据
}
//主程序
void main()
{
uchar i;
while(1)
{
for(i=0;i<10;i++)
    {
  temp=shizi[i];
  shu_ru75HC595();//串行输入子程序
  shu_chu75HC595();//并行输出
  yan_shi(200);
   }
}

}

通过网盘分享的文件:
链接: https://pan.baidu.com/s/1MRI_TbzsElc8ULgqSiWs5A 提取码: 9y35

芯片的应用

    Message:

    Name:
    Email:
    Content:
PgUP ...
Allegro,pads,PCB电路板设计,电源模块件及stm32,嵌入式,单片机资料分享—小北设计