74LS164驱动一位共阴数码管(stm32f1)
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)相关推荐
- STM32F103C8T6 I/O口驱动4位共阳数码管
STM32F103C8T6 I/O口驱动4位共阳数码管 看了网上很多的资料.很少有单独讲解STM32 I/O口直接驱动数码管的资料,有的网上还禁用了JTAG和SWD口,对很多刚入门的学者会造成不必要的 ...
- Arduino 用4位共阴数码管造一个计数器
之前已经学习过单位的数码管,现在来看看4位的数码管是如何工作的. 相对于单位的数码管, 可以看到针脚多了com1,com2,com3,com4, 但控制字符的abcdefgh针脚,仍然是只有8个, 那 ...
- 三位共阴数码管动态显示按键控制加减
用这个软件也有一两个月了,学习了很多大神的教程代码,让我飞速的进步学习了解电子科技的知识,现在我也想回报大家,慢慢写文章发布我所了解的项目的教程,尽可能写简单通俗,让大部分初学者都能看懂. 买这东东将 ...
- 树莓派控制3631AS数码管 驱动 python程序 共阴数码管|徐奥雯编写|XUAOWEN
使用方法: 新建py文件,将下面的驱动代码复制到文件中保存,命名为drive_3631as.py 连接树莓派与数码管 根据上面的引脚图的1-12号(没有6) 所连接树莓派的GPIO引脚,在刚刚新建的d ...
- 按键自加自减的c语言数码管编程,8位共阴数码管动态扫描自增自减
//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit duan=P2^2;//定义P2.2为段操作,爱设置哪个都行 sbit wei=P2^3;//定义P2.3为位操作 /*- ...
- 四位共阳极数码管显示函数_74LS164驱动4位共阳数码管代码
#include "reg52.h" #define u16 unsigned int #define u8 unsigned char sbit CLK=P2^0; sbit D ...
- c语言两位共阴数码管00,两位数码管动态显示C语言程序
#include #define uint unsigned int void delay7ms(void) //误差 -0.217013888891us { unsigned char a,b; f ...
- 【小白米日志】树莓派3b+四位共阴数码管的连接和驱动
[小白米日志]树莓派3b+四位共阴数码管的连接和驱动 所需材料 数码管的简介 GPIO连接 代码 演示 所需材料 笔记本电脑:通过ssh控制树莓派. 树莓派3b+:装好系统,打开ssh. 四位共阴 数 ...
- 大尺寸共阴数码管驱动电路
以前做而论道曾经写过"驱动大尺寸数码管的方法与电路"的博文,链接如下: http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item ...
最新文章
- MySQL 到底是怎么解决幻读的?
- SSM中进行注解式和XML配置式事务管理
- 一文看懂Python的控制结构:for、while、if…都有了
- java定时线程池_java 定时器线程池(ScheduledThreadPoolExecutor)的实现
- 地图上绘制任意角度的椭圆_地图上的总椭圆
- php骑手轨迹_用python模拟美团外卖骑手推送请求
- SnapKit 源码解读(一):Extensions
- 十年码农的肺腑之言:“技术不是万能”
- ckfinder php 漏洞,编辑器漏洞
- 如何学习硬件设计——硬件开发实践篇
- 【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer
- 关闭Postman v5.0自动更新
- sonarqube8.9的pdf插件安装
- [日更-2019.3.31]如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编译、刷机
- 蒙鸟云:IDC圈一周热点集锦
- Vivado 2020.1 and 2020.2 错误 arm-none-eabi-ar: *.o: Invalid argument
- 2022年零基础自学网络安全/Web安全,看这一篇就够了
- 《Microduino实战》——3.5 I/O操作——现学现用
- STDMETHOD介绍
- 试题 算法训练 JAM计数法