拨码开关控制实验电路图Word文档下载推荐.docx

上传人:b****1 文档编号:13442431 上传时间:2022-10-10 格式:DOCX 页数:8 大小:16.77KB
下载 相关 举报
拨码开关控制实验电路图Word文档下载推荐.docx_第1页
第1页 / 共8页
拨码开关控制实验电路图Word文档下载推荐.docx_第2页
第2页 / 共8页
拨码开关控制实验电路图Word文档下载推荐.docx_第3页
第3页 / 共8页
拨码开关控制实验电路图Word文档下载推荐.docx_第4页
第4页 / 共8页
拨码开关控制实验电路图Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

拨码开关控制实验电路图Word文档下载推荐.docx

《拨码开关控制实验电路图Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《拨码开关控制实验电路图Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

拨码开关控制实验电路图Word文档下载推荐.docx

S2或S4或S6开关on,则后四个LED亮;

S7及S8开关on,则所有LED全亮,程序应如何编写?

若将拨码开关换成一般家里墙壁上的开关,而LED换成继电器(RELAY),是否可作为家里的负载控制?

按钮ON-OFF控制实验

按钮ON-OFF控制实验电路图

流程图如下:

/*基本按钮ON-OFF控制实验*/

//==声明区=======================================

#include//定义8051头文件,引入reg52.h

sbitPB1=P2^0;

//声明按钮1接至P2.0

sbitPB2=P2^1;

//声明按钮2接至P2.1

sbitLED=P1^0;

//声明LED为P1.0

//==主程式=======================================

{LED=1;

//关闭LED

PB1=PB2=1;

//规划输入端口while

(1)//无穷循环,程式一直跑{

if(PB2==0)LED=1;

//若按下PB2,则关闭LEDelseif(PB1==0)LED=0;

//若按下PB1,则点亮LED}//while循环结束

}//结束程序

若将按钮开关当成启动电机的ON-OFF开关,而LED换成继电器(RELAY),是否可作为电机控制?

若同时按下PB1与PB2按钮会怎样?

按钮切换式控制实验

按钮切换式控制实验电路图

实验代码:

/*按钮切换式控制实验*/

//==声明区=====================================#include//定义8051头文件,引入reg52.hsbitPB1=P2^0;

//声明PB1接至P2.0

//声明LED接至P1.0

voiddebouncer(void);

//声明防弹跳函数

//==主程序=====================================main()//主程式开始

PB1=1;

//规划P2.0为输入埠

while

(1)//无穷循环,程序一直跑{if(PB1==0)//若按下PB1{debouncer();

//呼叫防弹跳函数(按下时)LED=!

LED;

//切换LED为反相while(PB1!

=1);

//若仍按住PB1,继续等debouncer();

//呼叫防弹跳函数(放开时)}//if叙述结束}//while循环结束

//==子程序=====================================

/*防弹跳函数函数,延迟约20ms*/

voiddebouncer(void)//防弹跳函数开始

{inti;

//声明整数变数i

for(i=0;

i

}//防弹跳函数结束

在本实验里,改变debouncer函数的时间长短,看看有什么影响?

若按住PB1不放会怎样?

如何改善?

按钮开关应用电路图

代码如下:

/*按钮开关应用(两按钮控制七段显示器上下数)*/

//==声明区==========================================#include//定义8051头文件,引入reg52.h文件#defineSEGP0//定义七节显示器接至P0端口

/*声明七节显示器驱动信号阵列(共阳)*/

charcode

TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};

//数字0-9

//==主程式=================================main()//主程序开始

{unsignedchari=0;

//声明变量i初值=0

//规划输入端口SEG=TAB[i];

//输出数字至七段显示器while

(1)//无穷循环,程式一直跑{if(PB1==0)//判断PB1是否按下{debouncer();

//呼叫防弹跳函数i=(i=9清除为0SEG=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

//==子程序==================================

//声明整数变量i

在本实验里,若按钮按住不放,会怎样?

在本实验里,若PB1与PB2两个按钮同时按,会怎样?

BCD数字型拨码开关实验

BCD数字型拨码开关实验电路图

/*BCD数字型指拨开关实验*/

//==声明区======================================

#include//定义8051头文件,引入reg52.h文件#defineSEGP0//定义七节显示器接至P0

#defineSWP2//定义开关接至P2

#defineSW_H()SW&

0x0f//读取开关值(P2清除高4bits)

//==主程序

======================================

//规划输入埠

while

(1)//无穷循环,程序一直跑SEG=TAB[SW_H()];

//读取开关值,输出至七节显示器(P0)}//主程序结束

若把本单元的BCD数字型拨码开关,改为16进位数字型拨码开关,程序应如何修改?

多重按钮开关实验

多重按钮开关实验电路图

实验中的自编库函数

/*myio.h自己写的程序库*/

//==声明区==============================

#defineLEDP1//定义LED接至P1

voiddelay10ms(int);

//声明10毫秒延迟函数

voidalter(int);

//声明交互闪烁函数

voidleft(int);

//声明单灯左移函数

voidright(int);

//声明单灯右移函数

voidpili(int);

//声明霹雳灯函数

voidflash(int);

//声明闪烁函数

//==自己写的子程序========================

{delay10ms

(2);

//延迟约20ms

/*延迟函数开始,延迟约x10ms*/

voiddelay10ms(intx)//延迟函数开始

{inti,j;

//声明整数变量i,j

for(i=0;

}//延迟函数结束

/*高低位元交互闪烁函数,执行x次*/

voidalter(intx)//高低位元交互闪烁函数开始

//声明变量i

LED=0x0f;

//初始状态(高位元亮,低位元灭)for(i=0;

}//高低位元交互闪烁函数结束

/*全灯闪烁函数,执行x次*/

voidflash(intx)//全灯闪烁函数开始

LED=0x00;

//初始状态(全亮)for(i=0;

}//全灯闪烁函数结束

/*单灯左移函数,执行x圈*/

voidleft(intx)//单灯左移函数开始

{inti,j;

//声明变量i,j

}//单灯左移函数结束

/*单灯右移函数,执行x圈*/

voidright(intx)//单灯右移函数开始for(i=0;

i>

1)|0x80;

//左移1位後,MSB设为1}//j循环结束delay10ms(25);

//延迟2510m=0.25s}//i循环结束

/*霹雳灯函数,执行x圈*/

voidpili(intx)//霹雳灯函数开始

}//霹雳灯函数结束

多重按钮开关实验之一:

代码

/*多重按钮开关实验之1*/

//==声明区================================

#include//定义8051头文件,引入reg52.h文件#include"

myio.h"

//自己写的I/O程序库

//声明PB1=P2.0

//声明PB2=P2.1

sbitPB3=P2^2;

//声明PB3=P2.2

sbitPB4=P2^3;

//声明PB4=P2.3

//==主程序================================

{LED=0xff;

//初始状态(LED全灭)

P2=0xff;

//规划P2输入端口while

(1)//无穷循环,程序一直跑{if(PB1==0)//如果按下PB

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1