你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

#模块驱动例程#1.战舰以及战舰MINI板驱动TM1637数码模块

[复制链接]
秋水之下 发布时间:2015-11-27 10:28
本帖为密码帖 ,请输入密码 
收藏 2 评论25 发布时间:2015-11-27 10:28

举报

25个回答
秋水之下 回答时间:2015-11-27 10:34:03
一些附件分享 000.jpg 6666.jpg
4位0.36寸共阳数码管(带时钟点、不带小数点)引脚图-请忽略图中尺寸.jpg.jpg

TM系列集成电路产品手册(第二版).pdf

下载

4.75 MB, 下载次数: 108

数码管驱动芯片规格书-TM1637_V2[1].1.pdf

下载

411.9 KB, 下载次数: 102

4-Digit Display v0.9b原理图.pdf

下载

76.31 KB, 下载次数: 92

秋水之下 回答时间:2015-11-27 10:37:51
例程两个一个基于正点原子新战舰,一个基于战舰MINI。

新战舰拓展实验1_TM1637_数码管控制.rar

下载

2.14 MB, 下载次数: 599

ALIENTEK MINISTM32 _TEST1_ TM1637.rar

下载

2 MB, 下载次数: 373

秋水之下 回答时间:2015-11-27 10:41:06
/******************************Copyright (c)***********************************
*                Jiangsu Zhihai Electronic Technology Co., Ltd.
*                      Research & Development Department
*
*                                                                                                        www.smarthealth-tech.com
*
-------------------------------------------------------------------------------
* @file    TM1637.h
* @author  GU DONGDONG
* @date    2015-11-25  
*******************************************************************************/
#include "TM1637.h"
#include "delay.h"
/** Write multiple bits in an 8-bit device register.
* @param slaveAddr I2C slave device address
* @param regAddr Register regAddr to write to
* @param bitStart First bit position to write (0-7)
* @param length Number of bits to write (not more than 8)
* @param data Right-aligned value to write
*/
void TM1637_Delay_us(unsigned  int Nus)
{
for(;Nus>0;Nus--)
        {
          __nop();
                 __nop();
                __nop();
                __nop();
                __nop();
                __nop();
                __nop();
                __nop();
                __nop();
                __nop();
                __nop();
        }
}
//#define TM1637_CLK_Low()    GPIO_ResetBits(GPIOC,GPIO_Pin_2)   
//#define TM1637_CLK_High()   GPIO_SetBits(GPIOC,GPIO_Pin_2)
//#define TM1637_DIO_Low()    GPIO_ResetBits(GPIOC,GPIO_Pin_3)   
//#define TM1637_DIO_High()   GPIO_SetBits(GPIOC,GPIO_Pin_3)
void TM1637_Start(void)
{
        TM1637_DIO_OUT();
  TM1637_CLK = 1;
        TM1637_DIO = 1;
        delay_us(2);
        TM1637_DIO = 0;
}
void TM1637_Ack(void)
{
        TM1637_DIO_IN();
  TM1637_CLK = 0;
        TM1637_Delay_us(5);
        while(TM1637_READ_DIO);
        TM1637_CLK = 1;
        delay_us(2);
        TM1637_CLK = 0;
}
void TM1637_Stop(void)
{
        TM1637_DIO_OUT();
        TM1637_CLK = 0;
        delay_us(2);
        TM1637_DIO = 0;
        delay_us(2);
        TM1637_CLK = 1;
        delay_us(2);
        TM1637_DIO = 1;
}
void TM1637_WriteByte(unsigned char oneByte)
{
unsigned char i;
        TM1637_DIO_OUT();
        for(i=0;i<8;i++)
        {
         TM1637_CLK = 0;
                if(oneByte&0x01)
                {
                        TM1637_DIO = 1;
                }
                else
                {
                        TM1637_DIO = 0;
                }
                delay_us(3);
                oneByte=oneByte>>1;
                TM1637_CLK = 1;
                delay_us(3);
        }
}

unsigned char TM1637_ScanKey(void)
{
        unsigned char reKey,i;
        TM1637_Start();
        TM1637_WriteByte(0x42);
        TM1637_Ack();
        TM1637_DIO = 1;
        TM1637_DIO_IN();
        for(i=0;i<8;i++)
        {
          TM1637_CLK = 0;
                reKey=reKey>>1;
                delay_us(30);
                TM1637_CLK = 1;
                if(TM1637_READ_DIO)
                {
                  reKey=reKey|0x80;
                }
                else
                {
                  reKey=reKey|0x00;
                }
                delay_us(30);
        }
  TM1637_Ack();
        TM1637_Stop();
        return(reKey);
}
void TM1637_NixieTubeDisplay(void)
{
        unsigned char i;
        TM1637_Start();
        TM1637_WriteByte(0x40);
        TM1637_Ack();
        TM1637_Stop();
        TM1637_Start();
        TM1637_WriteByte(0xC0);
        TM1637_Ack();
               
        for(i=0;i<6;i++)
        {
                TM1637_WriteByte(0xff);
                TM1637_Ack();
        }
        TM1637_Stop();
        TM1637_Start();
        TM1637_WriteByte(0x8f);
        TM1637_Ack();
        TM1637_Stop();
}

void TM1637_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
       
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);         
       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;                                  
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         
GPIO_Init(GPIOC, &GPIO_InitStructure);                                          

}

/******************************Copyright (c)***********************************
*                Jiangsu Zhihai Electronic Technology Co., Ltd.
*                      Research & Development Department
*
*                                                                                                        www.smarthealth-tech.com
*
-------------------------------------------------------------------------------
* @file    TM1637.h
* @author  GU DONGDONG
* @date    2015-11-25  
*******************************************************************************/
#ifndef TM1637_H
#define TM1637_H

#include "sys.h"

#define TM1637_CLK           PCout(2)  
#define TM1637_DIO           PCout(3)  
#define TM1637_READ_DIO      PCin(3)

//IO方向设置
#define TM1637_DIO_IN()     {GPIOC->CRL&=0XFFFF0FFF;GPIOC->CRL|=8<<12;}
#define TM1637_DIO_OUT()    {GPIOC->CRL&=0XFFFF0FFF;GPIOC->CRL|=3<<12;}


void TM1637_Delay_us(unsigned  int Nus);
void TM1637_Start(void);
void TM1637_Ack(void);
void TM1637_Stop(void);
void TM1637_WriteByte(unsigned char oneByte);
unsigned char TM1637_ScanKey(void);
void TM1637_NixieTubeDisplay(void);

void TM1637_Init(void);
void TM1637LED_Init(void);

#endif



秋水之下 回答时间:2015-11-27 10:45:48
模块图。。。

1

1

11

11
奋斗逼 回答时间:2015-11-27 10:47:39
感谢分享
秋水之下 回答时间:2015-11-27 10:51:38

以后陆续把出了正点原配以外的一些模块驱动列出来
射阳河 回答时间:2015-11-27 11:06:27
:l谢谢分享正需要
dsjsjf 回答时间:2015-11-27 18:38:48
还要密码?
风子 回答时间:2015-11-27 21:35:48
密码是什么鬼
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版