Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例

您所在的位置:网站首页 tm1637电路 Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例

Arduino 数码管 硬件 4位数码管 TM1637驱动芯片 库文件 示例

2024-03-25 09:18| 来源: 网络整理| 查看: 265

4位数码管:这里用的是TM1637驱动的数码管

备注:此章节会用到库的概念和内容。

该模块有四个引脚,意义如下:

GND:电源负极

VCC:电源正极,+5V

 DIO:数据IO模块,可以接任意的数字引脚

CLK:时钟引脚,可以接任意的数字引脚。

该库提供了一个名为TM1637的类,

类中包含一个构造函数,形式为

TM1637(uint8_t Clk, uint8_t Data),

第一个参数指定时钟引脚,第二个参数指定数据引脚,这两个引脚都是数字引脚。

 

TM1673库 代码示例:

1 /* 2   //!初始化一个TM1637对象,设置时钟和数据引脚。 3   //!@参数 pinclk -数字引脚连接到模块的时钟引脚数 4   //!@参数 pindio -数字引脚连接到模块的DIO引脚数 5   -------------------------------------------------------------------------------------------------- 6    void BL(uint8_t brightness); 7   // 设置显示的亮度。 8   // @param brightness -从0-7级亮度,运行默认为3级亮度 9 -------------------------------------------------------------------------------------------------- 10    void setSegments(const uint8_t segments[], uint8_t length = 4, uint8_t pos = 0); 11   //!在模块上显示任意数据 12   //!此功能接收原始段值作为输入,并显示它们。数据段作为一个字节数组,每个字节对应一个数字。在每个字节0维是段A,1维是段B等。 13   //!@param segments 显示的4维数组 14   //! @param length 设置显示的数字的数量。用户必须确保显示的数字符合要求的数字(例如,如果两个数字被显示,数字必须在0到99之间,大于99则只显示个位与十位两位) 15   //! @param pos 第一个数字位置 0-3,0最左,3最右(例如,123这个数,Pos=0,1显示在最在边;POS=1,1显示在左边第二个;POS=3,1显示在第四位)// 16    -------------------------------------------------------------------------------------------------- 17    void Num(int num, bool leading_zero = false, uint8_t length = 4, uint8_t pos = 0); 18   //! 显示十进制数字 19   //! @param leading_zero 为真是,前面的填充0 20   //! @param length 设置显示的数字的数量。用户必须确保显示的数字符合要求的数字(例如,如果两个数字被显示,数字必须在0到99之间,大于99则只显示个位与十位两位) 21   //! @param pos 第一个数字位置 0-3,0最左,3最右(例如,123这个数,Pos=0,1显示在最在边;POS=1,1显示在左边第二个;POS=3,1显示在第四位) 22    -------------------------------------------------------------------------------------------------- 23   uint8_t encodeDigit(uint8_t digit); 24   //! 将一个数字转换成7段代码! 25   //! 该方法在0 - 15之间接受一个数字,并将其转换为显示在7段显示上的数字所需的代码。 数字之间10-15转换为十六进制数字(A-F)! 26   //! @param digit 数字0-15 27   //! @return 返回代码表示数字7段图像(LSB段;位6段G;7位总为零) 28 ------------------------------------------------------------------------------------------------- 29   void DNum(uint8_t num1,uint8_t num2,bool piont =true); 30 //! 显示两组数字 31 //! @param num1 0-99,大于99点显示十位及个位,显示在左边两位 32 //! @param num2 0-99,大于99点显示十位及个位,显示在右边两位 33 //! @param piont 是否显示中间两点 34 -------------------------------------------------------------------------------------------------- 35    void show(bool BS); 36   //!是否显示 37 //! @param BS 为真显示,否则不显示 38 -------------------------------------------------------------------------------------------------- 39 void cls(); 40 清除所有显示的数据 41 */ 42 43 #include 44 // 配置引脚 45 #define CLK 2 46 #define DIO 3 47 48 //延时时间 49 #define TEST_DELAY   2000 50 51 TM1637 TM(CLK, DIO); 52 53 void setup() 54 { 55 } 56 57 void loop() 58 { 59  int k=123; 60   bool ZD; 61   TM.cls();//清除 62   //显示1位数,位置从第0位到每3位 63   for(int i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3