PIC单片机学习笔记之PWM信号输出

PIC单片机学习笔记之PWM信号输出
PIC单片机学习笔记之PWM信号输出

实现功能:通过键盘(BUTTON)控制蜂鸣器发生,键盘按下,通过RC2/CCP1接口输出PWM 信号(频率880Hz,脉宽50)驱动蜂鸣器发声。

实验环境:Proteus

编程语言:汇编

编程环境:MPLAB

单片机:PIC16F877

晶振:20MHz

Proteus仿真电路如图。

实验源程序:

LIST P=16F877

;设置pwm为880Hz,50%占空比

INCLUDE P16F877.INC

ORG 0000H

START

BANKSEL TRISC;进入TRISC所在BANK

BCF TRISC,2;清零TRIC的bit2,以使CCP1引脚成为输出

MOVLW D'70'

MOVWF PR2;将70写入PR2以设置PWM周期

BANKSEL CCPR1L

MOVLW D'35'

MOVWF CCPR1L

MOVLW 0X06

MOVWF T2CON;bit2=1,使能Timer2,bit1-1,预分频值为16 CHECKBUTTON

BTFSC PORTA,4

GOTO BUTTONOFF

BUTTONON

MOVLW H'0C'

MOVWF CCP1CON;设置CCP1为PWM模式

GOTO CHECKBUTTON

BUTTONOFF

CLRF C CP1CON

GOTO CHECKBUTTON

END

相关主题
相关文档
最新文档