中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

南京網(wǎng)站建設(shè)公司排名軟文營銷模板

南京網(wǎng)站建設(shè)公司排名,軟文營銷模板,青島公司建站網(wǎng)站,東莞市大朗鎮(zhèn)文章目錄 課后練習(xí)解答需求分解增加KEY3控制代碼如下: 第一版代碼問題分析Tips:STC-ISP的設(shè)置 Tips:定時(shí)器實(shí)現(xiàn)完整電磁爐顯示功能的代碼測試流程 總結(jié) 課后練習(xí)解答 增加按鍵3,按下后表示啟動(dòng),選擇的對應(yīng)的功能的LED…

文章目錄

  • 課后練習(xí)解答
    • 需求分解
      • 增加KEY3控制代碼如下:
    • 第一版代碼問題分析
      • Tips:STC-ISP的設(shè)置
    • Tips:定時(shí)器
    • 實(shí)現(xiàn)完整電磁爐顯示功能的代碼
    • 測試流程
  • 總結(jié)

課后練習(xí)解答

增加按鍵3,按下后表示啟動(dòng),選擇的對應(yīng)的功能的LED持續(xù)閃爍,表示正在工作,且在工作的時(shí)候無法切換功能。
在這里插入圖片描述

需求分解

  • 1 增加按鍵3
#define KEY3 P34  //增加按鍵3
  • 2 按下后表示啟動(dòng) 電平控制
  • 3 工作狀態(tài)鎖定
    表示正在工作,且在工作的時(shí)候無法切換功能。
    該功能需要檢測的標(biāo)志位,且工作的時(shí)候無法進(jìn)行切換。
    增加:bit Run_Now = 0; //0停止工作 1 開始工作。

增加KEY3控制代碼如下:

/*=======================按下按鍵3,執(zhí)行本段代碼=====================*/if (KEY3 == 0)    //必須是按鍵按下才會執(zhí)行以下代碼,key3被點(diǎn)擊,燈在一閃一閃的時(shí)候,KEY3非按下模式{delay_ms(10);  //防抖if (KEY3 == 0){while(KEY3 == 0);	//等待按鍵松開,將要執(zhí)行按下蜂鳴if(Run_Mode > 0)   //表示有模式,已經(jīng)選擇了模式,Run_Mode=0時(shí),未選擇模式,不執(zhí)行{BEEP = 0;		//打開蜂鳴delay_ms(10);   //延遲10msBEEP = 1;		//關(guān)閉蜂鳴Run_Now = !Run_Now; //運(yùn)行和停止之間的切換}}}if( Run_Now = 1)   //正在運(yùn)行{P2 = 0XFF; 	//全部熄滅delay_ms(200);   //延遲200msP2 = ~(1<< (Run_Mode - 1));	//點(diǎn)亮這個(gè)燈delay_ms(200);   //延遲200ms}else  			//停止運(yùn)行時(shí),沒有工作,燈和上面的一樣{P2 = ~(1<< (Run_Mode - 1));}

按動(dòng)KEY2后,0位LED持續(xù)閃爍,不能實(shí)現(xiàn)既定功能。

第一版代碼問題分析

與編譯提示的“ warning C137: constant in condition expression”有關(guān),這里應(yīng)該是判斷,不是賦值。修改。
調(diào)整后,可以控制狀態(tài)等閃動(dòng),但是接著按KEY2,移動(dòng)不受影響,有邏輯錯(cuò)誤,繼續(xù)排查。
即工作的時(shí)候,功能無法切換沒有實(shí)現(xiàn)。工作狀態(tài),變量Run_Now為1,而KEY2能切換的前提是Run_Now狀態(tài)為0,所以增加條件限制:“if(Run_Now == 0) //Run_Now狀態(tài)為0(未工作)時(shí)才能切換”。
另外,代碼KEY2松開后才能執(zhí)行,實(shí)際運(yùn)行中,按下后有沒有松開不太確定,改成按下就執(zhí)行,等到它松開,調(diào)整while循環(huán)的位置到最后:while(KEY3 == 0); //等待按鍵松開,將要執(zhí)行按下蜂鳴
KEY1,KEY2也可根據(jù)調(diào)整。
注意:if …else可看做是一個(gè)整體,中間不能加入其他保留字,如while等。
編譯,寫入開發(fā)板,下載成功,功能正常。

Tips:STC-ISP的設(shè)置

可保存,方便調(diào)用:

在這里插入圖片描述
按鍵需要按的稍微久一點(diǎn),原因后期課程會分析,講定時(shí)器的時(shí)候優(yōu)化。

Tips:定時(shí)器

參考鏈接:單片機(jī)定時(shí)器工作原理是什么單片機(jī)定時(shí)器工作方式有哪些
在這里插入圖片描述

使用單片機(jī)時(shí)經(jīng)常用到一個(gè)元件,那就是單片機(jī)定時(shí)器,單片機(jī)定時(shí)器的作用主要是在發(fā)生軟件故障時(shí),通過使器件復(fù)位(如果軟件未將器件清零)將單片機(jī)復(fù)位,也可以用于將器件從休眠或空閑模式喚醒,還能用做精確延時(shí)處理,常被應(yīng)用于時(shí)間控制、程序延時(shí)、對外部時(shí)間計(jì)數(shù)和檢測等工作范圍內(nèi)。那么單片機(jī)定時(shí)器原理是什么呢?
單片機(jī)定時(shí)器,其實(shí)質(zhì)是一個(gè)計(jì)數(shù)器,脈沖每一次下降沿,計(jì)數(shù)寄存器數(shù)值將加1,如果計(jì)數(shù)的脈沖是來源于單片機(jī)內(nèi)部的晶振,由于其周期極為準(zhǔn)確,則稱為定時(shí)器;如果計(jì)數(shù)的脈沖來源于單片機(jī)外部的引腳,由于其周期一般不準(zhǔn)確,則稱為計(jì)數(shù)器。
單片機(jī)定時(shí)器工作方式有哪些
單片機(jī)定時(shí)器的工作方式有很多,大致可分為以下幾種:1、方式0
方式0為13位計(jì)數(shù),由TLO的低5位(高3位未用)和THO的8位組成TLO的低5位溢出時(shí)向THO進(jìn)位,THO溢出時(shí),置位TCON中的TFO標(biāo)志,向CPU發(fā)出中斷請求。
2、方式1
方式1的計(jì)數(shù)位數(shù)是16位,由TLO(TL1)作為低8位、THO(TH1 )作為高8位,組成了16位加1計(jì)數(shù)器。3、方式2
方式2為自動(dòng)重裝初值的8位計(jì)數(shù)方式。在方式2下,當(dāng)定時(shí)器計(jì)滿255( FFH)溢出時(shí),CPU自動(dòng)把TH的值裝入TL中,不需用戶干預(yù),比較適合于用作較精確的脈沖信號發(fā)生器。
4、方式3
方式3只適用于定時(shí)器/計(jì)數(shù)器TO,定時(shí)器T1方式3時(shí)相當(dāng)于TR1=0,停止計(jì)數(shù)。方式3將TO分成為兩個(gè)獨(dú)立的8位計(jì)數(shù)器TLO和THO。

實(shí)現(xiàn)完整電磁爐顯示功能的代碼

void Test(void)   //電磁爐的功能
{if (KEY1 == 0)   //開關(guān)機(jī)鍵{delay_ms(1000);  //長按1s開機(jī)if (KEY1 == 0){
/*=======================還沒有開機(jī)的情況下,執(zhí)行本段代碼=====================*/if (Run_Flag == 0)  //表示還沒有開機(jī){Run_Flag = 1;   //開機(jī)變量改為1,表示已經(jīng)開機(jī)BEEP = 0;		//打開蜂鳴delay_ms(10);   //延遲10msBEEP = 1;		//關(guān)閉蜂鳴P40 = 0;		//打開了LED總電源P2 = 0X00;		//全部點(diǎn)亮delay_ms(300);   //延遲200msP2 = 0XFF; 		//全部關(guān)閉}else{Run_Flag = 0;   //標(biāo)記已關(guān)機(jī)BEEP = 0;		//打開蜂鳴(提醒)delay_ms(10);   //延遲10msBEEP = 1;		//關(guān)閉蜂鳴P2 = 0XFF;		//狀態(tài)指示全部關(guān)閉P40 = 1;		//關(guān)閉總電源LEDRun_Mode = 0;   //模式清零Run_Now = 0;	//運(yùn)行狀態(tài)清零(改成停止)}while(KEY1 == 0);	//按鈕按下,先執(zhí)行并等待按鈕松開}}
/*=======================按下按鍵2,執(zhí)行本段代碼=====================*/if (KEY2 == 0 && Run_Flag == 1 )   //切換模式,且處于開機(jī)狀態(tài),狀態(tài)選擇鍵有效{delay_ms(10);  //防抖if (KEY2 == 0){if (Run_Now == 0)	//Run_Now狀態(tài)為0(未工作)時(shí)才能切換{BEEP = 0;		//打開蜂鳴delay_ms(10);   //延遲10msBEEP = 1;		//關(guān)閉蜂鳴Run_Mode++;		//每次按下,模式+1(移至下一個(gè)led)if (Run_Mode > 8)  //如果模式大于8,回到模式1Run_Mode = 1;  //Run_Mode超過8后清零,回到第一個(gè)燈//錯(cuò)誤寫法,執(zhí)行結(jié)果是8個(gè)燈中僅1個(gè)不亮//燈是低電平點(diǎn)亮,1<< Run_Mode,即1<<1,左移以后為0000 0010,僅1個(gè)LED滅,繼續(xù)左移,尾部補(bǔ)0,還是只有1個(gè)LED滅//解決方法:RunMode先減1,再左移,最后全部取反。這里用~為全取反。而!是位取反。//P2 = 0XFX;  P6<< 1 + 1;  也可以實(shí)現(xiàn)P2 = ~(1<< (Run_Mode - 1));}while(KEY2 == 0);	//按鈕按下,并等待按鈕松開}}
/*=======================按下按鍵3,執(zhí)行本段代碼=====================*/if (KEY3 == 0)   //必須是按鍵按下才會執(zhí)行以下代碼,key3被點(diǎn)擊,燈在一閃一閃的時(shí)候,KEY3非按下模式{delay_ms(10);  //防抖if (KEY3 == 0){if(Run_Mode > 0 )   //表示有模式,已經(jīng)選擇了模式且處在開機(jī)狀態(tài)下,Run_Mode=0時(shí),未選擇模式,不執(zhí)行{BEEP = 0;		//打開蜂鳴delay_ms(10);   //延遲10msBEEP = 1;		//關(guān)閉蜂鳴Run_Now = !Run_Now; //運(yùn)行和停止之間的切換}while(KEY3 == 0);	//等待按鍵松開,先執(zhí)行}}if( Run_Now == 1)   //正在運(yùn)行{P2 = 0XFF; 	//全部熄滅delay_ms(200);   //延遲200msP2 = ~(1<< (Run_Mode - 1));	//點(diǎn)亮這個(gè)燈delay_ms(200);   //延遲200ms}else  			//停止運(yùn)行時(shí),沒有工作,燈和上面的一樣{P2 = ~(1<< (Run_Mode - 1));}
}

測試流程

先KEY1開機(jī)蜂鳴一聲LED點(diǎn)亮
切換模式KEY2(需處于開機(jī)狀態(tài)下)
按一下KEY3,當(dāng)前LED閃(在當(dāng)前模式下運(yùn)行),運(yùn)行狀態(tài)下,切換模式短按長按都失效
再按一下KEY3,LED停閃(運(yùn)行停止),可以切換模式。
后期學(xué)完定時(shí)器的章節(jié),再解決按鍵反應(yīng)遲鈍的問題?;蛘邔W(xué)完數(shù)碼管以后,既可以修理一下。

總結(jié)

厘清正常、簡單的邏輯。瘋狂的在用if和else做一個(gè)判斷。

http://www.risenshineclean.com/news/7602.html

相關(guān)文章:

  • 電子商務(wù)與網(wǎng)站建設(shè)的報(bào)告廣告聯(lián)盟代理平臺
  • 網(wǎng)站簡單代碼重慶網(wǎng)站制作公司
  • 有沒有做專利導(dǎo)航運(yùn)營的網(wǎng)站seo關(guān)鍵詞優(yōu)化報(bào)價(jià)價(jià)格
  • 自己做的網(wǎng)站外國人能訪問嗎口碑營銷方案
  • asp.net實(shí)用網(wǎng)站開發(fā)沈陽網(wǎng)絡(luò)關(guān)鍵詞排名
  • 衡水做網(wǎng)站的seo技術(shù)優(yōu)化服務(wù)
  • 靜安網(wǎng)站建設(shè)哪里有最近新聞報(bào)道
  • wordpress bbpress編輯器前端性能優(yōu)化
  • app展示網(wǎng)站模板htmlseo教學(xué)實(shí)體培訓(xùn)班
  • 犀牛云 做網(wǎng)站百度指數(shù)資訊指數(shù)是指什么
  • 建設(shè)網(wǎng)站企業(yè)登錄百度怎么提交收錄
  • 網(wǎng)站 www ftp功能fifa最新世界排名
  • 小程序開發(fā)和網(wǎng)站開發(fā)的區(qū)別seo綜合查詢站長工具
  • 分享類網(wǎng)站怎么做百度關(guān)鍵詞seo優(yōu)化
  • 大數(shù)據(jù)營銷是做什么的網(wǎng)站是怎么優(yōu)化推廣的
  • 宣武做網(wǎng)站百度推廣怎么登錄
  • ui做的好的網(wǎng)站有哪些內(nèi)容百度一下馬上知道
  • 專業(yè)網(wǎng)站建設(shè)西安seo網(wǎng)站排名
  • 網(wǎng)頁版1688免費(fèi)網(wǎng)站做seo
  • 威海網(wǎng)頁設(shè)計(jì)制作公司自己怎么優(yōu)化網(wǎng)站
  • php做的網(wǎng)站畢設(shè)會問的問題100大看免費(fèi)行情的軟件
  • 漯河市住房建設(shè)局網(wǎng)站百度指數(shù)查詢手機(jī)版app
  • 長春做網(wǎng)站多少錢今日熱點(diǎn)新聞15條
  • 奢做品二手 哪個(gè)網(wǎng)站好獨(dú)立站建站平臺
  • 怎么通過淘寶優(yōu)惠券做網(wǎng)站賺錢網(wǎng)絡(luò)營銷的平臺有哪些
  • 惠陽做網(wǎng)站百度推廣助手手機(jī)版
  • 網(wǎng)站建設(shè)質(zhì)量保證域名ip地址在線查詢
  • 做網(wǎng)站的目標(biāo)是什么大型網(wǎng)站制作
  • 垣曲網(wǎng)站建設(shè)歐美網(wǎng)站建設(shè)
  • wordpress 電影moban百度搜索seo優(yōu)化技巧