您的位置:首页 > 其它

外部中断设计实验

2015-12-22 13:25 274 查看
外部中断设计实验

姓名:许瀚博

学号:20132100089

班级:嵌入式3

指导老师:谭琦

课程名称:单片机实验

时间:2015.12.5

一、 实验内容

通过P1.0端口以1HZ的频率输出信号,使用该信号点亮一个LED指示灯,并将信号接入到INT1,统计中断的次数。将中断的次数通过两个七段数码管采用十进制显示出来。当超过99次后,清零并重新计数。

二、 实验目的

进一步掌握8051外部中断的使用和编程方法

了解七段数码显示数字的原理,掌握用一个段锁存器、一个位锁存器同时显示多位数字的技术

三、 实验设备

DELL台式机 + proteus版本6 + keilC51版本7

四、 实验电路图(可打印)



五、 程序流程图



六、程序源码(可打印)

#include<reg51.h>

sbit P1_0=P1^0;

//数码管显示

unsigned char numcode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char num=0;

void int2() interrupt 2//中断控制,2号中断方式

{

num++;

if(num==100)//计数到100则归零

num=0;

P0=numcode[num/10];//十位数

P2=numcode[num%10];//个位数

}

void main()

{

int i=0;

P0=numcode[0];

P2=numcode[0];

P1_0=0;

IT1=1;

EX1=1;

EA=1;

TH0=0x3c;

TL0=0xb0;

TMOD=0x01;

TR0=1;

while(1)

{

if(TF0==1)

{

TL0=0xb0;//计数初值

TH0=0x3c;

TF0=0;

i++;

if(i==10)//进位

{

P1_0=!P1_0;

i=0;

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: