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

正文內(nèi)容

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

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

下一頁面
  

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