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

📄 164.h

📁 mega使用人少
💻 H
字号:
//定义LS164管脚和led控制脚
#define DDR_CLK    DDRA
#define DDR_DATA   DDRA
#define DDR_CLEAR  DDRA
#define DDR_SEL    DDRC
#define PORT_CLK   PORTA
#define PORT_DATA  PORTA
#define PORT_CLEAR PORTA
#define PORT_SEL   PORTC
#define CLK PA2
#define DATA PA4
#define CLEAR PA3
#define SEL 0x3C

unsigned char Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void Init_164()
{
 DDR_CLK|=(1<<CLK);      //164的时钟,数据,清零
 DDR_DATA|=(1<<DATA);
 DDR_CLEAR|=(1<<CLEAR);
 DDR_SEL|=SEL;  //4位数码管选通端
}

void Clear_164()
{
 PORT_CLEAR|=(1<<CLEAR); 
}

void write_164(unsigned char i)
{
  char n;
  for(n=8;n>0;n--) 
  {
   if(i&0x80) PORT_DATA|=(1<<DATA);
   else   PORT_DATA&=~(1<<DATA);
   NOP();
   PORT_CLK|=(1<<CLK);
   NOP();
   PORT_CLK&=~(1<<CLK);
   i=(i<<1);
  }   
}
void write_LED(unsigned char *p)
{
 unsigned char i,sel=0x04;
  
 for(i=0;i<4;i++)
 {
  write_164(Table[p[i]]);
  PORT_SEL&=(~sel);
  delay_ms(2);
  PORT_SEL|=SEL;
  sel=sel<<1;
 } 
}

⌨️ 快捷键说明

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