protues 仿真数码管问题?

[复制链接]
查看11 | 回复2 | 2011-5-4 21:36:01 | 显示全部楼层 |阅读模式
程序如下:
#include "reg51.h"
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit P2_0=P2^0;
static uint8 idata _7LED[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x6f,0x77,0x7c,0x39,0x5e,0xf9,0xf1,0x7f};
/*0-0x3f,1-0x06,2-0x5b,3-0x4f,4-0x66,5-0x6d,6-0x7d,7-0x07,
8-0x7f,9-0x6f,A-0x77,B-0x7c,C-0x39,D-0x5e,E-0xf9,F-0xf1*/
void Delay(uint16 ms)
{
uint8 i,j;
while(ms--)
{
for(i=0;i<8;i++)
{
for(j=0;j<79;j++);
}
}
}
//=================================================
void main(void)
{
uint8 i;
while(1)
{
for(i=0;i<8;i++)
{
P0=_7LED;
P2_0=1;
Delay(1000);
P2_0=0;
}
}
}
问题:1、仿真时为什么P2.0和另外7个IO都不受控制?数码管显示到“1”时就停住了。
2、P0口的灰色脚是怎么回事?
3、既然红色数码管的NPN没导通,但数码管却亮了?


回复

使用道具 举报

千问 | 2011-5-4 21:36:01 | 显示全部楼层
和电阻没有关系,是你加了74HC573锁存器的缘故,你可以看图上的电平显示(红色为高电平,蓝色为低电平),根据你的数码管接法,是共阳极的,所以输入低电平的那位显示而输入高电平的不显示。图片不知道怎么插入是指什么?说具体一点儿。另外,虚机团上产品团购,超级便宜
回复

使用道具 举报

千问 | 2011-5-4 21:36:01 | 显示全部楼层
循环出错;P0口需要加上啦电阻
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行