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

📄 test.c

📁 单片机学习例子(按键中断)  适合初学者使用
💻 C
字号:
/************************* *********** 程序功能 ********************************************
                    由按键产生,对中断次数从0到9进行计数,同时在数码管上显示
********************************************************************************************/
#include<reg52.h>
sbit s1 = P2^0;
sbit s2 = P2^1;
sbit s3 = P2^2;
sbit s4 = P2^3;
sbit en = P2^5;
sbit lcd_e=P2^7;

int dispcount = 0;

void Delay(int m)
{
	while(--m);
}

void ext_int0() interrupt 0    //中断服务程序
{  
	EA = 0;
	Delay(4000);
	dispcount++;	          //每按一次中断按键,计数加一
    if(dispcount==10)     
  		dispcount=0;
	EA = 1;
}

void display(void)            //数码管显示函数
{
	s1 = 0;
	s2 = 0;
	s3 = 0;
	s4 = 0;
	en = 1;
	switch(dispcount)
	{							
		case 0:
			P0 = 0xC0; 		  	 //display  0	     
			break;
		case 1:
			P0 = 0xF9;        	 //display  1
			break;
		case 2:	
			P0 = 0xA4;	
			Delay(60000);     	 //display  2
			break;
		case 3:
			P0 = 0xB0;        	 //display  3	      
			break;
		case 4:
			P0 = 0x99;	       	//display  4
			break;
		case 5:
			P0 = 0x92;          //display  5
			break;
		case 6:
			P0 = 0x82;        	//display  6
			break;
		case 7:
			P0 = 0xF8;			//display  7
			break;
		case 8:
			P0 = 0x80;         //display  8
			break;
		case 9:
			P0 = 0x90;         //display  9
			break;
		default:
			P0 = 0x88;         //display  a 
			break;
	}
}
void main()
{
	TCON=0x01;  //中断设置
	IE=0x81;
	lcd_e=0;
	while(1)   //循环执行
 	{
    	display();     //只须调用显示函数
    }
}

⌨️ 快捷键说明

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