实验二 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;
}
}
}
|