基于PIC16F877A的方波信号发生器电路设计
;*********主程序************
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
;调开延时子程序。消除断开抖动的影响
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
;重新启动定时器开始计数
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,创建工程项目FBXH,并创建源文件fbxh.asm,编译生成目标程序HEX文件。
(2)选择器件为PIC16F877A,选择通信接口(USB口),建立通信连接,设置MPLAB ICD2作为调试工具。设置调试选项,载入调试代码,调试代码会自动编程到程序存储器的顶层空间,用于MPLAB ICD2的调试,进行模拟仿真。
(3)仿真正确之后,选择器件配置电源和接口,并设置编程选项,进行编程下载程序,完成芯片程序的写入。
2.4 电路板的设计、安装与调试
利用PROTEL99SE制作电路PCB板进行安装焊接,SW1,SW2选用按纽开关,SW1为循环切换控制开关,SW2为复位开关,POWER接5V电源,U1在安装时要采用IC座,便于更新或更换IC,LS1可连接到压电蜂鸣器,D0为发光二极管,有输出时D0点亮,OUT为输出端,用可示波器进行观察。调试完成之后,方波信号发生器的设计就全部完成了。
电路相关文章:电路分析基础
负离子发生器相关文章:负离子发生器原理 分频器相关文章:分频器原理 尘埃粒子计数器相关文章:尘埃粒子计数器原理 离子色谱仪相关文章:离子色谱仪原理
评论