74LS164功能:串行输入并行输出,说人话就是:假设你有8个苹果(分别代表数码管的a,b,c,d,e,f,g,dp),你把他们一个一个的包装好放进纸箱里(数据一个一个写入,串行),然后把纸箱打包发给别人(一次性输出,并行)。

下边是主程序代码和几个宏定义

#define Data    PAout(0)//74Ls164——(1)
#define Click   PAout(1)//74Ls164——(8)
#define Clear   PAout(2)//74Ls164——(9) //                                                             dp                      g                        f                        e                        d                        c                        b                        a
#define show_0       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_1       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;delay_ms(1000);}
#define show_2       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_3       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_4       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;delay_ms(1000);}
#define show_5       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_6       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_7       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_8       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_9       {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;Click=0;  Data=1;Click=1;delay_ms(1000);}
#define show_dp      {Clear=0;Click=0;delay_ms(20);Clear=1;  Data=1;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;Click=0;  Data=0;Click=1;delay_ms(1000);}#define show_loop  {show_0;show_1;show_2;show_3;show_4;show_5;show_6;show_7;show_8;show_9;show_dp;}int main(void)
{    delay_init();               //延时函数初始化    LED_Init_1();               //数码管引脚初始化while(1){show_loop;//运行结果:依次显示0,1,2,3,4,5,6,7,8,9,“ . ” 间隔 1 秒}
}

74LS164驱动一位共阴数码管(stm32f1)相关推荐

  1. STM32F103C8T6 I/O口驱动4位共阳数码管

    STM32F103C8T6 I/O口驱动4位共阳数码管 看了网上很多的资料.很少有单独讲解STM32 I/O口直接驱动数码管的资料,有的网上还禁用了JTAG和SWD口,对很多刚入门的学者会造成不必要的 ...

  2. Arduino 用4位共阴数码管造一个计数器

    之前已经学习过单位的数码管,现在来看看4位的数码管是如何工作的. 相对于单位的数码管, 可以看到针脚多了com1,com2,com3,com4, 但控制字符的abcdefgh针脚,仍然是只有8个, 那 ...

  3. 三位共阴数码管动态显示按键控制加减

    用这个软件也有一两个月了,学习了很多大神的教程代码,让我飞速的进步学习了解电子科技的知识,现在我也想回报大家,慢慢写文章发布我所了解的项目的教程,尽可能写简单通俗,让大部分初学者都能看懂. 买这东东将 ...

  4. 树莓派控制3631AS数码管 驱动 python程序 共阴数码管|徐奥雯编写|XUAOWEN

    使用方法: 新建py文件,将下面的驱动代码复制到文件中保存,命名为drive_3631as.py 连接树莓派与数码管 根据上面的引脚图的1-12号(没有6) 所连接树莓派的GPIO引脚,在刚刚新建的d ...

  5. 按键自加自减的c语言数码管编程,8位共阴数码管动态扫描自增自减

    //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit duan=P2^2;//定义P2.2为段操作,爱设置哪个都行 sbit wei=P2^3;//定义P2.3为位操作 /*- ...

  6. 四位共阳极数码管显示函数_74LS164驱动4位共阳数码管代码

    #include "reg52.h" #define u16 unsigned int #define u8 unsigned char sbit CLK=P2^0; sbit D ...

  7. c语言两位共阴数码管00,两位数码管动态显示C语言程序

    #include #define uint unsigned int void delay7ms(void) //误差 -0.217013888891us { unsigned char a,b; f ...

  8. 【小白米日志】树莓派3b+四位共阴数码管的连接和驱动

    [小白米日志]树莓派3b+四位共阴数码管的连接和驱动 所需材料 数码管的简介 GPIO连接 代码 演示 所需材料 笔记本电脑:通过ssh控制树莓派. 树莓派3b+:装好系统,打开ssh. 四位共阴 数 ...

  9. 大尺寸共阴数码管驱动电路

    以前做而论道曾经写过"驱动大尺寸数码管的方法与电路"的博文,链接如下: http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item ...

最新文章

  1. MySQL 到底是怎么解决幻读的?
  2. SSM中进行注解式和XML配置式事务管理
  3. 一文看懂Python的控制结构:for、while、if…都有了
  4. java定时线程池_java 定时器线程池(ScheduledThreadPoolExecutor)的实现
  5. 地图上绘制任意角度的椭圆_地图上的总椭圆
  6. php骑手轨迹_用python模拟美团外卖骑手推送请求
  7. SnapKit 源码解读(一):Extensions
  8. 十年码农的肺腑之言:“技术不是万能”
  9. ckfinder php 漏洞,编辑器漏洞
  10. 如何学习硬件设计——硬件开发实践篇
  11. 【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer
  12. 关闭Postman v5.0自动更新
  13. sonarqube8.9的pdf插件安装
  14. [日更-2019.3.31]如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编译、刷机
  15. 蒙鸟云:IDC圈一周热点集锦
  16. Vivado 2020.1 and 2020.2 错误 arm-none-eabi-ar: *.o: Invalid argument
  17. 2022年零基础自学网络安全/Web安全,看这一篇就够了
  18. 《Microduino实战》——3.5 I/O操作——现学现用
  19. STDMETHOD介绍
  20. 试题 算法训练 JAM计数法

热门文章

  1. 能耗监管系统在既有综合医院的建设与应用
  2. 线程池的getActiveCount()不准确问题
  3. [LTE] 多普勒频偏计算
  4. 软件测试报告需要包括哪些内容?测试人员收藏这份必备指南!!!
  5. D - Down the Pyramid
  6. 史上最全Android 面试题
  7. 嵌入式代码学习心得记录
  8. 蓝牙传输速率详细分析【针对蓝牙4.2】
  9. 施密特正交化的几何解释与代码实现
  10. 无理数的近似值与连分数matlab,连分数 - it610.com