菜鸟之学习51单片机(五)蜂鸣器继电器的实现
2013-12-08 23:33
330 查看
对于这几个东西的编程很简单,就是I/O口的高低电平,下面,我们来看看原理图
继电器的JPJDQ在管理设置组接P3.7口,蜂鸣器接P3.6口,所以,只要我们控制这两个I/O就行了
首先单独编程实现蜂鸣器
#include<reg52.h>
sbit fmq=P3^6;
void delay500us()
{
unsigned char j;
for(j=0;j<57;j++) //500us基准延时程序
{ ;
}
}
void beep() //产生1KHZ频率声音的函数
{
fmq=0;
delay500us();
fmq=1;
delay500us();
}
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<115;j++) //1ms基准延时程序
{
;
}
}
}
void main()
{
unsigned int t;
while(1)
{
for(t=0;t<1000;t++)
{
beep();
}
fmq=1;
delay1ms(1000);
}
}
下面是继电器的程序
#include<reg52.h>
sbit jdq=P3^7;
sbit LED0=P0^0;
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<125;j++) //1ms基准延时程序
{
;
}
}
}
void main()
{
while(1){
LED0=0;
jdq=1;
delay1ms(1000);
LED0=1;
jdq=0;
delay1ms(1000);
}
}
可以说是完美的实现
把P3.6和P3.7同时控制,可以实现
继电器的JPJDQ在管理设置组接P3.7口,蜂鸣器接P3.6口,所以,只要我们控制这两个I/O就行了
首先单独编程实现蜂鸣器
#include<reg52.h>
sbit fmq=P3^6;
void delay500us()
{
unsigned char j;
for(j=0;j<57;j++) //500us基准延时程序
{ ;
}
}
void beep() //产生1KHZ频率声音的函数
{
fmq=0;
delay500us();
fmq=1;
delay500us();
}
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<115;j++) //1ms基准延时程序
{
;
}
}
}
void main()
{
unsigned int t;
while(1)
{
for(t=0;t<1000;t++)
{
beep();
}
fmq=1;
delay1ms(1000);
}
}
下面是继电器的程序
#include<reg52.h>
sbit jdq=P3^7;
sbit LED0=P0^0;
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<125;j++) //1ms基准延时程序
{
;
}
}
}
void main()
{
while(1){
LED0=0;
jdq=1;
delay1ms(1000);
LED0=1;
jdq=0;
delay1ms(1000);
}
}
可以说是完美的实现
把P3.6和P3.7同时控制,可以实现
相关文章推荐
- POJ 3176 Cow Bowling (简单DP)
- 内部类与匿名内部类
- JAVA规则引擎 -- Drools
- 打印螺旋数阵的一种实现
- Windows Phone 7 开发环境的搭建
- C# POST数据到指定页面,并跳转至该页面
- Object9
- uboot 移植
- Eclipse插件篇——Tomcat
- shell read
- memcached应用
- Spring声明式事务配置管理方法(查找总结)
- JAVA获取CLASSPATH路径
- Apache(Web)服务器性能调整
- 用java实现对文件夹的拷贝
- Java主线程等待子线程、线程池
- DirectX9.0 Direct3D Graphics Pipeline 总结 - 雨霖林
- Mac OSX系统下SVN客户端SCPlugin问题
- 抽象类的学习笔记
- 百度地图官方API