zz02_keycounter.c

来自「《dsPIC通用数字信号控制器原理及应用》源码」· C语言 代码 · 共 37 行

C
37
字号
/*********************************************************
** 功能描述: 按键记数程序,对S1的按键次数,以二进制显示在16个LED上 **
*********************************************************/
#include "p30f6014.h"
int failmemory[40];

int main()
{
	INTCON1=0x0000;	
	INTCON2=0x0000;			      //关闭所有中断 	
    unsigned int led = 0x0000;
	unsigned long int i = 0; 
	while(1)
	{	
        TRISD = TRISD&0xffff; //将RD8-RD15配置为输入,D0~D7		
		TRISD = 0xfff8;	      //RD0-RD2配置为输出,作138译码
        PORTD = PORTD&0xfff8; //选中KEYA
        if ((PORTD&0xff00)==0xfe00)   //查询S1是否按下
		{
			for (i=0;i<10;i++){}        //延时消抖
			if ((PORTD&0xff00)==0xfe00)
				 led = led+1;
            while ((PORTD&0xff00)==0xfe00)
			{
				for (i=0;i<10;i++){}
			}			
		}
		PORTD = (PORTD&0xfff8)|0x0002;	//选中LEDA
		TRISD = TRISD&0x00ff; //将RD8-RD15配置为输出,D0~D7
        PORTD = (PORTD&0x00ff)|((~(led<<8))&0xff00);
        PORTD = (PORTD&0xfff8)|0x0003;	//选中LEDB	
        PORTD = (PORTD&0x00ff)|((~led)&0xff00);
        PORTD = (PORTD&0xfff8)|0x0007;
	}
	return 0;
}

⌨️ 快捷键说明

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