23 lines
588 B
C
23 lines
588 B
C
|
#include "Seg.h"
|
|||
|
// <20><>ѡ 0 1 2 3 4 5 6 7 8 9 <20><> A
|
|||
|
unsigned char seg_dula[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff, 0x88};
|
|||
|
// λѡ
|
|||
|
unsigned char seg_wela[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
|
|||
|
void Seg_Disp(unsigned char wela, unsigned char dula, unsigned char point)
|
|||
|
{
|
|||
|
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P0 = 0xff;
|
|||
|
P2 = P2 & 0x1f | 0xe0;
|
|||
|
|
|||
|
// ѡ<><D1A1><EFBFBD><EFBFBD>ʾλ<CABE><CEBB>
|
|||
|
P0 = seg_wela[wela];
|
|||
|
P2 = P2 & 0x1f | 0xc0;
|
|||
|
P2 &= 0x1f;
|
|||
|
|
|||
|
// ѡ<><D1A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P0 = seg_dula[dula];
|
|||
|
if (point)
|
|||
|
P0 &= 0x7f;
|
|||
|
P2 = P2 & 0x1f | 0xe0;
|
|||
|
P2 &= 0x1f;
|
|||
|
}
|