×
单片机 > 单片机程序设计 > 详情

PIC16F690单片机初学者C语音编程参考

发布时间:2020-06-03 发布时间:
|

下面是其中一个单片机源程序如下:

/* 

* 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;

……………………



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
可升级和可配置的PSoC62系列MCU平台架构