基于Proteus仿真51单片机外部中断实验

一、实验目的 
1.进一步熟悉利用 PROTEUS、Keil uVision5 等软件的使用方法。 
2.理解单片机的中断、中断优先级原理及中断过程,掌握中断服务子程序的编写方法。
 
3.熟悉数码管的显示原理。 
二、实验任务 1.基本任务 
已知单片机的 P0 口接了一位七段数码管,当无外部中断(外部中断 0)时,数码
管按 a~g 段依次点亮,不断循环显示;当有外部中断(按钮被按下,P3.2 有下降沿电
压)时,数码管显示状态改为“8”亮灭闪烁显示,亮灭闪烁显示 8 次后,返回主程序
继续按段顺序点亮。请在 Proteus 中画出电路原理图,并编写程序仿真实现上述功能。 
2.拓展任务(若未做,则实验报告也无需体现,以保证实验视频和实验 报告的一致性!)
 
在以上基本任务的基础上,加入一个声光报警器和外部中断 1,当有外部中断 1 时,
系统会产生声光报警。假设外部中断 1 的优先级高于外部中断 0。请在 Proteus 中画出
电路原理图,并编写程序仿真实现上述功能。 


 

#include "stc15.h"  //单片机头文件
#include "intrins.h"  //延时函数左右移函数头文件
unsigned char i;  //定义字符i
void Delay1000ms()		//@11.0592MHz 1000ms延时函数
{
	unsigned char i, j, k;

	_nop_();
	_nop_();
	i = 43;
	j = 6;
	k = 203;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
void main()
{ 
	P0=0x00; //单片机自启动时为高电平,需先对P0端置0
	IE0=0;  //防止启动时自动进行一次中断
	IE1=0;  //防止启动时自动进行一次中断
	P0M0=0x00;  //准双向口配置
	P0M1=0x00;  //准双向口配置
	EA=1;  //全局中断使能位使能
	EX0=1;  //外部中断位0中断位使能
	EX1=1;  //外部中断位1中断位使能
	IT0=1; //设置中断0为下降沿触发
	IT1=1;  //设置中断1为下降沿触发
	PX0=0;  //外部中断源0低优先级
	PX1=1;  //外部中断源1高优先级
		while(1)  //死循环
	{
		for(i=0;i<7;i++)  //循环7次使a~g依次点亮
		{    
			Delay1000ms();
		P0=_crol_(0x01,i); //左移函数从0x01开始左移循环7次
		}
	}
}
void INT0_ISR(void) interrupt 0  //外部中断源0的中断服务函数
{   
   Delay1000ms();  //消抖
	 for(i=0;i<8;i++)   //亮灭循环8次
	{
		P0 = 0x7f;  //配置字形8的段码为7f
		Delay1000ms();
		P0 = 0x00;   //使字形8熄灭
		Delay1000ms();
	}
}
void INT1_ISR(void) interrupt 2  //外部中断源1的中断服务函数
{   
	 Delay1000ms();  //消抖
	{
		P07 = 1;  //配置P07端口使声光报警启动
		Delay1000ms();
	}
}


 

  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
标题:mcs 51单片机 proteus 仿真实用实例大全 例子集合,含汇编代码keil工程和proteus工程 mcs 51单片机 proteus 仿真 例子集合,代码为网上收集 PROTEUS 在 MCS-51 上应用实例 PROTEUS 在 MCS-51 应用例子 绝对经典,绝对通过,仿真正常,可用,亲测 单片机仿真例子源码 单片机汇编源码例子 source code for mcs 51 mcu mcs 51 汇编仿真例子集合 proteus 仿真大全, 100多个基于51单片机的汇编语言汇编c51 proteus 仿真例子 mcu simulate 1.流水灯 仿真 2.开关灯 仿真 3.51驱动74ls系列例子 4.单片机 74ls245 5.单片机驱动喇叭例子,单片机驱动喇叭或蜂鸣器音乐 单片机播放警告声 6.单片机驱动蜂鸣器例子 7.单片机驱动74hc系列例子 8.51单片机处理按键例子,,4x4按键,16按键处理,按键检测 代码 源码 9.单片机驱动电子仿真 和 例子 汇编 组合语言 源码 10.单片机 led 流水灯 例子,仿真,源码 11.51 单片机 驱动 8x8点阵 仿真 已经源码 12.单片机 74ls373 13.单片机 74ls273 14.单片机按键例子源码 15.单片机驱动 8255 例子源码 proteus仿真, 16.51单片机器例子, 17.51单片机 计数器例子 源码 实例,proteus 仿真 18.单片机驱动数码管数码管显示数字,显示移动数字 19.动态数码管数字例子 源码 代码 仿真 20.电位器 ad转换例子 21.电位器调节模拟adc adc0808 单片机 事例 源码 以及proteus 例子仿真 22.单片机做的数字电压表仿真 23.单片机rs232串行通信 串口通信 例子 源码 代码 以及 仿真。 24.51单片机 c51 驱动 74ls165 并口转 串行 例子 事例 以及 proteus 仿真 25.单片机 驱动 74ls164 窜转并 串行 转 并行 例子 汇编源码 汇编代码 以及proteus 仿真 26.单片机 做的 数码管显示钟,数字钟 电子中,无ds1302. proteus 模拟 27.单片机 eeprom e2prom 例子 28.c51 单片机 i2c 例子 以及 汇编 组合语言 代码 源码 仿真 模拟 29.c51 单片机 DC马达 直流电机 驱动 例子 以及 代码 源码 仿真 模拟 30.c51 单片机 步进马达 步进电机 例子 以及 代码 源码 仿真 模拟 31.c51 单片机 电子锁 按键锁 例子 以及 代码 源码 仿真 模拟 32.c51 单片机 计算器 例子 以及 代码 源码 仿真 模拟 33.c51 单片机 门铃 例子 以及 代码 源码 proteus 仿真 模拟 34.c51 单片机器 例子 以及 汇编 组合语言 代码 源码 proteus 仿真 模拟 35.c51 单片机 外部中断 例子 以及 汇编 组合语言 代码 源码 proteus 仿真 模拟 36.c51 单片机 pwm 脉宽控制 例子 以及 汇编 组合语言 代码 源码 proteus 仿真 模拟 等等...... 注意这个是压缩包,里有所有的工程文件,都是可用的,解压的候最好要用 7zip 去解压。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

U1S2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值