freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)開發(fā)工程案例分析與解析-免費(fèi)閱讀

2025-05-11 00:02 上一頁面

下一頁面
  

【正文】 //半個(gè)周期的時(shí)間 f=f/。i=hz_shu%1000/100。 i=hz_shu%10。 } //無鍵按下 else //有鍵按下 { delay(10)。unsigned int data sec_over_num。在“文件\新建項(xiàng)目”的菜單中,新建項(xiàng)目并將C語言源程序文件包括在項(xiàng)目文件中。發(fā)光二極管串聯(lián)500歐姆電阻再接到電源上,當(dāng)輸入為低電平時(shí),發(fā)光二極管導(dǎo)通發(fā)光。 涉及以下幾個(gè)方面的問題:按鍵的掃描、功能鍵的處理、計(jì)時(shí)功能以及數(shù)碼管動態(tài)掃描顯示等。 } } led_show()。 } } } if(IE0==1amp。 if (key_val!=255) { switch (key_val) { case 0: //啟動鍵 TR1=1。 250=(256x)*12/ x= TL1=0x19。 t_cost=t_cost+cost_val[2]。 i=k%100/10。 P0=led_seg_code[i]。 P2=0x7f。}//數(shù)碼管動態(tài)掃描void led_show(){unsigned char i,k。 //延時(shí)去抖動 if(i!=P1) {k=255。 t_30=0。 程序設(shè)計(jì)/*晶振: T1250微秒溢出中斷一次;(int0)中斷100次,查詢IE0置位, P1^0為啟動鍵;P1^1為清除鍵;P1^2為白天/晚上的切換鍵變量的定義: key_val: 返回按鍵的值 255無鍵 T1_t: 定時(shí)器溢出數(shù)計(jì)數(shù) t_30: 30秒鐘的計(jì)時(shí) t_distance: 計(jì)算路程 t_cost: 總金額 state_val: 狀態(tài):0白天 1 夜晚 cost_val[3]: 收費(fèi)標(biāo)準(zhǔn):白天單價(jià)cost_val[0]=1元/公里;晚上單價(jià)cost_val[1]=2元/公里;等待單價(jià)cost_val[2]=1元/30s led_seg_code:數(shù)碼管7段碼 *///include unsigned char data t_30,t_distance,t_cost。中斷程序的流程圖如圖313所示。P0口用于輸出7段LED共陰極顯示代碼,P2口用于輸出低電平有效的位選碼。由于需要不停的要清除30秒的計(jì)時(shí),因此,脈沖的計(jì)數(shù)不采用定時(shí)器的計(jì)數(shù)方式。 } } } led_show()。 delay(60000)。 //密碼輸入錯誤次數(shù)清零 // audio_out=0。 //密碼錯誤指示燈亮 // delay(20000)。 delay(50000)。 case 6: //確認(rèn)鍵 if(check_input_pw()) {//密碼正確 error_num=0。 if (key_val!=255amp。 //500微秒溢出一次。1密碼正確,計(jì)時(shí)4s狀態(tài) 。 } return k。 //停止計(jì)時(shí) } break。} else { t_val_15s=0。} else { t_val_4s=0。}//定時(shí)器T1中斷服務(wù)程序void timer1() interrupt 3 //T1中斷{ T1_t++。 P2=0xfb。 delay(500)。 break。 break。 t_state!=2) { k=255。 for(i=0。unsigned int data T1_t。enter=P1^6。在偉福中將程序文件編譯成目標(biāo)文件后,將下載線安裝在實(shí)驗(yàn)平臺的下載線接口上,運(yùn)行“MCU下載程序”,選擇相應(yīng)的flash 數(shù)據(jù)文件,點(diǎn)擊“編程”按鈕,將程序文件下載到單片機(jī)的Flash中。模式變量t_state存儲計(jì)時(shí)屬于什么狀態(tài),0表示待機(jī)計(jì)時(shí),1表示密碼正確的計(jì)時(shí),2表示密碼錯誤3次的計(jì)時(shí)。②密碼輸入正確之后的計(jì)時(shí),4s之后清除開鎖驅(qū)動信號與已開鎖指示信號。蜂鳴器的驅(qū)動采用PNP三極管8550來驅(qū)動,低電平有效。在循環(huán)中,首先判斷有無按鍵按下,若有按鍵則判斷是否數(shù)字鍵還是功能鍵,根據(jù)按鍵的情況執(zhí)行相應(yīng)的功能。寫出系統(tǒng)整體設(shè)計(jì)思路根據(jù)題目的要求,需要考慮如下幾個(gè)任務(wù):按鍵的輸入,密碼的判斷,密碼輸入正確或錯誤的計(jì)時(shí)、輸出信號的控制等。分別為1個(gè)電磁開鎖驅(qū)動信號和密碼錯誤指示、報(bào)警輸出、已開鎖指示信號,分別用發(fā)光二極管L1L4指示。 //500微秒溢出一次。//南北方向綠燈亮 SN_yellow=1 。//東西方向黃燈 EW_red=1 。//東西方向黃燈 EW_red=0 。//南北方向黃燈 SN_red=0 。//南北方向黃燈 SN_red=1 。 //延時(shí)}//void timer1() interrupt 3 //T1中斷{ T1_t++。 //延時(shí) i=v%10。 i=u%10。//東西方向紅燈unsigned char data t_sn,t_ew。 程序設(shè)計(jì)(僅供參考的C語言源程序)//晶振: T1250微秒溢出一次/*變量的定義: show_val_sn,show_val_ew: 顯示的值059 state_val_sn,state_val_ew: 狀態(tài)值 南北方向0綠燈亮。 計(jì)時(shí)以及狀態(tài)的切換通過定時(shí)器的中斷服務(wù)程序來實(shí)現(xiàn),在中斷服務(wù)程序中,每計(jì)時(shí)到一秒時(shí),則各方向當(dāng)前狀態(tài)的剩余時(shí)間減1,一直減到0時(shí)觸發(fā)下一個(gè)狀態(tài)的開始,改變交通燈的指示。硬件電路原理圖如圖35所示。計(jì)時(shí)功能:要實(shí)現(xiàn)計(jì)時(shí)功能則需要使用定時(shí)器來計(jì)時(shí),通過設(shè)置定時(shí)器的初始值來控制溢出中斷的時(shí)間間隔,再利用一個(gè)變量記錄定時(shí)器溢出的次數(shù),達(dá)到定時(shí)1秒中的功能。 //將計(jì)數(shù)變量的數(shù)字顯示 TR1=1。} show_val=init_val。 //開定時(shí)器T1while(1){ key_val_new=scan_key()。 shan_val=0。 shan_val=!shan_val。 } //將數(shù)碼管的關(guān)閉 else { P2=0xfc。 //轉(zhuǎn)換為7段碼 P2=0xfe。 } else { if (P1_1==0) { i=2。 //暫存倒計(jì)數(shù)的初始值char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //減一鍵sbit P1_3=P1^3。在偉福中將程序文件編譯成目標(biāo)文件后,運(yùn)行MCU下載程序,選擇相應(yīng)的flash 數(shù)據(jù)文件,點(diǎn)擊“編程”按鈕,將程序文件下載到單片機(jī)的Flash中。根據(jù)按鍵的值分別改變變量(state_val)的值或者在設(shè)置狀態(tài)時(shí)的倒計(jì)時(shí)初始值。當(dāng)“設(shè)置鍵”按下時(shí),變量state_val由0變?yōu)?,切換到設(shè)置模式。還需要定義一個(gè)變量(show_val)暫存要顯示的數(shù)據(jù),用于動態(tài)掃描顯示中。由于鍵盤數(shù)量不多,選擇獨(dú)立式按鍵與P1口連接作為四個(gè)按鍵輸入。計(jì)時(shí)功能:要實(shí)現(xiàn)計(jì)時(shí)功能則需要使用定時(shí)器來計(jì)時(shí),通過設(shè)置定時(shí)器的初始值來控制溢出中斷的時(shí)間間隔,再利用一個(gè)變量記錄定時(shí)器溢出的次數(shù),達(dá)到定時(shí)1秒中的功能。電子行業(yè)網(wǎng)址大全—您工作和學(xué)習(xí)的好幫手3 單片機(jī)開發(fā)工程案例分析與解析 定時(shí)報(bào)警器設(shè)計(jì)一個(gè)單片機(jī)控制的簡易定時(shí)報(bào)警器。然后,當(dāng)計(jì)時(shí)每到1秒鐘后,倒計(jì)時(shí)的計(jì)數(shù)器減1。當(dāng)有鍵按下時(shí)。在整個(gè)程序中,定義了一個(gè)狀態(tài)變量(state_val)用來存儲當(dāng)前單片機(jī)工作在哪種狀態(tài)??梢允褂谩斑f增鍵”“遞減鍵”對計(jì)時(shí)初始值進(jìn)行修改。完整的主程序圖如圖33所示。然后,上電重新啟動單片機(jī),檢查所編寫的程序是否達(dá)到題目的要求,是否全面完整地完成試題的內(nèi)容。 //確定鍵unsigned char data shan_val。//延時(shí)void delay(unsigned int i) //大約延時(shí)i*2個(gè)微秒{ while(i)。} else { if (P1_2==0) { i=3。 //顯示個(gè)位 delay(15)。 } //將數(shù)碼管的打開 }}//定時(shí)器T1中斷服務(wù)程序void timer1() interrupt 3 //T1中斷,250us中斷一次{ T1_t++。 } //閃爍狀態(tài) break。 //初始化51的寄存器TMOD=0x20。 // 255表示無鍵按下 if (key_val_new!=key_val_old){ // 只有當(dāng)前掃描的鍵值與上次掃描的不同,才判斷是有鍵按下 key_val_old=key_val_new。//顯示更改后的倒計(jì)數(shù)初始值 } break。 //啟動定時(shí)器T1 state_val=0。當(dāng)計(jì)時(shí)每到1秒鐘后,東西、南北信號燈各狀態(tài)的暫存剩余時(shí)間的變量減1。(3)程序設(shè)計(jì)思路,單片機(jī)資源分配以及程序流程①單片機(jī)資源分配,控制發(fā)光二極管的顯示。 ③程序流程 圖37 交通燈主程序流程圖 圖38 中斷服務(wù)程序流程圖(4)軟硬件調(diào)試方案 軟件調(diào)試方案:偉福軟件中,在“文件\新建文件”中,新建C語言源程序文件,編寫相應(yīng)的程序。1黃燈亮。unsigned int data T1_t。 //暫存?zhèn)€位 P0=led_seg_code[i]。 //暫存?zhèn)€位 P0=led_seg_code[i]。 if(T1_t3999) //如果計(jì)數(shù)3999, 計(jì)時(shí)1s { T1_t=0。//南北方向紅燈 break。//南北方向紅燈 break。//東西方向紅燈 break。//東西方向紅燈 break。//南北方向黃燈滅 SN_red=1 。 250=(256x)*12/ x= TL1=0x19。用于實(shí)現(xiàn)提示音。 鍵盤的輸入:由于需要輸入6個(gè)數(shù)字作為密碼,先要判斷按鍵時(shí)數(shù)字鍵還是功能鍵,若判斷為數(shù)字鍵按下,則需要將每次鍵盤的輸入內(nèi)容依次暫存在一個(gè)數(shù)組中。然后根據(jù)密碼是否正確的判斷情況,執(zhí)行相應(yīng)的操作。獨(dú)立式按鍵使用上提拉電路連接,在沒有鍵按下時(shí),輸出高電平。 ③密碼輸入錯誤3次的計(jì)時(shí),計(jì)時(shí)15s,在則15s內(nèi)無法再次輸入密碼,15秒過后清除所有報(bào)警與指示。三個(gè)變量(t_val_15s,t_val_5s, t_val_4s)分別實(shí)現(xiàn)待機(jī)、密碼正確和密碼錯誤3次后的計(jì)時(shí)工作。然后,上電重新啟動單片機(jī),檢查所編寫的程序是否達(dá)到題目的要求,是否全面完整地完成試題的內(nèi)容。esc=P1^7。unsigned char data key_val,key_index,key_val_old。i6。 } //無鍵按下 else //有鍵按下 { delay(500)。 case 0xfb: k=2。 case 0xbf: k=6。 P0=led_seg_code[show_val[1]]。 delay(500)。 if(T1_t3999) //如果計(jì)數(shù)3999, 計(jì)時(shí)1s { T1_t=0。 init_variant()。 init_variant()。 } }}//判斷鍵盤輸入內(nèi)容與密碼是否一致unsigned char check_input_pw(){ unsigned char i,k。}//主程序
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1