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

📄 seg7_api.c

📁 嵌入式开发试验:七段数码管实验
💻 C
字号:
/*
 *	seg7_api.c   -  seg7 api ( user-level )
 *	
 *	Author: 	li ming <admin@lumit.org>
 *	Date:		2005-6-11
 *	Copyleft:	http://www.lumit.org
 */
 
#include "seg7_api.h"

static unsigned int numeric_display [] = 
{
	DISP_0,		//  0
	DISP_1,
	DISP_2,
	DISP_3,
	DISP_4,
	DISP_5,
	DISP_6,
	DISP_7,
	DISP_8,
	DISP_9,
	DISP_A,
	DISP_B,
	DISP_C,
	DISP_D,
	DISP_E,
	DISP_F,		// 15
};


/* set seg7 related gpio */
int seg7_init( void )
{
	seg7_open();
	return 0;
}

/* set hex value of low-8-bits to seg7 */
int seg7_set_value( int value )
{
	char buf[SEG7_NUM];
	int i = 0;

	// set the i bit value to buf[i]
	for( i = 0; i < SEG7_NUM; i++ )
		buf[i] = (value & (1 << i)) ? 1 : 0 ;
	
	// call 
	seg7_write( buf, SEG7_NUM );
		
	return 0;
}

/* display a hex number on seg7 */
int seg7_display_num( int num )
{
	seg7_set_value( numeric_display[num] );
	return 0;
}

/* display a user-defined code on seg7, like '_' */
int seg7_display( int value )
{
	seg7_set_value( value );
	return 0;
}

/* test seg7 api */
int seg7_test( void )
{	
	int i = 0;
	
	seg7_init();
		
	seg7_set_value( 0xff );
	seg7_set_value( 0x00 );
	
	for( i = 0; i <= 0x0F; i++ )
		seg7_display_num( i );
		
	seg7_display( DISP_ALL_ON );
	seg7_display( DISP_ALL_OFF );
	seg7_display( DISP_ROW_3 );
	seg7_display( DISP_COL_2 );
	
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -