欢迎来到天天文库
浏览记录
ID:29723354
大小:4.50 MB
页数:28页
时间:2018-12-22
《拨码开关控制实验电路》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、拨码开关控制实验电路图流程图/*基本开关控制实验*///==宣告区=================================#include//定义8051头文件,引入reg52.h#defineSWP2//定义开关接至P2#defineLEDP1//定义LED接至P1//==主程式=================================main()//主程序开始{SW=0xff;//规划输入端口while(1)//无穷循环,程式一直跑LED=SW;//读取开关(P2)状态,输出到LED(P1)}//主程序结束思考一下!在
2、本实验里,有没有“抖动”的困扰?若希望拨码开关中的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.
3、hsbitPB1=P2^0;//声明按钮1接至P2.0sbitPB2=P2^1;//声明按钮2接至P2.1sbitLED=P1^0;//声明LED为P1.0//==主程式=======================================main()//主程序开始{LED=1;//关闭LEDPB1=PB2=1;//规划输入端口while(1)//无穷循环,程式一直跑{if(PB2==0)LED=1;//若按下PB2,则关闭LEDelseif(PB1==0)LED=0;//若按下PB1,则点亮LED}//while循环结束}//结束程序思考一下!在本
4、实验里,有没有“抖动”的困扰?若将按钮开关当成启动电机的ON-OFF开关,而LED换成继电器(RELAY),是否可作为电机控制?è若同时按下PB1与PB2按钮会怎样?按钮切换式控制实验按钮切换式控制实验电路图流程图实验代码:/*按钮切换式控制实验*///==声明区=====================================#include//定义8051头文件,引入reg52.hsbitPB1=P2^0;//声明PB1接至P2.0sbitLED=P1^0;//声明LED接至P1.0voiddebouncer(void);//声
5、明防弹跳函数//==主程序=====================================main()//主程式开始{LED=1;//关闭LEDPB1=1;//规划P2.0为输入埠while(1)//无穷循环,程序一直跑{if(PB1==0)//若按下PB1{debouncer();//呼叫防弹跳函数(按下时)LED=!LED;//切换LED为反相while(PB1!=1);//若仍按住PB1,继续等debouncer();//呼叫防弹跳函数(放开时)}//if叙述结束}//while循环结束}//主程序结束//==子程序=============
6、========================/*防弹跳函数函数,延迟约20ms*/voiddebouncer(void)//防弹跳函数开始{inti;//声明整数变数ifor(i=0;i<2400;i++);//计数2400次,延迟约20ms}//防弹跳函数结束思考一下!在本实验里,改变debouncer函数的时间长短,看看有什么影响?若按住PB1不放会怎样?如何改善?按钮开关应用电路图流程图代码如下:/*按钮开关应用(两按钮控制七段显示器上下数)*///==声明区==========================================#in
7、clude//定义8051头文件,引入reg52.h文件#defineSEGP0//定义七节显示器接至P0端口/*声明七节显示器驱动信号阵列(共阳)*/charcodeTAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};//数字0-9sbitPB1=P2^0;//声明按钮1接至P2.0sbitPB2=P2^1;//声明按钮2接至P2.1voiddebouncer(void);//声明防弹跳函数//==主程式=================================m
8、ain()//主程序开始{unsignedchari
此文档下载收益归作者所有