⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seg.c

📁 实现51单片机的日历功能 用T2定时器作为基本时钟中断
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -