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

印团网网站是哪家做的网站策划制作公司 北京

印团网网站是哪家做的,网站策划制作公司 北京,企业微网站建设,实训小结网站建设51单片机按键控制LED灯亮灭的N个玩法 1.概述 这篇文章介绍按键的使用#xff0c;以及通过控制LED灯的小实验#xff0c;发现按键中存在的问题#xff0c;然后思考并解决这些问题。达到熟练使用按键控制元器件。 2.搭建硬件环境 1.硬件准备 名称型号数量单片机STC12C205…51单片机按键控制LED灯亮灭的N个玩法 1.概述 这篇文章介绍按键的使用以及通过控制LED灯的小实验发现按键中存在的问题然后思考并解决这些问题。达到熟练使用按键控制元器件。 2.搭建硬件环境 1.硬件准备 名称型号数量单片机STC12C20521LED彩灯无2晶振12MHZ1电容30pf2电阻100欧姆2面包板无1连接线无5 2.电路图原理图 1.LED灯正极串联一个100欧姆电阻接到单片机20号引脚VCC。2.连接线一头连接单片机12号引脚另一头接按键的一脚。3.按键的另一脚通过连接线接到单片机10号引脚GND4.晶振两个脚分别连接单片机的4号和5号引脚同时晶振每个引脚串联一个30pf电容接到单片机10号引脚GND 3.实验课题 3.1.按键按下灯亮松开灯关闭 1.课题描述 课题的目的使用按键来控制LED灯的亮和灭当按下按键读取到低电平让灯打开。当送开按键读取到高电平让灯关闭。 2.实现程序 /************************************************************* * 程序名 按键控制LED灯亮灭 * 编写人 bruce * 硬件支持TC12C2052 外部12MHZ晶振 * 日 期 2023-11-14 * 修改日志 /*************************************************************/#includeSTC12C2052AD.Hsbit LED P1^7; sbit KEY P1^0;void main(void){KEY 1;LED 1;while(1){/*使用if判断语句实现按下按键LED灯亮松开按键LED灯灭*//*if(KEY 0){LED 0;}else if(KEY 1){LED 1;}*/// 讨巧的方式实现按键控制灯亮灭LED KEY;}}3.2.按键轮训控制灯开关 1.课题描述 当按键第一次按下松开后开灯第二次按下按键松开后关灯。 2.实现程序 /************************************************************* * 程序名 第一次按下按键LED灯亮第二次按下按键LED灯灭如此循环 * 编写人 bruce * 硬件支持TC12C2052 外部12MHZ晶振 * 日 期 2023-11-14 * 修改日志 /*************************************************************/#includeSTC12C2052AD.Hsbit LED P1^7; sbit KEY P1^0;/********************************************************************************************* 函数名毫秒级CPU延时函数 调 用DELAY_MS (?); 参 数1~65535参数不可为0 返回值无 结 果占用CPU方式延时与参数数值相同的毫秒时间 备 注应用于1T单片机时i600应用于12T单片机时i125 /*********************************************************************************************/ void DELAY_MS (unsigned int a){unsigned int i;while( --a ! 0){for(i 0; i 600; i);} }void main(void){KEY 1;LED 1;while(1){if(KEY 0){/*DELAY_MS()延时函数的作用是去掉按下按键抖动造成信号不稳定导致程序失灵。当按下按键后让程序稍等一会跳过按键抖动时刻再读取按键状态达到去抖动效果。*/DELAY_MS(120);if(KEY 0){//当按键为0时判断当前灯的状态并取反。实现轮训控制灯的开关。if(LED 0){LED 1;}else{LED 0;}}} }}上面的程序虽然实现了按键控制灯的亮灭功能但是它有两点不完美需要优化。优化点如下 嵌入了三层if判断语句是程序变得复杂不易阅读。只通过延时决绝按键抖动偶尔还会出现失灵的情况。 下面的程序对该两点内容做了优化使程序更加晚上。 /************************************************************* * 程序名 第一次按下按键LED灯亮第二次按下按键LED灯灭如此循环 * 编写人 bruce * 硬件支持TC12C2052 外部12MHZ晶振 * 日 期 2023-11-14 * 修改日志 /*************************************************************/#includeSTC12C2052AD.Hsbit LED P1^7; sbit KEY P1^0;/********************************************************************************************* 函数名毫秒级CPU延时函数 调 用DELAY_MS (?); 参 数1~65535参数不可为0 返回值无 结 果占用CPU方式延时与参数数值相同的毫秒时间 备 注应用于1T单片机时i600应用于12T单片机时i125 /*********************************************************************************************/ void DELAY_MS (unsigned int a){unsigned int i;while( --a ! 0){for(i 0; i 600; i);} }void main(void){KEY 1;LED 1;while(1){if(KEY 0){/*DELAY_MS()延时函数的作用是去掉按下按键抖动造成信号不稳定导致程序失灵。当按下按键后让程序稍等一会跳过按键抖动时刻再读取按键状态达到去抖动效果。*/DELAY_MS(120);if(KEY 0){//当按键为0时判断当前灯的状态并取反。实现轮训控制灯的开关。LED ~LED;//当按键按下没有松开时则一直做空循环直到松开while(1)才开始新的一轮循环。增强了按键控制灯的稳定性。while(KEY 0); }} }}
http://www.hkea.cn/news/14321267/

相关文章:

  • 织梦 网站首页1000个关键词
  • 苏州吴江做网站公司上海营销网站
  • 社科联网站建设方案策划书网站上做旅游卖家要学什么软件
  • 网站做超链接薪资多少一个月保定 营销型网站建设
  • 太原站还建综合楼网站设计和营销
  • 惠州网站建设公司排名遂宁市住房与城乡建设厅网站
  • 从零学做网站太原关键词排名提升
  • 试描述一下网站建设的基本流程管理系统开发
  • 海口北京网站建设wordpress账号admin
  • 手机设计网站公司网站建设补贴
  • 网站开发工具 比较好熊掌号网站怎么做
  • 帝国建站教程个人网站建设如何赚钱
  • php 网站开发案例教程网站服务器租赁合同
  • 那个合作网站做360推广比较好建设网站企业邮箱
  • 企业网站建设方案行情昆山做网站哪家好
  • 网站建设与管理和计算机网络技术平台营销型网站
  • 网站建设几种语言对比哈尔滨招标网官网
  • 浙江省建设厅网站地址唐山市住房城乡建设局网站
  • 网站推广排名有什么技巧汝城网站建设公司
  • 网站建设与维护一样吗微商城小程序哪个好
  • 网站初期做几个比较好网站开发语言是什么
  • 企业网站建设方案策划建设官方网站怎么修改预留手机
  • 做网站闵行wordpress导入ssl证书
  • 织梦的官方网站高中教学网站
  • 班级网站建设需求分析上海网站建设找哪家公司
  • 建设部网站公告网站专题欣赏
  • 网站定制二次开发互联网运营推广是做什么的
  • 门户网站建设不断威海市临港区建设局网站
  • 6电商网站建设全屏网站设计
  • 网站建设公司汕头的江苏电力建设网站