标题: STC89C52单片机扩展芯片74HC595 IO串行输入并行输出程序 [打印本页]

作者: ProAtL    时间: 2018-12-4 19:17
标题: STC89C52单片机扩展芯片74HC595 IO串行输入并行输出程序
刚开始学习,拿出来分享一下,有不对地方或有错误的地方希望指正,谢谢。

#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int


unsigned int i;
unsigned char DSdata1;
unsigned char DSdata2;
unsigned char DSdata3;
unsigned char DSdata4;
unsigned char DSdata5;
unsigned int n;
sbit           DS =        P1^0;          //输入数据位声明
sbit        SH_CP = P1^4;                   //移位开关位声明
sbit        ST_CP = P1^2;        //并行输出位声明

void delay( int z)
{
uint x;
for(;z>0;z--)
for(x=12;x>0;x--);
}
void shift(char DSdata)
{
for(i = 0;i<8;i++)
{
SH_CP = 0;
delay(2);          //延时
DS = DSdata & 0x80; //移位数据
DSdata <<= 1;
delay(2);        //延时
SH_CP = 1;
}
}
void main()
{
DSdata1=0x0;
DSdata2=0x0;
DSdata3=0x0;
DSdata4=0x0;
ST_CP = 0;            //并行输出开关——关(低电平)
  delay(2);        //延时
shift(DSdata4);
shift(DSdata3);
shift(DSdata2);
shift(DSdata1);
  delay(2);        //延时
ST_CP = 1;        //并行输出开关——开(高电平)

DS=1;
  while(1);

}


作者: ProAtL    时间: 2018-12-4 19:17
刚开始学习,拿出来分享一下,有不对地方或有错误的地方希望指正,谢谢。
作者: admin    时间: 2018-12-4 20:33
补全原理图或者详细说明一下电路连接即可获得100+黑币




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1