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

📄 seg7.c

📁 开发板外设接口实验(1~7)
💻 C
字号:
/*
 *	seg7.c   -  seg7 api & driver 
 *	
 *	Author: 	li ming <admin@lumit.org>
 *	Date:		2008-4-16
 *	Copyleft:	http://www.lumit.org
 */

#include "seg7.h"

/* define the relative gpio register */
#define SYSCFG      0x03FF0000
#define REFEXTCON 	(*((volatile unsigned *)(SYSCFG+0x303C)))

/* warning use a no-used address as seg7's base address */
#define SEG7_BASE		0x03fdc000 		/* necs3 0x03fdc000 - 0x03fe0000 */
#define SEG7		(*(volatile unsigned int *)(SEG7_BASE))

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
};

/* delay for about one second */
static void delay(int time)	
{
	int i, j;

	for(i = 0; i < time; i++)
		for(j = 0; j < 65536; j++)
			;
}

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

/* set hex value of low-8-bits to seg7 */
int seg7_set_value(int value)
{		
	SEG7 = value; 
		
	return 0;
}

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

int seg7_test(void)
{
	int i;	
	
	seg7_init();
	
	for(i = 0; i <= 0xf; i++)
	{
		seg7_display_num(i);
		delay(100);
	}	
	return 0;
}  

⌨️ 快捷键说明

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