51单片机实训 数码管电子时钟设计.

枣庄学院光电工程学院电子信息工程专业实训论文

添加封装,如图表11所示:

图表 11

自动布线,如图表12所示:

图表 12

10

枣庄学院光电工程学院电子信息工程专业实训论文

铺铜,底层铺设,如图表13所示:

图表 13

铺铜之后,如图表14所示:

图表 14

11

枣庄学院光电工程学院电子信息工程专业实训论文

3d图,俯视图如图表15所示:

图表 15

底部视图,如图表16所示:

图表 16

12

枣庄学院光电工程学院电子信息工程专业实训论文

三、程序源代码

/**********实训电子表工程****************/

/********** 姓名 张超 本三班 ****************/ #include

#define uchar unsigned char #define uint unsigned int

uchar code table[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar t0=0,miao=0,fen=0,shi=0; sbit lb=P1^0;

sbit ti=P1^1;//调表开始 sbit jia=P1^3;//使分钟加 sbit jian=P1^6;//使分钟减 void delay(uint z) //延时z毫秒 { uint i,j; for(i=0; i

void chushi() { EA=1;ET0=1; //开定时器0 TH0=(65535-50000)/256; //设置定时器初值 每加一需要1us 50ms需要加 TL0=(65535-50000)%6; //50000次,故这么算 TMOD=0x01; //方式一 十六位定时器 TR0=1; //运行控制位 }

void xianshi() { P0=0x80;P2=table[miao]; delay(1); P0=0x40; P2=table [miao/10]; delay(1); P0=0x20; P2=0xbf; delay(1); P0=0x10;P2=table[fen];delay(1); P0=0x08;P2=table[fen/10];delay(1); P0=0x04;P2=0xbf;delay(1);

P0=0x02;P2=table[shi];delay(1); P0=0x01;P2=table[shi/10];delay(1); }

void main() { chushi();

13

枣庄学院光电工程学院电子信息工程专业实训论文

while(1) {

xianshi(); if(ti==0) { delay(5); if(ti==0) { ET0=0; if(jia==0) { delay(5); if(jia==0) fen++;delay(5); if(fen==60) fen=0; } if(jian==0) { delay(5); if(jian==0) { shi++; delay(5); } if(shi==24) fen=0; } } } if(ti==1) { delay(5); if(ti==1) ET0=1; } if(fen0==0&&miao>=0) //设置报时时间为一分钟 { //保时十秒钟 if(fen0==0&&miao<=10) { lb=0; lb=1; //设置喇叭 }

14

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4