PIC单片机问题。

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:17:20
选修课考试。用MPLAB编程。

题目是在RCO引脚上输出一个频率为50Hz的方波信号,占空比为60%,要求用中断实现。假设系统时钟的频率为4MHz。

程序怎么写。最主要是占空比怎么设置。

如果有会MPLAB的高人留下QQ哈。高分。高分。很急。。。

你用PIC的那个型号的单片机?? 我用过PIC16F886和PIC24F16KA101等芯片的PWM,各种PIC型号不一样,程序也不一样。给你个16F886的参考一下!

list p=16f886
include "p16f886.inc";现在用4M的晶振,倒数是0.25uS,一个指令周期为1uS
;------------------------
;COUNT EQU 20H
;DL1 EQU 21H
;DL2 EQU 22H
;DL3 EQU 23H
;------------------------
ORG 00H
GOTO MAIN
ORG 05H
MAIN:
CLRF STATUS
MOVLW 0x20 ;输出高电平的宽
MOVWF CCPR1L ;是“111 1101 00”
MOVLW 0x0C ;存最低两个数00,并设为PWM模式
MOVWF CCP1CON
CLRF INTCON

BSF STATUS,RP0
MOVLW 0x3F
MOVWF PR2
CLRF TRISC
CLRF STATUS

MOVLW B'00000110' ;预分频值为1:16,并打开TMR2
MOVWF T2CON
GOTO $

END

注意,我的配置位在MPLAB菜单的Configure里设置。以上程序是输出恒定的50%占空比的PWM信号 ,改变 CCPR1L 即可改变脉宽。要注意其值不要超过周期