当前位置: 首页 > news >正文

青岛城阳软件网站开发关键词搜索工具爱站网

青岛城阳软件网站开发,关键词搜索工具爱站网,做宣传网站的公司,广东珠海新闻头条文章目录 一、蜂鸣器和继电器电路介绍二、题目与答案2.1 题目2.2 答案2.3 重点函数解析 一、蜂鸣器和继电器电路介绍 可以发现两个电路一端都接着VCC,所以我们只要给另一端接上低电平就可以让蜂鸣器和继电器进行工作。与操作LED类似,只不过换了一个74HC5…

文章目录

  • 一、蜂鸣器和继电器电路介绍
  • 二、题目与答案
    • 2.1 题目
    • 2.2 答案
    • 2.3 重点函数解析

一、蜂鸣器和继电器电路介绍

在这里插入图片描述

可以发现两个电路一端都接着VCC,所以我们只要给另一端接上低电平就可以让蜂鸣器和继电器进行工作。与操作LED类似,只不过换了一个74HC573进行控制。一样的只需要操作P00~P07、P27、P26、P25这几个IO口。

与操作LED最大的区别:蜂鸣器和继电器需要大电流驱动,但由于51的驱动能力很弱,所以需要驱动器ULN2003来辅助,需要特别注意ULN给高电平时输出低电平,给低电平输出高阻态。所以当我们向打开蜂鸣器时,需要令P06=1,而不是P06=1,因为ULN进行了一次反向

二、题目与答案

2.1 题目

在这里插入图片描述

2.2 答案

#include <stc15.h>
#include <intrins.h>
/*
num从4到7,分别对应
4:LED灯
5:蜂鸣器、继电器、电机
6:数码管段选
7:数码管位选
*/void Delay1000ms(void)	//@11.0592MHz
{unsigned char data i, j, k;_nop_();_nop_();i = 43;j = 6;k = 203;do{do{while (--k);} while (--j);} while (--i);
}void selectHC573(unsigned char num)  
{switch(num){case 4:P2=(P2 & 0x1f) | 0x80;break;case 5:P2=(P2 & 0x1f) | 0xa0;break;case 6:P2=(P2 & 0x1f) | 0xc0;break;case 7:P2=(P2 & 0x1f) | 0xe0;break;case 0:P2=(P2 & 0x1f) | 0x00;break;}
}void all_Led_Blink()
{int i;selectHC573(4);for(i=0;i<3;i++){P0=0x00;Delay1000ms();P0=0xff;Delay1000ms();}
}void system_Init()
{selectHC573(5);P0=0x00;
}void led_low2high()//LED从低位亮到高位
{char i=0;selectHC573(4);for(i=0;i<8;i++){P0=(0xfe<<i);   //1111 1110Delay1000ms();}
}
void led_high2low()//LED从高位亮到低位
{char i=0;selectHC573(4);for(i=0;i<8;i++){P0=(0x7f>>i);   //0111 1111Delay1000ms();}selectHC573(0);  // 关闭控制LED的573
}void relay_holdon()
{selectHC573(0);     //在操作不同模块时,先失能所有573的LEP0=~0xef;           //1110 1111,在打开模块对应的573之前设置好P0口,避免先前模块的P0口数据传进来selectHC573(5);Delay1000ms();P0=~0xff;selectHC573(0);     //关闭此模块对应的573数据通道
}void buzz_holdon()
{selectHC573(0);     //在操作不同模块时,先失能所有573的LEP0=~0xbf;           //1011 1111,在打开模块对应的573之前设置好P0口,避免先前模块的P0口数据传进来selectHC573(5);Delay1000ms();P0=~0xff;selectHC573(0);     //关闭此模块对应的573数据通道
}void main(){system_Init();while(1){all_Led_Blink();relay_holdon();led_low2high();buzz_holdon();}
}

2.3 重点函数解析

没啥可解析的,看注释就好了,想到你们不会去认真看上面的代码注释,这里拖出来提醒你们看一下。😛

void relay_holdon()
{selectHC573(0);     //在操作不同模块时,先失能所有573的LEP0=~0xef;           //1110 1111,在打开模块对应的573之前设置好P0口,避免先前模块的P0口数据传进来// 由于ULN2003的反向作用,所以需要我们软件在进行一次反向操作,当然你们可以P0=0x10,我比较喜欢上面的方式。selectHC573(5);Delay1000ms();P0=~0xff; 			//反向操作符~selectHC573(0);     //关闭此模块对应的573数据通道
}
http://www.tj-hxxt.cn/news/125121.html

相关文章:

  • 德州建设小学网站合肥网络公司seo建站
  • 8网站建设做网站爱站小工具圣经
  • 计算机个人网站建设论文百家号权重查询
  • 深圳网站建设加盟中文域名注册管理中心
  • 做问卷调查的网站百度公司在哪里
  • 做网站需要用c语言吗手机网站seo免费软件
  • jsp可以做网站吗百度指数有什么参考意义
  • wordpress简体中文搜狗网站seo
  • 联享品牌网站建设seo网络推广哪家专业
  • b2c网络建站品牌网络推广外包
  • php学校网站模板百度广告屏蔽
  • 重庆互联网网站建设搜狗整站优化
  • 织梦网站做自适应线上推广具体应该怎么做
  • 简单企业网站用什么网店关键词怎么优化
  • 平邑住房和城乡建设局网站培训seo
  • 好看的论坛源码seo关键词优化费用
  • 网站浏览速度做seo推广公司
  • 淘宝店可以做团购的网站百度公司总部在哪里
  • 网站后台管理系统后缀疫情放开最新消息今天
  • 网站开发方案怎么写seo软件推荐
  • 国内有做网游评测的网站么官方网站百度一下
  • 产品展示型网站口碑seo推广公司
  • 做网络推广常用网站营销公司网站
  • 免费的企业网站源码网上国网推广
  • wordpress发布视频链接网络优化推广公司哪家好
  • 怎么对网站上的游记做数据分析培训心得总结
  • 建设澳洲企业网站网站域名注册
  • 做彩票网站代理犯法吗百度平台商家
  • 如何在文本上做网站链接符号公司推广渠道有哪些
  • 网络服务器分类官方进一步优化