基于PIC16F877A的方波信號發(fā)生器電路設計
;*********主程序************
ORG 000H
MAIN NOP
BSF STATUS,RP0
MOVLW 0FEH
MOVWF TRISC
CLRF PORTC
MOVLW 0FFH
MOVWF TRISB
MOVLW 07H ;分頻比設定為1:256
MOVWF OPTION_REG
BCF STATUS,RP0
KEYIN BTFSC PORTB,0 ;測試SW1是否按下?
GOTO LOOP
CALL DELAY
BTFSC PORTB,0
GOTO LOOP
CHECK BTFSS PORTB,0 ;測試SW1是否斷開?
GOTO CHECK
CALL DELAY
;調(diào)開延時子程序。消除斷開抖動的影響
BTFSS PORTB,O
GOTO CHECK
BSF STATUS,RP0
DECF OPTION_REG,1
MOVF 07H
ANDWF OPTION_REG
MOVF OPTION_REG,1
BCF STATUS,2
GOTO MAIN
LOOP MOV LW01H
XORWF PORTC
BCF INTCON,2
MOVLW TMR0B
MOVWF TMR0
;重新啟動定時器開始計數(shù)
TEST BTFSS INTCON,2
;檢測TMR0溢出標志位
GOTO TEST
GOTO KEYIN
;*******TMR0延時子程序8 ms*******
DELAY
BSF STATUS,RP0
MOVF OPTION_REG,0
MOVWF OPTION_B
MOVLW 04H
MOVWF OPTION_REG
BCF STATUS,RP0
BCF INTC0N,2
MOVLW 06H
MOVWF TMR0
LOOP1 BTFSS INTCON,2
GOTO LOOP1
BSF STATUS,RP0
MOVF OPTION_B,0
MOVWF OPTION_REG
BCF STATUS,RP0
RETURN
; ***********************
END ;源程序結束
2.3 基于MPLAB-IDE6.62軟件平臺的編譯與編程
(1)啟動MPLAB-IDE6.62,創(chuàng)建工程項目FBXH,并創(chuàng)建源文件fbxh.asm,編譯生成目標程序HEX文件。
(2)選擇器件為PIC16F877A,選擇通信接口(USB口),建立通信連接,設置MPLAB ICD2作為調(diào)試工具。設置調(diào)試選項,載入調(diào)試代碼,調(diào)試代碼會自動編程到程序存儲器的頂層空間,用于MPLAB ICD2的調(diào)試,進行模擬仿真。
(3)仿真正確之后,選擇器件配置電源和接口,并設置編程選項,進行編程下載程序,完成芯片程序的寫入。
2.4 電路板的設計、安裝與調(diào)試
利用PROTEL99SE制作電路PCB板進行安裝焊接,SW1,SW2選用按紐開關,SW1為循環(huán)切換控制開關,SW2為復位開關,POWER接5V電源,U1在安裝時要采用IC座,便于更新或更換IC,LS1可連接到壓電蜂鳴器,D0為發(fā)光二極管,有輸出時D0點亮,OUT為輸出端,用可示波器進行觀察。調(diào)試完成之后,方波信號發(fā)生器的設計就全部完成了。
電路相關文章:電路分析基礎
負離子發(fā)生器相關文章:負離子發(fā)生器原理 分頻器相關文章:分頻器原理 塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理 離子色譜儀相關文章:離子色譜儀原理
評論