版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
頁課程設(shè)計(jì)題目:基于QT的界面程序設(shè)計(jì)班級:電子信息工程1303學(xué)號:姓名:XXX指導(dǎo)老師:陳婧張平均2016年09月30日目錄一設(shè)計(jì)目的與要求 31.1課題名稱 31.2課程目標(biāo) 31.3任務(wù)要求 3二Linux與嵌入式開發(fā)環(huán)境搭建 42.1基本環(huán)境安裝 42.2NFS與防火墻配置 4三QT開發(fā)環(huán)境搭建 53.1準(zhǔn)備所需的文件 53.2編譯與安裝 5四QtCreator的安裝 7五驅(qū)動編寫與安裝 96.1內(nèi)核的解壓與編譯 96.2驅(qū)動編寫與編譯 9五界面與程序設(shè)計(jì) 105.1UI設(shè)計(jì) 105.2程序設(shè)計(jì) 115.3Qt程序移值 14七設(shè)計(jì)總結(jié) 16八參考文獻(xiàn) 16附錄程序源碼 17
一設(shè)計(jì)目的與要求1.1課題名稱Linux平臺下基于TQ2440嵌入式開發(fā)板的QT編程及移植1.2課程目標(biāo)1.進(jìn)一步鞏固嵌入式系統(tǒng)的基本知識;2.掌握嵌入式應(yīng)用系統(tǒng)的基本結(jié)構(gòu);3.掌握嵌入式系統(tǒng)開發(fā)環(huán)境建立和使用;4.掌握嵌入式系統(tǒng)基本驅(qū)動、應(yīng)用程序的設(shè)計(jì)調(diào)試和編譯移植方法;5.學(xué)會查閱有關(guān)專業(yè)資料及設(shè)計(jì)手冊;6,QT界面編程。1.3任務(wù)要求1.掌握嵌入式系統(tǒng)開發(fā)環(huán)境建立和使用;2.掌握嵌入式系統(tǒng)基本驅(qū)動、應(yīng)用程序的設(shè)計(jì)調(diào)試和編譯移植方法;3、QT在PC上的安裝、4、QT在開發(fā)板上的移植1)、觸摸屏原理及tslib庫的工作原理;2)、QT設(shè)計(jì)LED燈控制,設(shè)計(jì)方案自由發(fā)揮,可以單個(gè)控制LED燈、也可以流水燈的控制,可控制流水燈的頻率(1-5HZ可選)3)、掌握I/O驅(qū)動的編寫(ioctl/read/write),并實(shí)現(xiàn)蜂鳴器模塊驅(qū)動的設(shè)計(jì)5、QT界面程序設(shè)計(jì)6.編寫設(shè)計(jì)說明書(方案的確定、設(shè)計(jì)環(huán)節(jié)的考慮及必要說明等)及設(shè)備的使用說明;7.繪制有關(guān)圖紙(硬件原理圖、驅(qū)動流程圖、應(yīng)用流程圖).二Linux與嵌入式開發(fā)環(huán)境搭建2.1基本環(huán)境安裝安裝VMware虛擬機(jī)軟件,拷貝實(shí)驗(yàn)室已安裝CentOS系統(tǒng)鏡像文件,復(fù)制到本機(jī)運(yùn)行。復(fù)制已構(gòu)建的交叉編譯工具鏈文件EABI-4.3.3_EmbedSky_20100610.tar.bz2到本機(jī)Linux中。解壓到根目錄,執(zhí)行以下命令將工具鏈的可執(zhí)行文件加入到系統(tǒng)的環(huán)境變量。exportPATH=/opt/EmbedSky/4.3.3/bin:$PATH2.2NFS與防火墻配置輸入setup進(jìn)入系統(tǒng)的配置界面進(jìn)入系統(tǒng)服務(wù),啟用NFS服務(wù):禁用系統(tǒng)的防火墻:修改exports文件,添加一行數(shù)據(jù):重啟nfs服務(wù)
三QT開發(fā)環(huán)境搭建3.1準(zhǔn)備所需的文件復(fù)制所需的文件到Linux中并進(jìn)行解壓;所需如下文件:tslib-1.4.1.tar.br2觸摸屏所需的庫Qt-4.7.tar.gzQT源代碼文件root_qt-4.5.tar.bz2QT根文件系統(tǒng)文件wqy-zenhei-0.8.38-1.tar.gz字庫文件3.2編譯與安裝字庫的編譯與安裝:創(chuàng)建目錄/opt/EmbedSky/tslib_install用于存放生成的文件;進(jìn)入到源碼目錄,運(yùn)行autogen生成Configure文件,并進(jìn)行配置:執(zhí)行make與makeinstall命令進(jìn)行編譯安裝,在tslib_install目錄中生成移植所需文件:安裝Qt4.7:創(chuàng)建一個(gè)文件夾qt-4.7-arm用于存放生成的文件:輸入命令進(jìn)行配置:輸入yes同意用戶協(xié)議:執(zhí)行make與makeinstall,生成的文件夾如下:qt4.5根文件系統(tǒng)構(gòu)建修改qt-root文件夾的權(quán)限拷貝觸摸屏文件到根目錄中拷貝QT4.7生成文件:創(chuàng)建一個(gè)存放qt文件的文件夾:復(fù)制之前生成的qt-4.7-arm文件夾下的lib和plugin目錄到新創(chuàng)建的文件夾中:拷貝根文件系統(tǒng)知道hello_cn文件用于自動測試使用拷貝字庫文件到根文件系統(tǒng)中:修改環(huán)境變量:修改QT4運(yùn)行腳本文件修改運(yùn)行文件路徑修改rcS文件,注釋net_set,添加設(shè)置IP地址命令,注釋掉LED進(jìn)程的啟動程序四QtCreator的安裝修改二進(jìn)制安裝文件的權(quán)限并執(zhí)行:出現(xiàn)如下的安裝向?qū)е鸩竭M(jìn)行安裝:安裝完成后啟動程序出現(xiàn)如下的界面:編寫一個(gè)Helloworld程序進(jìn)行測試,點(diǎn)擊運(yùn)行,出現(xiàn)的界面如下圖:到此說明QtCreator安裝成功!添加已安裝的qmake工具五驅(qū)動編寫與安裝6.1內(nèi)核的解壓與編譯將內(nèi)核源代碼進(jìn)行解壓:復(fù)制原有的配置文件為.config執(zhí)行make對內(nèi)核進(jìn)行編譯。6.2驅(qū)動編寫與編譯修改LED與蜂鳴器的驅(qū)動文件,更改對應(yīng)的Makefile為如下所示的格式:執(zhí)行make命令生成.ko文件:
五界面與程序設(shè)計(jì)5.1UI設(shè)計(jì)使用到的控件: PushButton按鈕;用于響應(yīng)用戶鼠標(biāo)操作,執(zhí)行響應(yīng)的程序; Label標(biāo)簽:用戶顯示靜態(tài)文本,顯示LED,蜂鳴器圖標(biāo); CheckBox復(fù)選框:用于選中和取消,更改LED燈狀態(tài); Widget窗口:窗口對象,顯示用戶控件;控件布局: 手動拖動控件到窗口中,移動到相應(yīng)位。修改控件的名稱以便在編程的時(shí)候進(jìn)行調(diào)用。 選中控件的屬性stylesheet,修改CSS代碼用于美化布局: 設(shè)置背景顏色,邊距,圓邊距,間距等; 布局好之后的界面如下圖: 5.2程序設(shè)計(jì)主函數(shù)入口: 打開設(shè)備,初始化窗口,并且將窗口進(jìn)行居中; fdled=open("/dev/zytled",O_RDWR);fdbeep=open("/dev/zytbeep",O_RDWR);QApplicationa(argc,argv);zytw;w.show();w.move((QApplication::desktop()->width()-w.width())/2,(QApplication::desktop()->height()-w.height())/2);returna.exec();生成槽函數(shù): 選中控件,右鍵打開菜單,選擇gotoslot打開選擇框: 選中需要的信號,點(diǎn)擊OK生成槽函數(shù),在槽函數(shù)中編寫業(yè)務(wù)代碼; 在需要的控件上都執(zhí)行此操作,供編程使用。頁面構(gòu)造函數(shù): 首頁面的構(gòu)造函數(shù)的功能是初始化頁面和設(shè)置頁面的風(fēng)格,在構(gòu)造函數(shù)中我們增加設(shè)置字體,設(shè)置背景圖片的功能,代碼段如下: this->setAutoFillBackground(true);QPalettepalette;//QPalette調(diào)色板QPixmappixmap(":/new/image/bg.bmp");palette.setBrush(QPalette::Window,QBrush(pixmap));this->setPalette(palette);ui->setupUi(this);QFontft; //字體ft.setPointSize(40);ui->LED1->setFont(ft);ui->LED2->setFont(ft);ui->LED3->setFont(ft);ui->LED4->setFont(ft);ui->Beep->setFont(ft); LED燈控制: 我們使用復(fù)選框的選中與不選中來控制LED等的亮滅;可以手動改變復(fù)選框的狀態(tài)改變燈的狀態(tài),也可通過程序控制復(fù)選框的狀態(tài)來控制LED燈。 voidzyt::on_CheckBox_LED1_toggled(boolchecked){QPaletteon;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);if(ui->CheckBox_LED1->isChecked()){ui->LED1->setPalette(on);//設(shè)置UI界面中燈的狀態(tài)為亮}else{ui->LED1->setPalette(off); //設(shè)置UI界面中燈的狀態(tài)為滅}ioctl(fdled,checked,0); //根據(jù)選中狀態(tài)控制LED燈的亮滅}實(shí)現(xiàn)流水燈: 左移與右移的實(shí)現(xiàn)原理相同。這里以左移為例:voidzyt::on_turnLeftBtn_clicked(){ //關(guān)閉所有的LED燈on_closeLEDBtn_clicked();//進(jìn)入到左移流水燈模式modeFlag=TURN_LEFT; //定義QCheckBox數(shù)組,用于間接控制流水燈;QCheckBox*CheckBoxes[4];CheckBoxes[0]=ui->CheckBox_LED1;CheckBoxes[1]=ui->CheckBox_LED2;CheckBoxes[2]=ui->CheckBox_LED3;CheckBoxes[3]=ui->CheckBox_LED4; //定義for循環(huán)所需變量int i=0;//定義兩個(gè)調(diào)色板用于UI界面的更新QPalette on;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);intwhileFlag=0;while(1){for(i=3;i>=0;i--){ //打開蜂鳴器和LED燈ui->Beep->setPalette(on);ioctl(fdbeep,true,3);CheckBoxes[i]->setChecked(true); //進(jìn)行延時(shí)delay(500/freqSec); //關(guān)閉蜂鳴器ui->Beep->setPalette(off);ioctl(fdbeep,false,3); //判斷標(biāo)志位是否需要退出for循環(huán)if(modeFlag!=TURN_LEFT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;}delay(500/freqSec);if(modeFlag!=TURN_LEFT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;} //關(guān)閉LED燈CheckBoxes[i]->setChecked(false);} //判斷標(biāo)志位是否要退出while循環(huán)if(whileFlag==1){break;}}}彈出新窗口: 創(chuàng)建一個(gè)新鞋窗口實(shí)例,并顯示出來; AboutMeab;ab.exec();其他函數(shù): QT延時(shí)函數(shù): voiddelay(unsignedintmsec){QTimedieTime=QTime::currentTime().addMSecs(msec);while(QTime::currentTime()<dieTime){QCoreApplication::processEvents(QEventLoop::AllEvents,100);}}退出函數(shù):voidzyt::on_exitBtn_clicked(){modeFlag=CLOSE_APP;QApplication*app;app->exit();}關(guān)閉LED燈:voidzyt::on_closeLEDBtn_clicked(){modeFlag=LED_CLOSE;ui->CheckBox_LED1->setChecked(false);ui->CheckBox_LED2->setChecked(false);ui->CheckBox_LED3->setChecked(false);ui->CheckBox_LED4->setChecked(false);ioctl(fdbeep,false,3);}5.3Qt程序移值 對QT工程進(jìn)行編譯移值: 生成Makefile:./qmake-makefileLEDC 編譯程序:make 運(yùn)行程序:將二進(jìn)制文件復(fù)制到根文件夾,在終端中運(yùn)行程序: ./LEDController-qws-fontwenquanyi開發(fā)板運(yùn)行: 在開發(fā)版運(yùn)行成功后,出現(xiàn)的界面如下:
七設(shè)計(jì)總結(jié)通過本次嵌入式QT課程設(shè)計(jì),更加熟悉了嵌入式的流程與操作,已經(jīng)熟練掌握了嵌入式開發(fā)環(huán)境的移植,Qt界面程序設(shè)計(jì)等。提高了發(fā)現(xiàn)和解決問題的實(shí)踐操作能力。 本次課程設(shè)計(jì)出現(xiàn)和解決的主要問題:開發(fā)板電源問題導(dǎo)致的連接不可用:更換電源后解決問題;ts_lib編譯搓搓問題:復(fù)制源編譯命令解決問題;nfs掛載失敗問題:更改多個(gè)配置文件后問題得以解決;QT編譯資源不更新問題:刪除qmake生成中間文件即可解決;鼠標(biāo)位置偏移:再次運(yùn)行校準(zhǔn)程序使用筆進(jìn)行精細(xì)校準(zhǔn);字體顯示異常:下載文泉驛gpf字符并進(jìn)行設(shè)置解決了問題;程序與驅(qū)動需要手動加載:編寫和修改rcS與QT4配置腳本;在兩周的課程設(shè)計(jì)之后,對嵌入式開發(fā)有了更加深入的理解,提高了自學(xué)能力與實(shí)際操作解決問題的能力,通過不斷的網(wǎng)絡(luò)檢索與書籍查詢,收貨非常多的新知識。同時(shí)提高了與同學(xué)溝通問題的能力,對以后的工作有很大的幫助。八參考文獻(xiàn)1、嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動程序開發(fā)劉淼編著北京:北京航空航天大學(xué)出版社,2006.052、ARM9嵌入式LINUX系統(tǒng)構(gòu)建與應(yīng)用 潘巨龍編著北京:北京航空航天大學(xué)出版社,20063、Linux驅(qū)動開發(fā)入門與實(shí)戰(zhàn)鄭強(qiáng)編著:北京:清華大學(xué)出版社,20144、天嵌QT程序開發(fā)完全手冊天譴科技20095、Qt程序設(shè)計(jì)Xteam(中國)軟件技術(shù)有限公司編著北京:清華大學(xué)出版社,2002
附錄程序源碼main.cpp#include<QtGui/QApplication>#include"zyt.h"#include<QDesktopWidget>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>intfdled;intfdbeep;intmain(intargc,char*argv[]){fdled=open("/dev/zytled",O_RDWR);fdbeep=open("/dev/zytbeep",O_RDWR);QApplicationa(argc,argv);zytw;w.show();w.move((QApplication::desktop()->width()-w.width())/2,(QApplication::desktop()->height()-w.height())/2);returna.exec();}zyt.cpp#include"zyt.h"#include"ui_zyt.h"#include<QTime>#include"aboutme.h"#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<sys/ioctl.h>#defineTURN_LEFT 1#defineTURN_RIGHT 2#defineLED_CLOSE 0#defineCLOSE_APP -1externintfdled;externintfdbeep;int freqSec =1;int modeFlag =0;voiddelay(unsignedintmsec){QTimedieTime=QTime::currentTime().addMSecs(msec);while(QTime::currentTime()<dieTime){QCoreApplication::processEvents(QEventLoop::AllEvents,100);}}zyt::zyt(QWidget*parent):QMainWindow(parent),ui(newUi::zyt){this->setAutoFillBackground(true);QPalettepalette;QPixmappixmap(":/new/image/bg.bmp");palette.setBrush(QPalette::Window,QBrush(pixmap));this->setPalette(palette);ui->setupUi(this);QFontft;//ft.setFamily("arial");ft.setPointSize(40);ui->LED1->setFont(ft);ui->LED2->setFont(ft);ui->LED3->setFont(ft);ui->LED4->setFont(ft);ui->Beep->setFont(ft);}zyt::~zyt(){deleteui;}voidzyt::on_CheckBox_LED1_toggled(boolchecked){QPaletteon;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);if(ui->CheckBox_LED1->isChecked()){ui->LED1->setPalette(on);}else{ui->LED1->setPalette(off);}ioctl(fdled,checked,0);}voidzyt::on_CheckBox_LED2_toggled(boolchecked){QPaletteon;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);if(ui->CheckBox_LED2->isChecked()){ui->LED2->setPalette(on);}else{ui->LED2->setPalette(off);}ioctl(fdled,checked,1);}voidzyt::on_CheckBox_LED3_toggled(boolchecked){QPaletteon;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);if(ui->CheckBox_LED3->isChecked()){ui->LED3->setPalette(on);}else{ui->LED3->setPalette(off);}ioctl(fdled,checked,2);}voidzyt::on_CheckBox_LED4_toggled(boolchecked){QPaletteon;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);if(ui->CheckBox_LED4->isChecked()){ui->LED4->setPalette(on);}else{ui->LED4->setPalette(off);}ioctl(fdled,checked,3);}voidzyt::on_exitBtn_clicked(){modeFlag=CLOSE_APP;QApplication*app;app->exit();}voidzyt::on_closeLEDBtn_clicked(){modeFlag=LED_CLOSE;ui->CheckBox_LED1->setChecked(false);ui->CheckBox_LED2->setChecked(false);ui->CheckBox_LED3->setChecked(false);ui->CheckBox_LED4->setChecked(false);ioctl(fdbeep,false,3);}voidzyt::on_turnLeftBtn_clicked(){on_closeLEDBtn_clicked();modeFlag=TURN_LEFT;QCheckBox*CheckBoxes[4];CheckBoxes[0]=ui->CheckBox_LED1;CheckBoxes[1]=ui->CheckBox_LED2;CheckBoxes[2]=ui->CheckBox_LED3;CheckBoxes[3]=ui->CheckBox_LED4;int i=0;QPalette on;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);intwhileFlag=0;while(1){for(i=3;i>=0;i--){ui->Beep->setPalette(on);ioctl(fdbeep,true,3);CheckBoxes[i]->setChecked(true);delay(500/freqSec);ui->Beep->setPalette(off);ioctl(fdbeep,false,3);if(modeFlag!=TURN_LEFT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;}delay(500/freqSec);if(modeFlag!=TURN_LEFT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;}CheckBoxes[i]->setChecked(false);}if(whileFlag==1){break;}}}voidzyt::on_turnRightBtn_clicked(){on_closeLEDBtn_clicked();modeFlag=TURN_RIGHT;QCheckBox*CheckBoxes[4];CheckBoxes[0]=ui->CheckBox_LED1;CheckBoxes[1]=ui->CheckBox_LED2;CheckBoxes[2]=ui->CheckBox_LED3;CheckBoxes[3]=ui->CheckBox_LED4;int i=0;QPalette on;on.setColor(QPalette::WindowText,Qt::red);QPaletteoff;off.setColor(QPalette::WindowText,Qt::black);intwhileFlag=0;while(1){for(i=0;i<4;i++){ui->Beep->setPalette(on);ioctl(fdbeep,true,3);CheckBoxes[i]->setChecked(true);delay(500/freqSec);ui->Beep->setPalette(off);ioctl(fdbeep,false,3);if(modeFlag!=TURN_RIGHT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;}delay(500/freqSec);if(modeFlag!=TURN_RIGHT){whileFlag=1;CheckBoxes[i]->setChecked(false);if(modeFlag==CLOSE_APP){QApplication*app;app->exit();}break;}CheckBoxes[i]->setChecked(false);}if(whileFlag==1){break;}}}voidzyt::on_freqComboBox_currentIndexChanged(intindex){freqSec=index+1;}voidzyt::on_aboutBtn_clicked(){AboutMeab;ab.exec();}aboutme.cpp#include"aboutme.h"#include"ui_aboutme.h"AboutMe::AboutMe(QWidget*parent):QDialog(parent),ui(newUi::AboutMe){this->setAutoFillBackground(true);QPalettepalette;QPixmappixmap(":/new/image/bg.bmp");palette.setBrush(QPalette::Window,QBrush(pixmap));this->setPalette(palette);ui->setupUi(this);}AboutMe::~AboutMe(){deleteui;}voidAboutMe::on_pushButton_clicked(){this->close();}基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實(shí)現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024工程建設(shè)監(jiān)督管理合同協(xié)議書
- 技術(shù)轉(zhuǎn)讓合同書樣本示例
- 2024敬老院承包經(jīng)營合同
- 2024版單位間借款合同樣本
- 標(biāo)準(zhǔn)離婚協(xié)議書格式參考樣本
- 2024三方股份合同協(xié)議書
- 2024試用期員工解除勞動合同格式
- 2024勞務(wù)派遣承包合同
- 2024來料加工合同樣板來料加工合作合同范本2
- 客戶資源合作合同模板
- 國開(河北)2024年《中外政治思想史》形成性考核1-4答案
- 床邊護(hù)理帶教體會
- 2024年社區(qū)工作者考試必背1000題題庫及必背答案
- MOOC 微型計(jì)算機(jī)原理與接口技術(shù)-南京郵電大學(xué) 中國大學(xué)慕課答案
- 1kw太陽能獨(dú)立供電系統(tǒng)解決方案
- 七年級期中考試考后分析主題班會課件
- 環(huán)境教育與公眾參與-第1篇
- 北師大版六年級數(shù)學(xué)上冊第五單元數(shù)據(jù)處理單元測試卷及答案
- (2024年)Photoshop基礎(chǔ)入門到精通教程全套
- 實(shí)驗(yàn)室建設(shè)籌備方案
- 《東北的振興》課件
評論
0/150
提交評論