c语言单片机数码管循环滚动代码,用C语言编程使51单片机的数码管左移循环显示...

博客内容讲述了如何使用C语言编写程序,使得51单片机的数码管实现从0到7的数字左移循环显示,程序中避免了使用中断和定时器。作者提供了自己编写的代码,并希望他人帮助修改以实现正确左移循环效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高手支招:请问用C语言编程使51单片机的数码管左移循环显示0-7的程序怎么编呀

由于我不懂得用中断和定时,请程序里不要用那两个函数,谢谢(*^__^*) 嘻嘻……

悬赏分:0 - 解决时间:2010-7-31 18:09

问题补充:这个是我自己编的,可是运行起来就是不移动,麻烦你们帮修改一下,我没有编左移循环部分的程序。

//==========================================================

最佳答案:

//---------------------------------------------------

#include #define uint unsigned int

#define uchar unsigned char

uchar code DIS_SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};

uchar code DIS_BIT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

//---------------------------------------------------

void delay1ms(uint i)

{

uint j;

while(i--)  for(j = 0; j < 125; j++);

}

//---------------------------------------------------

void main(void)

{

uchar cnt, ttt;

uchar DISP[] = {0, 1, 2, 3, 4, 5, 6, 7};

while(1) {

for(ttt = 0; ttt < 100; ttt++)

for(cnt = 0; cnt < 8; cnt++) {   //点亮数码管0-7

P2 = 0;

P0 = DIS_SEG7[DISP[cnt]];

P2 = ~DIS_BIT[cnt];

delay1ms(1);

}

//-------------------以上显示800ms,下面更新显示内容

ttt = DISP[0];

DISP[0] = DISP[1];

DISP[1] = DISP[2];

DISP[2] = DISP[3];

DISP[3] = DISP[4];

DISP[4] = DISP[5];

DISP[5] = DISP[6];

DISP[6] = DISP[7];

DISP[7] = ttt;

}

}

//---------------------------------------------------

程序运行截图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值