STM32数码管实验(共阴极)

八段数码管(共阴极)实验

原理图

在这里插入图片描述

74LS595芯片介绍

QA--QH 八位并行输出端,可以直接控制数码管的8个段
SER 串行数据输入端。
SRCLR(10脚) 低点平时将移位寄存器的数据清零。通常将它接Vcc。
SCK(11脚) 上升沿时移位寄存器的数据移位。下降沿数据不变
RCK(12脚) 上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时
存储寄存器数据不变。

具体代码

//0----F
uint8_t Seg7[17] = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; 
int SEG_DisplayValue(u8 Bit1,  u8 Bit2, u8 Bit3)
{
	u8 i = 0;	//
	u8 code_tmp = 0;
	int arr[8];
	double j =7;
	code_tmp = Seg7[Bit3];
	for(i=0;i<8;i++){
		//当为1时
		if(code_tmp & 0x80){
			SER_H;			
		}else{ //为0时
			SER_L;		
		}
		//上升沿移位
		SCK_H;
		code_tmp = code_tmp << 1;   
		//拉低为下次上升沿做准备
		SCK_L;
	}
	
	code_tmp = Seg7[Bit2];
	for(i=0;i<8;i++){

		if(code_tmp & 0x80){
			SER_H;
		}else{
			SER_L;
		}
		SCK_H;
		code_tmp = code_tmp << 1;   
		SCK_L;
	}	
	
	code_tmp = Seg7[Bit1];
	for(i=0;i<8;i++){

		if(code_tmp & 0x80){
			SER_H;
		}else{
			SER_L;
		}
		SCK_H;
		code_tmp = code_tmp << 1;   
		SCK_L;
	}
	//上升沿准备数码管的显示		
	RCLK_H;
	RCLK_L;
	return 0;
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值