/*******************************************************************************
* 标题: 试验数码管上显示外部中断计数 *
* *
* 连接方法:JP10 (P0)与J12 JP9(P3)与JP5 用8PIN排线连接 *
P3.2和P3.3外部中断输入 由两个四位数码管分别显示计数 *
注意:P3.2接红外接收头,请把J1断开,以免影响P3.2中断效果 *
********************************************************************************
* *
* 请学员认真消化本例程,用单片机脚直接控制数码管和外部中断使用 *
********************************************************************************/
#include < reg51.h >
#include <intrins.h>
sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
unsigned int LedNumVal_1,LedNumVal_2,LedOut[8];
//此表为 LED 的字模, 共阴数码管 0-9 -
unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
void delay(unsigned int i)
{
char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}
void main(void)
{ unsigned char i;
P0=0xff;
P1=0xff;
P2=0xff;
//IT0=0; //低电平触发
IT0=1; //下降沿触发
EX0=1;
//IT1=0; //低电平触发
IT1=1; //下降沿触发
EX1=1;
EA=1;
while(1)
{
LedOut[0]=Disp_Tab[LedNumVal_1%10000/1000];
LedOut[1]=Disp_Tab[LedNumVal_1%1000/100]|0x80; //0x7f小数点
LedOut[2]=Disp_Tab[LedNumVal_1%100/10];
LedOut[3]=Disp_Tab[LedNumVal_1%10];
LedOut[4]=Disp_Tab[LedNumVal_2%10000/1000];
LedOut[5]=Disp_Tab[LedNumVal_2%1000/100];
LedOut[6]=Disp_Tab[LedNumVal_2%100/10];
LedOut[7]=Disp_Tab[LedNumVal_2%10];
for( i=0; i<8; i++)
{ P0 = LedOut[i];
switch(i)
{
case 0:LS138A=0; LS138B=0; LS138C=0; break;
case 1:LS138A=1; LS138B=0; LS138C=0; break;
case 2:LS138A=0; LS138B=1; LS138C=0; break;
case 3:LS138A=1; LS138B=1; LS138C=0; break;
case 4:LS138A=0; LS138B=0; LS138C=1; break;
case 5:LS138A=1; LS138B=0; LS138C=1; break;
case 6:LS138A=0; LS138B=1; LS138C=1; break;
case 7:LS138A=1; LS138B=1; LS138C=1; break;
}
delay(150);
}
}
}
/********************************************************
* INT0中断函数 *
********************************************************/
void counter0(void) interrupt 0 using 1
{
EX0=0; //按键接地
LedNumVal_1++;
EX0=1;
}
/********************************************************
* INT1中断函数 *
********************************************************/
void counter1(void) interrupt 2 using 2
{
EX1=0; //按键接地
LedNumVal_2++;
EX1=1;
}
/********************************************************/
没有合适的资源?快使用搜索试试~ 我知道了~
INT0PINT1.zip_IINTF0
共21个文件
bak:5个
lst:2个
obj:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 36 浏览量
2022-09-20
20:21:53
上传
评论
收藏 1.6MB ZIP 举报
温馨提示
INTO和INT1中断,按键使数码管增值
资源推荐
资源详情
资源评论
收起资源包目录
INT0PINT1.zip (21个子文件)
INT0+INT1
接线图.bmp 3MB
C
int0+int1.uvproj 13KB
int0+int1_uvopt.bak 55KB
INT0+INT1.C 3KB
int0+int1_Opt.Bak 1KB
int0+int1 5KB
int0+int1.opt.bak 1KB
int0+int1.M51 7KB
STARTUP.LST 11KB
int0+int1.plg 2KB
int0+int1_Uv2.Bak 0B
int0+int1.Uv2.bak 2KB
INT0+INT1.__i 39B
STARTUP.A51 5KB
int0+int1.hex 2KB
int0+int1.lnp 66B
STARTUP.OBJ 758B
int0+int1.uvopt 55KB
INT0+INT1.OBJ 5KB
INT0+INT1.LST 6KB
接线图.JPG 137KB
共 21 条
- 1
资源评论
weixin_42651887
- 粉丝: 80
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功