<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式PLC芯片組的多路模擬量應用開(kāi)發(fā)

嵌入式PLC芯片組的多路模擬量應用開(kāi)發(fā)

作者: 時(shí)間:2018-09-10 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201809/388815.htm

2、軟件開(kāi)發(fā)

是基于Cygnal公司的C8051f040芯片開(kāi)發(fā)的,所以二次程序的開(kāi)發(fā)使用51匯編語(yǔ)言。開(kāi)發(fā)選擇的編譯器是KEILC51,因為它可以生成我們所需要的.HEX文件。內核留出了七個(gè)用戶(hù)嵌入程序接口,我們只需要充分理解各個(gè)接口的功能就可了進(jìn)行二次開(kāi)發(fā)了,需要熟悉如下內容:a、內核功能b、內核結構c、內核任務(wù)管理d、內核存儲空間分配?!?】由于系統軟件中已經(jīng)加入了232通信、485通信和CAN通信的功能,所以16路的二次驅動(dòng)軟件的開(kāi)發(fā)主要集中在的AD轉換和資源區中AD值的實(shí)時(shí)刷新上。
(1)程序規劃
T4中斷:完成AD轉換和16個(gè)通道的切換程序
USER_SCAN:PLC資源區中AD值的刷新。
AD轉換過(guò)程如下:每一通道連續采樣16次,采樣完后得到累加和,然后啟動(dòng)下一通道的AD轉換。
PLC資源區中AD值的刷新過(guò)程如下:在梯形圖掃描周期結束時(shí)進(jìn)行,把各路AD值的累加和求平均值后放入PLC的資源區的對應位置處。
(2)程序代碼
INIT_AD:;AD初始化
MOVSFRPAGE,#ADC0_PAGE
MOVREF0CN,#07H;內部參考電壓/輸出到VERF
;啟動(dòng)內部溫度傳感器
MOVAMX0CF,#00H;單極性輸入
MOVADC0CF,#0B8H;D7——D3=SYSCLK/采樣時(shí)鐘-1
;采樣轉換時(shí)鐘=1US
;D2——D0=GAIN
;000GAIN=1
MOVADC0CN,#90H;啟動(dòng)AD采樣
MOVAD_CHANNEL,#00H;AD通道號,初值為0
MOVAD_COUNT,#00H;16次采樣次數計數。初值為0
RET

SAMPLE_AD:;AD采樣開(kāi)始
MOVSFRPAGE,#ADC0_PAGE;AD控制寄存器頁(yè)
MOVA,AD_CHANNEL;采樣值的累加和是一個(gè)字基地址;為#XAI,偏移地址為AD_CHANNEL
RLA

MOVDPTR,#XAI;XAI存放16次采樣值的累加和
ADDA,DPL;低字節相加
MOVDPL,A
MOVXA,@DPTR
MOVB,A
MOVA,ADC0L
CLRC
ADDCA,B
MOVX@DPTR,A

INCDPTR;高字節相加
MOVXA,@DPTR
MOVB,A
MOVA,ADC0H
ANLA,#0FH
ADDCA,B
MOVX@DPTR,A;#XAI中存放格式為低字節、高字節

MOVSFRPAGE,#ADC0_PAGE;AD控制寄存器頁(yè)
MOVADC0CN,#090H;啟動(dòng)下次AD采樣

INCAD_COUNT
MOVA,AD_COUNT
CLRC
SUBBA,#16
JNCFILL_XAI_XAD;當16次采樣完成后,把XAI中16;個(gè)采樣和(2字節)存放到XAD
RET



關(guān)鍵詞: PLC 嵌入式 多路 模擬量

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>