用C来编写递增程序

用C来编写递增程序,第1张

明摆着是无穷循环么...我只让它循环3次想要无穷把for(n=1n<4n++)改为for(n=1n++)

#include <stdio.h>

void main()

{

int a=0,n

clrscr()

for(n=1n<4n++)

{

if(n!=1)

a=5

for(a<=90a=a+5)

{

printf("%d ",a)

if(a==90)

break

}

for(a=85a>=0a=a-5)

{

printf("%d ",a)

if(a==0)

break

}

}

getch()

}

如果不是“天祥”的板子,这程序是不行的。

-------------

如果是“天祥”的,那么可以试试下面的显示程序,我增加了两行消隐的语句,经过实验,可以正常显示“按一下键,数字递增”的效果。

void

display(a,

b)

{

num

=

t

a

=

num

/

10

b

=

num

%

10

dula

=

1

p0

=

table[a]

dula

=

0

wela

=

1

p0

=

0xfe

wela

=

0

delay(10)

wela

=

1

p0

=

0xff

wela

=

0

//关闭显示.

dula

=

1

p0

=

table[b]

dula

=

0

wela

=

1

p0

=

0xfd

wela

=

0

delay(10)

wela

=

1

p0

=

0xff

wela

=

0

//关闭显示.

}

硬件怎么接?加1是按键控制还是每秒自动递增

#include<reg52.h>

sbit dula=P2^6

sbit wela=P2^7

#define uint unsigned int

#define uchar unsigned char

uchar b1,,b2,b3,b4

uint bb

void delay(uint i)//延时函数

{

uint j,,k

for(j=ij>0j--)

for(k=125k>0k--)

}

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}//数码管代码表

void display(qian_c,bai_c,shi_c,ge_c)//4位显示程序

{

P0=table[qian_c] //显示千位 P0是数据输出口

dula=1

dula=0

P0=0xfb

wela=1

wela=0

delay(2)

P0=table[bai_c] //显示百位

dula=1

dula=0

P0=0xf7

wela=1

wela=0

delay(2)

P0=table[shi_c] //显示十位

dula=1

dula=0

P0=0xef

wela=1

wela=0

delay(2)

P0=table[ge_c] //显示个位

dula=1

dula=0

P0=0xdf

wela=1

wela=0

delay(2)

P0=0xff //显示完毕后关闭最后一位显示

wela=1

wela=0

}

void main()

{

  while(1)

{

 delay(10000);若数值变化太快,加大延时值

bb++

if(bb==10000)bb=0

 b1=bb/1000%10

 b2=bb/100%10

b3=bb/10%10

b4=bb%10

display(b1,b2,b3,b4)//或 display(b4,b3,b2,b1)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11976626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存