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

📄 keypwm.c.100828172714

📁 avr基础程序大全
💻 100828172714
字号:
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
 
uchar const  table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
		           0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x80};
uchar const LED_W[8] = {0,1,2,3,4,5,6,7};	
uchar key_valu=0,l=0;					   
void delay(uint ms)
{
        uint i,j;
	for(i=0;i<ms;i++)
	   {
	   for(j=0;j<1141;j++);
       }
}
void show(uchar j,uchar k)
{
        PORTA = table[j];		 // i 值的 个位数
		PORTC = LED_W[k];		 //点亮第一位数码管
		
		delay(2);
	
}

uchar key_press()
{
    uchar j;
    DDRD|=0X1c;
	PORTD|=0X1c;
	
	DDRD&=0Xe3;
	
	j=PIND;
	j=j&0X1c;//00001111
	if(j==0X1c)
	{
	  return 0;
	}
	else
	{
	 return 1;
	}
	
}

uchar key_scan()
{
    uchar key;
    delay(10);
	if(key_press())
	{
	key=PIND;
	key&=0X1c;
	switch(key)
	{
	   
	   case 0X18:
	   		 OCR1B=31;
	       key_valu=5;
		  
		   break;
	   	 case 0X0c: 
		 	  OCR1B=62;
	       key_valu=10;
		   break;
	   case 0X14:
	   		OCR1B=93; 
	       key_valu=15;
		   
			break;
	  // default:	
	   //    key_valu=0;     	   
	}
	  while(key_press());
	}
	else
	{
	  key=16;
	}
	return key_valu;
}
void main()
{
    uchar i=0;
    DDRA=0xff;
	DDRB=0XFF;
	
	 DDRD|=0X30;
	
	TCCR1A=0X63;
	TCCR1B=0X13;
	
	OCR1A=1249;
	OCR1B=31;
	
	
	while(1)
	{
	  i=key_press();
	  if(i)
	  {
	     l=key_scan();
		 //show(l/10,1);
		//show(l%10,0);
	  }
	  
	   	//show(l/10,7);
		
		show(16,7);
		
		show(l%10,6);
		
	}
}

⌨️ 快捷键说明

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