标题: 单片机I/O控制LED灯与蜂鸣器交替使用实验(时间间隔为500ms) [打印本页]

作者: 暖儿    时间: 2018-12-21 17:57
标题: 单片机I/O控制LED灯与蜂鸣器交替使用实验(时间间隔为500ms)
实验二 I/O实验
一、实验目的
1. 掌握IO口的工作模式。
2. 能够使用单片机控制简单的外设。
3. 能够使用单片机的IO输入操作。
二、实验内容
1. 用一个P口的两位分别控制一个LED灯和一个蜂鸣器,当蜂鸣器响时LED灯熄灭,蜂鸣器停时LED灯点亮,时间间隔为500ms。
2. 编写程序,用一个按键控制蜂鸣器,当按键按下时蜂鸣器响,松开后蜂鸣器停。
3. 编写程序,用一个按键控制蜂鸣器,按键每按下一次实现蜂鸣器状态翻转。


//#include <stc15.h>
//#include <intrins.h>
//typedef unsigned int u16;
//void DelayNms(u16 a)        //@11.0592MHz
//{
//    unsigned char i, j;
//    u16 b;
//    for(b=0;b<a;b++)
//    {
//    i = 11;
//    j = 190;
//    do
//    {
//        while (--j);
//    } while (--i);  
//    }


//}

//void main()
//{
//    P0M0 |=  0x02;
//    P0M1 &= ~0x02;
//    while(1)
//    {
//        P00=0;P01=0;
//        DelayNms(500);
//        P00=1;P01=1;
//        DelayNms(500);
//    }
//}


////2. 编写程序,用一个按键控制蜂鸣器,当按键按下时蜂鸣器响,松开后蜂鸣器停。

//#include <stc15.h>
//#include <intrins.h>
//typedef unsigned int u16;

//void main()
//{
//    P0M0 |=  0x03;
//    P0M1 &= ~0x03;
//   
//    while(1)
//    {
//      
//        if(P00==0)
//        {
//           P01=1;
//        }
//        else
//        {
//            P01=0;
//        }

//        
//    }
//}



//3. 编写程序,用一个按键控制蜂鸣器,按键每按下一次实现蜂鸣器状态翻转。
#include <stc15.h>
#include <intrins.h>

void main()
{
    P0M0 |=  0x03;
    P0M1 &= ~0x03;
   
    while(1)
    {
      
        if(P00==0)
        {
           P01=!P01;
           
        }


        
    }
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1