OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4787|回复: 4

STM32 驱动两片595控制8位数码管

[复制链接]

3

主题

12

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-9-10
在线时间
7 小时
发表于 2016-9-10 20:40:34 | 显示全部楼层 |阅读模式
本帖最后由 wuxixiaoli 于 2016-9-10 20:42 编辑

从网上买的8为数码管,两片595芯片驱动的。网上都是51的程序,STM32的程序在家搞了半天,终于搞出来了,图片和附件。希望对大家有帮助。注意是固定的显示01234567,大家运用可以改程序动态显示数据的。

#include "delay.h"
#include "sys.h"
#include "smg.h"
#include "led.h"


void date_in(u8 temp)
{
        u8 i;
        for(i=0;i<8;i++)
         {
                  SCK=0;
                  if((temp&0x80) == 0x80)                                                
                  {
                          SI =1; //′&#174;DDêy&#190;Yê&#228;3&#246;
                  }
                  else
                  {
                          SI = 0;
                  }
                  temp<<=1;
                        SCK=1; //ò&#198;&#206;&#187;ê&#228;è&#235;ê±&#214;ó£&#172;é&#207;éy&#209;&#216;ê&#228;è&#235;
             delay_us(3);
                 SCK=0;
}
}
void date_out(void)
         {
         RCK=0; //2¢DDê&#228;3&#246;ê±&#214;ó
         delay_us(10);        
         RCK=1;
         delay_us(10);        
         RCK=0;
        
}


**************************************************************************************
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "smg.h"
unsigned char duan[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
u8 i;
//unsigned char duan[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
unsigned char wei[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
int main(void)
{        
        delay_init();                     //&#209;óê±oˉêy3&#245;ê&#188;&#187;ˉ         
        LED_Init();                          //3&#245;ê&#188;&#187;ˉó&#235;LEDá&#172;&#189;óμ&#196;ó2&#188;t&#189;ó&#191;ú
         while(1)
   {         
           for(i=0;i<8;i++)               
                  {
                          date_in(wei);
                          date_in(duan);
                          date_out();
                          delay_us(2000);
                    PE2=!PE2;
                  }
   }        
}


QQ截图20160910202906.png
QQ截图20160910203347.png
QQ截图20160910204232.png

实验1595串行8位数码管.zip

2 MB, 下载次数: 735

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2015-8-26
在线时间
20 小时
发表于 2016-10-24 23:52:07 | 显示全部楼层
学以致用!
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-3-3
在线时间
8 小时
发表于 2016-10-25 17:35:37 | 显示全部楼层
做动态显示时有没有发现1最亮8最暗?好像图片上1和7亮度都亮一些,我现在就遇到这个问题不知道怎么解决估计是刷新的问题
回复 支持 反对

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-1-8
在线时间
2 小时
发表于 2017-3-2 21:30:03 | 显示全部楼层
pe2是要接到数码管的那个引脚么还是怎样
回复 支持 反对

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
发表于 2017-3-21 14:32:05 | 显示全部楼层
zengyaolong 发表于 2016-10-25 17:35
做动态显示时有没有发现1最亮8最暗?好像图片上1和7亮度都亮一些,我现在就遇到这个问题不知道怎么解决估计 ...

是芯片输出电流不够的原因。。。。。。。。7 1和只需要输出2路电流,而到8 时候需要输出7路电流,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-25 03:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表