学校电子设计,请高手帮看电路,谢谢

[复制链接]
9690|51
datouyuan 发表于 2007-2-3 00:01 | 显示全部楼层

2楼的和8楼的是对的

  
hbicecream 发表于 2007-2-3 00:47 | 显示全部楼层

楼上2位

楼主的程序整理一下就是这样:<br />#include&nbsp;&ltAT89X51.h&gt<br /><br />sbit&nbsp;p1_0&nbsp;=P1^0;<br />sbit&nbsp;p1_1&nbsp;=P1^1;<br /><br />void&nbsp;main(void)<br />{<br />&nbsp;&nbsp;unsigned&nbsp;int&nbsp;a;<br />&nbsp;&nbsp;unsigned&nbsp;char&nbsp;b;<br />&nbsp;&nbsp;do&nbsp;<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt65535;a++)&nbsp;p1_0&nbsp;=&nbsp;0;&nbsp;&nbsp;//此时P1^0=0<br />&nbsp;&nbsp;&nbsp;p1_0&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此时P1^0=1<br />&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt30000;a++)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此时P1^0=1<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(b=0;b&lt255;b++)&nbsp;p1_1&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;//此时P1^1=0<br />&nbsp;&nbsp;&nbsp;p1_1&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此时P1^1=1<br />&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt30000;a++)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此时P1^1=1<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}while(1);<br />}<br /><br />仔细看
huihui118 发表于 2007-2-5 18:30 | 显示全部楼层

写程序前多想想!!!

下次不要犯同样的逻辑错误
xiaopet 发表于 2007-2-6 10:21 | 显示全部楼层

re

"有毕竟无论是谁在第一次点亮LED时都会兴奋难耐,呵呵"<br />有同感啊,想当年,第一次点亮LED,足足兴奋了两三天,呵呵!<br />
acer2008 发表于 2007-2-6 10:36 | 显示全部楼层

跑馬燈電路是學習單片機的第一步,所以能亮起來大家都高

我第一次點亮這些LED燈的時候也興奮了好幾天
allen2006 发表于 2007-2-6 17:39 | 显示全部楼层

程序没问题!

楼主的程序没问题,2楼和8楼的思路也没问题,偶刚刚已经验证过了,都是OK的,只不过是楼主的和2楼的灯闪周期不一样而以
PCB趀ㄆㄌ 发表于 2007-2-8 11:59 | 显示全部楼层

顶!

  
woshidasha 发表于 2007-2-8 17:30 | 显示全部楼层

一个建议

大家在编写C的时候,是不是可以怎加一些可读性,比如楼主在最外面的死循环用的是do...while()的语句,那么是不是用while(1)更能让大家看得懂,也方便交流和指导,还有其他的一些算法的写法,在这里就不提了,可能有各人的习惯在里面,但是个人认为还是很有用的
sibaidong 发表于 2007-2-8 21:16 | 显示全部楼层

不会吧!

b++?
mygaojian 发表于 2007-2-9 17:10 | 显示全部楼层

zhangmcu

你连unsigned&nbsp;char&nbsp;的取值范围都没弄清楚就写程序<br />程序里的这个取值范围没有写错吧?
孤独泪 发表于 2007-2-12 14:43 | 显示全部楼层

仔细阅读发现楼主的程序没有写错

给楼主的程序规范一下写法大家就可以看懂了<br /><br />#include&nbsp;&ltAT89X51.h&gt<br /><br />sbit&nbsp;p1_0&nbsp;=P1^0;<br />sbit&nbsp;p1_1&nbsp;=P1^1;<br /><br />void&nbsp;main(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt65535;a++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1_0&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt30000;a++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1_0&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />;;;;;;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(b=0;b&lt255;b++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1_1&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt30000;a++)&nbsp;;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1_1&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}while(1);<br />}<br /><br />楼主程序如果对led的闪烁时间不需要精度到几微秒级,以上的程序和楼主的程序等价,但是谁都可以看懂了。当然这个程序,p1.1口接的led发光应该很暗,或者感觉不到,时间太短了,也没有必要用两个变量。楼主使用的是11.0592的晶振,闪烁的时间太快了。<br /><br />
xzhenggen 发表于 2007-2-15 10:17 | 显示全部楼层

是啊,就像第一次买彩票中奖一样,确实兴奋!!

我也是学单片机时第一次点亮跑马灯,就像第一中奖。
被磁化的铁 发表于 2007-2-17 18:45 | 显示全部楼层

_

p1_0:--------|_|------------------|_|---------------<br />p1_1:-----------------|_|-----------------|_|-------
lingse 发表于 2007-2-21 20:29 | 显示全部楼层

没有延时程序怎么亮1

<br />#include&nbsp;&ltAT89X51.h&gt<br /><br />sbit&nbsp;p1_0&nbsp;=P1^0;<br />sbit&nbsp;p1_1&nbsp;=P1^1;<br /><br />void&nbsp;main(void)<br />{<br />&nbsp;&nbsp;p1=0xff;&nbsp;<br />&nbsp;&nbsp;unsigned&nbsp;int&nbsp;a;<br />&nbsp;&nbsp;unsigned&nbsp;char&nbsp;b;<br />&nbsp;&nbsp;do&nbsp;<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;p1_0=1;<br />&nbsp;&nbsp;&nbsp;p1_1=0;<br />&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;a&lt5000;a++)<br />&nbsp;&nbsp;&nbsp;p1_0=0;p1_1=1;<br />&nbsp;&nbsp;&nbsp;for&nbsp;(a=0;b&lt5000;a++)&nbsp;&nbsp;<br />&nbsp;&nbsp;}while(1);<br />}<br />
born就很乖 发表于 2007-2-21 23:02 | 显示全部楼层

路过

  
 楼主| Tomzong 发表于 2007-2-27 14:08 | 显示全部楼层

开学了,谢谢各位!

课本上面的程序是对的,但是不完整,需要继续完善,变理论为实际!谢谢!下次我将继续讨论心得问题
yun06 发表于 2007-3-7 16:27 | 显示全部楼层

学习中~~~~~~~~~~~~~~~~~

  
dong1035 发表于 2007-3-7 16:30 | 显示全部楼层

晕倒呢<br />
yuanbj 发表于 2007-3-8 16:24 | 显示全部楼层

请问18楼的

为什么说2,8楼的&nbsp;不仔细啊?我是新手,不懂!!
ysc5201 发表于 2007-3-12 20:43 | 显示全部楼层

好好的学习吧

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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