51单片机数码管实验位选和段选问题(共阴极)
时间:10-02
整理:3721RD
点击:
我是单片机初学者问个问题
#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
void main()
{
wela=1;
P0=0xFE;
wela=0;
dula=1;
P0=0x7F;
dula=0;
while(1);
}
程序刚开始运行时,由于单片机刚上电时各I/0口为高,而且P0口是复用的,所以此时位选和段选应该都是打开的吧,那么刚开始执行时位选和段选是不是同时运行的?会不会造成混乱?
#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
void main()
{
wela=1;
P0=0xFE;
wela=0;
dula=1;
P0=0x7F;
dula=0;
while(1);
}
程序刚开始运行时,由于单片机刚上电时各I/0口为高,而且P0口是复用的,所以此时位选和段选应该都是打开的吧,那么刚开始执行时位选和段选是不是同时运行的?会不会造成混乱?
求解
你这个问题哦,无图无真相、、、
你有初始化程序呀,启动太快,那点时间人眼感觉不到
加个延时程序#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
void delay()
{
int i,j;
for(i=1000;i>0;i--)
for(j=1000;j>0;j--);
}
void main()
{
wela=1;
P0=0xFE;
wela=0;
delay();
dula=1;
P0=0x7F;
dula=0;
delay();
while(1);
}
你试试
没电路图,你这电路程序是郭天祥单片机上的,我回答错了
你是while死循环运行,是一步一步运行的,不是同时的,只是时间间隔太小你看不见而已