大连手机自适应网站建设软件管理软件哪个好
实现目标
1、巩固数码管、外部中断知识
2、具体实现:按键K4(INT1)每按一次,数码管从0依次递增显示至F,再按则循环显示。
一、共阳数码管
1.1 共阳数码管结构

1.2 共阳数码管码表
共阳不带小数点0-F段码为:{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
 效果如下:

二、原理图设计
器件: 数码管(共阳)7SEG-MPX1-CA、按键BUTTON

三、程序设计
#include <REGX52.H>sbit  K4   = P3^3;
unsigned int num = 0;
unsigned char seg_code[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; void Delay10ms()		//@11.0592MHz
{unsigned char i, j;i = 18;j = 235;do{while (--j);} while (--i);
}void INT1_Init(void)    //外部中断函数初始化  子程序                  
{   EA = 1;			//打开总中断开关EX1 = 1;		//打开外部中断1 IT1 = 1;		//外部中断1设为低电平触发 // 1则为下降沿触发
}void main()     //主程序  
{INT1_Init();	  //调用外部中断初始化程序,让它等待条件触发while(1)	{P2 = seg_code[num];}
}				       void INT1_int() interrupt 2	   //当按键按下,下降沿触发,满足触发条件进来执行该中断程序
{if(K4 == 0){Delay10ms();// 按下消抖if(K4 == 0){num++;if(num >15){num  = 0;}}}
} 
 
四、仿真实现

