标题:
51单片机TM1637驱动程序
[打印本页]
作者:
liulu_qq
时间:
2025-1-19 09:55
标题:
51单片机TM1637驱动程序
8位单片机驱动程序
#include"TM1637.h"
#define CLK P12 //时钟
#define DIO P13 //数据
static u8 code SHUZU[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,
0x00,0x76,0x80
};
static void i2C(bit T)
{
if(T)
CLK=0,DIO=0,CLK=1;
else
CLK=1,DIO=1,DIO=0;
}
static void ACK(u8 T)
{
u8 i;
for(i=0;i<8;i++)
{
CLK=0;
if(T&(1<<i))
DIO=1;
else
DIO=0;
CLK=1;
}
i2C(1);
}
复制代码
51hei.png
(3.4 KB, 下载次数: 0)
下载附件
2025-1-19 14:51 上传
上图代码下载:
TM1637.zip
(6.17 KB, 下载次数: 0)
2025-1-19 09:52 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
jhczy
时间:
2025-1-21 09:13
static void i2C(bit T)
{
if(T)
CLK=0,DIO=0,
CLK=1;
else
CLK=1,DIO=1,
DIO=0;
}
这里不对的
作者:
joyb
时间:
2025-7-30 16:38
在C语言中,static关键字主要用于三种场景:修饰局部变量以延长生命周期、修饰全局变量/函数以限制作用域、定义静态数组参数(C99+)。
static关键字的三种核心作用
1、修饰局部变量。
存储方式:从栈区改为静态存储区,内存分配在程序启动时完成,程序结束时释放。
生命周期:从函数调用期间延长至整个程序运行周期,保留函数多次调用间的值。
初始化:仅首次执行时初始化(默认值为0),后续调用沿用上一次的值。
典型用例:记录函数调用次数、保持状态连续性(如计数器)。
2、修饰全局变量。
作用域:将原本全局可见的变量限制为仅当前文件内可访问,避免多文件项目的命名冲突。
链接属性:禁止其他文件通过extern引用,实现模块化封装。
内存分配:与普通全局变量相同,仍存储在静态区。
3、修饰函数。
作用域限制:静态函数仅能在声明它的文件内部调用,增强代码的封装性和安全性。
典型用例:辅助函数或工具函数的内部隔离,避免被外部误用。
扩展:静态数组参数(C99标准)
在函数参数中声明void func(int arr[static 10])时,static表示arr指针至少指向含10个元素的数组,辅助编译器进行边界检查和优化。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1