外部中断设计实验

本实验利用89C51单片机,通过P1.0口产生1HZ信号,点亮LED,并连接到INT1进行中断计数。中断次数在两个七段数码管上以十进制显示,超过99次后自动清零重计。
摘要由CSDN通过智能技术生成
要求:进一步掌握8051外部中断的使用和编程方法,了解七段数码显示数字的原理,掌握用一个段锁存器、一个位锁存器同时显示多位数字的技术

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


#include<reg51.h>
sbit P1_0=P1^0;
sbit P1_7=P1^7;
unsigned int Count=0;
code char tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
time0() interrupt 1 using 1	 //T0中断服务
{
   P1_7=!P1_7;
   TH0=-50000/256;
   TL0=-50000%256;
}

time1() interrupt 3 using 2		  //T1中断服务
{
    P1_0=!P1_0;  // 第一次反向亮灯及输出1HZ频率(1s)
}

void Display()
{

  	 if(Count==100)
		Count=0;
     P0=tab[Count/10];
     P2=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值