单片机用余晖效应实现6个数码管的动态显示(计时器)

单片机用余晖效应实现6个数码管的动态显示(计时器),第1张

1.数码管显示,是利用人眼的视觉暂留效应。不足余辉,白炽灯断电后还亮一会,才是余辉,这可是有区别的,不可混淆。

2.这是利用定时器T0定时1ms来实现数码管动态显示的。用查询法,1ms到显示一位,实现你说的间隔1ms显示。

3.数码管的位控是用译码器74LS138的。

4.虽然是书上的程序,但现在的有关单片机的书,真是良莠不齐,这也只是叫一段代码吧,是最烂的程序。电影每年都评最烂片吗,这可评上最烂程序啦!

注意你的程序习惯,格式很重要,方便别人读..

int fun(int t[],int n)

{

int i,m

if(n==1)

return t[0]

else

if(n%3==0)

{

m=fun(t,n-1)

return m

}

}

main()

{

int a[]={11,4,6,3,8,2,3,5,9,2}

printf("%d\n",fun(a,10))

}

你的程序调式通没?你的fun函数有返回值的错误..当n!=1而且n%3!=0,就没有返回值,而且也不会循环调用fun函数.

fun(a,10)调用fun函数,就是n=10,这个时候n!=1而且n%3!=0,你单步调试下会发现问题..两个if是都没进去,你的函数相当于没调用,我是不知道你为什么会得到个3..

理论上讲应该通不了的.


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存