大香蕉大香蕉在线播放-日韩av在线一区中文字幕-日韩熟女熟妇久久精品综合-精品免费视频一区二区三区

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

PIC16F84單片機(jī)產(chǎn)生兩組PWM輸出實(shí)例

更新時(shí)間: 2019-03-23
閱讀量:2171

十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享PIC16F84單片機(jī)產(chǎn)生兩組PWM輸出實(shí)例。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

list p=16F84 ; list directive to define processor
#include ; processor specific variable definitions

 

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _RC_OSC

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.


;********************** CONST DEFINITIONS******************************
FULL_WORK = 10 ; 程
DEF_WORK2 = 8 ; PWM2
PORT_OUT = PORTB ;
PIN_PWM1 = 0 ; P
PIN_PWM2 = 1 ;
;********************** VARIABLE DEFINITIONS***************************
CBLOCK 0x0C
w_temp ; variable used for context saving
status_temp ; variable used for context saving
PWM_FULL ; 程
PWM_WORK_CFG1 ; PWM1 
PWM_WORK_CFG2 ; PWM2 

PWM_WORK_CNT1 ; PWM1 
PWM_WORK_CNT2 ; PWM2 
ENDC
;**********************************************************************
;****************** *******************
;**********************************************************************
ORG 0x000 ; processor reset vector
ResetStart
goto main ; go to beginning of program
;**********************************************************************
;**************************************
;**********************************************************************
ORG 0x004 ; interrupt vector location
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register

 

bsf STATUS,RP0
bcf INTCON,T0IF ;
bcf STATUS,RP0 

decfsz PWM_FULL,F ;
goto ISR_PWM1
bsf PORT_OUT,PIN_PWM1 ; PWM1/PWM2
bsf PORT_OUT,PIN_PWM2
movlw FULL_WORK ; 
movwf PWM_FULL
movf PWM_WORK_CFG1,W
movwf PWM_WORK_CNT1
movf PWM_WORK_CFG2,W
movwf PWM_WORK_CNT2
goto ISR_EXIT
ISR_PWM1
decfsz PWM_WORK_CNT1,F ;
goto ISR_PWM2
bcf PORT_OUT,PIN_PWM1 ; 
ISR_PWM2

decfsz PWM_WORK_CNT2,F ;
goto ISR_EXIT
bcf PORT_OUT,PIN_PWM2 ; 
ISR_EXIT
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
retfie ; return from interrupt
;**********************************************************************
;****************** ﹍てPWM *******************************
;**********************************************************************
InitPWM
bsf STATUS,RP0 ;
bcf PORT_OUT,PIN_PWM1
bcf PORT_OUT,PIN_PWM2
bcf STATUS,RP0
bsf PORT_OUT,PIN_PWM1 ;
bsf PORT_OUT,PIN_PWM2
movlw FULL_WORK ;
movwf PWM_FULL
movlw DEF_WORK1

movwf PWM_WORK_CFG1
movwf PWM_WORK_CNT1
movlw DEF_WORK2
movwf PWM_WORK_CFG2
movwf PWM_WORK_CNT2
retlw 0
;**********************************************************************
;************************************************
;**********************************************************************
InitTimer
bsf STATUS,RP0
bsf OPTION_REG,T0CS ;
bsf OPTION_REG,PSA ;
bsf INTCON,GIE ;
bcf INTCON,T0IF ;
bcf STATUS,RP0
retlw 0
;********************************************************************

**
;********************
;**********************************************************************
StartTimer
bsf STATUS,RP0
bcf OPTION_REG,T0CS ;
bsf INTCON,T0IE ;
bcf STATUS,RP0
retlw 0
;**********************************************************************
;****************** *******************************
;**********************************************************************
StopTimer
bsf STATUS,RP0
bsf OPTION_REG,T0CS ;
bcf INTCON,T0IE ;
bcf STATUS,RP0
retlw 0
;**********************************************************************
;****************** *******************************

;**********************************************************************
main
bcf STATUS,RP0 ; select Page 0 for Port Access
call InitPWM
call InitTimer
call StartTimer
goto $
;**********************************************************************
END ; directive 'end of program'

大鸡巴插入骚穴在线观看| 黄色高清带三级1集2集| 玖玖资源站无码专区| 乱伦美女小骚货视频| 大胸瑟瑟黑丝午夜| 免费黄色 操逼视频| 黄色视频力肏女人| 男人和女人干污污| 亚洲精品美女久久久| 日韩精品高清在线| 日本免费一区二区在线| 白色紧身裤无码系列在线| 彩虹网免费视频在线观看| 亚洲国产嫩草18久久久| 99久久99久久精品视频| av在线国产哟哟| 国内精品久久久久精品97| 国产情侣色综合久久有码| 国产尤物蜜臀AV| 99爱这里只有精品| 亚洲乱熟女一区二区三区| 美国大鸡巴操逼视频| 9999热精品免费视频| 大黑屌后入骚妇屁股| 国产91视频观看| 黑人巨茎和中国美女视频| 最新日本一区二区三区免费看| 成人 在线 欧美 日韩| 久久精精品久久久久噜噜| 91精品捆绑蜜桃| 九热中文字幕在线| 中文字幕在线观视频| 澳门一区二区免费下线观看| 亚洲欧美日韩清纯唯美第一区| 狂插美女大屁股在线观看| 24日本精品视频免费| 99久久九九爱精品国产| 国产亂倫近親相姦| 骚逼嫩鸡巴喷水视频| 亚洲一级片在线播放| 日韩毛片一区视频免费在线观看|