update template
This commit is contained in:
parent
65506312ea
commit
8cb4b208be
@ -2,19 +2,58 @@
|
|||||||
|
|
||||||
## 修改后使用
|
## 修改后使用
|
||||||
|
|
||||||
### 按键消抖
|
### 数码管
|
||||||
```c
|
```c
|
||||||
if(key == 0)
|
//数码管初始化参数
|
||||||
|
uint8_t Seg_Pos = 0;
|
||||||
|
uint16_t Seg_Slow_Down = 0;
|
||||||
|
uint8_t Seg_Point[8] = {0,0,0,0,0,0,0,0};
|
||||||
|
uint8_t Seg_Buf[8] = {10,10,10,10,10,10,10,10};
|
||||||
|
uint8_t Seg_Char[12] =
|
||||||
{
|
{
|
||||||
Delay(10);
|
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40 //共阴 0-9,全灭 和 -
|
||||||
if(key ==0 )
|
//0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xB0 //共阳 0-9,全灭 和 -
|
||||||
{
|
};
|
||||||
if(num >= 996)
|
|
||||||
num=0;
|
//数码管处理部分
|
||||||
else
|
void Seg_Disp(uint8_t Wela, uint8_t Dula, uint8_t IsPoint)
|
||||||
num++;
|
{
|
||||||
while(!key);
|
//小数点设置,需根据实际情况进行更改;下面适用于共阴极数码管
|
||||||
}
|
uint8_t seg_data = Seg_Char[Dula];
|
||||||
|
if(IsPoint)
|
||||||
|
seg_data |= 0x80; // 设置小数点
|
||||||
|
else
|
||||||
|
seg_data &= 0x7F; // 清除小数点
|
||||||
|
|
||||||
|
HAL_I2C_Mem_Write(&hi2c1,SEG_ADDR,0x10+Wela, 1, &seg_data, 1, 100);//用在mp157开发板中
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//显示修改部分 ,使用主函数调用
|
||||||
|
void Seg_Proc()
|
||||||
|
{
|
||||||
|
if(Seg_Slow_Down) return;
|
||||||
|
Seg_Slow_Down = 1;
|
||||||
|
|
||||||
|
//熄灭就是10
|
||||||
|
Seg_Buf[0] = changeme;
|
||||||
|
Seg_Buf[1] = 10;
|
||||||
|
Seg_Buf[2] = 10;
|
||||||
|
Seg_Buf[3] = 10;
|
||||||
|
Seg_Buf[4] = 10;
|
||||||
|
Seg_Buf[5] = 10;
|
||||||
|
Seg_Buf[6] = 10;
|
||||||
|
Seg_Buf[7] = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
//定时器(1ms)中写以下代码
|
||||||
|
if(++Seg_Slow_Down == 500) Seg_Slow_Down = 0; // 数码管处理慢速定时器
|
||||||
|
|
||||||
|
Seg_Pos++;
|
||||||
|
if(Seg_Pos >= 8) Seg_Pos = 0;
|
||||||
|
Seg_Disp(Seg_Pos, Seg_Buf[Seg_Pos], Seg_Point[Seg_Pos]); // 数码管显示处理
|
||||||
|
```
|
||||||
|
|
||||||
|
### 按键扫描及消抖
|
||||||
|
```c
|
||||||
|
|
||||||
```
|
```
|
Loading…
Reference in New Issue
Block a user