#include "stc15f2k60s2.h"
#include "stdint.h"
code uint8_t tab[] = { // 0 1 2 3 4 5 6 7 8 9 null
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xFF
};
pdata uint8_t dspBuf[8] = {
10, 10, 10, 10, 10, 10, 10, 10
}; //显示缓冲区
void digitalTubeScan() {
static uint8_t index = 0;
P2 = (P2 & 0x1F) | 0xE0; //使能具体值
P0 = 0xFF; //消隐
P2 &= 0x1F; //锁存
P2 = (P2 & 0x1F) | 0xC0; //使能位选
P0 = (1 << index); //数码管选择是1有效
P2 &= 0x1F;
P2 = (P2 & 0x1F) | 0xE0; //使能具体值
P0 = tab[dspBuf[index]]; //
P2 &= 0x1F;
index = (index + 1) & 0x07;
}
CT107D digitalTube.c
最新推荐文章于 2023-03-25 12:36:01 发布