您好,欢迎访问三七文档
《电子系统创新设计与实践》课程期末论文(2016——2017年度第一期)题目单片机数码管秒表专业软件工程班级15F学号1543205000137姓名李国二〇一六年十二月得分评卷人摘要近年来随着科学技术的发展,单片机的应用正在不断走下面还深入。本文简单阐述了基于单片机的数字秒表的的设计。本设计的主要特点是计时精度达到0.01秒,是各种竞赛的必要设备之一。本设计的数字秒表采用AT89C51单片机为主要器件,利用其定时器的原理,结合显示电路、LED数码管以及外部外部中断电路来设计计时器。将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。实验目的:数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。本设计中用单片机和数码管组成数字秒表力求结构简单。设计中包括硬件电路的设计和系统程序的设计。硬件电路主要有主控制器、控制按钮与显示电路组成。主控制器采用单片机AT89C51,显示电路采用四位共阴极数码管显示计时时间。本设计利用AT89C51单片机的定时器,使其能精确计时。利用中断系统使其实现启动和暂停的功能,P0口输出段码数据,P2.0~P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动和暂停功能。设计的基本要求是正确性。计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。再看按键的处理。两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动和暂停。设计计时器的流程:定时器中断入口重装计数初值中断次数加1中断次数到10吗中断次数清零,0.01秒位加一0.01秒位到10吗0.01秒位清零,0.1秒位加一0.1秒位到10吗0.1秒位清零,1秒位加一1秒位到10吗1秒位清零,10秒位加一10秒位到10吗10秒位清零中断返回程序源代码如下:#includereg52.hUnsignedintdatatable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示码值unsignedinti,j,k,l,count;voiddelay(unsignedintz)//延时程序{unsignedintx,y;for(x=z;x!=0;x--)for(y=110;y!=0;y--);}voidmain(){TMOD=0x01;//设置定时器为模式1TH0=(65536-1000)/256;//给定时器赋定时初值TL0=(65536-1000)%256;EA=1;//开中断EX0=1;EX1=1;ET0=1;IT0=1;//设置外部中断位IT1=1;while(1)//数码显示{P2=0x03;P0=table[i];delay(1);P2=0x02;P0=table[j];delay(1);P2=0x01;P0=(table[k]+0x80);delay(1);P2=0x00;P0=table[l];delay(1);};}voidex0()interrupt0//外部中断0{TR0=1;//开定时器,开始计数}voidex1()interrupt2//外部中断0{TR0=0;//停止计数}voidtimer0()interrupt1//定时器T0溢出中断{TH0=(65536-1000)/256;//重装计数初值TL0=(65536-1000)%256;count++;//溢出中断次数加一if(count==10){count=0;i++;//溢出10次,0.01s位加一if(i==10){i=0;//0.01s位到10了,清零,0.1s位加一j++;if(j==10){j=0;//0.1s位到10了,清零,1s位加一k++;if(k==10){k=0;//1s位到10了,清零,10s位加一l++;}}}}}系统总体电路如下图所示:AT89S52单片机为主电路的核心部分,各个电路均与单片机相连,由单片机统筹协调各个电路的运行工作。开始键和暂停键使用了外部中断,所以需要连到单片机的P3.2和P3.3引脚上,这两个I/O口的第二功能是单片机的外部中断0端口和外部中断1端口。显示电路由四位数码管组成,采用动态显示方式,因此有8位段控制和4位位控制,8位段接控制接P0口,P0.0~P0.7分别控制数码管的abcdefgdp显示,位控制接在P2.0和P2.1两个口,在通过一个2—4译码器实现位控制。系统运行时的情况:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89S52A2Y04B3Y15Y26E1Y37U2:A74LS139234567891RP1RESPACK-8参考文献:赵建领.51系列单片机开发宝典。北京:电子工业出版社,2007总结:要多加练习程序的编写和电路的实现,弄清进制转换和进位。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89S52A2Y04B3Y15Y26E1Y37U2:A74LS139234567891RP1RESPACK-8XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89S52A2Y04B3Y15Y26E1Y37U2:A74LS139234567891RP1RESPACK-8
本文标题:单片机数码管秒表
链接地址:https://www.777doc.com/doc-5297617 .html