今天又搞了一下,呵呵。数码管显示的是档位(共九档)。有慢到快。我知道我发表的这些都很基础。但作为一个菜鸟,我还是希望借此博客记录自己单片机成长的点点滴滴。希望各位大虾不要鄙视或拍砖。呵呵~~~
下面是我的程序,请大家多指教啊
#include<AT89X51.h>
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
uint xdelay="0";
uchar temp[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char led[10]=
{0xC0,0xF9,0xA4,0xB0, // 0 1 2 3
0x99,0x92,0x82,0xF8, // 4 5 6 7
0x80,0x90}; //8 9
uchar speed="9";
void main(void)
{
uint i="0";
EA=1; //总中断开关
TMOD=0x01; //定时器0
ET0=1; //打开定时器0中断
TR0=1; //启动定时器
while(1)
{
P2_2=0;
P0=led[speed];
if(xdelay)
{
xdelay=0;
P1=~temp;
i++;
if(i==8)
{
i=0;
P2_2=0;
P0=led[speed];
speed--;
if(speed==0)
;
}
}
}
}
timer0() interrupt 1
{
char t;
TH0=0x06;
TL0 =0x00;
t++;
if(t==speed)
{
t=0;
xdelay=1;
}
}
由于贴的程序和本来的有出入。提供下载处https://static.assets-stash.eet-china.com/album/old-resources/2009/4/12/8e61a281-3831-441f-8bbe-cd77ef1e121e.rar
用户1532693 2009-5-15 09:12
用户1397175 2009-4-12 18:45
tengjingshu_112148725 2009-4-12 10:55