枣庄学院光电工程学院电子信息工程专业实训论文
添加封装,如图表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