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

正文內(nèi)容

接觸電流測試儀設計畢業(yè)設計(編輯修改稿)

2024-10-03 13:31 本頁面
 

【文章內(nèi)容簡介】 序中有一個計數(shù)器,每產(chǎn)生200次中斷,有一個1秒計數(shù)。按鍵掃描采用單個按鍵的掃描,有相應的按鍵處理子程序,程序中包括按鍵去抖動,按鍵的鍵后處理,去抖動采用延時去抖法。顯示子程序在主程序中被調(diào)用對時間進行實時顯示。,主要完成系統(tǒng)的初始化,按鍵掃描,顯示程序及其他子程序調(diào)用等功能。void main ( void ){ INT8U i。 Init_devices()。 Initial()。 while(1) { WDR()。 /*外部按鍵響應*/ if( ExtKey_Pressed ) {ExtKey_Pressed = FALSE。 ExtKey_DealWith()。 } /*按鍵響應*/ if( Key_Pressed ) { Key_Pressed = FALSE。 if (AutoPress) { AutoPress。 Key_Valu = AutoKeyVal。 if (AutoPress){Key_Pressed = TRUE。} }if (KeySound){Buzzer_ON(3)。} Key_DealWith()。 } /*菜單顯示*/ if ((!AutoPress)amp。amp。(State==STOP)){MenuDisp()。} /*讀取時間*/ if (tRead8563=40){tRead8563 = 0。GetPCF8563()。} // 200ms /*運行測試*/ if ( State == RUN ) { Control()。 // 輸出控制 DispInit()。 StateInfo()。 TestingFace()。 // 顯示測試界面 DispAll()。 BackLight()。 // 背光 } else if ( State == PAUSE ) { DispInit()。 StateInfo()。 TestingFace()。 // 顯示測試界面 DispAll()。 BackLight()。 // 背光 } else { BitMove = 0。 CtrlPort = 0。 OutPort = 0。 CurChanel = 0。 Step = STEP_clr。 memset(StartTime,0xff,sizeof(StartTime))。 memset(StopTime ,0xff,sizeof(StopTime ))。 /*測試完成后,檢驗測試結(jié)果是否合格?*/ if (Pass==TRUE) { Buzzer_ON(1000)。 // 1S Message(600,5)。 // 合格 3S } else if (Pass==FALSE) { Buzzer_ON(2000)。 // 2S Message(600,6)。 // 不合格 3S } Pass = 0xff。 } /* 接收處理* if ( UART_State == TX_Make ){TX_Pack( UART_Cmd )。} // 形成發(fā)送數(shù)據(jù) else if ( UART_State == RX_Done ){RX_Unpack()。} // 接收結(jié)束后處理接收數(shù)據(jù)并準備發(fā)送內(nèi)容 else if ( UART_State == RX ) { if ( UART_Tx_Reqamp。IO_Ctrl ) // 切換通道 { UART_Tx_Req amp。= ~IO_Ctrl。 UART_Cmd = 39。J39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。AD_Clear )// 詢問接觸電流采集值 { UART_Tx_Req amp。= ~AD_Clear。 UART_Cmd = 39。Z39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。AD_Quer ) // 詢問接觸電流采集值 { UART_Tx_Req amp。= ~AD_Quer。 UART_Cmd = 39。Q39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。CK_Vset ) // 設定程控電源輸出電壓 { UART_Tx_Req amp。= ~CK_Vset。 UART_Cmd = 39。v39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。CK_Vquer ) // 詢問程控電源電壓 { UART_Tx_Req amp。= ~CK_Vquer。 UART_Cmd = 39。V39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。CK_Aquer ) // 詢問程控電源電流 { UART_Tx_Req amp。= ~CK_Aquer。 UART_Cmd = 39。A39。 UART_State = TX_Make。 } else if ( UART_Tx_Reqamp。CK_Vout ) // 打開程控電源輸出 { UART_Tx_Req amp。= ~CK_Vout。 UART_Cmd = 39。O39。 UART_State = TX_Make。 } } /*更改時鐘*/ if ( Modify8563 ) { for ( i=0。 i8。 i++ ){SetClock[i]=GetClock[i]。} Modify8563 = FALSE。 } /*寫8563*/ if ( Write8563 ){SetPCF8563()。Write8563 = FALSE。} /*保存數(shù)據(jù)*/ if( SignSave ){Save()。} }}一般的情況下是在上電的時候初始化,還有就是程序跑飛和出現(xiàn)異常時也要初始化,初始化的目的就是把所有用到的標志位、變量回到設定的初始值,以及引腳的分配,配置寄存器寫入需要的值,像時鐘的選擇(內(nèi)部、外部)一般在上電時就做好,以后不是特殊需要是不改動的,引腳功能的分配也是一上來就設置好,之后如果可以就不改動,如果經(jīng)常性的改可能會引發(fā)異常。接通電源之后進入初始化,初始化中有外部設備初始化和變量初始化,其中外部設備初始化包括IO口初始化,定時器TO,T1的初始化,TWI初始化。變量初始化即初始化函數(shù)定義。初始化中還包括初始化界面的顯示開始時顯示啟動中即信息提示,此程序在整個過程中很重要,通過此程序可以判斷測試進入哪個階段。 在初始化部分中根據(jù)程序設計可以知道接通電源之后進行初始化的工作基本步驟可以通過接下來的Proteus仿真來驗證此部分設計的正確性。如果正確首先顯示的是“啟動中”,一秒鐘之后會顯示版本信息,版本信息顯示時間為三秒鐘。一步一步按程序設置顯示相應的信息。對于一個由單片機為核心構成的系統(tǒng)而言。輸入通道是相當重要的??梢钥吹綆缀趺恳粯踊趩纹瑱C的產(chǎn)品都有人機交互的部分。而此設計也不例外可以實現(xiàn)人機交互。進行初始化之后就判斷是否有外部按鍵響應或內(nèi)部按鍵響應。如有外部按鍵就進行測試,如有內(nèi)部按鍵相應及進行設置其程序?qū)缦鲁绦?和程序5。由于篇幅限制按鍵處理程序在附件里。按鍵功能的設計說明:此設計中包括上,下,左,右,確定和放棄六個鍵,接通電源之后可以通過按確定鍵進入系統(tǒng)設置,在系統(tǒng)設置的各種可選項中同樣可以通過確定鍵進入下一級的設置,確認設置結(jié)果按確定鍵。在同一級的菜單中可以通過上下鍵來選擇。同時通過確認鍵進入數(shù)值設置。在進行數(shù)值設置時可以按左右來設置,左鍵是減,右鍵是加。如果想退出當前狀態(tài)可以選擇放棄鍵。程序4:判斷是否有外部按鍵及處理程序如下 if( ExtKey_Pressed ) { ExtKey_Pressed = FALSE。 ExtKey_DealWith()。 }程序5:判斷是否有內(nèi)部按鍵響應程序如下 if( Key_Pressed ) { Key_Pressed = FALSE。 if (AutoPress) { AutoPress。 Key_Valu = AutoKeyVal。 if (AutoPress){Key_Pressed = TRUE。} } if (KeySound){Buzzer_ON(3)。} Key_DealWith()。 } 菜單的基本作用:提供人機對話,以便讓使用者選擇應用系統(tǒng)的各種功能,管理應用系統(tǒng),控制各種功能模塊的運行。:啟動中,設定電壓,當前電壓,工作電流,設備類型,端口設定,參數(shù)設定,系統(tǒng)設定,關閉系統(tǒng),是第一級菜單,接下來是設備類型中第二級菜單,如設備類型有兩個選擇一類和二類。其他設置依此類推。 菜單顯示需要測量過程及結(jié)果的輸入,通過調(diào)用漢字字模表進行顯示,其對應程序如下。INT8U *TestFace[3]={ 測試中,當前端口, 接觸電流}。INT8U *Power[3]={ 設定電壓, 當前電壓, 工作電流}。啟動中當前電壓,工作電流第一級菜單顯示第二級菜單 INT8U *MenuRoot[5]={ 一設備類型,二端口設定, 三參數(shù)設置,四系統(tǒng)設定, 五關閉系統(tǒng)}。INT8U MenuRootID[5]={EUTtype,PortSet,Paramete,SystemSet,ShutOff}。INT8U *MenuEutTpye[4] ={ 壹類, 貳類,接地,不接地}。INT8U MenuPortID[9] ={Port0,Port1,Port2,Port3,Port4,Port5,Port6,Port7,Port8}。INT8U *MenuParam[4] ={電源電壓,測試時間, 間隔時間,外部采樣}。INT8U MenuParamID[4] ={Voltage,Testtime,Spacetime,Exterior}。INT8U *MenuSystem[3] ={時間設定,背光設定,鍵音設定}。INT8U MenuSystemID[3] ={Time,Backlight,Buzzer}。INT8U *MenuBackLight[2] ={綠光, 紅光 }。INT8U MenuBackLightID[2] ={Green,Red}。INT8U *Adjust[1]={校正因子}。INT8U*Msg[7] = {啟動中…,關機中…,已保存!,電源電壓不穩(wěn),請稍等!,合格, 不合格!} A/D轉(zhuǎn)換說明Atmega32自帶一個10位的逐次逼近型ADC。ADC與一個8通道的模擬多路復用器連接,能對來自端口A 的8 路單端輸入電壓進行采樣。芯片還支持16 路差分電壓輸入組合。兩路差分輸入(ADCADC0 與ADC
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1