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

📄 main.c

📁 飞利浦USB D12的官方评估板固件代码
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               广州周立功单片机发展有限公司
**                                     研    究    所
**                                        产品一部 
**
**                                 http://www.zlgmcu.com
**
** 文   件   名: main.c
** 最后修改日期: 2004年11月15日
** 描        述: 用户应用程序
** 版	     本: V5.0
**********************************************************************************************************/

#include <reg52.h>
#include "D12Config.h"
#include "Descriptor.h"
#include "Chap_9.h"
#include "D12Driver.h"
#include <intrins.h>

//定义按键及LED引脚
sbit MCU_SWM0     = P1^0;				//按键
sbit MCU_SWM1     = P1^1;	
sbit MCU_LED0	  = P1^2;				//LED
sbit MCU_LED1	  = P1^3;

void check_key_LED(void);

main()
{
	INT32U cnt;
	
	//复位后LED亮
	for(cnt = 0; cnt <= 0x5000; cnt++)	//延时 
	{
		MCU_LED0 = 0;					//D2和D3点亮
 		MCU_LED1 = 0;
	}
	MCU_LED0 = 1;						//D2和D3灭
 	MCU_LED1 = 1;	
	
	if (Init_D12()!=0)					//初始化D12
		return;							//如果初始化不成功,返回

	EX0 = 1;							//开外部中断0
	PX0 = 0;							//设置外部中断0中断优先级
	EA = 1;								//开80C51总中断

	while(1)
	{
		usbserve();						//处理USB事件
		if(bEPPflags.bits.configuration)
		{
			check_key_LED();			//连接正常,调用按键和LED控制处理
		}
	}
}


/******* 下面为与D12 Smart板相关的操作 *************/

/*******************************************************************
** 函数名称: check_key_LED()
** 功能描述: 检测D12 Smart板上的按键以及控制LED
** 输	 入: 无
** 输	 出: 无
********************************************************************/
void check_key_LED(void)
{
	static unsigned char c, last_key = 0xf;

	c = MCU_SWM0 & MCU_SWM1;				//读取两个按键状态
	c &= 0x0f;

	if (c != last_key) {
		D12_WriteEndpoint(3, 1, &c);		//按键状态改变,发送信息给主机
	}

	last_key = c;							//保留按键状态

	if(bEPPflags.bits.ep1_rxdone) {
		DISABLE();							//接收到主机发来的LED控制信息
		bEPPflags.bits.ep1_rxdone = 0;
		ENABLE();
		MCU_LED0 = !(GenEpBuf[3] & 0x1);	//控制LED状态
		MCU_LED1 = !(GenEpBuf[3] & 0x2);
	}
}

⌨️ 快捷键说明

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