⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lesson6.lst

📁 CCP实现周期测量PIC单片机
💻 LST
字号:
     1: #include<pic.h>

     2: #define uchar unsigned char

     3: #define uint unsigned int

     4: __CONFIG(0x3B31);

     5: uint CCPDE;

     6: const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

     7: void delay(uint x)

     8: {

     9:         uint j,i;

    10:         for(i=x;i>0;i--)

    11:         for(j=110;j>0;j--);

    12: }

    13: uchar temp;

    14: void init();

    15: void display();

    16: void xianshi(uchar num1,uchar num2,uchar num3,uchar num4);

    17: void main()

    18: {

    19:         uchar a1=0,a2=0,a3=0,a4=0;

    20:         init();

    21:         while(1)

    22:         {

    23:                 a1=CCPDE/1000;

    24:                 a2=CCPDE%1000/100;

    25:                 a3=CCPDE%100/10;

    26:                 a4=CCPDE%10;

    27:                 xianshi(a4,a3,a2,a1);

    28:         }               

    29: }

    30: void init()

    31: {

    32:         TRISB=0X00;

    33:         PORTB=0x06;

    34:         TRISC=0x0f;

    35:         CCP1IE=1;       

    36:         T1CON=0X01;

    37:         CCP1CON=0X05;

    38:         GIE=1;

    39:         PEIE=1;

    40: }

    41: void xianshi(uchar num1,uchar num2,uchar num3,uchar num4)

    42: {

    43:         PORTB=table[num1];

    44:         PORTC=0x7f;

    45:         delay(45);

    46: 

    47:         PORTB=table[num2];

    48:         PORTC=0xbf;

    49:         delay(45);

    50: 

    51:         PORTB=table[num3];

    52:         PORTC=0xdf;

    53:         delay(45);

    54: 

    55:         PORTB=table[num4];

    56:         PORTC=0xef;

    57:         delay(45);

    58: }

    59: void interrupt CCP1e()

    60: {       

    61:         uint temp;

    62:         static uint pv;

    63:         if(CCP1IF)

    64:         {

    65:                 CCP1IF=0;

    66:                 temp=CCPR1H;

    67:                 temp*=256;

    68:                 temp+=CCPR1L;

    69:                 CCPDE=temp-pv;

    70:                 pv=temp;

    71:         }

    72: }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -