版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《接口技術(shù)》 課程設(shè)計(jì)報(bào)告</p><p> 基于RS232串口的</p><p> 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 姓名:</b></p><p><b> 學(xué)號(hào):</b></p><p><b> 班級(jí):<
2、/b></p><p> 完成日期:2010年12月30日</p><p><b> 一.系統(tǒng)結(jié)構(gòu):</b></p><p><b> 設(shè)計(jì)思路:</b></p><p> 本課程設(shè)計(jì)通過使用帶有AD的單片機(jī)STC12C5616AD進(jìn)行實(shí)時(shí)的AD采樣,并將采樣到的值通過RS232串口傳
3、輸?shù)絇C機(jī),由VC上位機(jī)接收,顯示當(dāng)前的電壓值,并描繪電壓變化實(shí)時(shí)波形。</p><p><b> 系統(tǒng)框圖:</b></p><p><b> 二.系統(tǒng)設(shè)計(jì):</b></p><p><b> 硬件電路設(shè)計(jì):</b></p><p> 硬件部分由STC12C5416A
4、D和晶振構(gòu)成的單片機(jī)最小電路和MAX232構(gòu)成的電平轉(zhuǎn)換電路用于和PC機(jī)串口進(jìn)行電壓匹配。</p><p><b> 電路原理圖如下:</b></p><p> (二)軟件電路設(shè)計(jì):</p><p> ?。?)單片機(jī)C51程序設(shè)計(jì)</p><p><b> 1.1設(shè)計(jì)思路</b></p&
5、gt;<p> C51程序由RS232串口發(fā)送程序和AD采樣程序組成。AD采樣采用查詢方式,為了提高采樣的進(jìn)度,我們應(yīng)用的2.5V的參考電壓,但是由于此單片機(jī)沒有直接的參考電壓輸入端,不能直接輸入?yún)⒖茧妷骸;陔娫措妷篤CC瞬間變換不大,因此我做了變通的方法。每次測(cè)量時(shí),先測(cè)量2.5V參考電壓,得到10位參考AD值ref,再采集需要測(cè)量的通道的電壓值,得到另一個(gè)10位AD值Vad,那么所測(cè)電壓的計(jì)算公式就是:V=2.5*
6、(Vad/ref)。</p><p> 考慮到51單片機(jī)進(jìn)行乘法、除法指令時(shí)速度較慢,故將10位ref,Vad直接傳輸?shù)絇C機(jī),由上位機(jī)VC軟件進(jìn)行處理。</p><p> 考慮到數(shù)據(jù)傳輸時(shí)可能會(huì)出現(xiàn)錯(cuò)位,缺少數(shù)據(jù)等情況,導(dǎo)致最終顯示的電壓值錯(cuò)誤。因此在單片機(jī)傳輸有效數(shù)據(jù)的時(shí)候,加上了起始字符和結(jié)束字符用于盡量減少錯(cuò)誤。</p><p><b> 1
7、.2軟件流程圖</b></p><p><b> 1.3程序代碼</b></p><p><b> 見附錄一。</b></p><p> (2) VC程序設(shè)計(jì)</p><p><b> 2.1 設(shè)計(jì)思路</b></p><p> V
8、C上位機(jī)以Microsoft提供的MSComm控件來與單片機(jī)的串口進(jìn)行通信,獲取采集數(shù)據(jù)。程序?qū)⒔邮盏降臄?shù)據(jù)放入緩沖區(qū),經(jīng)過起始字符和結(jié)束字符校驗(yàn)后的數(shù)據(jù)被處理計(jì)算成實(shí)際的電壓值0~5V,并顯示在靜態(tài)文本框控件中。同時(shí),當(dāng)每次接收到一個(gè)有效數(shù)據(jù)時(shí),調(diào)用CDC類的成員函數(shù)LintTo()。畫出數(shù)據(jù)連續(xù)的曲線。</p><p> 2.2 MSComm控件介紹</p><p> Micros
9、oft提供的用于串口操作的控件MSComm共有27 個(gè)屬性。</p><p> CommPort:設(shè)置并返回通信口號(hào),缺省值為COM1。</p><p> Settings:設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位的字符串。其中波特率的范圍為300b/s—19200b/s。</p><p> PortOpen:設(shè)置并返回通信口的狀態(tài),同時(shí)用來打開和關(guān)閉通信口
10、。</p><p> InputLen:決定每次Input讀入的字符個(gè)數(shù),缺省為0,表示讀取接收緩沖區(qū)的全部?jī)?nèi)容。</p><p> Input:讀入并清除接收緩沖區(qū)的字符。</p><p> InBufferCount:返回接收緩沖區(qū)已接收的字符數(shù),通過置0可清初接受緩沖區(qū)。</p><p> Output:將發(fā)送的字符串或數(shù)組寫到
11、發(fā)送緩沖區(qū)。</p><p> InputMode:定義Input屬性獲得數(shù)據(jù)的方式。</p><p> Rthreshold:設(shè)置、返回在通信控件置ComEvRecieve并激發(fā)OnComm事件前要接收的字符數(shù)。</p><p> SThreshold:設(shè)置、返回在通信控件置ComEvSend并激發(fā)OnComm事件前發(fā)送緩沖區(qū)中的最少字符數(shù)。</p&g
12、t;<p><b> 2.3界面設(shè)計(jì)</b></p><p> 如上圖所示,添加相應(yīng)的控件。</p><p><b> 2.4主要函數(shù)說明</b></p><p> 添加“打開串口”響應(yīng)函數(shù):</p><p> void CWangfei311Dlg::OnBtnOpen()
13、 </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> InitComm();//設(shè)置串口。波特率 停止位 端口選擇</p><p> pictureinit();//畫圖界面初
14、始化 畫背景 X、Y軸坐標(biāo),標(biāo)尺</p><p><b> }</b></p><p> MSComm控件相應(yīng)函數(shù)(畫圖、顯示電壓值功能在此事件中)</p><p> void CWangfei311Dlg::OnOnCommMscomm() </p><p><b> {</b></
15、p><p> // TODO: Add your control notification handler code here</p><p> int nEvent;// Mscomm控件的事件序號(hào)</p><p><b> int k;</b></p><p> VARIANT m_input;</p>
16、;<p> char *str;</p><p> long temp,tempref;//存儲(chǔ)接收到的2個(gè)10位AD值,分別為測(cè)量值,參考值</p><p> int Y;//畫圖縱坐標(biāo)值</p><p> double v;//計(jì)算出的電壓值</p><p> CString reslut;</p>
17、<p> CString Ccount;</p><p> CPen pen1;//數(shù)據(jù)曲線畫筆</p><p> pen1.CreatePen(PS_SOLID,1,RGB(255,255,255));//實(shí)線 線寬1 白色</p><p> pDC1->SelectObject(pen1);</p><p>
18、 nEvent = m_Comm.GetCommEvent();//得到事件</p><p> if(nEvent == 2)//只對(duì)接收數(shù)據(jù)事件進(jìn)行處理</p><p><b> {</b></p><p> k = m_Comm.GetInBufferCount(); // 接收緩沖區(qū)的字符數(shù)目</p><p>
19、; if(k > 0) //若得到接收數(shù)據(jù)</p><p><b> {</b></p><p> m_input = m_Comm.GetInput();</p><p> str = (char*)(unsigned char*)m_input.parray->pvData;</p><p
20、><b> }</b></p><p> if(*str =='A' && *(str+5) == 'z')//開始字符和停止字符的檢測(cè)</p><p><b> {</b></p><p> tempref = (*(str+1))*256+*(str+2);
21、</p><p> temp = (*(str+3))*256+*(str+4);</p><p> v = double(2.5*temp/tempref);</p><p> Y = int (300-60*v);</p><p> if(Y<0) Y =0;//防止畫出界限</p><p> if
22、(Y>300) Y = 300; //防止畫出界限</p><p> reslut.Format("%f",v);</p><p> reslut.TrimLeft();</p><p> CWnd *pWnddata = GetDlgItem(IDC_RECDATA);</p><p> pWndda
23、ta->SetWindowText(reslut);//在靜態(tài)文本框中顯示電壓值</p><p> pDC->LineTo(X,Y);//畫線</p><p><b> X+=5;</b></p><p> count++;//接收數(shù)據(jù)個(gè)數(shù)值加1</p><p> Ccount.Format(&quo
24、t;%16d",count);</p><p> Ccount.TrimLeft();</p><p> CWnd *pWndcount = GetDlgItem(IDC_COUNT);</p><p> pWndcount->SetWindowText(Ccount);</p><p> if(X>500)//
25、若畫到X軸最右邊</p><p><b> {X=10;</b></p><p> pictureinit();//清除之前畫的圖</p><p> pDC1->MoveTo(10,Y);//平移起始點(diǎn)到最左端</p><p><b> }</b></p><p&
26、gt;<b> }</b></p><p> Else//若沒有通過校驗(yàn),顯示“NO Data”</p><p><b> {</b></p><p> CWnd *pWnddata = GetDlgItem(IDC_RECDATA);</p><p> pWnddata->SetW
27、indowText("NO Data");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 三.系統(tǒng)測(cè)試(最終測(cè)試的是2.5V標(biāo)準(zhǔn)電壓)</p><
28、;p> 附錄一:?jiǎn)纹瑱C(jī)程序代碼</p><p> //rs232.c源文件代碼:</p><p> #include<reg51.h></p><p> #include"RS232.h"</p><p> #include<intrins.h></p><p&g
29、t; /*++++++++++++++++RS232 mode+++++++++++++++++++++++*/</p><p> //***************************************************</p><p> //***************************************************</p>
30、<p> void delayus(uchar count)</p><p><b> {</b></p><p><b> uint i;</b></p><p><b> uchar j;</b></p><p> for(j=0;j<count
31、;j++)</p><p> for(i=0;i<10;i++);</p><p><b> }</b></p><p> //波特率設(shè)置初始化//</p><p> void rs232_init() </p><p> { TMOD=0x20;</p>
32、<p> TL1=0xFD; //9600比特/秒 for 11.0592M </p><p><b> TH1=0xFD;</b></p><p> PCON=0x00;</p><p><b> TR1=1;</b></p><p> SCON=0x50;</
33、p><p> ES=1;//允許串行口中斷 </p><p> EA=1;//開總中斷 </p><p><b> }</b></p><p><b> //發(fā)送字符//</b></p><p> void send(uchar i)</p><
34、;p><b> { </b></p><p><b> SBUF=i;</b></p><p> while(!TI);</p><p><b> TI=0;</b></p><p><b> }</b></p><
35、p> void rs232_isr() interrupt 4 using 1</p><p><b> {</b></p><p><b> if(RI)</b></p><p><b> {</b></p><p> rbuf = SBUF;</p&g
36、t;<p><b> RI = 0;</b></p><p><b> }</b></p><p> if(rbuf == 0xF0) start=0;</p><p> if(rbuf == 0x80) start=1;</p><p> /*===============
37、============================================*/</p><p> //main.c源代碼</p><p> #include<reg51.h></p><p> #include<intrins.h> </p><p> #include "rs232.h
38、"</p><p> #define uchar unsigned char </p><p> #define uint unsigned int </p><p> sfr P1M0=0x91;</p><p> sfr P1M1 =0x92;</p><p> sfr ADC_CONTR =0
39、XC5;</p><p> sfr AUXR = 0x8e;</p><p> sfr ADC_DATA =0xC6;</p><p> sfr ADC_LOW =0xBE;</p><p> uchar rbuf;</p><p> uchar start;</p><p><
40、b> uint V;</b></p><p> uint Vref;</p><p> delay(uchar count)</p><p><b> {</b></p><p> uchar m,n;</p><p> for(m=0;m<=count;m++
41、)</p><p> for(n=0;n<240;n++);</p><p><b> }</b></p><p> /*ADC初始化*/</p><p> void adc_init()</p><p><b> {</b></p>&l
42、t;p> P1M0=0xff;</p><p> P1M1=0x00;</p><p> ADC_DATA = 0; //數(shù)據(jù)清零</p><p> ADC_LOW = 0;</p><p> ADC_CONTR = 0xe0; //開ADC電源,采集速度選擇最高</p><p> delay(20
43、0);</p><p><b> }</b></p><p> void get_adc(uchar ch)</p><p><b> {</b></p><p> ADC_CONTR = (0xe8 | ch);//開啟轉(zhuǎn)換</p><p> while(!(A
44、DC_CONTR&0x10));// 等待轉(zhuǎn)換完成</p><p> ADC_CONTR&=0xe7;//清除start,flag標(biāo)志</p><p><b> }</b></p><p> void main()</p><p><b> {</b></p>
45、;<p> rs232_init();</p><p> adc_init();</p><p><b> while(1)</b></p><p><b> {</b></p><p> get_adc(0x00);//通道0 參考</p><p>
46、; Vref = (uint)((ADC_DATA<<2)|ADC_LOW);</p><p> get_adc(0x01);</p><p> V = (uint)((ADC_DATA<<2)|ADC_LOW);</p><p> send('A');</p><p> //send(
47、9;A');</p><p> send(Vref>>8);</p><p> send(Vref);</p><p> send(V>>8);</p><p><b> send(V);</b></p><p> send('z');&l
48、t;/p><p> delay(250);</p><p> delay(250);</p><p> delay(250);</p><p> delay(250);</p><p> delay(250);</p><p><b> }</b></p>
49、;<p><b> }</b></p><p> 附錄二:VC程序代碼</p><p><b> 定義的成員變量:</b></p><p><b> public:</b></p><p><b> int X;</b></p
50、><p> CDC* pDC1;</p><p> int m_BaundRate;</p><p> int count;</p><p> CWnd* pWndpicture;</p><p> void pictureinit(void);</p><p><b> CD
51、C* pDC;</b></p><p> int m_port;</p><p> CWangfei311Dlg(CWnd* pParent = NULL);// standard constructor</p><p> void InitComm();</p><p><b> 添加的成員函數(shù):</b
52、></p><p> void CWangfei311Dlg::InitComm()</p><p><b> {</b></p><p> m_Comm.SetCommPort(m_port);</p><p> m_Comm.SetInputMode(1);</p><p>
53、 if(m_BaundRate == 1200)</p><p> m_Comm.SetSettings("1200,n,8,1");</p><p> else if(m_BaundRate == 2400)</p><p> m_Comm.SetSettings("2400,n,8,1");</p>&
54、lt;p> else if(m_BaundRate == 4800)</p><p> m_Comm.SetSettings("4800,n,8,1");</p><p> else if(m_BaundRate == 9600)</p><p> m_Comm.SetSettings("19600,n,8,1"
55、);</p><p> else if(m_BaundRate == 19200)</p><p> m_Comm.SetSettings("19200,n,8,1");</p><p> else if(m_BaundRate == 28800)</p><p> m_Comm.SetSettings("
56、;28800,n,8,1");</p><p> else if(m_BaundRate == 38400)</p><p> m_Comm.SetSettings("38400,n,8,1");</p><p> else if(m_BaundRate == 57600)</p><p> m_Comm
57、.SetSettings("57600,n,8,1");</p><p> else if(m_BaundRate == 115200)</p><p> m_Comm.SetSettings("115200,n,8,1");</p><p> m_Comm.SetRThreshold(1);</p>
58、<p> m_Comm.SetInBufferSize(1024);</p><p> m_Comm.SetOutBufferSize(1024);</p><p> m_Comm.SetInBufferCount(0);</p><p> if(!m_Comm.GetPortOpen())</p><p><b&
59、gt; {</b></p><p> m_Comm.SetPortOpen(TRUE);</p><p><b> }</b></p><p><b> }</b></p><p> void CWangfei311Dlg::OnBtnOpen() </p>&l
60、t;p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> InitComm();</p><p> pictureinit();</p><p><b> }</b&g
61、t;</p><p> void CWangfei311Dlg::OnBtnClose() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> if( m_Comm.GetPo
62、rtOpen() )</p><p><b> {</b></p><p> m_Comm.SetPortOpen(0);</p><p><b> }</b></p><p><b> }</b></p><p> void CWangfei
63、311Dlg::OnOnCommMscomm() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> int nEvent;</p><p><b> int k;&
64、lt;/b></p><p> VARIANT m_input;</p><p> char *str;</p><p> long temp,tempref;</p><p><b> int Y;</b></p><p> double v;</p><p
65、> static int i=10;</p><p> CString reslut;</p><p> CString Ccount;</p><p> CPen pen1;</p><p> pen1.CreatePen(PS_SOLID,1,RGB(255,255,255));</p><p>
66、 pDC1->SelectObject(pen1);</p><p> nEvent = m_Comm.GetCommEvent();</p><p> if(nEvent == 2)</p><p><b> {</b></p><p> k = m_Comm.GetInBufferCount();
67、</p><p><b> if(k > 0)</b></p><p><b> {</b></p><p> m_input = m_Comm.GetInput();</p><p> str = (char*)(unsigned char*)m_input.parray-&
68、gt;pvData;</p><p><b> }</b></p><p> if(*str =='A' && *(str+5) == 'z')</p><p><b> {</b></p><p> tempref = (*(str+1
69、))*256+*(str+2);</p><p> temp = (*(str+3))*256+*(str+4);</p><p> v = double(2.5*temp/tempref);</p><p> Y = int (300-60*v);</p><p> if(Y<0) Y =0;</p><p
70、> if(Y>300) Y = 300;</p><p> reslut.Format("%f",v);</p><p> reslut.TrimLeft();</p><p> CWnd *pWnddata = GetDlgItem(IDC_RECDATA);</p><p> pWnddata-&
71、gt;SetWindowText(reslut);</p><p> pDC->LineTo(X,Y);</p><p><b> X+=5;</b></p><p><b> count++;</b></p><p> Ccount.Format("%16d",
72、count);</p><p> Ccount.TrimLeft();</p><p> CWnd *pWndcount = GetDlgItem(IDC_COUNT);</p><p> pWndcount->SetWindowText(Ccount);</p><p><b> if(X>500)</b
73、></p><p><b> {</b></p><p><b> X=10;</b></p><p> pictureinit();</p><p> pDC1->MoveTo(10,Y);</p><p><b> }</b>&
74、lt;/p><p><b> }</b></p><p><b> else</b></p><p> {CWnd *pWnddata = GetDlgItem(IDC_RECDATA);</p><p> pWnddata->SetWindowText("NO Data&quo
75、t;);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void CWangfei311Dlg::OnSelchangeCombo1() </p><p>&l
76、t;b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> m_port = m_Comboboxsel.GetCurSel()+1;</p><p><b> }</b></p><p&
77、gt; void CWangfei311Dlg::pictureinit()</p><p><b> {</b></p><p> pWndpicture = GetDlgItem(IDC_PICTURE);</p><p> pDC = pWndpicture->GetDC();</p><p> p
78、DC1 = pDC;</p><p><b> CPen pen;</b></p><p> pen.CreatePen(PS_SOLID,1,RGB(255,0,0));</p><p> pDC->SelectObject(pen);</p><p> CRgn pRgn;</p><
79、;p> CBrush pBrush;</p><p> pRgn.CreateRectRgn(0,0,510,310);</p><p> pBrush.CreateSolidBrush(RGB(0,0,0));</p><p> pDC->FillRgn(&pRgn,&pBrush);</p><p>
80、 pDC->MoveTo(10,300);</p><p> pDC->LineTo(500,300);</p><p> pDC->LineTo(490,290);</p><p> pDC->MoveTo(500,300);</p><p> pDC->LineTo(490,310);</p&g
81、t;<p> pDC->MoveTo(10,300);</p><p> pDC->LineTo(10,10);</p><p> pDC->LineTo(0,20);</p><p> pDC->MoveTo(10,10);</p><p> pDC->LineTo(20,20);<
82、;/p><p> pDC->TextOut(0,300,"0");</p><p> pDC->TextOut(0,240,"1");</p><p> pDC->TextOut(0,180,"2");</p><p> pDC->TextOut(0,12
83、0,"3");</p><p> pDC->TextOut(0,60,"4");</p><p> pDC->TextOut(0,0,"5");</p><p> pDC->MoveTo(10,300);</p><p> pDC->LineTo(50
84、0,300);</p><p> pDC->MoveTo(10,240);</p><p> pDC->LineTo(500,240);</p><p> pDC->MoveTo(10,180);</p><p> pDC->LineTo(500,180);</p><p> pDC-
85、>MoveTo(10,120);</p><p> pDC->LineTo(500,120);</p><p> pDC->MoveTo(10,60);</p><p> pDC->LineTo(500,60);</p><p> pDC1->MoveTo(10,300);</p><
86、p><b> }</b></p><p> void CWangfei311Dlg::OnBtnClearcount() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p>
87、;<p> count = 0;</p><p> CString Ccount;</p><p> Ccount.Format("%16d",count);</p><p> Ccount.TrimLeft();</p><p> CWnd *pWndcount = GetDlgItem(IDC_
88、COUNT);</p><p> pWndcount->SetWindowText(Ccount);</p><p><b> }</b></p><p> void CWangfei311Dlg::OnSelchangeCombo2() </p><p><b> {</b><
89、/p><p> // TODO: Add your control notification handler code here</p><p> unsigned long i;</p><p> i = m_Comboboxbtl.GetCurSel();</p><p> if(i == 0)</p><p>
90、; m_BaundRate = 1200;</p><p> else if(i == 1)</p><p> m_BaundRate = 2400;</p><p> else if(i == 2)</p><p> m_BaundRate = 4800;</p><p> else if(i == 3)
91、</p><p> m_BaundRate = 9600;</p><p> else if(i == 4)</p><p> m_BaundRate = 19200;</p><p> else if(i == 5)</p><p> m_BaundRate = 28800;</p><
92、p> else if(i == 6)</p><p> m_BaundRate = 38400;</p><p> else if(i == 7)</p><p> m_BaundRate = 57600;</p><p> else if(i == 8)</p><p> m_BaundRate =
93、 115200;</p><p><b> else</b></p><p> m_BaundRate = 19200;</p><p><b> }</b></p><p> void CWangfei311Dlg::OnBtnClearpicture() </p><
94、p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> pictureinit();</p><p><b> X = 10;</b></p><p><b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- rs232串口通信詳解
- RS232串口程序.rar
- RS232串口程序.rar
- RS232串口程序.rar
- RS232串口程序.rar
- rs232串口通信協(xié)議
- 投影機(jī)rs232串口碼匯總
- rs232串聯(lián)接口的通訊程序設(shè)計(jì)
- 基于fpga的rs-232串口通訊邏輯設(shè)計(jì)
- 基于RS232串口的數(shù)控機(jī)床程序傳輸及狀態(tài)監(jiān)控系統(tǒng)的研究.pdf
- RS232接口芯片的IC設(shè)計(jì).pdf
- 機(jī)電接口技術(shù)課程設(shè)計(jì)
- 微機(jī)接口技術(shù)課程設(shè)計(jì)
- 微機(jī)接口技術(shù)課程設(shè)計(jì)
- 接口技術(shù)課程設(shè)計(jì)--病房呼叫系統(tǒng)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)---字符串程序設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì).
- 單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)--溫度采集顯示系統(tǒng)
評(píng)論
0/150
提交評(píng)論