zoukankan      html  css  js  c++  java
  • Pic32时钟

    额,首先拿定时器开刀。仍旧是led闪烁为实验现象。但是实现的方法使用使用时钟中断和timer对比两种方法。

    首先看一下ld1-ld4管脚控制。

     

    led部分

     

     

     

    对开发板的具体管脚说明,手册里面很清楚:

    因此设置PORTB的第10-13(对应led1-led4)为output,对应为为1即可点亮。

     

     

    timer部分

     

    timer的编程可以使用库函数:

    还是自己动手吧

     

     

    查看datasheet,timer1的框图如下:

     

    主要是T1CON时钟的设定。

    #include <p32xxxx.h>

    /*

    * delaytime设置的是timer中的上限值,当timer到达这个值就将其清零,

    * 从而达到反复计时的效果

    */

    #define DELAY 300

     

    void timer_init()

    {

    //T1CON |= 1;//T1CON[15]=1,ennable

    T1CON = 0x8030;

    }

     

    void main_init()

    {

    timer_init();

     

    TRISB = 0;//LED1-4 output

    AD1PCFG = 0xffff;//all PORTB as digital

    PORTB = 0xff;

     

    PR1 = 0xffff;//set period register to max

     

    }

     

    void delay(int i)

    {

    TMR1 = 0;

    while(TMR1 < i)

    {

    ;

    }

    }

     

    void delay4(int num)

    {

    int i = 0;

    while(i < num){

    i++;

    }

    }

     

    void delay1(int i)

    {

    while(i>0)

    {

    i--;

    }

    }

     

    main()

    {

    int j;

    int delaytime = DELAY;

    main_init();

     

    while(1)

    {

    //all leds on

    //PORTB = 0xff;

    PORTBSET |= ((1 << 10) | (1 << 11) | (1 << 13));

    delay(delaytime);

     

     

    //all leds off

    PORTB = 0;

    // PORTB &= ( (~(1 << 10)) & (~(1 << 11)) & (~(1 << 12)) & (~(1 << 13)) );

    delay(delaytime);

    }

    }

     

     

  • 相关阅读:
    变量
    python3基础知识
    __kindof的用法
    廖雪峰Python电子书总结
    解决嵌套在ScrollView中的TableView滑动手势冲突问题
    20180329-layoutSubviews的调用机制
    20180315-Python面向对象编程设计和开发
    20180308-Python内置方法
    20180306-time&datetime模块
    20180305-Python中迭代器和生成器
  • 原文地址:https://www.cnblogs.com/yixiaoyang/p/1966787.html
Copyright © 2011-2022 走看看