数码管动态显示
2016-03-11 23:03
183 查看
源程序:
#include
sbit SH_CP=P2^4;
sbit ST_CP=P2^3;
sbit DS=P2^2;
unsigned char code
duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char code
wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void out595();
void delay(int x);
void send595(unsigned char dat);
void out595()
{
ST_CP=0;
ST_CP=1;
}
void send595(unsigned char dat)
{
int i;
for(i=0;i<8;i++)
{
if((dat<<i)&0x80)
DS=1;
else
DS=0;
SH_CP=0;
SH_CP=1;
}
}
void main()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
send595(wei[i]);
send595(wei[i]);
out595();
send595(duan[i]);
out595();
delay(1000);
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i
for(j=0;j<120;j++);
}
#include
sbit SH_CP=P2^4;
sbit ST_CP=P2^3;
sbit DS=P2^2;
unsigned char code
duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char code
wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void out595();
void delay(int x);
void send595(unsigned char dat);
void out595()
{
ST_CP=0;
ST_CP=1;
}
void send595(unsigned char dat)
{
int i;
for(i=0;i<8;i++)
{
if((dat<<i)&0x80)
DS=1;
else
DS=0;
SH_CP=0;
SH_CP=1;
}
}
void main()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
send595(wei[i]);
send595(wei[i]);
out595();
send595(duan[i]);
out595();
delay(1000);
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i
for(j=0;j<120;j++);
}
相关文章推荐
- LED流水灯
- 闪烁一位LED灯
- 点亮一位LED灯
- java 匿名对象的使用
- java 构造方法的重载
- 关于tcp连接的建立(三次握手)和释放(四次握手)
- java 声明一个构造方法
- java 属性的封装和访问
- java 对象的引用传递
- java 创建两个对象
- java 访问对象中的属性
- java 创建对象并实例化
- atexit()函数(使main函数之后可以执行其他函数)
- Linux 常用命令01
- 字符串分割
- 毕设修改1
- java 定义Person类
- java 可变参数的应用
- java 方法的重载
- java 有返回值方法调用