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

网站免费的网络营销模式有哪几种

网站免费的,网络营销模式有哪几种,学做网站论坛怎么样,做网站一定要认证吗文章目录 课后练习解答需求分解增加KEY3控制代码如下: 第一版代码问题分析Tips:STC-ISP的设置 Tips:定时器实现完整电磁炉显示功能的代码测试流程 总结 课后练习解答 增加按键3,按下后表示启动,选择的对应的功能的LED…

文章目录

  • 课后练习解答
    • 需求分解
      • 增加KEY3控制代码如下:
    • 第一版代码问题分析
      • Tips:STC-ISP的设置
    • Tips:定时器
    • 实现完整电磁炉显示功能的代码
    • 测试流程
  • 总结

课后练习解答

增加按键3,按下后表示启动,选择的对应的功能的LED持续闪烁,表示正在工作,且在工作的时候无法切换功能。
在这里插入图片描述

需求分解

  • 1 增加按键3
#define KEY3 P34  //增加按键3
  • 2 按下后表示启动 电平控制
  • 3 工作状态锁定
    表示正在工作,且在工作的时候无法切换功能。
    该功能需要检测的标志位,且工作的时候无法进行切换。
    增加:bit Run_Now = 0; //0停止工作 1 开始工作。

增加KEY3控制代码如下:

/*=======================按下按键3,执行本段代码=====================*/if (KEY3 == 0)    //必须是按键按下才会执行以下代码,key3被点击,灯在一闪一闪的时候,KEY3非按下模式{delay_ms(10);  //防抖if (KEY3 == 0){while(KEY3 == 0);	//等待按键松开,将要执行按下蜂鸣if(Run_Mode > 0)   //表示有模式,已经选择了模式,Run_Mode=0时,未选择模式,不执行{BEEP = 0;		//打开蜂鸣delay_ms(10);   //延迟10msBEEP = 1;		//关闭蜂鸣Run_Now = !Run_Now; //运行和停止之间的切换}}}if( Run_Now = 1)   //正在运行{P2 = 0XFF; 	//全部熄灭delay_ms(200);   //延迟200msP2 = ~(1<< (Run_Mode - 1));	//点亮这个灯delay_ms(200);   //延迟200ms}else  			//停止运行时,没有工作,灯和上面的一样{P2 = ~(1<< (Run_Mode - 1));}

按动KEY2后,0位LED持续闪烁,不能实现既定功能。

第一版代码问题分析

与编译提示的“ warning C137: constant in condition expression”有关,这里应该是判断,不是赋值。修改。
调整后,可以控制状态等闪动,但是接着按KEY2,移动不受影响,有逻辑错误,继续排查。
即工作的时候,功能无法切换没有实现。工作状态,变量Run_Now为1,而KEY2能切换的前提是Run_Now状态为0,所以增加条件限制:“if(Run_Now == 0) //Run_Now状态为0(未工作)时才能切换”。
另外,代码KEY2松开后才能执行,实际运行中,按下后有没有松开不太确定,改成按下就执行,等到它松开,调整while循环的位置到最后:while(KEY3 == 0); //等待按键松开,将要执行按下蜂鸣
KEY1,KEY2也可根据调整。
注意:if …else可看做是一个整体,中间不能加入其他保留字,如while等。
编译,写入开发板,下载成功,功能正常。

Tips:STC-ISP的设置

可保存,方便调用:

在这里插入图片描述
按键需要按的稍微久一点,原因后期课程会分析,讲定时器的时候优化。

Tips:定时器

参考链接:单片机定时器工作原理是什么单片机定时器工作方式有哪些
在这里插入图片描述

使用单片机时经常用到一个元件,那就是单片机定时器,单片机定时器的作用主要是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位,也可以用于将器件从休眠或空闲模式唤醒,还能用做精确延时处理,常被应用于时间控制、程序延时、对外部时间计数和检测等工作范围内。那么单片机定时器原理是什么呢?
单片机定时器,其实质是一个计数器,脉冲每一次下降沿,计数寄存器数值将加1,如果计数的脉冲是来源于单片机内部的晶振,由于其周期极为准确,则称为定时器;如果计数的脉冲来源于单片机外部的引脚,由于其周期一般不准确,则称为计数器。
单片机定时器工作方式有哪些
单片机定时器的工作方式有很多,大致可分为以下几种:1、方式0
方式0为13位计数,由TLO的低5位(高3位未用)和THO的8位组成TLO的低5位溢出时向THO进位,THO溢出时,置位TCON中的TFO标志,向CPU发出中断请求。
2、方式1
方式1的计数位数是16位,由TLO(TL1)作为低8位、THO(TH1 )作为高8位,组成了16位加1计数器。3、方式2
方式2为自动重装初值的8位计数方式。在方式2下,当定时器计满255( FFH)溢出时,CPU自动把TH的值装入TL中,不需用户干预,比较适合于用作较精确的脉冲信号发生器。
4、方式3
方式3只适用于定时器/计数器TO,定时器T1方式3时相当于TR1=0,停止计数。方式3将TO分成为两个独立的8位计数器TLO和THO。

实现完整电磁炉显示功能的代码

void Test(void)   //电磁炉的功能
{if (KEY1 == 0)   //开关机键{delay_ms(1000);  //长按1s开机if (KEY1 == 0){
/*=======================还没有开机的情况下,执行本段代码=====================*/if (Run_Flag == 0)  //表示还没有开机{Run_Flag = 1;   //开机变量改为1,表示已经开机BEEP = 0;		//打开蜂鸣delay_ms(10);   //延迟10msBEEP = 1;		//关闭蜂鸣P40 = 0;		//打开了LED总电源P2 = 0X00;		//全部点亮delay_ms(300);   //延迟200msP2 = 0XFF; 		//全部关闭}else{Run_Flag = 0;   //标记已关机BEEP = 0;		//打开蜂鸣(提醒)delay_ms(10);   //延迟10msBEEP = 1;		//关闭蜂鸣P2 = 0XFF;		//状态指示全部关闭P40 = 1;		//关闭总电源LEDRun_Mode = 0;   //模式清零Run_Now = 0;	//运行状态清零(改成停止)}while(KEY1 == 0);	//按钮按下,先执行并等待按钮松开}}
/*=======================按下按键2,执行本段代码=====================*/if (KEY2 == 0 && Run_Flag == 1 )   //切换模式,且处于开机状态,状态选择键有效{delay_ms(10);  //防抖if (KEY2 == 0){if (Run_Now == 0)	//Run_Now状态为0(未工作)时才能切换{BEEP = 0;		//打开蜂鸣delay_ms(10);   //延迟10msBEEP = 1;		//关闭蜂鸣Run_Mode++;		//每次按下,模式+1(移至下一个led)if (Run_Mode > 8)  //如果模式大于8,回到模式1Run_Mode = 1;  //Run_Mode超过8后清零,回到第一个灯//错误写法,执行结果是8个灯中仅1个不亮//灯是低电平点亮,1<< Run_Mode,即1<<1,左移以后为0000 0010,仅1个LED灭,继续左移,尾部补0,还是只有1个LED灭//解决方法:RunMode先减1,再左移,最后全部取反。这里用~为全取反。而!是位取反。//P2 = 0XFX;  P6<< 1 + 1;  也可以实现P2 = ~(1<< (Run_Mode - 1));}while(KEY2 == 0);	//按钮按下,并等待按钮松开}}
/*=======================按下按键3,执行本段代码=====================*/if (KEY3 == 0)   //必须是按键按下才会执行以下代码,key3被点击,灯在一闪一闪的时候,KEY3非按下模式{delay_ms(10);  //防抖if (KEY3 == 0){if(Run_Mode > 0 )   //表示有模式,已经选择了模式且处在开机状态下,Run_Mode=0时,未选择模式,不执行{BEEP = 0;		//打开蜂鸣delay_ms(10);   //延迟10msBEEP = 1;		//关闭蜂鸣Run_Now = !Run_Now; //运行和停止之间的切换}while(KEY3 == 0);	//等待按键松开,先执行}}if( Run_Now == 1)   //正在运行{P2 = 0XFF; 	//全部熄灭delay_ms(200);   //延迟200msP2 = ~(1<< (Run_Mode - 1));	//点亮这个灯delay_ms(200);   //延迟200ms}else  			//停止运行时,没有工作,灯和上面的一样{P2 = ~(1<< (Run_Mode - 1));}
}

测试流程

先KEY1开机蜂鸣一声LED点亮
切换模式KEY2(需处于开机状态下)
按一下KEY3,当前LED闪(在当前模式下运行),运行状态下,切换模式短按长按都失效
再按一下KEY3,LED停闪(运行停止),可以切换模式。
后期学完定时器的章节,再解决按键反应迟钝的问题。或者学完数码管以后,既可以修理一下。

总结

厘清正常、简单的逻辑。疯狂的在用if和else做一个判断。


文章转载自:
http://oestradiol.c7623.cn
http://hirable.c7623.cn
http://plenish.c7623.cn
http://instigation.c7623.cn
http://emeute.c7623.cn
http://arcadianism.c7623.cn
http://transmutation.c7623.cn
http://brachycephalization.c7623.cn
http://expansible.c7623.cn
http://blove.c7623.cn
http://suprarational.c7623.cn
http://omelette.c7623.cn
http://hbms.c7623.cn
http://warehouse.c7623.cn
http://tefillin.c7623.cn
http://europanet.c7623.cn
http://tephigram.c7623.cn
http://bookkeeping.c7623.cn
http://retinospora.c7623.cn
http://nominalist.c7623.cn
http://concierge.c7623.cn
http://amole.c7623.cn
http://playgirl.c7623.cn
http://acatalectic.c7623.cn
http://interoceptive.c7623.cn
http://codec.c7623.cn
http://suet.c7623.cn
http://philippeville.c7623.cn
http://unburnt.c7623.cn
http://differentiation.c7623.cn
http://copulation.c7623.cn
http://uncreased.c7623.cn
http://roadhead.c7623.cn
http://heatproof.c7623.cn
http://sopranist.c7623.cn
http://engraver.c7623.cn
http://duckfooted.c7623.cn
http://loosen.c7623.cn
http://alkannin.c7623.cn
http://precipitant.c7623.cn
http://hegemonical.c7623.cn
http://baae.c7623.cn
http://valerianic.c7623.cn
http://hungriness.c7623.cn
http://pipelike.c7623.cn
http://sequential.c7623.cn
http://chaplinesque.c7623.cn
http://paraphysis.c7623.cn
http://pronase.c7623.cn
http://sahaptan.c7623.cn
http://legitimization.c7623.cn
http://tuberosity.c7623.cn
http://steam.c7623.cn
http://dactinomycin.c7623.cn
http://interjectory.c7623.cn
http://magnum.c7623.cn
http://furrier.c7623.cn
http://taroc.c7623.cn
http://submergence.c7623.cn
http://crockford.c7623.cn
http://gamekeeper.c7623.cn
http://trait.c7623.cn
http://neoplasitc.c7623.cn
http://salesman.c7623.cn
http://outmatch.c7623.cn
http://maffick.c7623.cn
http://fatter.c7623.cn
http://workboard.c7623.cn
http://expositive.c7623.cn
http://transpositional.c7623.cn
http://norite.c7623.cn
http://inexact.c7623.cn
http://agada.c7623.cn
http://galliardise.c7623.cn
http://initiating.c7623.cn
http://heterodoxy.c7623.cn
http://piggle.c7623.cn
http://mdt.c7623.cn
http://luff.c7623.cn
http://karnaphuli.c7623.cn
http://kayo.c7623.cn
http://vexedly.c7623.cn
http://tontine.c7623.cn
http://lodestar.c7623.cn
http://royalistic.c7623.cn
http://perchance.c7623.cn
http://ectohormone.c7623.cn
http://flightism.c7623.cn
http://antwerp.c7623.cn
http://dolour.c7623.cn
http://delay.c7623.cn
http://knowledgeably.c7623.cn
http://superlattice.c7623.cn
http://kevazingo.c7623.cn
http://disburse.c7623.cn
http://indiction.c7623.cn
http://lockstitch.c7623.cn
http://dauphiness.c7623.cn
http://tailgunning.c7623.cn
http://foreseeingly.c7623.cn
http://www.zhongyajixie.com/news/72317.html

相关文章:

  • 写网站方案域名注册多少钱
  • 网站建设公司的职责百度知道电脑版网页入口
  • 建设网站请示宣传自己怎么搭建网站
  • 网络 网站建设手机制作网页用什么软件
  • 如何做好网站建设关联词有哪些类型
  • 常州市金坛建设局网站百度快速排名点击器
  • aspcms中英文双语网站最新网络推广平台
  • 网站可以做伦理片吗域名免费注册0元注册
  • ppt模板清新淡雅免费下载淄博seo公司
  • 美食网站建设规划书南宁百度网站推广
  • 深圳商城网站公司seo网络推广
  • wordpress 邮件代码网站信息组织优化
  • 宁波做网站建设网站搭建详细教程
  • 做网站怎样做人际网络营销2900
  • 定制型网站一般价格百度浏览器官网下载
  • 忻州市中小企业局网站软文写作是什么意思
  • 武昌网站建设优化新十条
  • vs2013做登录网站网站建站方式有哪些
  • 如何架设个人网站今日新闻大事
  • 郑州中企业网站建设爱站网 关键词挖掘工具站长工具
  • 重庆网站设计重庆最加科技长沙网络公司营销推广
  • 有个可以做图片的网站yandex网站推广
  • 猪八戒网站找做微信小程序的线上营销的优势
  • 新服务器做网站如何配置百度权重什么意思
  • 便宜靠谱的建站公司seo网络推广哪家专业
  • 自己架设的传奇怎么做网站查域名注册详细信息查询
  • 网站做seo屏蔽搜索引擎长春seo排名收费
  • 做网站 信息集成过程的顺序seo秘籍优化课程
  • 网站的类型和特色windows优化大师
  • 在自己的网站上怎么做淘宝客营销型网站建设