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

📄 key_example.c

📁 西安明朗公司开发板ML-F020ICB的全部测试代码
💻 C
字号:
/************************************************************************************
*  Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* Http:  www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: Key_Example.c
* Project  : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
* 
* Author:  李林利
* Version: 1.20
* Date:    2007.6.1
* Email:   GavinLi@126.com
* 
* Description: 本文件是数码管显示驱动和键盘扫描测试程序文件;
*
* Others: none;
*
* Function List:
*	1. void Key_Proc(void)		
*
* History:
*   1. Author:       李林利  
*	   Version: 	 1.10
*	   Date:         2007.3.12
*      Modification: none
*
*   2. Author:       李林利   
*	   Version: 	 1.00
*      Date:         2004.11.24
*      Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部头文件
#include  "..\config\Const.h"
#include  "..\driver\uart.h"
#include  "..\driver\delay.h"
#include  "..\driver\Key.h"
/************************************************************************************/

/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/

/*************************************************************************************/
//
// 							数码管显示驱动和键盘扫描测试程序函数定义
//
/*************************************************************************************/

/***********************************************************************************
* Function: Key_Proc;
*
* Description: 数码管显示驱动和键盘扫描测试程序;
*              
* Input:  none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void Key_Proc(void)
{
	unsigned char i,cmd;
	unsigned char key;

	Uart0_SendBlock("Key test starting!\n\r",20,&i);
	Key_Init();
	
	CH452_Write(CH452_DIG7 | 7);
	CH452_Write(CH452_DIG6 | 6);
	CH452_Write(CH452_DIG5 | 5);
	CH452_Write(CH452_DIG4 | 4);
	CH452_Write(CH452_DIG3 | 3);
	CH452_Write(CH452_DIG2 | 2);
	CH452_Write(CH452_DIG1 | 1);
	CH452_Write(CH452_DIG0 | 0);  // 显示字符8

	cmd = 0;
 	while(1)
	{
		cmd = 0;
		if (Uart0_GetCharsRxBuf()>0)
		{	
			Uart0_RecvChar(&cmd);
		}
        
		key = Key_Read();
		if (key!=0xff)
		{
			Uart0_SendChar(key);

			if (key == 0)
				CH452_Write(CH452_LEFTMOV);
			else if (key == 1)
				CH452_Write(CH452_LEFTCYC);
			else if (key == 2)
				CH452_Write(CH452_RIGHTMOV);
 			else if (key == 3)
				CH452_Write(CH452_RIGHTCYC);
			else if (key == 4)
				CH452_Write(CH452_TWINKLE|0xFF); //闪烁设定
			else if (key == 5)
				CH452_Write(CH452_TWINKLE|0x00); //清除闪烁

			//key = key%10;
			//CH452_Write(CH452_DIG0 | key);  // 显示字符8	
		}
    	switch (cmd)
        {
	         case 'E':
            	  Uart0_SendBlock("Key test end!\n\r",15,&i);
				  cmd = 0;
				  return;
		  	 break;

			 default:

 			 break;
		}
	}
	
}

/***********************************************************************************/
// 文件结束
/***********************************************************************************/

⌨️ 快捷键说明

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