找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4101|回复: 0
收起左侧

用单片机的外部中断0或1编写程序控制蜂鸣器状态的翻转

[复制链接]
ID:432286 发表于 2018-12-21 14:56 | 显示全部楼层 |阅读模式
实验三 外部中断实验
一、实验目的
1. 了解单片机的中断系统。
2. 能够使用单片机的外部中断。
二、实验内容
1. 用单片机的外部中断0或1编写程序,蜂鸣器的初始状态为停止,用外部中断来控制蜂鸣器状态的翻转。
2.用单片机的外部中断0和1编写程序,用外部中断0来控制蜂鸣器的响,用外部中断1控制蜂鸣的停。

//1. 用单片机的外部中断0或1编写程序,蜂鸣器的初始状态为停止,用外部中断来控制蜂鸣器状态的翻转。
#include <stc15.h>
#include <intrins.h>
void Timer1Init();
void main()
{
   
    P4M0 |=  0x02;
    P4M1 &= ~0x02;
    Timer1Init();
    EA=1;
    P41=0;
    while(1)
    {
        
    }
}

void Timer1Init()        
{
    IT1=1;
    EX1=1;
}

void tm1_isr() interrupt 2
{

     if(P33==0)
    {
        P41=!P41;
    }


                  
}



//2.用单片机的外部中断0和1编写程序,用外部中断0来控制蜂鸣器的响,用外部中断1控制蜂鸣的停。
//#include <stc15.h>
//#include <intrins.h>
//void Timer1Init();
//void Timer0Init();        

//void main()
//{
//   
//    P4M0 |=  0x02;
//    P4M1 &= ~0x02;
//    Timer1Init();
//    Timer0Init();
//    EA=1;
//    P41=0;
//    while(1)
//    {
//        
//    }
//}
//void Timer0Init()        
//{
//    IT0=1;
//    EX0=1;
//}

//void Timer1Init()        
//{
//    IT1=1;
//    EX1=1;
//}
//void tm0_isr() interrupt 0
//{
//    if(P32==0)
//    {
//        P41=1;
//    }
//                        
//}

//void tm1_isr() interrupt 2
//{
//        if(P33==0)
//    {
//        P41=0;
//    }
//                 
//}



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表