1、单片机课程设计报告单片机系统课程设计报告专 业_学生姓名_学 号_指导老师_ 完成日期:2013年12月16日星期1.设计任务和性能指标1.1设计任务2.设计方案2.1任务分析2.2方案设计3. 系统硬件设备3.1时钟的电路设计3.2中断电路设计3.3灯控电路设计3.4倒计时电路设计3.5按键电路设计4.系统软件设计4.1 1秒定时4.2定时程序流程4.3LED灯设计流程4.4定时器与中断5.仿真及性能分析6.心得体会1.设计任务利用单片机完成篮球筐上的计时器的设计。该控制器有数码管和LED灯组成。每次显示24秒,24秒结束后LED等亮。数码管重新计时。如图所示:2.设计方案2.1任务分析 单
2、片机的数码管可以作为计时器的数字显示,LED灯可以清晰的显示截止时间。 利用中断功能可以使时间暂停。2.2方案设计单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不够用时,可以考虑扩展8255或8155满足系统的要求3 系统硬件设计3.1时钟电路设计如上图所示,采用内部时钟产生方式,在1.1和1 .2和1.5接开关接晶体
3、或陶瓷振荡器,与内部反相器构成稳定的自击震荡。其发出的时钟脉冲直接送入片内定时控制部件。3.2中断电路设计 图中暂停按钮时中断请求,当按下暂停按钮时,时钟停止计时。3.3灯控电路设计当数码管的倒计时结束时,所有LED灯点亮,显示结束一个轮回,数码管重新开始计时。LED之间用串联电阻,接在p3口。3.4 倒计时显示电路设计如上图所示,由两个个共阴极两位数码管来实现倒计时。由于P0 口控制位,p2口控制段,位的利用只有3和4,段选控制单片机的显示数字。4 系统软件设计4.1 1S定时以在系统中要实现准确的1s定时。采用89C51内部的定时计数器TH,TL,工作在方式1,把秒计时用硬件和软件计数相结
4、合的方法实现。即把定时器的定时时间定为50ms,可用软件方法实现。设计数初值为工, TH0=(65536-50000)/256;TL0=(65536-50000)%256;从上式计算得到计数初值。定时器定时采用中断方式完成以便于通过中断服务程序累计。4.2 定时程序流程;4.3LED灯流程及程序。 #include #define uchar unsigned char#define uint unsigned intuchar code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x8
5、6,0x8e; /数码管段码表uchar wei=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;uint i=0;uint j=0;uint a=24;uchar k1flag=0;uchar k2flag=0;sbit k1=P11;sbit k2=P15;sbit k3=P12;void delay(uint z); void display();void scan();void main(void) TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=0; while(1) sc
6、an(); if(k1flag=1) k2flag=0; TR0=1; display(); if(k2=0) k2flag=1; k1flag=0; if(k2flag=1) TR0=0; void scan() if(k1=0) delay(1); if(k1=0) k1flag=1; void time1() interrupt 1 /中断服务 TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; j+; if(j=20) j=0; a=a-1; P3=0xff; if(a=-1) a=24; P3=0x00; delay(500);
7、void display() P2=wei2; P0=taba/10; delay(2); P0=0x00; P2=wei3; P0=taba%10; delay(2); P0=0x00; void delay(uint z) uint x , y; for(x=z;x0;x-) for(y=110;y0;y-);5仿真与性能6心得体会 这次单片机课程设计历时三个星期的时间,在这三个星期里我们体验了从设计、画板、编程、焊板到调试的整个过程,让我们小小的体验了一次工程师的感觉。 起初我们先到图书馆和网上查阅了大量有关超声波测距仪的资料,然后开始设计我们自己的方案,为了设计精度要求和抱着学习新知识
8、的想法,我们选择则了从没接触过的DS18B20和LCD1602液晶芯片,虽然我们并没把这两个芯片的应用原理研究的很透彻,但基本的应用编程是可以实现的,说实话整天抱着电脑查资料、看资料是一件很痛苦的事情,一天下来眼都花了,但每学会一点新知识还是挺高兴的,有的时候想要的资料查不到我们就向老师求助,他们都会毫无保留的帮助我们。 设计完电路以后我们便开始画PCB板,这是我们上学期学习的一门课程,趁着这次机会也让我们又将这部分只是复习了一下,并将其应用于实际,终于发现我们所学的知识和实际有点联系了,也对其产生了一点兴趣。不过我们学得并不全面,只能说是引路用的,所以在实际当中我们还要再加深一下学习,这也是
9、我们获得新知识的一个地方。画板时需要注意的地方很多,比如封装要根据实际器件的尺寸来设计孔的大小,间距也要符合要求,布线时线宽与线距也有一定讲究,部件摆放要按一定规律等等。 这三周的时间说轻松也不轻松,说紧张却稍带着愉快的气氛,整个过程应该是充实的,时而惊喜,时而烦闷特别是最后调试阶段有一块调通了都会让我们高兴不已,当卡在某处时也确实是让人抓狂。总之通过这次课设,我们不但复习了过去所学,并且学到了一些新东西。更重要的是通过这一次切身实践,才使我们真正将理论与实际结合起来,并且遇到了很多实实在在的需要我们亲自解决的问题。通过解决这些问题,我们处理实际问题的能力有了很大提高,积累了我们的实践经验,以便为以后打下牢固的基础。而这些才是我们作为一名工科学生最宝贵的财富。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1