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

正文內(nèi)容

第6章advanced子模板及l(fā)abview與c語言的接口方法(編輯修改稿)

2025-02-07 16:20 本頁面
 

【文章內(nèi)容簡介】 的多路模擬信號通過一個(gè) 40芯的輸入輸出插座分別接到采集卡內(nèi)部的 32選 1的模擬輸入多路開關(guān)上。通過軟件設(shè)置,選通某模擬輸入通道。對于 HY–1232數(shù)據(jù)采集卡,在選通某模擬信號輸入通道的同時(shí)即啟動(dòng)了該路的 A/D轉(zhuǎn)換。當(dāng) A/D轉(zhuǎn)換完成時(shí),采集卡上的轉(zhuǎn)換完成位寄存器的最高位 (D7)被置為 “1”。用軟件查詢方式查詢該寄存器的 D7位,當(dāng)查詢到該位為 “1”時(shí),即表明采樣已結(jié)束,可將 12bit的數(shù)據(jù)讀入計(jì)算機(jī)內(nèi)存中。如果采用中斷方式,則在 A/D轉(zhuǎn)換完成后,采集卡會(huì)自動(dòng)向計(jì)算機(jī)發(fā)出中斷請求信號。在中斷服務(wù)程序內(nèi),將 12bit數(shù)據(jù)讀入計(jì)算機(jī)內(nèi)存。 HY–1232數(shù)據(jù)采集卡中采用的是 12位 A/D轉(zhuǎn)換器,轉(zhuǎn)換完畢的 12位二進(jìn)制數(shù)中的低八位 ADAD6… AD AD0存放在低八位緩沖寄存器中,其高四位 AD1 AD AD AD8存放在高四位緩沖寄存器中。HY–1232數(shù)據(jù)采集卡有 32路單端模擬輸入通道,由八位輸入通道選擇寄存器低六位 (C C C CC0)的二進(jìn)制狀態(tài)字選擇被測信號的輸入通道。例如,選擇第 4通道輸入信號的二進(jìn)制狀態(tài)字為 00100。表 6–1列入了各寄存器的讀 /寫操作功能與占用地址。表 6–1 HY–1232數(shù)據(jù)采集卡板基地址分配與寄存器讀 /寫操作功能 對采集卡進(jìn)行參數(shù)設(shè)置(1)確定采集卡的板基地址。板基地址是 CPU分配給采集卡內(nèi)存空間的首地址。首地址后面的內(nèi)存空間供采集卡內(nèi)部寄存器分配使用。HY–1232數(shù)據(jù)采集卡板基地址的可選范圍為: 200H~ 3FFH(512~ 1023)。通常選 0x280,即 280H(640)。(2)確定信號的輸入方式。選擇設(shè)置信號是單端輸入還是雙端輸入,單極性信號還是雙極性信號。 HY–1232數(shù)據(jù)采集卡只有 32路單端輸入一種方式,故不需要用戶來設(shè)置。(3)設(shè)置信號的輸入范圍。根據(jù)輸入信號幅值范圍和分辨率的要求進(jìn)行選擇。 HY–1232數(shù)據(jù)采集卡信號輸入范圍不可選,只能為 –5V~ +5V,且內(nèi)部的放大器增益固定為 1。(4)確定采樣觸發(fā)方式。一般分外觸發(fā)、定時(shí)觸發(fā)、軟件觸發(fā)等幾種方式。但對于 HY–1232采集卡,只有軟件觸發(fā)一種方式,即在往輸入通道寄存器寫入所選通道號的同時(shí)即觸發(fā)了 A/D轉(zhuǎn)換。(5)A/D轉(zhuǎn)換結(jié)束的判斷。對于 HY–1232采集卡分查詢方式和中斷方式兩種。(6)采樣速率的設(shè)置。對于有些數(shù)據(jù)采集卡 (如 Lab–PC–1200卡 ),用戶可在其最大采樣速率范圍內(nèi)進(jìn)行選擇設(shè)置,以滿足實(shí)際的需要。但 HY–1232數(shù)據(jù)采集卡的采樣速率是固定的,用戶不可選。(7)設(shè)置信號輸入通道。在 0~ 31可選范圍內(nèi)選擇。 (8)設(shè)置一次采集點(diǎn)數(shù)。 采集程序流程圖與編程要點(diǎn)1.流程圖HY–1232數(shù)采卡單點(diǎn)數(shù)據(jù)采集程序流程圖如圖 6–8所示。圖 6–8HY–1232數(shù)采卡單點(diǎn)數(shù)據(jù)采集程序流程圖2.數(shù)據(jù)采集程序 HY–1232數(shù)據(jù)采集卡采集一個(gè)點(diǎn)的 C源程序如下:includeincludeincludevoidmain(void){intbasea,channel。floatvalue, lo,hi。basea=0x280。/*板基地址設(shè)為 640*/printf(“Inputchannelnumber:”)。 /*設(shè)置采集通道號 */scanf(“%d”,channel)。outp(base,channel)。 /*往輸入通道寄存器寫入所選通道號,并觸發(fā) A/D轉(zhuǎn)換 */do/*查詢 A/D轉(zhuǎn)換完成寄存器的最高位,若為 1,則表明 A/D; ??換結(jié)束,否則繼續(xù)查詢 */while(!(inp(basea+5)0x80))。lo=inp(base+1)。 /*讀入 A/D結(jié)果的低八位 */hi=inp(base+2)。/*讀入 A/D結(jié)果的高四位 */value=((lo+hi0xf)*256)2047)*。/*合并后,再將 A/D轉(zhuǎn)換的二進(jìn)制結(jié)果轉(zhuǎn)換?成對應(yīng)的模擬量值 */getch()。}3.編程要點(diǎn)說明1)?outp(x,y)和 inp(x)函數(shù) C語言接口函數(shù)① outp(x,y)函數(shù)的功能是把函數(shù) y送入端口地址為 x的寄存器中。 ?outp(base,channel)是把通道號 channel(程序中是由前面板控件設(shè)置 )送入地址為 base的輸入通道選擇寄存器,并啟動(dòng)該通道的 A/D轉(zhuǎn)換。② inp(x)函數(shù)的功能是從端口地址為 x的寄存器中讀取二進(jìn)制數(shù)據(jù)。 inp(base+1)從地址為 base+ 1的低八位寄存器讀取 A/D轉(zhuǎn)換結(jié)果。 inp(base+2)從地址為base+2的高四位寄存器讀取 A/D轉(zhuǎn)換結(jié)果二進(jìn)制數(shù)的高四位,并清除 A/D完成位寄存器和中斷請求信號。inp(base+5)從地址為 base+5的完成位寄存器讀取完成標(biāo)志位 I/O顯示值,當(dāng) IO=0時(shí),表示 A/D轉(zhuǎn)換未完成;當(dāng)IO=1時(shí),表示 A/D轉(zhuǎn)換完畢。2)?A/D轉(zhuǎn)換完成的判別采用 Dowhile循環(huán)語句如下:Dowhile(!(inp(basea+5)0x80))。句中 0x80的十進(jìn)制數(shù)為 128,相應(yīng)二進(jìn)制數(shù)為 10000000,故 inp(base+5)0x80屏蔽了低七位,保留了第八位結(jié)果IO,則 :IO=0(A/D轉(zhuǎn)換未完畢 )時(shí),條件 !(inp(basea+6)0x80)為真, Do–while循環(huán)繼續(xù);IO=1(A/D轉(zhuǎn)換完畢 )時(shí),條件 !(inp(basea+6)0x80)為假, Do–while循環(huán)停止。3)A/D轉(zhuǎn)換結(jié)果的合并及工程運(yùn)算 hioxf是將 A/D結(jié)果高四位 (二進(jìn)制數(shù) )轉(zhuǎn)化為十六進(jìn)制數(shù), (hioxf) *256則將十六進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù), lo+ (hi0xf) *256將數(shù)據(jù)合并為一個(gè)十進(jìn)制數(shù)。這里,被測信號的輸入范圍設(shè)置為- 5 V~+ 5 V, HY–1232卡的分辨率為 12位,則量化值 Q為 (V),而十進(jìn)制數(shù)也需減去滿量程的一半: 4096/2= 2048,由于十進(jìn)制數(shù)從 0開始,故滿量程的一半是 2047。因此,用 value=((lo+hioxf)*256)2047)*A/D輸出的二進(jìn)制數(shù)轉(zhuǎn)換為與模擬輸入電壓相對應(yīng)的電壓值。例如,若 hi=101 lo=11010011,那么 hioxf=0xb, (hioxf)*256=11*266, lo+(hioxf)*256=(27+26+24+21+20+11*256=3027,則采集卡的模擬輸入電壓為value=(30272047)* 具體設(shè)計(jì)方法1.模擬信號采集系統(tǒng)功能描述使
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1