C程序前面显示还正常,到后面就不行了,高手帮我看看

[复制链接]
 楼主| gong7350 发表于 2007-4-13 11:51 | 显示全部楼层 |阅读模式
我写了一个程序想要让数码管显示1234.2345.3456.4567.5678.6789.789a.89ab.9abc.abcd.bcde.cdef.这样循环显示前面已经改得差不多了,但是我要它不停的循环,也就是说当它显示到cdef后又要显示1234我怎么写.我到这里就卡壳了,高手指点一下<br />#include&nbsp;&ltAT89X51.H&gt//声明<br />unsigned&nbsp;char&nbsp;LedT0;<br />unsigned&nbsp;char&nbsp;Led1;<br />unsigned&nbsp;char&nbsp;Led2;<br />unsigned&nbsp;char&nbsp;Led3;<br />unsigned&nbsp;char&nbsp;Led4;<br />unsigned&nbsp;int&nbsp;i;<br />const&nbsp;unsigned&nbsp;char&nbsp;table[16]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3c,0x23,0x34,0x74};<br /><br />void&nbsp;int1()&nbsp;interrupt&nbsp;1&nbsp;using&nbsp;1<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;TF0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清定时0中断标志<br />&nbsp;&nbsp;&nbsp;&nbsp;TH0&nbsp;=&nbsp;0xF6;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//2.5MS<br />&nbsp;&nbsp;&nbsp;&nbsp;TL0&nbsp;=&nbsp;0x3D;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;P2&nbsp;|=&nbsp;0xF0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//对P2口的高四位置1,关数码管<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;switch(LedT0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;case&nbsp;0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_4&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led2];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_5&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;2:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led3];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_6&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;3:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_7&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default://语句d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />void&nbsp;main(void)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//主程序<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;TMOD&nbsp;=&nbsp;0x01;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设定T0为十六位定时模式。<br />&nbsp;&nbsp;&nbsp;&nbsp;TH0&nbsp;=&nbsp;0xF6;<br />&nbsp;&nbsp;&nbsp;&nbsp;TL0&nbsp;=&nbsp;0x3D;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//2MS<br />&nbsp;&nbsp;&nbsp;&nbsp;TR0&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开定时器0<br />&nbsp;&nbsp;&nbsp;&nbsp;ET0&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//致能定时0中断<br />&nbsp;&nbsp;&nbsp;&nbsp;TF0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清定时0中断标志<br />&nbsp;&nbsp;&nbsp;&nbsp;EA&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开总中断<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led1&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led2&nbsp;=&nbsp;2;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led3&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led4&nbsp;=&nbsp;4;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt60000;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(LedT0=0;LedT0&lt12;LedT0++)循环<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;LedT0+=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led1+=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led2+=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led3+=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led4+=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt60000;i++);}<br />}
ayb_ice 发表于 2007-4-13 13:43 | 显示全部楼层

随便说说

&nbsp;&nbsp;&nbsp;&nbsp;TF0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清定时0中断标志&nbsp;=&gt多余(有也无妨)<br /><br />for(LedT0=0;LedT0&lt12;LedT0++)改为<br />for(LedT0=0;LedT0&lt12;LedT0++,LedT0%=12)
thw 发表于 2007-4-13 16:53 | 显示全部楼层

不挺循环。。。

while(1)
 楼主| gong7350 发表于 2007-4-13 21:00 | 显示全部楼层

这是我后来改的

#include&nbsp;&ltAT89X51.H&gt<br /><br />//声明<br />unsigned&nbsp;char&nbsp;LedT0;<br />unsigned&nbsp;char&nbsp;Led1;<br />unsigned&nbsp;char&nbsp;Led2;<br />unsigned&nbsp;char&nbsp;Led3;<br />unsigned&nbsp;char&nbsp;Led4;<br />unsigned&nbsp;int&nbsp;i;<br />const&nbsp;unsigned&nbsp;char&nbsp;table[16]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3c,0x23,0x34,0x74};<br />void&nbsp;int1()&nbsp;interrupt&nbsp;1&nbsp;using&nbsp;1<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;TF0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清定时0中断标志<br />&nbsp;&nbsp;&nbsp;&nbsp;TH0&nbsp;=&nbsp;0xF6;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//2.5MS<br />&nbsp;&nbsp;&nbsp;&nbsp;TL0&nbsp;=&nbsp;0x3D;<br />&nbsp;&nbsp;&nbsp;&nbsp;P2&nbsp;|=&nbsp;0xF0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//对P2口的高四位置1,关数码管<br />&nbsp;&nbsp;&nbsp;&nbsp;switch(LedT0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;case&nbsp;0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_4&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led2];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_5&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;2:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led3];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_6&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;3:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0&nbsp;=&nbsp;table[Led4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P2_7&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default://语句d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;main(void)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//主程序<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;TMOD&nbsp;=&nbsp;0x01;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设定T0为十六位定时模式。<br />&nbsp;&nbsp;&nbsp;&nbsp;TH0&nbsp;=&nbsp;0xF6;<br />&nbsp;&nbsp;&nbsp;&nbsp;TL0&nbsp;=&nbsp;0x3D;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//2MS<br />&nbsp;&nbsp;&nbsp;&nbsp;TR0&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开定时器0<br />&nbsp;&nbsp;&nbsp;&nbsp;ET0&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//致能定时0中断<br />&nbsp;&nbsp;&nbsp;&nbsp;TF0&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清定时0中断标志<br />&nbsp;&nbsp;&nbsp;&nbsp;EA&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开总中断<br />&nbsp;&nbsp;&nbsp;&nbsp;Led1&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led2&nbsp;=&nbsp;2;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led3&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;Led4&nbsp;=&nbsp;4;<br />&nbsp;&nbsp;&nbsp;&nbsp;LedT0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(LedT0=0;LedT0&lt12;LedT0++)//循环<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Led1=LedT0+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Led2=LedT0+2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Led3=LedT0+3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Led4=LedT0+4;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt60000;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />}
 楼主| gong7350 发表于 2007-4-13 21:00 | 显示全部楼层

但是也不行

第一位在在1,2,3,5之间做不规则跳动,延时正常,后面几位也按规定在动如1234.2345.3456<br />5678
夜帝 发表于 2007-4-13 22:53 | 显示全部楼层

一个建议

在while里再给变量赋值一次呢<br />或者进while循环后再赋值<br />
 楼主| gong7350 发表于 2007-4-14 14:32 | 显示全部楼层

终于好了

在高手的帮忙下,终于好了.这是我现在调试好的<br />#include&nbsp;&ltAT89X51.H&gt//声明<br />unsigned&nbsp;char&nbsp;LedT0;<br />unsigned&nbsp;char&nbsp;LedLoop;<br />unsigned&nbsp;char&nbsp;Led1;<br />unsigned&nbsp;char&nbsp;Led2;<br />unsigned&nbsp;char&nbsp;Led3;<br />unsigned&nbsp;char&nbsp;Led4;<br />unsigned&nbsp;int&nbsp;i;<br />const&nbsp;unsigned&nbsp;char&nbsp;table[16]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3c,0x23,0x34,0x74};<br /><br />void&nbsp;int1()&nbsp;interrupt&nbsp;1&nbsp;using&nbsp;1<br />{<br />TF0&nbsp;=&nbsp;0;&nbsp;//清定时0中断标志<br />TH0&nbsp;=&nbsp;0xF6;&nbsp;//2.5MS<br />TL0&nbsp;=&nbsp;0x3D;<br /><br />P2&nbsp;|=&nbsp;0xF0;&nbsp;//对P2口的高四位置1,关数码管<br /><br />switch(LedT0)<br />{&nbsp;case&nbsp;0:<br />P0&nbsp;=&nbsp;table[Led1];<br />P2_4&nbsp;=&nbsp;0;<br />LedT0&nbsp;=&nbsp;1;<br />break;<br />case&nbsp;1:<br />P0&nbsp;=&nbsp;table[Led2];<br />P2_5&nbsp;=&nbsp;0;<br />LedT0&nbsp;=&nbsp;2;<br />break;<br />case&nbsp;2:<br />P0&nbsp;=&nbsp;table[Led3];<br />P2_6&nbsp;=&nbsp;0;<br />LedT0&nbsp;=&nbsp;3;<br />break;<br />case&nbsp;3:<br />P0&nbsp;=&nbsp;table[Led4];<br />P2_7&nbsp;=&nbsp;0;<br />LedT0&nbsp;=&nbsp;0;<br />break;<br />default://语句d<br />LedT0&nbsp;=&nbsp;0;<br />break;<br />&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;main(void)&nbsp;//主程序<br />{<br />TMOD&nbsp;=&nbsp;0x01;&nbsp;//设定T0为十六位定时模式。<br />TH0&nbsp;=&nbsp;0xF6;<br />TL0&nbsp;=&nbsp;0x3D;&nbsp;//2MS<br />TR0&nbsp;=&nbsp;1;&nbsp;//开定时器0<br />ET0&nbsp;=&nbsp;1;&nbsp;//致能定时0中断<br />TF0&nbsp;=&nbsp;0;&nbsp;//清定时0中断标志<br />EA&nbsp;=&nbsp;1;&nbsp;//开总中断<br /><br />LedT0&nbsp;=&nbsp;0;<br /><br />while(1)<br />{<br />Led1&nbsp;=&nbsp;1;<br />Led2&nbsp;=&nbsp;2;<br />Led3&nbsp;=&nbsp;3;<br />Led4&nbsp;=&nbsp;4;<br />for(i=0;i&lt60000;i++);<br /><br />for(LedLoop=0;LedLoop&lt12;LedLoop++)//循环<br />{<br />Led1+=1;<br />Led2+=1;<br />Led3+=1;<br />Led4+=1;<br /><br />for(i=0;i&lt60000;i++);<br />}<br />}<br />}<br />LED为4*8共阳数码管<br />有兴趣的还可以改改<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

57

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部