本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
我想编写了一个2位数码管99累加的程序,,运行时出现了乱码,下面程序哪里出错了么?如何更改,,谢谢!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LATCH1=P2^2;//段锁存
sbit LATCH2=P2^3;//位锁存
uchar code WM[ ]={0x7f,0xbf};//控制两位数码管
uchar code DM[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //显示0~9
uchar Tempdata[10];
void delay(uint t)
{
while (--t);
}
void display(uchar x);
main()
{
int num;
while(1)
{
for(num=0;num<=99;num++)
{
Tempdata[0]=DM[num%10];
Tempdata[1]=DM[num/10];
display(2);
delay(5000);
}
}
}
void display(uchar x)
{
int i;
for(i=0;i<x;i++)
{
LATCH2=1;
P0=WM[ i];
LATCH2=0;
LATCH1=1;
P0=Tempdata[ i];
LATCH1=0;
delay(200);
}
}
|