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

📄 led.c

📁 我用一个基于PIC16F877A的LED显示程序
💻 C
字号:
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int 
const table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//不带小数点的显示码
unsigned char date;
uint count=0;
unsigned char i=0;
void display(void);

void spi_init()
{
 PIR1=0;           //清SSPIIF标志位
 SSPCON=0X30;
 SSPSTAT=0XC0;
 TRISC =0X00;
 TRISA=0X00;
}

//************TRM1初始化*******************
void init_trm1()
{GIE=1;
 PEIE=1;
 TMR1IE=1;
 TMR1IF=0;
 T1CON=0x04;  //使用内部振荡器
 TMR1H=0xfc;
 TMR1L=0x18;  //1ms
 T1CON=0x05;
}
void interrupt time(void)
{
 TMR1H=0xfc;
 TMR1L=0x18;  //1ms
 TMR1IF=0; 
 count++;
 if(count>1000)
 {
  count=0;
  i=i+1;
  if(i>59)i=0;
 }
}

fasong (date)
{
 SSPBUF=date;
 do
 {;}while(SSPIF==0);
 SSPIF=0;
}

void display()
{
 RA5=0;
 date=i%10;
 date=table[date];
 fasong(date);
 date=i/10;
 date=table[date];
 fasong(date);
 RA5=1; //锁存
}

main()
{
 init_trm1();
 spi_init();
 while(1)       //循环显示
 {  
  display();
 }
}

⌨️ 快捷键说明

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