STC89C52单片机怎么用?

我的板子是STC89C52的,我的书是郭天祥的“51单片机C语言教程”,他用的板子是TX-1C,结果在学到数码管的时候问题就出来了。
#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;

void main()
{
wela=1;
P0=0xc0;
wela=0;

dula=1;
P0=0x06;
dula=0;
while(1);
}
这个程序是他书上的,意思是让让前六个数码管都显示1,但是下到我的板子后只有最后一个数码管亮,我换过好多他书上的数码管程序都不行(我确定我的板子没有坏),
我就纳闷了,我们的数码管都是共阴极的啊,怎么就不行?难道非得和他配置一样的板子么?

第1个回答  2012-04-06
学东西给学本质东西,不是光看人家程序啊~!你连最起码理论知识都没有弄清楚没有用的~!首先看看你数码管位选选是用的锁存方式还是译码的方式?剩下就是那个引脚控制数码管的段选。你这些都搞明白吗?然后你再说怎么弄不出来吧~!
第2个回答  2012-04-06
我刚刚用单片机开发板试试了。。没问题的 。。。是不是你把位选和段选接反了。。自己检查下。。。段是p2^6。。位是p2^7...

参考资料:while

第3个回答  2012-11-11
四月的提问。。。先改变量,去掉段和位,因为没有锁存器。
第4个回答  2012-04-07
慢慢检查,对照电路修改程序,会发现问题的
第5个回答  2012-04-06
又是一个新人,你的程序运行结果当然是最后一个数码管灯亮,要循环移位才行
相似回答