C语言实现单片机数码管闪烁

jackxiang 2010-6-19 16:01 | |
/*此函数主要是C语言实现单片机数码管闪烁功能
效果:
1.数码管显示0123;
2.停顿;
3.数码管显示4567;
4.无穷循环1,2,3步.*/


#include <reg51.h>                      
#include <intrins.h>
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};     //定义数组
int delay(int x)    //声明延迟函数                  
{        
int j=0;      
for(j;j<x;j++) ;
}
main()       //主函数
{        
int i,j;      //定义i,j
unsigned char seg;    //定义seg,用于数码管的初始化
seg= 0xfe ;      //定义seg为0xfe,即11111110;使数码管为第一个显示
while (1)      //无穷循环
{
{ for(j=0;j<30;j++)    //扫描数码管30次
{
for(i=0;i<4;i++)    //输出0123
{
P2=seg;          //初始化P2
P0=dis_code[i];     //显示数字
delay(200);      //延迟约1ms
seg=_crol_(seg,1);    //数码管右移一位
if (seg==0xef) seg=0xfe;   //输出四个数字之后停止
}
}
P2=0xff;      //数码管全不接通,把0,1,2,3消去
delay(2000000);     //延迟
for(j=0;j<30;j++)    //扫描数码管30次
{
for(i=4;i<8;i++)    //输出4567
{
P2=seg;       //初始化P2
P0=dis_code[i];     //显示数字
delay(200);      //延迟约1ms
seg=_crol_(seg,1);    //数码管右移一位
if (seg==0xef) seg=0xfe;  //输出四个数字之后停止
}
}
}
}
}        //函数结束

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3214/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]