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

正文內(nèi)容

畢業(yè)設(shè)計(jì)173整流器生產(chǎn)自動(dòng)檢測(cè)系統(tǒng)開發(fā)-資料下載頁(yè)

2024-12-01 17:13本頁(yè)面

【導(dǎo)讀】論文題目整流器生產(chǎn)自動(dòng)檢測(cè)系統(tǒng)開發(fā)。所在學(xué)院電子信息工程。學(xué)生姓名張宏宇學(xué)號(hào)040901140428. 完成日期2021年月日

  

【正文】 3e。 //write munication register, read mand while(!IsSpi0SendFinish()) 。 byTemp=pgsSpiregData。 while(byNum0) { //pgsSpiregData=0。 pgsSpiregData = 0xfe。//SYNC0。 //must be NOP in cs5460a while(!IsSpi0SendFinish()) 。 *pBuf = pgsSpiregData。 byNum。 }//while } static void ReadAdc24Bits(BYTE byAddr, DWORD *pdw) 34 { ReadAdcReg(byAddr, (BYTE*)pdw,3)。 *pdw amp。=0x00ffffff。 } static DWORD ReadRSTATUS(void)//讀取狀態(tài)寄存器 { DWORD dwStatus。 ReadAdcReg(STATUSR,(BYTE*)amp。dwStatus,3)。 dwStatus amp。= 0x00ffffff。 return(dwStatus)。 } //******************************************************************* static void Calibration(BYTE byCmd, BYTE byReg, DWORD *pdwResult, INT32 iChipSum) { INT32 i。 DWORD dwStatus。 for (i=0。 iiChipSum。 i++) { SelectAdc(i)。 WriteSTATUS(0xffffff)。 WriteAdcCommand(byCmd)。 while(1) { Delay(1)。 dwStatus = ReadRSTATUS()。 if(dwStatus amp。 0x800000) //N coversions is plete { WriteSTATUS(0x800000)。 // break。 35 } } ReadAdc24Bits(byReg,pdwResult)。 pdwResult++。 UnSelAdc(i)。 } } // void AdcVoltCal(DWORD *pdwOffsetRet, DWORD *pdwGainRet,INT32 iChipSum) { BYTE i。 InitAdc(NULL,NULL,iChipSum)。 while(1) { Print(\r\nStart to calibration(MUST BE STEP BY STEP))。 Print(\r\n1. VRMS AC OFFSET CALIBRATION)。 Print(\r\n2. VGAIN CALIBRATION)。 Print(\r\nx. Exit Voltage calibration)。 switch(GetChar()) { case 39。139。: Print(\r\n VAC offset)。 Print(\nRemove All input,then press 39。g39。)。 while (GetChar() != 39。g39。) OSTimeDly(10)。 Print(\r\n Please Wait a few Seconds...)。 Calibration(0xd5, VACOFFR, pdwOffsetRet, iChipSum)。 //0xd5=VAC offset //CalVRMSOS(pdwOffsetRet, iChipSum)。 break。 36 case 39。239。: Print(\r\n VAC GAIN )。 Print(\nAll channel input AC380V/220V/100V(select one), then press 39。g39。)。 while (GetChar() != 39。g39。) OSTimeDly(10)。 Print(\r\n Please Wait a few Seconds ...)。 Calibration(0xd6, VGN, pdwGainRet, iChipSum)。 //0xd6=VAC gain //VGainCal(pdwGainRet, iChipSum)。 break。 case 39。x39。: Print(\r\nExit Voltage calibration routine!\r\n)。 return。 default: Delay(100)。 break。 } } } INT32 GetAdcValue(DWORD *pdwBuf, INT32 iChipSum) { INT32 i。 DWORD dwStatus。 for (i=0。 iiChipSum。 i++,pdwBuf++) { while(1) { SelectAdc(i)。 dwStatus = ReadRSTATUS()。 if(dwStatus amp。 0x00800000) //N coversions is plete { 37 ReadAdc24Bits(VRMSR,pdwBuf)。 //VRMS WriteSTATUS(0xffffff)。 //clear interrupt UnSelAdc(i)。 break。 //go to next chip } else { UnSelAdc(i)。 Delay(1)。 } } } return(iChipSum)。 } void InitAdc(DWORD *pdwOffset, DWORD *pdwGain, INT32 iChipSum) //pdwOffset,pdwGain==NULL 時(shí), gain 及 offset 采用 CS5460A 硬件復(fù)位時(shí)的默認(rèn)參數(shù) { INT32 i。 DWORD dwTemp。 //初始化片選引腳 pgsPort0regDirCtrl |= ADCSA。 pgsPort1regDirCtrl |= ADCSB | ADCSC | ADRST。 pgsPort0regOutSet = ADCSA。 //disable cs5460a chipA pgsPort1regOutSet = ADCSB | ADCSC。 //disable chipB,chipC pgsPort1regOutClr = ADRST。 //hardware reset cs5460a //初始化 SPI0 口 dwTemp=pgsSpiregStatus。//clear SPI0 SPIF flag 38 dwTemp=pgsSpiregData。 pgsSpiregClkCnt=0x08。 //frequency divisor =pclk/8。 pgsSpiregCtrl=0x20。 //disable interrupt, sample at the rising edge // pgsSpiregInt=0x01。 //WARNING: 在該位沒(méi)有置位的情況下,不能對(duì)其置 39。139。,否則 SCLK 會(huì)一直輸出波形 20210507,lyq 。 clear interrupte flag //脫離硬件復(fù)位狀態(tài) Delay(20)。 //must be at least 60ms, delay wait pgsPort1regOutSet = ADRST。 //end of hardware reset cs5460a //初始化 CS5460A 芯片 for(i=0。 iiChipSum。 i++) { SelectAdc(i)。 WriteSTATUS(0xffffff)。 //不允許 INT 輸出所以,注釋掉下行 =MASKR //WriteAdc24Bits(MASKR,0x800000)。 //DRDY=1, WriteAdc24Bits(CONFR,0x000062)。 //k=2 SI=0(low level) WriteAdc24Bits(CYCCONT,3000)。 //N=3000。 //WriteAdc24Bits(CTRLR,0x000010)。 //控制寄存器,設(shè)置 INT 為 OC 開路 if(pdwOffset != NULL amp。amp。 pdwGain!=NULL) //采用 CS5460A初始化時(shí)的默認(rèn)參數(shù) { WriteAdc24Bits(VACOFFR,*pdwOffset)。 //設(shè)置電壓通道 OFFSET 系數(shù) WriteAdc24Bits(VGN,*pdwGain)。 //設(shè)置電壓通道 GAIN 系數(shù) WriteAdcCommand(STARTC)。 //啟動(dòng) AD 轉(zhuǎn)換 pdwOffset++。 pdwGain++。 } UnSelAdc(i)。 39 } } void TestCS5460a(void) { DWORD dwOffset[3],dwGain[3],dwVal[3]。 INT32 i。 float fRealVal[3]。 char szStr[32]。 AdcVoltCal(dwOffset,dwGain,3)。 for(i=0。 i3。 i++) { Print(\nOFF=)。 PrintHex(amp。dwOffset[i],4)。 Print(G=)。 PrintHex(amp。dwGain[i],4)。 } InitAdc(dwOffset,dwGain,3)。 while(1) { GetAdcValue(dwVal,3)。 for (i=0。 i3。 i++) { fRealVal[i]=(float)dwVal[i]。 //PrintHex(amp。dwVal[i],4)。 fRealVal[i] *=。 fRealVal[i] /=。 //((2^24)*=) sprintf(szStr,U%i=%fV\n,i,fRealVal[i])。 Print(szStr)。 } Print(\n)。 40 Delay(100)。 } } 5 系統(tǒng)設(shè)計(jì)調(diào)試總結(jié) 本次設(shè)計(jì)重點(diǎn)在于下位機(jī)的設(shè)計(jì),也就是數(shù)據(jù)采集部分和傳輸部分的設(shè)計(jì),按操作方式主要分為設(shè)計(jì)部分和調(diào)試部分。以下就按這 2 個(gè)方面分別總結(jié) 設(shè)計(jì)部分總結(jié) 由于實(shí)現(xiàn)參考了很多書籍和資料,電路圖基本上已經(jīng)確定下來(lái),設(shè)計(jì)部分要完成的工作主要是圖紙的繪制和系統(tǒng)調(diào)試 2 個(gè) 方面的工作。 在布板的時(shí)候需要注意以下事項(xiàng): 設(shè)計(jì)開始之前要查閱相關(guān)資料文檔,對(duì)每一個(gè)要用到的元器件的參數(shù)做一個(gè)詳細(xì)的了解,芯片規(guī)格書需要仔細(xì)研讀; 原理圖和 PCB 的封裝要準(zhǔn)確,特別是 PCB的封裝要做好,封裝信息典型電路在規(guī)格書都能找到; 原理圖上的各個(gè)模塊在同一張圖紙上要分區(qū)擺放,布 PCB 圖時(shí)一定要導(dǎo)入原理圖生成的網(wǎng)絡(luò)表( .Net 文件),元器件導(dǎo)入后先將所有器件按模塊分開擺放; 布 PCB 時(shí)規(guī)則一定要設(shè)置好,一般線線之間的安全間距不能小于 6MIL,過(guò) 空內(nèi)徑一般不能小于 ,布圖之前要先和 PCB 加工廠的技術(shù)人員溝通,根據(jù)對(duì)方的生產(chǎn)實(shí)力來(lái)布圖。 要充分考慮好板上布局的抗干擾能力,高壓和低壓部分要隔離,數(shù)字地和模擬地也要隔離,高頻信號(hào)線要盡量短,絕對(duì)不能走直角。如果時(shí)雙面板的話一般最好頂層走橫向線,底層走豎線。 一般電源線要盡量寬,整面鋪銅接地,大的貼片芯片的底部要加散熱孔。 要加淚滴焊盤,這樣可以有效的防止焊件的時(shí)候扯壞焊盤。 板子四角一般都要加固定孔。 調(diào)試總結(jié) 41 調(diào)試部分主要分 為焊接、系統(tǒng)調(diào)試和整機(jī)聯(lián)調(diào) 3 個(gè)部分。 焊接部分 焊接之前先把桌面清理整頓,不需要的物品要擱置別處,工具擺放到位,元器件分類擺放,最好要用元件盒裝; 由于靜電會(huì)對(duì)元器件造成破壞,焊接之前可以用洗
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1