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

📄 64_led8.c

📁 本程序可以利用74164串入并出芯片在七段共阴数码管上依次点亮0至9十个数字.. PA0....数据 PA1.....CP PA2.....是位选 在ATMEGA644P上调试通过
💻 C
字号:
#include<avr/io.h>

#define setclk (PORTA|0x02) //CLK接PA1 
#define clrclk (PORTA&0xfd)  

#define setsda (PORTA|0x01) //DAT接PA0 
#define clrsda (PORTA&0xfe) 

const unsigned char DisTab[]= 
{ 
 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9,-,全灭 (共阴字段表) 

void Delay_ms(unsigned int Time) 
{ 
    unsigned char n=0; 
    while(Time>0) 
    { 
        for (n=1;n<187;n++) 
        { 
          ;
        } 
        Time--; 
    } 
} 

void SEND_164(unsigned char c)
 {  
  unsigned char i;  
  c=DisTab[c]; 

  for(i=0;i<8;i++)  
    {

         if((c&0x80)==0)       //模拟串口输出  
          PORTA=clrsda;  
          else  
          PORTA=setsda; 
	
          PORTA=setclk;
	     
          PORTA=clrclk;  
          c=c<<1;
		  PORTC=0X03;
     }  
	 
 }



int main (void) 
{ 

 unsigned char h; 
    DDRA=0xFF; 
    DDRC=0XFF;
	PORTA=0X00;//位选
	
  
while(1) 
    { 
  for(h=0;h<10;h++)  //轮流显示0-9 
   { 
      Delay_ms(50); 
      SEND_164(h); 
	
      Delay_ms(500);
	  PORTC=0X00; 
   } 
  h=0;
    }
} 

⌨️ 快捷键说明

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