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

📄 main.c

📁 PIC C18 读写TLC5628数字电位器程序
💻 C
字号:
#include "D:\devdoc\proj\max539\TLC5628\main.h"

void sendda0(unsigned char);
void display(unsigned char);

void main()
{  unsigned char i;

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_oscillator(False);
   set_tris_d(0x00);
   set_tris_e(0x00);
   output_low(DACLK);
   output_low(LDAC);
   output_low(DALOAD);
   output_low(LEDCLK);
   // TODO: USER CODE!!
  
   for(i=0;i<16;i++)
      {display(i);
       delay_ms(2000);
      }
   while(1)
     {for(i=0;i<255;i++)
        sendda0(i);
        

         
     }

}

void sendda0(unsigned char spidata)  //0~255
{unsigned char i;
 output_high(DALOAD);
 output_high(DACLK);
 output_low(DADATA);   //a2
 output_low(DACLK);    
 output_high(DACLK);
 output_low(DADATA);   //a1
 output_low(DACLK);
 output_high(DACLK);
 output_low(DADATA);   //a0
 output_low(DACLK);
 output_high(DACLK);
 output_low(DADATA);
 output_low(DACLK);
 for(i=0;i<8;i++)
   {output_high(DACLK);
    if(spidata&0x80)
       {output_high(DADATA);
       }
    else
       output_low(DADATA);
    spidata<<=1;
    output_low(DACLK);
   }
 output_low(DALOAD);
 output_high(DALOAD);
}

void display(unsigned char disdata)
{unsigned char i,temp;
 unsigned char disfont[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x39,0x5E,0x79,0x71};
 temp=disfont[disdata];
 for(i=0;i<8;i++)
   {output_low(LEDCLK);
    if(temp&0x80)
      output_high(DSA);
    else
      output_low(DSA);
    temp<<=1;
    output_high(LEDCLK);
   }
 output_low(LEDCLK);
//做三次输出循环显示三位



}

⌨️ 快捷键说明

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