本帖最后由 冰葑世纪 于 2013-7-29 00:42 编辑
如果你觉得你的 单片机有了一定水平,但还是成不了资深或者高级工程师,那么,下面的资料帮你实现这个愿望,下载地址:
14
评分
-
查看全部评分
|
|
|
|
看看,如果有目录就更好啦
|
|
|
|
|
看看,是什么好东西
|
|
|
|
|
高工需要自我修炼,看一篇教程能实现?不要浮躁了,熬~~
|
|
|
|
|
帮帮忙看下吧,我小白,郁闷这个问题都两天了,没辙了,求助呀
#include
#define uint unsigned int
#define uchar unsigned char
***it wela=P2^7;
***it dula=P2^6;
***it led1=P1^0;//定义第一只发光二极管
uchar shi,ge,n;
uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void delay(uchar);
void display(uchar,uchar);
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
EX0=1;//电平触发
ET0=1;//定时器0
TR0=1;
while(1)
{
if(n==20)//定时器每次中断是50ms,持续20次达到1s
{
n=0;
ge++;
if(ge==10)
{
ge=0;
shi++;
}
if(shi==6)
{
shi=0;
}
}
display(shi,ge);
}
}
void display(uchar shi,uchar ge)//扫描程序
{
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
delay(1);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(1);
}
void EX0_time() interrupt 0 //进入中断后LED亮,可是为什么运行后LED0一直亮,真的很费解。△
{
led1=0;//将P3^2接地时只是数码管即使停止,不管INT0中断有没有触发,LED0从头到尾时钟在亮
}
void ET0_time() interrupt 1//还有一个现象:现在是定时器0,计时正常,当换成计时器1时,计时不正常了就??!和实际时间不符
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
n++;
} void delay(uchar z)
{
uchar x,y;
for(x=70;x>0;x--)
for(y=z;y>0;y--);
}
|
|
|
|
|
看看。。。。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
|