单片机小白使用74HC595(A)控制静态数码管显示0-F。
程序如下:
`#include “reg52.h”
#include “intrins.h”
typedef unsigned int u16;
typedef unsigned char u8;
sbit SE=P3^4;
sbit RC=P3^5;
sbit SC=P3^6;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while(i–);
}
void sendto595(u8 dat)
{
u8 a;
SC=1;
RC=1;
for(a=0;a<8;a++)
{
SE=dat>>7;
dat<<=1;
SC=0;_nop_();_nop_();SC=1;}RC=0;_nop_();_nop_();RC=1;
}
void main()
{
u16 i;
while(1)
{
for(i=0;i<16;i++)
{
sendto595(~smgduan[i]);
delay(50000);
}
}
}