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

📄 lesson6.lst

📁 PIC单片机的AD使用
💻 LST
字号:
     1: #include<pic.h>

     2: #define uchar unsigned char

     3: #define uint  unsigned int

     4: __CONFIG(0x3B31);

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

     6: const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,

     7:                         0x87,0xff,0xef};

     8: void delay(uint x);

     9: void init();

    10: void xianshi(uchar a1,uchar a2,uchar a3,uchar a4);

    11: uint get_tem();

    12: void main()

    13: {

    14:         uint add1;

    15:         uchar a1,a2,a3,a4;

    16:         init();

    17:         while(1)

    18:         {

    19:                 add1=get_tem();

    20:                 a1=add1/1000;

    21:                 a2=add1%1000/100;

    22:                 a3=add1%100/10;

    23:                 a4=add1%10;

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

    25:         }       

    26: }

    27: void delay(uint x)

    28: {

    29:         uint a,b;

    30:         for(a=x;a>0;a--)

    31:                 for(b=110;b>0;b--);

    32: }

    33: void init()

    34: {

    35:         TRISD=0;

    36:         TRISB=0;

    37:         PORTD=0;

    38:         PORTB=0;

    39:         TRISA=0X01;

    40:         ADCON0=0X41;

    41:         ADCON1=0X8E;

    42:         delay(1);

    43: }

    44: void xianshi(uchar a1,uchar a2,uchar a3,uchar a4)

    45: {

    46:         TRISD=0X7f;     

    47:         PORTB=table1[a1];

    48:         delay(2);

    49:         

    50:         TRISD=0Xbf;

    51:         PORTB=table[a2];

    52:         delay(2);       

    53: 

    54:         TRISD=0Xdf;

    55:         PORTB=table[a3];

    56:         delay(2);       

    57: 

    58:         TRISD=0Xe7;

    59:         PORTB=table[a4];

    60:         delay(2);

    61: }

    62: uint get_tem()

    63: {

    64:         uint advale;

    65:         float add0;

    66:         ADGO=1;

    67:         while(ADGO);

    68:         advale=ADRESH;

    69:         advale=advale<<8|ADRESL;

    70:         add0=(advale/1023.0)*5.0;

    71:         advale=(int)(add0*1000);

    72:         return advale;

    73: }

⌨️ 快捷键说明

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