8 只数码管显示多个不同数字,用
proteus仿真, 程序中
DelayMS(300) 的时候可以8个字符滚动显示,改成
DelayMS(5) 的时候,偶尔显示,改成
DelayMS(2) 就不显示了。
本人是新手,利用业余时间学习
单片机,弄了3个小时,实在找不到原因,请前辈们指导,
/* 名称:8 只数码管动态显示多个不同字符
说明:数码管动态扫描显示 0~7。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延时
void DelayMS(uint x)
{
uchar t;
while(x--) for(t=0;t<120;t++);
}
//主程序
void main()
{
uchar i,wei=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P0=0xff;
P0=DSY_CODE
; //发送段码
wei=_crol_(wei,1);
P2=wei; //发送位码
DelayMS(2);
}
}
}
。。。要是你注意的话、、时间调到极限特别短、、protues下面显示的CPU已经达到100%了吧、、、
单片机交流群、177303668、、欢迎你的加入、、
一周热门 更多>