📄 74hc164驱动单个数码管(共阳)程序.c
字号:
/*********************************************************/
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -