郭天祥《新概念51单片机》的数码管显示程序在proteus中出现问题?

本来是有三个锁存器的,我删除了一个。现在是一点击运行就报警不知道怎么回事儿?没删除之前数码管也不是正常显示,哪位朋友知道原因吗?代码如下所示:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
//sbit led1=P1^0;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint);
void main()
{
wela=1;
P0=0xc0;
wela=0;
while(1);
{
for(num=0;num<16;num++)
{
dula=1;
P0=table[num];
dula=0;
delayms(500);
}
}

}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

这6位数码管需要动态扫描才能显示出来的,每显示一位数时,要用U1锁存段码table[num],还要用U2锁存相应的位码,并且是循环显示6次,即显示6位。你现在的程序是只能在左边2位上显示。除了一楼那位说的这行多了分号
while(1);
之前的
wela=1;
P0=0xc0;
wela=0;
这样的位码是固定的,就只有左边两位显示了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-27
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
 sbit dula=P2^6;
 sbit wela=P2^7;
//sbit led1=P1^0;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint);
void main()
{
wela=1;
P0=0xc0;
wela=0;
while(1)  //多了分号
{
for(num=0;num<16;num++)   
{
dula=1;
P0=table[num];
dula=0;  
delayms(500);
}
}

}
  void delayms(uint xms)
  {
  uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

郭天祥老师的《十天学会单片机》视频里教的51单片机控制锁存器如何控制...
proteus仿真锁存器控制的数码管总出问题,这是软件问题,可以不用锁存器,直接用引脚控制数码管的位选和段选

看了郭天祥单片机的视频后,我用proteus搭了一个仿真图,但是位选锁存...
黄点表示电平冲突。你把Proteus的原理图文件和单片机程序的hex文件放出来我看看吧,你这个不是全屏,没看出来问题。

...1602液晶在proteus上仿真的问题。我是参考郭天祥的教程写的程序,可...
sbit lcden=P2^0;sbit lcdrs=P2^2;与仿真图不一致呀。把仿真图按程序改一下就好了,或者按仿真图改一下程序。

proteus调试怎样看变量的值
如果不想联调,proteus调试其实就是执行程序,如果是全速执行的过程中变量的变化很快且不可控制,那就不好观察了,所以,在keil中单步执行程序才可以观察,这样,就是不在proteus上执行程序,只在keil中单步执行也可以的看到,或设置断点。另一种方法就是利用单片机的一个并行口临时接两个7SEG-BCD型的数码...

51单片机显示八位数码管的C语言程序
2、接着,我们要定义好库函数,想要实现动态数码灯,这个步骤是很重要的。3、接着,我们加上一条循环语句。4、最后,我们把先前定义的延时语句delayms写好。5、最后,点击这里进行编译,生成一个hex文件。6、如果这里无错误警告的话,就说明我们的程序写对了,那我们就可以点亮动态数码管了。

郭天祥十天学会单片机开发板51学习板Proteus软件模拟版
已发

TX-1C郭天祥十天学会单片机开发板51学习板Proteus软件模拟版_百度知 ...
有proteus软件,其实单片机学习重在动手和实践,切忌勿纸上谈兵,仿真也是一个好途径,已经发你邮箱,电路图可以自己画。

郭天祥51单片机学习板哪里能买到?
你在他们的网站上和他们联系啊 www.txmcu.com 不过51单片机的学习板我觉得没什么必要买啊 可以用proteus软件代替学习的 嵌入式的夜可以用SKYEYE软件代替,但是这个软件比较复杂。我前几天才买了他们的ARM9开发板的,直接在他们网站上联系购买的 ...

请问有郭天祥十天学会51单片机用的TX-1C的proteus仿真文件吗?
单片机仿真例程建议你去看——《吴鉴鹰单片机项目实战精讲》,贪吃蛇,俄罗斯方块都有,蛮好玩的,模拟电子钟

51单片机位选的问题
我看过他的。每一个数码管都是八个发光二极管构成,其阴极是全部接在一起 ,这就是共阴。他的思路是,先编一个共阴极数码管的编码表。具体是哪段要亮哪段就是1,。关于位选,对共阴极数码管来说,位选线连接的其实是每一个数码管段发光二极管的负端,要是段亮,就要使发光二极管导通,段线写了...

相似回答