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

📄 main.c

📁 电压控制程序,符合各种设备需要,核心程序,IBm专属
💻 C
字号:
//========================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//========================================================

//========================================================
//	工程名称:	ex1_Led_Show
//	功能描述:	《实验仪指导书》综合实验
//				数码管显示
//	涉及的库:	CMacro1016.lib
//	组成文件:	main.c
//              isr.asm,Dig.asm
//              Dig.inc,SPCE061A.inc
//              Dig.h,SPCE061A.h
//	硬件连接:	实验仪LED_SEG接口的IOA0~IOA7与a~h分别连接
//				LED_DIG接口的IOB2~IOB5与DIG1~4分别连接
//	维护记录:	2005-09-12	v1.0
//
//========================================================

//========================================================
//	文件名称:	main.c
//	功能描述:	数码管显示
//	维护记录:	2005-09-12	v1.0
//========================================================

#include "SPCE061A.h"
#include "Dig.h"

#define C_IRQ5_2Hz	0x0004

unsigned int g_uiFirst = 0x0000;				//用于控制1s延时
unsigned int g_uiFlag;							//用于控制数码管
unsigned int g_Data[11] = {0x0000,0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};
								   //0,		1,	  2,	 3,		 4,	    5,	  6,	 7,		8,		9
unsigned int g_uiSeg;							//段码指针

//========================================================
//	语法格式:	int main(void)
//	实现功能:	数码管显示
//	参数:		无
//	返回值:	无
//========================================================
int main(void)
{
	unsigned int Dis1[6] = {0x003f,0x003f,0x003f,0x003f};
	unsigned int uiIntStatus;
	
	uiIntStatus = *P_INT_Ctrl_New;             		//开2Hz中断
	uiIntStatus |= C_IRQ5_2Hz;
	*P_INT_Ctrl = uiIntStatus;
	
	g_uiFlag = 0x0000;								//该变量在2Hz中断当中会被修改
	g_uiSeg = 0;									//该变量在2Hz中断当中会被修改,以便及时刷新显示

	DIG_Init();										//显示初始化,同时会打开IRQ4的4KHz中断
	while(1)
	{
		if(g_uiFlag == 0x0000)                              
		{
			DIG_SetAll(Dis1);                  		 //设置数码管全部显示0
		}
		if(g_uiFlag != 0x0000)
		{
			DIG_Set(g_uiFlag,g_Data[g_uiSeg]);		//刷新6位数码管显示值
		}
		*P_Watchdog_Clear = 0x0001;
	}
}

⌨️ 快捷键说明

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