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

正文內(nèi)容

基于arm和qt的多路信號(hào)檢測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(完整版)

  

【正文】 們從上面的結(jié)構(gòu)圖和數(shù)據(jù)手冊(cè)可以知道,該 ADC 模塊總共有 8 個(gè)通道可以進(jìn)行模擬信號(hào)的輸入,分別是 AIN0、 AIN AIN AIN YM、 YP、XM、 XP。 表 33 ADC 觸摸屏控制寄存器 參數(shù) 描述 XY_PST 對(duì) X/Y軸手動(dòng)測(cè)量模式進(jìn)行選擇 AUTO_PST X/Y 軸的自動(dòng)轉(zhuǎn)換模式使能位 PULL_UP XP 端的上拉電阻使能位 XP_SEN 設(shè)置 nXPON 輸出 狀態(tài) XM_SEN 設(shè)置 XMON 輸出狀態(tài) YP_SEN 設(shè)置 nYPON 輸出狀態(tài) YM_SEN 設(shè)置 YMON 輸出狀態(tài) 保留 這一位必須被設(shè)置為 0 ( 3) ADC延時(shí)寄存器: ADCDLY。 表 34 ADC 數(shù)據(jù)寄存器 0 參數(shù) 描述 XPDATA X 軸轉(zhuǎn)換資料寄存器 XY_PST 選擇 X/Y 軸自動(dòng)轉(zhuǎn)換模式 AUTO_PST X/Y 軸自動(dòng)轉(zhuǎn)換使能位 UPDOWN 選擇中斷等待模式的類(lèi)型 為 0:按下產(chǎn)生中斷 為 1:釋放產(chǎn)生中斷 保留 保留位 ( 5) ADC 數(shù)據(jù)寄存器 1: ADCDATA1。 init_waitqueue_head(amp。 //用來(lái)保存應(yīng)用程序傳來(lái)的數(shù) 據(jù) if(count!=sizeof(data)){ printk(the size of input data must be %d\n, sizeof(data))。 //休眠進(jìn)程,讓 CPU 做其他的事情 endif printk(in read channel=%d\n,)。ret, 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 18 sizeof(ret))。在用戶(hù)程序里只需要用到 open、 read、 write、release 等內(nèi)核函數(shù)即可。 write(adc_fd, amp。 void * retval。 printf(a%d=%\t,i,d)。效果圖如下: 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 21 圖 33 ADC 驅(qū)動(dòng)測(cè)試截圖 觸摸屏在 ARM中的驅(qū)動(dòng)開(kāi)發(fā) SPI 接口是 Motorola 推出的一種同步串行接口,采用全雙工、四線通信系統(tǒng), S3C2410X 是三星推出的自帶觸摸屏接口的 ARM920T 內(nèi)核芯片,ADS7848 為 BurrBrown 生產(chǎn)的一款性能優(yōu)異的觸摸屏控制器。在嵌入式系統(tǒng)的開(kāi)發(fā)中,我們一般僅僅實(shí)現(xiàn)其中幾個(gè)接口函數(shù): read、 write、 open、ioctl 及 release 就可以完成應(yīng)用系統(tǒng)需要的功能。 TS_RET buf[MAX_TS_BUF]。在本設(shè)計(jì)中設(shè)備與系統(tǒng)之間以中斷方式進(jìn)行數(shù)據(jù)交換。設(shè)計(jì)中采用 16 個(gè)時(shí)鐘周期啟動(dòng)一次轉(zhuǎn)換的坐標(biāo)轉(zhuǎn)換方式 。豐富的控件資源和較好的可移植性是 Qt/Embedded 最為優(yōu)秀的一方面,使用 X 下的開(kāi)發(fā)工具 Qt Designer 可以直接開(kāi)發(fā)基于 Qt/Embedded 的 UI(用戶(hù)操作接口 )界面。圖 41 為 Qt/Embedded 的實(shí)現(xiàn)結(jié)構(gòu)。對(duì)象模型是框架的基礎(chǔ) , 如 QObject 可見(jiàn)的控件一般從抽象控件派生 , 如 QButton 繪圖類(lèi)控制繪圖 , 如 QBrush 拖放類(lèi)控制拖放操作 ,如 QDragObject 控件外觀類(lèi)控制控件的外觀如顏色、 第四章 信號(hào)監(jiān)測(cè)應(yīng)用軟件設(shè)計(jì) 28 字體等。//窗口開(kāi)顯示 ()。在 Qt中信號(hào)是一個(gè)全新的東西 , 它既不屬于成員函數(shù)也不是變量 , 用戶(hù)可以自定信號(hào) , 下面是自定義信號(hào)的例子 : signals: 第四章 信號(hào)監(jiān)測(cè)應(yīng)用軟件設(shè)計(jì) 29 void created () 。比如上圖中,所有的部件一起看,其實(shí)就是一種矩陣的形式來(lái)排列的。 } } int myMainWindow:: GetADresult(int channel) { int PRESCALE=0XFF。 編譯程序然后下載到開(kāi)發(fā)板調(diào)試。 read(adc_fd, amp。在用戶(hù)程序里只需要用到 open、 read、write、 release 等內(nèi)核函數(shù)即可。它集成了很多其他實(shí)用工具 , 如 make 和 GNU C+ + Compilers, 它還可以為工程的每個(gè)類(lèi)自動(dòng)生成 HTML 格式的 A P I 文檔 ,同時(shí)有著很好的項(xiàng)目管理、編輯 環(huán)境和調(diào)試環(huán)境。如 Qimage 等 ,IO控制工具具體處理 IO 的一些類(lèi) , 如 QFile。//Qapplication 實(shí)例化 myMainWindow w。 Qt類(lèi)庫(kù) Qt 類(lèi)庫(kù)大致可以分為三個(gè)部分 : 控件 , 框架和工具。 1 Qt/Embedded 的實(shí)現(xiàn)技術(shù)基礎(chǔ)分析橫向來(lái)看,由于發(fā)布的版權(quán)問(wèn) 題,Qt/Embedded 采用兩種方式進(jìn)行發(fā)布:在 GPL 協(xié)議下發(fā)布的 free 版與專(zhuān)門(mén)針對(duì)商業(yè)應(yīng)用的 mercial 版本。傳統(tǒng)的 GUI 系統(tǒng),如 Microwindows 等,由于項(xiàng)目規(guī)模較小、功能較為薄弱,缺乏第三方軟件開(kāi)發(fā)的支持等諸多原因,在比較高級(jí)的手持或移動(dòng)終端設(shè)備 (如 PDA、 SmartPhone、車(chē)載導(dǎo)航系統(tǒng) )中應(yīng)用較少。實(shí)現(xiàn)的過(guò)程主要是通過(guò)一個(gè)循環(huán),只有在事件隊(duì)列的頭、尾指針不重合時(shí),才能成功的從 指向 的隊(duì)列尾部讀取到一組觸摸信息數(shù)據(jù),并退出循環(huán)。 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 24 } TS_DEV。 unsigned short y。設(shè)備驅(qū)動(dòng)模塊的功能就是擴(kuò)展內(nèi)核的功能,主要完成兩部分任務(wù):一個(gè)是系統(tǒng)調(diào)用,另一個(gè)是處理中斷。后我們可以得到數(shù)據(jù)為 0X0100FF,而通過(guò)下一條語(yǔ)句 write(adc_fd, amp。 printf(\nPress Enter key exit!\n)。 return data。 static int init_ADdevice(void) //初始化設(shè)備 { 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 19 if((adc_fd=open(ADC_DEV, O_RDWR))0){ printf(Error opening %s adc device\n, ADC_DEV)。 } static int s3c2410_adc_release(struct inode *inode, struct file *filp) //關(guān)閉 adc { MOD_DEC_USE_COUNT。 ret = ADCDAT0。)) //先獲得互斥鎖 return ERESTARTSYS。 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 17 MOD_INC_USE_COUNT。 [1,8] 三、實(shí)現(xiàn) 方法 ADC 設(shè)備在 Linux 中可以看做是 簡(jiǎn)單的字符設(shè)備 , 也可以當(dāng)做是一混雜設(shè)備 (misc 設(shè)備 ),這里我們 作為 misc 設(shè)備來(lái)實(shí)現(xiàn) ADC 的驅(qū)動(dòng)。 在等待中斷模式下,當(dāng)觸摸屏發(fā)生觸摸中斷時(shí),該寄存器在數(shù) ms 間隔內(nèi)產(chǎn)生 INT_TC 中斷。該寄存器 各 參數(shù)描述見(jiàn)表 31。驅(qū)動(dòng)程序的作用是應(yīng)用程序與硬件之間的一個(gè)中間軟件層,驅(qū)動(dòng)程序應(yīng)該為應(yīng)用程序展現(xiàn)硬件的所有功能,不應(yīng)該強(qiáng)加其他的約束,對(duì)于硬件使用的權(quán)限和限制應(yīng)該由應(yīng)用程序?qū)涌刂啤_@樣 能保證內(nèi)存中的庫(kù)程序代碼是唯一的。 A/D轉(zhuǎn)換器在擴(kuò)展板的連接 A/D 轉(zhuǎn)換器在擴(kuò)展板的接法如圖 28 所示,前三路通過(guò)電位器接到 電源上。圖 (b)表示四位 A/D 轉(zhuǎn)換器的逐次逼近過(guò)程。比較時(shí),先從 SAR 的最高位開(kāi)始,逐次確定各位的數(shù)碼應(yīng)是 “1” 還是 “0” ,其工作過(guò)程如下:轉(zhuǎn)換前,先將 SAR 寄存器各位清零。雙積分型的 A/D 轉(zhuǎn)換器電路簡(jiǎn)單,抗干擾能力強(qiáng),精度高,這是突出的優(yōu)點(diǎn)。 [1]常用的有以下兩種: ① 雙積分型的 A/D 轉(zhuǎn)換器 雙積分式也稱(chēng)二重積分式,其實(shí)質(zhì)是測(cè)量和比較兩個(gè)積分的時(shí)間,一個(gè)是對(duì)模擬輸入電壓積分的時(shí)間 T0,此時(shí)間往往 是固定的;另一個(gè)是以充電后的電壓為初值,對(duì)參考電源 Vref 反向積分,積分電容被放電至零所需的時(shí)間 T1。這些模塊使得該設(shè)備擁有強(qiáng)大的功能,集信號(hào)采集、數(shù)據(jù)處理、參數(shù)顯示為一體,用戶(hù)可方便的對(duì)多路 信號(hào) 進(jìn)行實(shí)時(shí)監(jiān)測(cè)。 [6] 嵌入式系統(tǒng)是這個(gè)后 PC 時(shí)代的擎天之柱。而且巨大的市場(chǎng)需求給我們提供了學(xué)習(xí)研發(fā)的資金和技術(shù)力量。 作為 軟硬件高度結(jié)合的產(chǎn)物。對(duì)于我們每個(gè)人,需要的已經(jīng)不再僅僅是那種放在桌上處理文檔,進(jìn)行工作管理和生產(chǎn)控制的計(jì)算機(jī) 機(jī)器 ;各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)通用計(jì)算機(jī)。隨著 Linux 系統(tǒng)的不斷升級(jí)換代,現(xiàn)在出現(xiàn)了以 ARM 芯片為載體,以 Linux 系統(tǒng)為軟件平臺(tái)設(shè)計(jì)出的新一代監(jiān)控系統(tǒng)。除了能實(shí)現(xiàn)原有 單片機(jī)的功能外,其可視化更強(qiáng),具備網(wǎng)絡(luò)通信功能,是一臺(tái)具備功能拓展更豐富的微型計(jì)算機(jī)。而在工業(yè)和服務(wù)領(lǐng)域中,使用嵌入式技術(shù)的數(shù)字機(jī)床,智能工具,工業(yè)機(jī)器人,服務(wù)機(jī)器人也將逐漸改變傳統(tǒng)的工業(yè)和服務(wù)方式。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存貯于磁盤(pán)等載體中。從軟件方面講,也有相當(dāng)部分的成熟軟件系統(tǒng) 。我們有理由相信,未來(lái)的電子技術(shù)就是嵌入式系統(tǒng)技術(shù)的天下。 圖 21 系統(tǒng)概要 框圖 S3C2410介紹 S3C2410處理器是 Samsung公司基于 ARM公司的 ARM920T處理器 內(nèi) 核,采用 制造工藝的 32 位微控制器。模擬輸入電壓 Vi 與參考電壓 VRef 之比,等于上述兩個(gè)時(shí)間之比。但轉(zhuǎn)換速度比較慢,常用的 A/D 轉(zhuǎn)換芯片的轉(zhuǎn)換時(shí)間為毫秒級(jí)。轉(zhuǎn)換開(kāi) 始時(shí),控制邏輯電路先設(shè)定 SAR 寄存器的最高位為“1” ,其余位為 “0” ,此試探值經(jīng) D/A 轉(zhuǎn)換成電壓 Vc,然后將 Vc 與模擬輸入電壓 Vx 比較。轉(zhuǎn)換結(jié)果能否準(zhǔn)確逼近模擬信號(hào),主要取決于 SAR 和 D/A 的位數(shù)。 第二章 基于 ARM 和 QT 的多路信號(hào)監(jiān)測(cè)系統(tǒng)硬件設(shè)計(jì) 10 圖 26 ADC 電阻分壓 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 11 第三章 嵌入式 linux移植及驅(qū)動(dòng)開(kāi)發(fā) linux主要特征 ① 符合 POSIX 標(biāo)準(zhǔn) POSIX 標(biāo)準(zhǔn)定義了一個(gè)最小的 Unix 操作系統(tǒng)接口,任何操作系統(tǒng)只有符合這一標(biāo)準(zhǔn),才有可能運(yùn) 行 Unix 程 序。 ⑤ 支持多種文件系統(tǒng) Linux 能支持多種文件系統(tǒng)。但是有時(shí)驅(qū)動(dòng)程序的設(shè)計(jì)是跟所開(kāi)發(fā)的項(xiàng)目相關(guān)的,這時(shí)就可能在驅(qū)動(dòng)層加入一些與應(yīng)用相關(guān)的設(shè)計(jì)考慮,主要是因?yàn)樵隍?qū)動(dòng)層的效率比應(yīng)用層高,同時(shí)為了項(xiàng)目的需要可能只強(qiáng)化或優(yōu)化硬件的某個(gè)功能,而弱化或關(guān)閉其他一些功能;到底需要展現(xiàn)硬件的哪些功能全都由開(kāi)發(fā)者根據(jù)需要而定。 表 31 ADC 控制寄存器 參數(shù) 描述 ENABLE_START 置 1:?jiǎn)?dòng) ADC 轉(zhuǎn)換 置 0:無(wú)操作 RESR_START 置 1:允許讀操作啟動(dòng) ADC 轉(zhuǎn)換 置 0:禁止讀操作啟動(dòng)ADC 轉(zhuǎn)換 第三章 嵌入式 linux 移植及驅(qū)動(dòng)開(kāi)發(fā) 14 STDBM 置 1:將 ADC 置為閑置狀態(tài)(模式) 置 0:將 ADC 置為正常操作狀態(tài) SEL_MUX 選擇需要進(jìn)行轉(zhuǎn)換的 ADC 信道 PRSCVL ADC 轉(zhuǎn)換時(shí)鐘預(yù)分頻參數(shù) PRSCEN ADC 轉(zhuǎn)換時(shí)鐘使能 ECFLG ADC 轉(zhuǎn)換完成標(biāo)志位(只讀) , 為 1: ADC 轉(zhuǎn)換結(jié)束 為 0:ADC 轉(zhuǎn)換進(jìn)行中 ( 2) ADC觸摸屏控制寄存器: ADCTSC。 ( 4) ADC 數(shù)據(jù) 寄存器 0: ADCDATA0。注意:這里我們獲取 AD轉(zhuǎn)換后的數(shù)據(jù)將采用中斷的方式,即當(dāng) AD轉(zhuǎn)換完成后產(chǎn)生 AD 中斷,在中斷服務(wù)程序中來(lái)讀取 ADCDAT0 的第 09 位的值 (即 AD 轉(zhuǎn)換后的值 )。 DPRINTK( adc opened\n)。 START_ADC_AIN(, )。 ret amp。 DPRINTK( adc clo
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1