找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1514|回复: 2
打印 上一主题 下一主题
收起左侧

STC89C52单片机扩展芯片74HC595 IO串行输入并行输出程序

[复制链接]
跳转到指定楼层
楼主
ID:432209 发表于 2018-12-4 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚开始学习,拿出来分享一下,有不对地方或有错误的地方希望指正,谢谢。

#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);

}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:432209 发表于 2018-12-4 19:17 | 只看该作者
刚开始学习,拿出来分享一下,有不对地方或有错误的地方希望指正,谢谢。
回复

使用道具 举报

板凳
ID:1 发表于 2018-12-4 20:33 | 只看该作者
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表