谁帮我解释单片机程序

[复制链接]
查看11 | 回复4 | 2010-9-12 20:26:38 | 显示全部楼层 |阅读模式
#include
#include
#define uint unsigned int
#define uchar unsigned char
uint x,i;
uchar code Tab[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint z)
{

uint x,y;

for(x=100;x>0;x--)

for(y=z;y>0;y--);
}
void display(unsigned int k)
{

P2=0xfe;

P0=Tab[k/1000];

delay(500);

P2=0xfd;

P0=Tab[(k%1000)/100];

delay(500);

P2=0xfb;

P0=Tab[(k%100)/10];

delay(500);

P2=0xf7;

P0=Tab[k%10];

delay(500);

P2=0xff;
}
void main(void)
{

TMOD=0x01;

TH0=(65536-46083)/256;

TL0=(65536-46083)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{

display(x);

}
}
void Time0(void)interrupt 1 using 1
{

TR0=0;

i++;

if(i==20)

{

x=rand()/10;

i=0;

}

TH0=(65536-46083)/256;

TL0=(65536-46083)%256;

TR0=1;
}

回复

使用道具 举报

千问 | 2010-9-12 20:26:38 | 显示全部楼层
#include
//头文件#include
//头文件#define uint unsigned int
//宏定义#define uchar unsigned char
//宏定义uint x,i;
//定义全局变量uchar code Tab[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//0-9的字符编码void delay(uint z)

回复

使用道具 举报

千问 | 2010-9-12 20:26:38 | 显示全部楼层
定时 产生随机数,除以10后,在数码管上安位显示
回复

使用道具 举报

千问 | 2010-9-12 20:26:38 | 显示全部楼层
这个头文件里rand()是输入0~32767之间的数,程序是用数码管显示这些数字,数码管为共阴极
回复

使用道具 举报

千问 | 2010-9-12 20:26:38 | 显示全部楼层
这是个随机数产生的程序用来显示在数码管上。一秒钟显示一个随机数不懂hi我
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行