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

正文內(nèi)容

基于單片機的數(shù)據(jù)采集系統(tǒng)設(shè)計(編輯修改稿)

2025-07-17 12:38 本頁面
 

【文章內(nèi)容簡介】 話框中雙擊RegisteredActiveXControls項,則所有注冊過的ActiveX控件出現(xiàn)在列表框中。選擇MicrosoftCommunicationsControl,version,單擊Insert按鈕將它插入到我們的Project中來,接受缺省的選項。這時在ClassView視窗中就可以看到CMSComm類了,并且在控件工具欄Controls中出現(xiàn)了電話圖標現(xiàn)在要做的是用鼠標將此圖標拖到對話框中,程序運行后,這個圖標是看不到的。打開ClassWizard-MemberViariables選項卡,選擇CGc1Dlg類,為IDC_MSCOMM1添加控制變量:m_ctrlComm,這時你可以看一看,在對話框頭文件中自動加入了//{{AFX_INCLUDES()include//}}AFX_INCLUDES(這時運行程序,如果有錯,那就再從頭開始)。向主對話框中添加兩個編輯框,一個用于接收顯示數(shù)據(jù)ID為IDC_EDIT_RXDATA,另一個用于輸入發(fā)送數(shù)據(jù),ID為IDC_EDIT_TXDATA,再添加一個按鈕,功能是按一次就把發(fā)送編輯框中的內(nèi)容發(fā)送一次,將其ID設(shè)為IDC_BUTTON_MANUALSEND。別忘記了將接收編輯框的Properties-Styles中把Miltiline和VerticalScroll屬性選上,發(fā)送編輯框若你想輸入多行文字,也可選上Miltiline。再打開ClassWizard-MemberViariables選項卡,選擇CGc1g類,為IDC_EDIT_RXDATA添加CString變量m_strRXData,為IDC_EDIT_TXDATA添加CString變量m_strTXData。()打開ClassWizard-MessageMaps,選擇類CGc1Dlg,選擇IDC_MSCOMM1,雙擊消息OnComm,將彈出的對話框中將函數(shù)名改為OnComm。這個函數(shù)是用來處理串口消息事件的,如每當(dāng)串口接收到數(shù)據(jù),就會產(chǎn)生一個串口接收數(shù)據(jù)緩沖區(qū)中有字符的消息事件,我們剛才添加的函數(shù)就會執(zhí)行,我們在OnComm()函數(shù)加入相應(yīng)的處理代碼就能實現(xiàn)自已想要的功能了。在函數(shù)中加入如下代碼:voidCGc1Dlg::OnComm(){VARIANTvariant_inp。COleSafeArraysafearray_inp。LONGlen,k。BYTErxdata[1024]。//設(shè)置BYTEAn8bitintegerthatisnotsigned.CStringstrtemp。if(()==2)//事件值為2表示接收緩沖區(qū)內(nèi)有字符{variant_inp=()。//讀緩沖區(qū)safearray_inp=variant_inp。//VARIANT型變量轉(zhuǎn)換為ColeSafeArray型變量len=()。//得到有效數(shù)據(jù)長度for(k=0。klen。k++)(amp。k,rxdata+k)。//轉(zhuǎn)換為BYTE型數(shù)組for(k=0。klen。k++)//將數(shù)組轉(zhuǎn)換為Cstring型變量{charbt=*(char*)(rxdata+k)。//字符型(%02x,bt)。//將16進制字符送入臨時變量strtemp存放m_strRXData+=strtemp。//加入接收編輯框?qū)?yīng)字符串if (strtemp==ffffff80) m_strRXData+=0。if (strtemp==ffffff81) m_strRXData+=1。if (strtemp==ffffff82) m_strRXData+=2。if (strtemp==ffffff83) m_strRXData+=3。if (strtemp==ffffff84) m_strRXData+=4。 if (strtemp==ffffff85) m_strRXData+=5。 if (strtemp==ffffff86) m_strRXData+=6。if (strtemp==ffffff87) m_strRXData+=7。 if (strtemp==ffffff88) m_strRXData+=8。 if (strtemp==ffffff89) m_strRXData+=9。 if (strtemp==ffffff8a) m_strRXData+=.。}(0)。 //清空接收緩沖區(qū)}UpdateData(FALSE)。//更新編輯框內(nèi)容}在程序中做一個開始按鈕,在該按鈕的處理函數(shù)中打開串口。CGc1Dlg::OnButton1()打開串口,加入如下代碼:if(())(FALSE)。(1)。 //選擇1if( !())(TRUE)。//打開串口elseAfxMessageBox(cannot open serial port)。(9600,n,8,1)。 //波特率19200,無校驗,8個數(shù)據(jù)位,1個停止位 (1)。 //1:表示以二進制方式檢取數(shù)據(jù)(1)。 //參數(shù)1表示每當(dāng)串口接收緩沖區(qū)中有多于或等于1個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件(0)。 //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0()。//先預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)}先為發(fā)送按鈕添加一個單擊消息即BN_CLICKED處理函數(shù),打開ClassWizard-MessageMaps,選擇類CGc1Dlg,選擇IDC_BUTTON_MANUALSEND,雙擊BN_CLICKED添加OnButtonManualsend()函數(shù),并在函數(shù)中添加如下代碼:voidCGc1Dlg::OnButtonManualsend(){UpdateData(TRUE)。//讀取編輯框內(nèi)容(COleVariant(m_strTXData))。}//發(fā)送數(shù)據(jù)最終我做出的軟件界面為: 調(diào)試過程由于各種原因,接好硬件后,燒入程序沒有預(yù)期的效果,這就要調(diào)試。我是按下面步驟調(diào)試的:(1) 測單片機是否正常工作,上電后測電源是否通電,用萬用表測單片機各各口是否輸出正確的電平。用示波器測ALE腳是否輸出2MHz的波型。通過這一步測試,通過之后接著做下面的測試。通過寫入鍵盤測試程序測試鍵盤部分是否正常,以備下面測試工作。(2) 測試LED顯示模塊,通過簡單的顯示程序測試LED是否正常工作,否則檢查這一模塊。LED測試程序:include sbit b1=P3^2。sbit b2=P3^3。sbit b3=P3^4。sbit p0_7=P0^7。void main(){int i。while(1){P0=0X66。p0_7=1。b1=0。b2=b3=1。i=100。while(i){。}。P0=0X6D。b2=0。 b1=b3=1。i=100。while(i){。}。P0=0X7F。b1=b2=1。b3=0。i=100。while(i){。}。}}(3) 測試串口發(fā)送模塊,寫串口發(fā)送程序到單片機,認單片機發(fā)送數(shù)據(jù)給PC機,測試程序見附錄,用示波器測單片機TX口波形,看是否有波形輸出,否則串口出錯,檢查串口部分,分插上MAX232芯片和拔出MAX232芯片檢查是否是MAX232芯片部分連接有問題,用串口調(diào)試精靈接收單片機發(fā)來的字符。測試通過后,接著做第4步測試。 串口測試程序:include void main(){ while(1) { PCON=0x00。 SCON=0x40。 TMOD=0x20。 TH1=0xfd。 TL1=0xfd。 EA=0。 TR1=1。 SBUF=0x33。 while(!TI)。 TI=0。 }}(4) 測試AD轉(zhuǎn)換模塊,通過程序測試AD轉(zhuǎn)換模塊是否正常,否則檢查這一模塊連接。程序見附錄。我查出的錯誤是AD不工作,我通過測試AD轉(zhuǎn)換時鐘信號線查出了這一錯誤,測74LS74是否輸出500KHz信號,沒有表示時鐘不正常,通過檢查74LS74連接排除問題。(5) 重新寫入全部程序,系統(tǒng)是否正常工作,不工作很可能是程序有錯,通過檢查程序排除,原因是在LEIL上仿真通過的程序在實際硬件電路中不同,這也是要求要硬件仿真的目的。(5) 調(diào)通硬件之后,就可以把自己做的軟件和硬件和起來調(diào)試了。最后做出的系統(tǒng)性能為:(1) 采集數(shù)據(jù)精度92%,0V準確;(2) 串口發(fā)送給PC機有點雜波,但還比較準確;(3) 采樣間隔100MS左右;(4) PC機軟件十進制顯示采集的數(shù)據(jù),提供處理;第四章 總結(jié)畢業(yè)設(shè)計工作進入最后階段,大學(xué)生活也即將結(jié)束、即將成為回憶,雖然一邊工作一邊做畢業(yè)設(shè)計,使我感覺比較疲勞,但一想到這是我大學(xué)生活的最后關(guān)頭,就動力十足,心情都不在疲憊,我的心情也變的激動。結(jié)束之前我在此做個總結(jié)。通過本次畢業(yè)設(shè)計,檢驗了我書本上和課外所學(xué)的知識,使我進一步鞏固和掌握知識,提高了我的動手能力,有助于我今后其他的設(shè)計。這次畢業(yè)設(shè)計我從開題到硬件調(diào)試完成到論文的完成,我始終保持積極態(tài)度和韌性。其中在硬件調(diào)試的時候碰到了很大的阻力,通過耐心并且細致的深入的分塊調(diào)試,找問題出處,終于取得了成功。這使我增加了很大的自信心。通過這次畢業(yè)設(shè)計,我學(xué)到了也感受到了很多。做事首先要有精神,所謂玩要放開去玩,但一旦進一做事時刻,就要專心細致,精神集中,要有專研精神。做事要不怕困難和麻煩,作戰(zhàn)一樣誓死往前。做事要有信心和毅力,不能找各種借口和理由來推拖。畢業(yè)設(shè)計也是大學(xué)里最后一次考試,全面的檢測。在這即將離開母校之際,回望四年來的大學(xué)生活,做次總結(jié),以后定要嚴格要求自己,做個好青年,男子漢流血不流淚,勇往直前。第五章 致謝在將近半年的畢業(yè)設(shè)計期中,我要感謝我的老師、同學(xué),是他們的無私幫助才使我順利完成了畢業(yè)設(shè)計任務(wù);是他們的無私幫助才使我在面對挫折與困難時毫不畏懼;更是他們的無私幫助才使我成功完成畢業(yè)設(shè)計。在畢業(yè)設(shè)計完成之際,我首先向我的指導(dǎo)老師鐘老師致以深切的謝意。感謝他在畢業(yè)設(shè)計過程中給我提供指導(dǎo),幫助我解決困難,在這次畢業(yè)設(shè)計的整個過程中教誨我,在這里再一次表示感謝。感謝所有鼓勵,幫助我的老師和同學(xué)和朋友! 附錄 一 參考文獻[1] 《MCS51/96系列單片機原理及應(yīng)用》 孫涵芳、徐愛卿 編著, 北京航空航天大學(xué)出版社 [2] 《單片機基礎(chǔ)》 李廣弟、朱月秀、王秀山 編著,北京航空航天大學(xué)出版社 [3] 《單片機C程序設(shè)計實例指導(dǎo)》 李光飛 李良兒 樓然苗 編著,北京航空航天大學(xué)出版社 [4] 《8051單片機C語言徹底應(yīng)用》 賴麒文 編著, 北京科學(xué)出版社 [5] 《MCS51/96系列單片機實用子程序集錦》 陳偉人 編著,清華大學(xué)出版社 [6] 《MCS51單片機綜合系統(tǒng)及其設(shè)計開發(fā)》 張凱、馬忠梅、劉繼華、張立平 編著, 科學(xué)出版社 [7]《電路板設(shè)計完全手冊》 精英科技 編著,中國電力出版社 [8] 《基于單片機8051的嵌入式開發(fā)指南》 胡大可 李培弘 方路平 編著,電子工業(yè)出版社 [9] 《電子技術(shù)基礎(chǔ)》 康華光 編著, 北京高等教育出版社 [10] 《AD0809在51單片機中的應(yīng)用》 黃海 編著,附錄 二 外文翻譯Analog SignalsA signal is said to be analog if it falls between two arbitrary levels, Vx and Vy, and can assume any one of an infinite number of values between Vx and Vy. If the analog sign
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1