(二)搞定烦人的蜂鸣器和继电器
2023-12-30 19:21:56
文章目录
内容:
1.38译码器–74HC138
2.或非门–74HC02
3.锁存器–M74HC573M1R
4.非门(复合管-达林顿结构-ULN2003)
呈现代码
提供proteus 仿真
资源网盘链接:
链接:https://pan.baidu.com/s/1XbxxYbm1DMEoM5C3zfvbmg
提取码:zhua
38译码器–74HC138
这里原理大家自行去了解
仅提供自己的见解
**简单分析:需要Y1路输出(低电平有效也就是0),Y1对应的编号为1,则1对应的三个二进制数为:001,则P27-P25赋值就为001,P2剩余位补0,即P2赋值0x20;
例如:需求Y5输出0,则对应编号5,5的二进制数为101,剩余位补0,则P2 赋值为:0xA0;**
或非门–74HC02
个人见解:
简单分析:由于板子上默认WR接GND的,只需Y7-Y4输入为0,则输出就为1
例如 Y5C输出为1,则对应的Y5就为0,同理Y4C输出为1,则对应的Y4就为0
锁存器–M74HC573M1R
一句话:LE控制“开门或关门”,LE=1,P0的数据可以从D1-7侧送至Q1-7侧,反之不能传送。
非门(复合管-达林顿结构-ULN2003)
就当作非门使用
关闭蜂鸣器和代开继电器的代码
#include <STC15F2K60S2.H>
typedef unsigned char u8;
void DeviceCtrl(u8 p2data,u8 p0data)
{
P0 = p0data; //给数据
P2 = (P2&0x1f)|p2data; // (开门)
P2 &= 0x1f; //(关门)
}
void main()
{
DeviceCtrl(0xa0,0x10);//buzz --close relay --open
while(1){
}
}
----- 如有错误欢迎大家批评指正!!!
文章来源:https://blog.csdn.net/m0_52555663/article/details/135294679
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!