74hc164驱动单个数码管(共阳)程序.c

来自「74HC164驱动单个数码管(共阳)程序 74HC164 drive a sin」· C语言 代码 · 共 66 行

C
66
字号
/*********************************************************/ 
/*        74HC164驱动单个数码管(共阳)程序              */ 
/*         M48  1MHZ                                     */ 
/*********************************************************/ 

#include <iom48v.h> 
#include <macros.h> 

#define setclk (PORTD|0x02) //CLK接PD1 
#define clrclk (PORTD&0xfd)  

#define setsda (PORTD|0x01) //DAT接PD0 
#define clrsda (PORTD&0xfe) 

const unsigned char DisTab[]= 
{ 
            0x11,0xD7,0x32,0x92,0xD4,0x98, 
          0x18,0xD3,0x10,0x90,0xbf,0xff};//0-9,-,全灭 (共阳字段表) 

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

void SEND_164(unsigned char c)   
 {  
  unsigned char num,i;  
                     c=DisTab[c]; 
  for(i=0;i<8;i++)  
    {  

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

void main (void) 
{ 
 unsigned char h; 
    DDRD=0xFF; 
  
  while(1) 
    { 
  for(h=0;h<10;h++)  //轮流显示0-9 
                          { 
      Delay_ms(50); 
      SEND_164(h); 
  Delay_ms(500); 
                          } 
  h=0; 
    } 
} 

⌨️ 快捷键说明

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