seg.c
来自「实现51单片机的日历功能 用T2定时器作为基本时钟中断」· C语言 代码 · 共 53 行
C
53 行
#include "seg.h"
unsigned char code segcode[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code segselect[] = {0xFE,0xFD,0xFB,0xF7,0xFF};
/****************************************
写段码数据
seg为显示数据
**************************************/
void WriteSegData(unsigned char seg)
{
if(seg>9) seg=0; //越界处理
seg=segcode[seg];
P0=seg;
_nop_();
_nop_();
P2&=0x1f; //P2.5-p2.7=000 CS0=0;
_nop_();
_nop_();
P2|=0xe0; //P2.5-P2.7=111 CS0=1; 数据锁存
}
/********************************************
写位选数据
*************************************/
void WriteCsData(unsigned char cs)
{
if(cs>4)cs=0; //越界处理
cs=segselect[cs];
P0=cs;
_nop_();
_nop_();
P2&=0x3f; //P2.5-P2.7=100 CS1=0
_nop_();
_nop_();
P2|=0xe0; //数据锁存
}
/*******************************************
写小数点
*****************************************/
void WritePoint(unsigned char i)
{
if(i > 4) i = 0;
P0 = 0x80;
_nop_();
_nop_();
P2&=0x1f;
_nop_();
_nop_();
P2|=0xe0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?