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

正文內(nèi)容

畢業(yè)設(shè)計--基于80c51單片機(jī)和tlc2543的多路數(shù)據(jù)采集系統(tǒng)設(shè)計-畢業(yè)設(shè)計-資料下載頁

2025-01-19 04:28本頁面

【導(dǎo)讀】數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支,是傳感器、信號獲。取、存儲與處理等信息技術(shù)結(jié)合。本文采用TI公司的11路12位串行模數(shù)轉(zhuǎn)。組成多路高精度的數(shù)據(jù)采集系統(tǒng)。這個數(shù)據(jù)采集系統(tǒng)特點是實現(xiàn)低成。小、功耗低等優(yōu)點。該系統(tǒng)還可通過USB數(shù)據(jù)總線接口與PC機(jī)進(jìn)行數(shù)據(jù)通。信,達(dá)到在PC機(jī)上實時的顯示、存儲和處理采樣數(shù)據(jù)的目的。

  

【正文】 TongDaoamp。0x08)==0x00) k=8。 else k=16。 ADCBuf[0]=k。 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 24 AD_CS=0。 AD_CLK=0。 //我們采集上邊沿 for(j=0。jk。j++) { AD_DIN=(bit)(TongDaoamp。0x80)。 //取 tongdao 最高位 TongDao=1。 //逐次取得通道數(shù) clock_in()。 } } // 進(jìn)行 AD 轉(zhuǎn)換,輸入:要進(jìn)行 AD 轉(zhuǎn)換的通道號( tongdao) // 輸出: AD 轉(zhuǎn)換的結(jié)果 unsigned int ADC(uchar TongDao) { uchar datah。 uchar datal,i,k。 unsigned int AdResult。 datah=0。 datal=0 。 if(AD_EOC==1) { if((TongDaoamp。0x04)==0x00) k=12。 else if((TongDaoamp。0x08)==0x00) k=8。 else k=16。 ADCBuf[0]=k。 AD_CS=0。 AD_CLK=0。 //我們用片選來讀 for(i=0。ik。i++) //輸入 k 個時鐘 { if(i4) //輸出高 4 位 { AD_DIN=(bit)(TongDaoamp。0x80)。 TongDao=1。 datah=1。 datah|=AD_DOUT。 } else //輸出低 8 位數(shù)據(jù) { AD_DIN=(bit)(TongDaoamp。0x80)。 TongDao=1。 datal=1。 datal|=AD_DOUT。 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 25 } clock_in()。 } AD_CS=1。 AdResult=datah*256+datal。 } else AdResult=0xF000。 return( AdResult)。 } 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 26 附錄 B:主程序 /* //******************************************************************** USBDATACOMMUNICATION // File Name: // Revision: (20210520) // Author: Wang Xin Jian // Note: //**************************************************************** */ include include include /* special function register declarations */ include include include include include include /* //************************************************************************* // Public static data //************************************************************************* */ extern EPPFLAGS bEPPflags。 extern unsigned char idata GenEpBuf[]。 extern unsigned char idata EpBuf[]。 extern unsigned int data d12_addr。 unsigned char xdata ADCBuf[36]={0,0,0,0,0,0}。 unsigned char xdata channelid。 unsigned int idata TEMPBufLow = 0。 unsigned int idata TEMPBufHig = 0。 extern unsigned int data D12_DATA。 //D12_DATA 輸出的是數(shù)據(jù) extern unsigned int data D12_COMMAND。 //D12_COMMAND 輸出的是命令 unsigned char m = 0x00。 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 27 //D12 中斷服務(wù) usb_isr() interrupt 0 //0,外部中斷; 1,定時器 0 溢出; 2,外部中斷 1; //3,定時器 1 溢出; 4,串口中斷; 5,定時器 2 溢出 { DISABLE。 //EA 為內(nèi)外存儲器選擇控制端 fn_usb_isr()。 //調(diào)用 D12 中斷服務(wù)子程序 ENABLE。 } void main(void) { byte_count adcdata。 byte_count tempdata。 ADCBuf[32]=39。G39。 ADCBuf[33]=39。O39。 ADCBuf[34]=39。O39。 ADCBuf[35]=39。D39。 P0 = 0xFF。 //初始化 I/O 口 P1 = 0xFF。 P2 = 0xFF。 P3 = 0xFF。 D12_DATA = 0xff02。 //定義數(shù)據(jù)地址 D12_COMMAND = 0xff03。 //定義命令地址 MCU_D12CS = 0x0。 //片選 PDIUSBD12 芯片 D12SUSPD = 0x0。 //喚醒 PDIUSBD12 芯片 IT0 = 0。 //初始化中斷 EX0 = 1。 PX0 = 0。 EA = 1。 MCU_D12CS = 0x1。 //禁止選通 PDIUSBD12 芯片(引發(fā)中斷) MCU_D12CS = 0x0。 //片選 PDIUSBD12 芯片 = 0。 reconnect_USB()。 //聯(lián)接 USB 總線 while( TRUE ) //主循環(huán) { unsigned char n =0 。 channelid=D12_ReadEndpoint1(4, 64, EpBuf)。//檢測主機(jī)給的數(shù)據(jù) for ( n=0。nchannelid。n++) { m = n。 m = m4。 if(!=0xF000) =ADC(m|OUTPUTLENGHT_12|UNIPOLAR)。 // 讀 AD 轉(zhuǎn)換結(jié)果 if ( n==0 ) 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 28 { ADCBuf[2*(channelid1)+1]=。 ADCBuf[2*(channelid1)+2]=。 }else { ADCBuf[2*(n1)+1]=。 ADCBuf[2*(n1)+2]=。 } } =ReadTemperature()。 ADCBuf[29]=。 ADCBuf[30]=。 TEMPBufHig = ReadTemperature()。 //讀溫度 if (TEMPBufHig=0x01E0) MCU_LED0=0。 //溫度超過 40 度報警 else MCU_LED0=1。 TEMPBufLow = ReadTemperature()。 if (TEMPBufLow=0x01B0) MCU_LED1=0。 //溫度超過 40度報警 else MCU_LED1=1。 D12_WriteEndpoint(5, 64, ADCBuf)。 //發(fā)送數(shù)據(jù)給主機(jī) usbserver()。 //USB 服務(wù)數(shù)據(jù) } } //USB 總線重新連接 (先斷開,再連接 )子程序 void reconnect_USB(void) { unsigned long clk_t。 //控制 LEC 亮 MCU_LED0 = 0。 //亮 LED 顯示(實際應(yīng)用中可去掉) MCU_LED1 = 0。 //(實際應(yīng)用中可去掉) D12SUSPD = 0。 //喚醒 PDIUSBD12 芯片 disconnect_USB()。 //斷開芯片與 USB 總線連接 for (clk_t=0。clk_t=0x9000。clk_t++) {} //延時處理 connect_USB()。 MCU_LED0 = 1。 //熄滅 LED 顯示(實際應(yīng) 用中可去掉) MCU_LED1 = 1。 //(實際應(yīng)用中可去掉) } //斷開 USB 總線連接 void disconnect_USB(void) { D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M)。 } 基于 80C51 單片機(jī)和 TLC2543 的多路數(shù)據(jù)采集系統(tǒng)設(shè)計 29 //連接到 USB 總線 void connect_USB(void) { DISABLE。 = 0。 ENABLE。 D12_SetDMA(0x1)。 //設(shè)置 D12 工作模式 D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT,D12_SETTOONE | D12_CLOCK_12M)。 } void LED_ON(void) { MCU_LED0=0。 } void LED_OFF(void) { MCU_LED0=1。 } //USB 服務(wù)處理子程序 void usbserver(void) { if () { DISABLE。 = 0。 ENABLE。 d12_busreset()。 } // 總線復(fù)位 if () { DISABLE。 = 0。 ENABLE。 d12_suspend()。 } //掛起改變 if () { DISABLE。 = 0。 control_handler()。 ENABLE。 } // 建立包 }
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1