74HC595芯片级联的测试万能代码【neneduck】

5片595测试代码

1 coil.h文件

#ifndef __COIL_H
#define __COIL_H
#include "sys.h"
#include "delay.h"//盲文点片选信号引脚
#define MOSIO PGout(6)
#define R_CLK PGout(7)
#define S_CLK PGout(8)extern u8 SingalChoice[];
void coilSingalGpio_Init(void);
void HC595SendData(u8 data);#endif

2.coil.c文件

#include<coil.h>u8 SingalChoice[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//初始化3个信号线引脚
void coilSingalGpio_Init(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;GPIO_Init(GPIOG,&GPIO_InitStructure);GPIO_ResetBits(GPIOG,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8);
}//hc595选择  SH_CP【SCK】上升沿输入,输入一位往后移动一位
/*void HC595SendData(u8 data)
{u8 i;for(i=0; i < 8; i++){if(data & 0x80) //判断data第八位是否为1 ,&与,有0为0MOSIO=1;    // 如果第八位是1,数据线高电平 1elseMOSIO=0;    //否则,数据线低电平 0data = data << 1; //数据左移一位,将低位往高位移,通过if(data >> 7)判断低位是否为1S_CLK=1; //SCK时钟线高电平__NOP();__NOP();  //延时作用S_CLK=0; //SCK时钟线低电平}
//步骤3:ST_CP【RCK】产生一个上升沿,移位寄存器的数据移入存储寄存器  R_CLK=1;__NOP();__NOP();R_CLK=0;
}
*/

3.main.c文件

#include "stm32f10x.h"
#include "coil.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"
#include "usmart.h" int main(void)
{u8 i;u8 j;//初始化操作vu8 key=0;delay_init(); //延时函数初始化    LED_Init();        //初始化与LED连接的硬件接口KEY_Init();          //初始化与按键连接的硬件接口coilSingalGpio_Init();LED0=0;                        //先点亮红灯// HC595SendData(SingalChoice[8]);  while(1){key=KEY_Scan(1);  //得到键值0,1,2,3  //u8 KEY_Scan(u8 mode), mode==0不支持连续连按、 mode==1支持连续连按if(key==1){for(i=0; i < 40; i++){MOSIO=1;    // 数据线高电平 1 S_CLK=1;    //SCK时钟线低电平__NOP();__NOP();  //延时作用S_CLK=0; //SCK时钟线高电平/**  步骤3:ST_CP【RCK】产生一个上升沿,移位寄存器的数据移入存储寄存器  **/R_CLK=1;__NOP();__NOP();R_CLK=0;}LED0=!LED0;delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);//HC595SendData(SingalChoice[8]); }else if(key==2){for(i=0; i < 40; i++){MOSIO=1;    // 数据线低电平 0S_CLK=1;    //SCK时钟线低电平__NOP();__NOP();  //延时作用S_CLK=0; //SCK时钟线高电平/**  步骤3:ST_CP【RCK】产生一个上升沿,移位寄存器的数据移入存储寄存器  **/R_CLK=1;__NOP();__NOP();R_CLK=0;}LED0=!LED0;delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);//HC595SendData(SingalChoice[8]); }else {LED0=0;delay_ms(100);}}
}

74HC595芯片级联的测试万能代码相关推荐

  1. 【74HC595】51单片机(普中A2开发板)LED点阵屏点亮以及74HC595芯片的使用笔记

    使用74HC595芯片驱动LED点阵屏的使用笔记 1.控制显示LED点阵屏的思路 2.74HC595芯片的学习 2.1.74HC595芯片是什么? 2.2.74HC595芯片各引脚解释以及分析 2.3 ...

  2. 74HC595芯片实现原理及跑马灯数码管应用程序-----day2

    74HC595芯片应用-----day2 1.CMOS移位寄存器–74HC595 可串行输出控制下一级级联芯片.![在这里插入图片描述](https://img-blog.csdnimg.cn/2fa ...

  3. dcdc芯片效率不高的原因_半导体厂商如何做芯片的出厂测试?

    本文来源于知乎,已获作者授权,谢谢. 作者:温戈 链接: https://www.zhihu.com/question/20584576/answer/1538640891 知乎网友提问:半导体厂商如 ...

  4. 【单片机基础篇】74HC595芯片详解

    74HC595芯片详解 芯片简述:74HC595是一个8位串行输入.并行输出的位移缓存器:并行输出为三态输出.在SCK 的上升沿,串行数据由SER输入到内部的8位位移缓存器,并由QA~QH'输出,而并 ...

  5. (转)大数据量分页存储过程效率测试附代码

    大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存: ...

  6. M1芯片下Fabric测试网络环境配置

    M1芯片下Fabric测试网络环境配置 系统配置 系统:Ubuntu 20.04 LTS 内核:Arm64 硬盘大小:10GB 1.技术框架环境搭建 安装Vim sudo apt install -y ...

  7. 8*8LED点阵图原理(74HC595芯片使用方法)

    1.LED灯排线图 1.该线为共阳极点阵图,一行的阳极都是接在一条线上的 如果要亮第一排第一个灯,需要9号行位置为1(即5V),13号列为0(即0V)形成电流,该灯就亮. 2.故行为1000 000控 ...

  8. 如何编写可测试的代码 哈利勒的方法论

    Understanding how to write testable code is one of the biggest frustrations I had when I finished sc ...

  9. xampp测试php代码,php用xampp测试

    如果只是简单的测试的话,可以用echo或者var_dump打印信息来查看,当然如果你用的是zend或者eclipse这样的编辑器的话,可以加上zendbug来调试信息 php如何进行单元测试 何为单元 ...

  10. .NET Core TDD 前传: 编写易于测试的代码 -- 全局状态

    第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 第3篇, 依赖项和迪米特法则. 本文是 ...

最新文章

  1. 李开复:为什么我认为“AI+”有四阶段
  2. okhttp连接池_OkHttp配置HTTPS访问+服务器部署
  3. lnmp 0.4 安装指南
  4. c++ datetime mysql_转:C++操作mysql方法总结(1)
  5. 【批处理】用netsh管理防火墙示例
  6. LeetCode:完全平方数【279】【DP】
  7. 在Mac OS X 通过抓包、“第三方下载工具”加速下载、安装APP或系统
  8. 智能优化算法:磷虾群算法-附代码
  9. SPSS处理bicomb矩阵——打开txt文件只有输出文档界面显示正在运行GET DATA,并不占用cpu,原因是编码格式不匹配
  10. ubuntu 下系统监视器_Ubuntu系统监控工具
  11. 思科路由器2811如何重设密码
  12. 国内50个热点行业产业链全景图
  13. 免费版的 IDEA 如何使用 Tomcat
  14. 工业企业能源管理系统
  15. 微信小程序中的转发功能
  16. 福大软工1816 · 团队现场编程实战(抽奖系统)
  17. DEV C++设置背景音乐
  18. 免安装版jdk的配置及使用(附绿色版jdk1.7及jdk1.8)
  19. 12.0_[Java 多态]-多态/子类父类互转/基本引用类型互转/ instanceof 运算符
  20. 全连接层输入为什么是固定维度的(拉直/压扁Flatten成为列向量)

热门文章

  1. Java案例:功夫熊猫
  2. 用数字计算机公式表白,爱情数学简单表白公式
  3. android 公式编辑器,公式编辑器
  4. jQuery-点击按钮插入视频
  5. PMO在生物制药GMP生产环境中的实践——《PMO论文集(2019)》(电子版)
  6. Linux Ubuntu 系统测试硬盘读写速度命令
  7. 一文读懂电子材料行业最新发展趋势
  8. 全志F1C100S声卡驱动探究
  9. python里print字符串+字符串_python 字符串 和 print
  10. java毕设项目——图书借阅管理系统(附源码课件)