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

📄 cpld.c

📁 采用MPS430控制的项目
💻 C
字号:
#define _cpld_
#include  "..\Inc\includes.h"
/*********************************************************************************************************
* 函数名称:ctrl
*
* 功能描述:串->并,控制开关量输出
*
* 说明:
* 
********************************************************************************************************/
void ctrl(unsigned int data_595)
{
	unsigned int i;
	for(i=0; i<16; i++)
	{
		if ((data_595&0x8000)==0x8000)
			{SETSER}
		else
			{CLRSER}
		CLRSCK
		SETSCK
		CLRSCK
		data_595 <<= 1;
	}
	CLRRCK
	SETRCK
	CLRRCK
}
/*********************************************************************************************************
* 函数名称:input
*
* 功能描述:并->串,读开关量输入
*
* 说明:
* 
********************************************************************************************************/
unsigned long input(void)
{
	unsigned char i,m;
  	unsigned long k=0;
  	input_load0
  	key_delay();
  	input_load1
  	for (i=0;i<20;i++) 
  	{
    	P4DIR = P4DIR & 0xfb;  // 输入
        m = P4IN;
        if(m&0x04)
        {
        	k = k | 0x01; 
        }
        else
        {
        	k = k & 0xfffffffe;
        }
        input_clk0
        if(i!=19)	k = k << 1;
        input_clk1
	}
  	return k;
}
/*********************************************************************************************************
* 函数名称:KeyScan
*
* 功能描述:按键扫描,返回按键键值,无按键时返回值为0xFF
*
* 说明:
* 
********************************************************************************************************/
unsigned char KeyScan(void)
{
	unsigned char const KeyDM[17]={0xFF,0,11,13,13,6,7,8,9,5,10,12,12,1,2,3,4};
	unsigned long temp;
  	unsigned char key=0,i;
  	unsigned int key_ctrl = 0x0800;
  	for(i=0;i<4;i++)
  	{
    	ctrl(key_ctrl|OutStates);
    	key_delay();
    	key_delay();
    	temp=input();
    	if(temp&0x10000)      key=i+13;
    	if(temp&0x20000)      key=i+9;
	    if(temp&0x40000)      key=i+5;
	    if(temp&0x80000)      key=i+1;
	    key_ctrl = key_ctrl>>1;
	}
	return KeyDM[key];
}

⌨️ 快捷键说明

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