拨码开关控制实验电路图

融合蛋白分离纯化
拨码开关控制实验电路图
拨码开关控制实验电路图
流程图压片机模具
/* 基本开关控制实验 */
//==宣告区=================================
#include //定义8051头文件,引入reg52.h #define SW P2//定义开关接至P2
#define LED P1//定义LED 接至P 1
//==主程式=================================
main()//主程序开始医用呼叫器
{ SW=0xff;//规划输入端口
while(1)//无穷循环, 程式一直跑
LED=SW;//读取开关(P2)状态, 输出到LED(P1)
}//主程序结束
思考一下!
vb连接sql数据库
加热鞋垫在本实验里,有没有“抖动”的困扰?
若希望拨码开关中的S1、S3、S5三个开关都on ,则前四个LED 亮;S2 或 S4 或 S6开关 on,则后四个LED 亮;S7及 S8 开关 on, 则所有LED 全亮,程序应如何编写?
若将拨码开关换成一般家里墙壁上的开关,而LED 换成继电器(RELAY ),是否可作为家里的负载控制?
按钮ON-OFF 控制实验
按钮 ON-OFF 控制实验电路图
流程图如下:
/
* 基本按钮 ON-OFF 控制实验 */
//==声明区=======================================
#include//定义8051头文件,引入reg52.h
sbit PB1=P2^0;//声明按钮1接至P2.0
sbit PB2=P2^1;//声明按钮2接至P2.1
sbit LED=P1^0;//声明LED 为P1.0
//==主程式=======================================
main()//主程序开始
{ LED=1;//关闭LED
PB1=PB2=1;//规划输入端口 while(1)//无穷循环, 程式一直跑 {
if (PB2==0) LED=1;//若按下PB2,则关闭LED else if (PB1==0) LED=0;//若按下PB1,则点亮LED }//while循环结束
}//结束程序
思考一下!
在本实验里,有没有“抖动”的困扰? 若将按钮开关当成启动电机的 ON-OFF 开关,而 LED 换成继电器(RELAY ),是否可作为电机控制?
若同时按下 PB1 与 PB2按钮会怎样?
按钮切换式控制实验
按钮切换式控制实验电路图
流程图
实验代码:
/
* 按钮切换式控制实验 */
//==声明区===================================== #include//定义8051头文件,引入reg52.h sbit PB1=P2^0;//声明PB1接至P2.0
sbit LED=P1^0;//声明LED 接至P1.0
void debouncer(void);//声明防弹函数
//==主程序===================================== main()//主程式开始
{ LED=1;//关闭LED
PB1=1;//规划P2.0为输入埠
while(1)//无穷循环, 程序一直跑 { if (PB1==0)//若按下PB1 { debouncer();//呼叫防弹跳函数(按下时) LED=!LED;//切换LED 为反相 while(PB1 != 1);//若仍按住PB1,继续等 debouncer();//呼叫防弹跳函数(放开时) }//if叙述结束 }//while循环结束
}//主程序结束
//==子程序=====================================
/* 防弹跳函数函数, 延迟约20ms */
void debouncer(void)//防弹跳函数开始
{ int i;//声明整数变数i
for(i=0;i
}//防弹跳函数结束
思考一下!
在本实验里,改变 debouncer 函数的时间长短,看看有什么影响?
若按住 PB1不放会怎样?如何改善?
按钮开关应用电路图
流程图
代码如下:
/* 按钮开关应用(两按钮控制七段显示器上下数) */
//==声明区========================================== #include//定义8051头文件,引入reg52.h 文件 #define SEG P0//定义七节显示器接至P0端口
/* 声明七节显示器驱动信号阵列(共阳) */
char code
TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};//数字0-9
sbit PB1=P2^0;//声明按钮1接至P2.0
sbit PB2=P2^1;//声明按钮2接至P2.1
void debouncer(void);//声明防弹跳函数
//==主程式================================= main()//主程序开始
视频硬件
{ unsigned char i=0;//声明变量i 初值=0
PB1=PB2=1;//规划输入端口 SEG=TAB[i];//输出数字至七段显示器 while(1)//无穷循环, 程式一直跑 { if (PB1==0)//判断PB1是否按下 { debouncer();//呼叫防弹跳函数 i= (i=9清除为0 SEG=TAB[i]; //输出数字至七段显示器 while(PB1==0); //PB1是否按住?
debouncer(); //呼叫防弹跳函数 }//if叙述结束 if (PB2==0)//判断PB2是否按下 { debouncer();//呼叫防弹跳函数 i= (i>0)? i-1:9;//若i>0则i=i-1,i
}//主程序结束
//==子程序==================================
/* 防弹跳函数函数, 延迟约20ms */
void debouncer(void)//防弹跳函数开始
{ int i;//声明整数变量i
for(i=0;i
}//防弹跳函数结束

本文发布于:2024-09-21 18:31:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/204503.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:控制   函数   实验   防弹   声明   开关   按钮   结束
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议