<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è) > 嵌入式系統 > 設計應用 > PIC單片機AD轉換匯編程序

PIC單片機AD轉換匯編程序

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

;此實(shí)現A/D轉換功能,應用于pic單片機上,A/D采用中斷方式。該程序通過(guò)單片機的RA2模擬通道送入
;一直流電壓,當送入的直流電壓大于2.5V時(shí),8個(gè)LED閃動(dòng),當直流電壓恢復到2.5V以下
;時(shí),LED停止閃動(dòng)。為了防止干擾,本程序對直流電壓采樣10次后再作判斷,中間的采樣結
;果用間接尋址的方式存取。

LIST P=18F458
INCLUDE "P18F458.INC"

TIMES EQU 0X20
DEY EQU TIMES+1
ACCALO EQU TIMES+2 ;ACCA為雙精度加數寄存器
ACCAHI EQU TIMES+3
ACCBLO EQU TIMES+4 ;ACCB為雙精度加法的結果寄存器
ACCBHI EQU TIMES+5
FLAG EQU TIMES+6
DEYH EQU TIMES+7
DEYL EQU TIMES+9
BEGFSR EQU 0X30 ;間接尋址FSR的起始值(宏定義方式給出)

ORG 0X0000
GOTO MAIN
ORG 0X0008
GOTO INTSERVE ;轉向中斷服務(wù)子程序
ORG 0X30

;***雙字節減法子程序,入口地址ACCB-ACCA,出口地址ACCB***
D_SUB
CALL NEG_A ;求ACCA的補碼

;***雙字節加法子程序,入口地址ACCB+ACCA,出口地址ACCB***
D_ADD
MOVF ACCALO,0 ;ACCB和ACCA低半字節相加
ADDWF ACCBLO
BTFSC STATUS,C ;有進(jìn)位否?
INCF ACCBHI ;有,ACCB高字節加1,再加ACCAHI
MOVF ACCAHI,0 ;ACCA、ACCB高半字節相加
ADDWF ACCBHI
RETURN ;子程序返回

;************** ACCA取補子程序*****************
NEG_A
COMF ACCALO ;ACCALO取反加1
INCF ACCALO
BTFSC STATUS,Z ;低8位有進(jìn)位嗎?
DECF ACCAHI ;有,ACCAHI減1,再取反
COMF ACCAHI ;否則ACCAHI直接取反
RETURN ;子程序返回

;*********初始化子程序***************
INITIAL
CLRF INTCON ;禁止總中斷和外圍中斷
MOVLW 0X51
MOVWF ADCON0 ;選擇AD通道為RA2,且打開(kāi)A/D轉換器
;在工作狀態(tài),且使時(shí)鐘為8Tosc
MOVLW 0X80
MOVWF ADCON1 ;轉換結果右移,即ADRESH寄存器的高6
;位為"0",且把RA2口設置為模擬量輸入式
;(注意后面要把RA5改成數據I/O方式,以
;輸出顯示瑣存信號)
BCF PIR1,ADIF ;清除A/D轉換標志
BSF PIE1,ADIE ;A/D轉換中斷允許
BSF INTCON,PEIE ;外圍中斷允許
BSF IPR1,ADIP ;B口變位中斷高優(yōu)先級
BSF RCON,7 ;使能中斷優(yōu)先級
BSF TRISA,2 ;設置RA2為輸入方式
BCF TRISA,5 ;置RA5為輸出方式,以輸出鎖存信號
BCF TRISC,5
BCF TRISC,3 ;設置SCK與SDO為輸出方式
MOVLW 0XC0
MOVWF SSPSTAT ;設置SSPSTAT寄存器
MOVLW 0X30
MOVWF SSPCON1 ;設置SPI的控制方式,允許SSP方式,并
;且時(shí)鐘下降沿發(fā)送,與"74HC595當其
;SCLK從低到高電平跳變時(shí),串行輸入數據
;(DI)移入寄存器"的特點(diǎn)相應
CLRF FLAG
RETURN

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PIC單片機 AD轉換 匯編程序

評論


相關(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>