下面是其中一个单片机源程序如下:
/*
* File: newmain.c
* Author: YF006
*
* Created on 2018年7月11日, 上午8:20
*/
#include "hardware.h"
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config IESO = ON // Internal External Switchover bit (Internal External Switchover mode is enabled)
#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is enabled)
unsigned int dutych=0;
void interrupt Timer2_ISR(void)//这个不对
{
if(TMR2IF)
{
//LED8=!LED8;
TMR2IF = 0;
}
}
int main() {
hardint();//系统初始化
ledint();//LED初始化
keyint();
pwmint();
while(1)
{
if(KEY==0)
{
delay_for(50);
if(KEY==0)
{
delay_for(10);
dutych++;
}
}
if(dutych>5)
{
dutych=0;
}
if(dutych==0)
{
DC1B1=0;
DC1B0=0;
CCPR1L=0X00;
LED1=0;
LED2=0;
LED3=0;
LED4=0;
LED5=0;
}
if(dutych==1)
{
DC1B1=1;
DC1B0=1;
CCPR1L=0X0F;
LED1=1;
LED2=0;
LED3=0;
LED4=0;
LED5=0;
}
if(dutych==2)
{
DC1B1=0;
DC1B0=1;
CCPR1L=0X1F;
LED1=0;
LED2=1;
LED3=0;
LED4=0;
LED5=0;
}
if(dutych==3)
{
DC1B1=1;
DC1B0=1;
CCPR1L=0X2E;
LED1=0;
LED2=0;
LED3=1;
LED4=0;
LED5=0;
}
if(dutych==4)
{
DC1B1=1;
DC1B0=0;
CCPR1L=0X3E;
LED1=0;
LED2=0;
LED3=0;
LED4=1;
LED5=0;
}
if(dutych==5)
{
DC1B1=0;
DC1B0=0;
CCPR1L=0X4E;
LED1=0;
LED2=0;
LED3=0;
……………………
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』