栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

arduino拓展74HC595的C++代码

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

arduino拓展74HC595的C++代码

//版本一

int DS=7;
int SH_CP=9;
int ST_CP=8;
void setup() {
pinMode(DS,OUTPUT);
pinMode(SH_CP,OUTPUT);
pinMode(ST_CP,OUTPUT);
}

void shift(int x){
digitialWrtie(SH_CP,LOW);
digitialWrite(DS,x);
digitialWrtie(SH_CP,HIGH);
}

void loop() {
digitialWrtie(ST_CP,LOW);

shift(1);
shift(0);
shift(1);
shift(1);
shift(1);
shift(0);
shift(1);
shift(1);

digitialWrtie(ST_CP,HIGH);
}

//版本二、1

int DS=7;
int SH_CP=9;
int ST_CP=8;
void setup() {
pinMode(DS,OUTPUT);
pinMode(SH_CP,OUTPUT);
pinMode(ST_CP,OUTPUT);
}

void shift(int SH_CP,int DS,int x){
digitialWrtie(SH_CP,LOW);
digitialWrite(DS,x);
digitialWrtie(SH_CP,HIGH);
}

//数据类型是八位二进制数byte
void shiftout(int SH_CP,int DS,byte num){
  int s=1;
  for(int i=0;i<8;i++)
  {
    shift(SH_CP,DS,num&s)
    s<<=1;//等价于s=s<<1,s左移一位,原来s=0001,左移一位s=0010
  }
}

void loop() {
digitialWrtie(ST_CP,LOW);

shift(SH_CP,DS,221);


digitialWrtie(ST_CP,HIGH);
}

//版本二、2

int DS=7;
int SH_CP=9;
int ST_CP=8;
const int MSB=1;
const int LSB=0;
void setup() {
pinMode(DS,OUTPUT);
pinMode(SH_CP,OUTPUT);
pinMode(ST_CP,OUTPUT);
}

void shift(int SH_CP,int DS,int x){
digitialWrtie(SH_CP,LOW);
digitialWrite(DS,x);
digitialWrtie(SH_CP,HIGH);
}

//数据类型是八位二进制数byte
void shiftout(int SH_CP,int DS,int order,byte num){
  int s;
  order==LSB?s=1:s=128;
  for(int i=0;i<8;i++)
  {
    shift(SH_CP,DS,num&s)
    order==LSB?s<<=1:s>>=1;//等价于s=s<<1,s左移一位,原来s=0001,左移一位s=0010
    //s=1即s=0000 0001;s=128即s=1000 0000
  }
}

void loop() {
digitialWrtie(ST_CP,LOW);

shift(SH_CP,DS,MSB,123);//Q7‘接下一个拓展板的DS,以此拓展16个并行输出口
shift(SH_CP,DS,MSB,221);

digitialWrtie(ST_CP,HIGH);
}




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号