三位数字显示计时定时器设计(共16页)_第1页
三位数字显示计时定时器设计(共16页)_第2页
三位数字显示计时定时器设计(共16页)_第3页
三位数字显示计时定时器设计(共16页)_第4页
三位数字显示计时定时器设计(共16页)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上课程设计报告课程设计名称: 三位数字显示计时定时器设计 专 业 班 级 : 学 生 姓 名 : 黎林 学 号 : 同 组 人 员 : 指 导 教 师 : 李洪芹 课程设计时间: 2周 目 录专心-专注-专业三位数字显示计时定时器设计1 设计任务、要求以及文献综述3位数字显示计时定时器是一个典型的利用数字系统的例子。所谓数字系统,是指由若干数字电路及逻辑部件组成并且能够进行采集、加工、处理及传送数字信号的设备。一个完整的数字系统通常由输入电路、输出电路、控制电路、若干个子系统和时基电路等部分组成。设计要求如下:1、计时功能。能任意启停,保持计时结果;2、开机自动复位;3

2、、最大计时显示为9分59秒;4、定时报警。2 原理叙述和设计方案 2.1 设计方案选择和论证 方案一:设计的3位数字显示计时定时器则分别有4个子系统组成:秒脉冲时间标准产生电路、计数器、译码器和显示器、开机自动清零电路、计时启停控制电路方案二:实现一个三位数字显示的秒表系统,单片机,lcd1602显示屏,矩阵键盘等组成部分。秒计数电路满60向分计数电路进位(显示0059s),分计数电路满足10(显示09)后停止并且灯亮,等待重新复位计时。论证:方案二比方案一好。理由一:方案二显示的最终结果比较直观。理由二:方案二可更改性好,方便日后的改进。2.2 电路的功能框图及其说明根据原理正确、易于实现、

3、且实验室有条件实现的原则确定设计方案,画出总体设计功能框图,如图2.1所示。图2.1 三位数字显示计时定时器功能框图单片机:对LCD1602的显示控制,还能实现计时启停的控制。LCD1602:将结果以直观的形式表现出来。2.3 功能块及单元电路的设计、计算与说明4×4矩阵键盘当键盘中按键数量较多时,为了减少对I/O口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU通过检测行或列线上的电平变化可以确定哪个按键被按下。如图2.2所示

4、。 图2.2 4×4矩阵键盘显示程序本系统使用LCD1602实现显示,只要参照LCD1602的使用手册进行初始化和程序编写就可以显示,即在程序编写中添加LCD1602的驱动程序。这里的驱动程序主要包括:初始化函数、设置显示坐标、写字符函数及写字符串函数。用LCD1602实现对时间的显示。LCD1602的部分读写控制时序程序如图2.3所示:图2.3 LCD1602显示屏2.4 总体电路原理图图2.4三位数字显示计时定时器电路原理图如图2.4所示,通过对单片机编程,对LCD1602显示屏先初始化,然后开始进行走数。矩阵键盘就用右边的三个按键,分别实现启停,对数字加,对数字减的功能。当时间

5、到达9分59时,灯亮并且计时停止。3 电路的仿真与调试3.1 电路仿真利用电子线路仿真软件Protues,将所设计的电路原理图在Protues界面下创建并用其仪器库中的模拟仪表进行仿真测试。若发现问题,立即修改参数,重新调试直至得到满意的设计。如图3.1图3.1三位数字显示计时定时器仿真结果3.2 调试中出现的问题及解决方法将编好的程序导入到单片机,调试时有时候发现,显示的时间走的太快,这个时候对程序进行修改便可。有时候会发现找不到我需要的元器件,这个时候就要上网查找相似的元器件进行代替。4 制作与调试4.1元件清单、实物照片元件清单:图4.1三位数字显示计时定时器元件清单实物: 图4.2三位

6、数字显示计时定时器实物4.2制作与调试过程中遇到的问题及解决办法 焊接元件时期: 一:焊接是没有严格按照仿真图焊接,导致运行结果出不来,后来去实验室把实物板的焊接改回来。二:焊接单片机时候,因为管脚难插进板子,用力太猛,导致某些管脚不能用。解决方法是换其他好的管脚继续焊接。三:焊接震荡电路时候,忘记接地了,后来修改回来了。编程时期:一:思路卡住时候,多想想,慢慢就有思路了。二:编程时候要注意逻辑思路和代码安放位置,我之前思路搞错了,导致遇到瓶颈,画了很多时间和请教别人,最终在仿真的时候才得到要的结果。5心得体会经过一段时间的努力,该项设计也快接近尾声了,但遗憾的是我的实物虽然做出来了,但是经过

7、多次调试还是没有出现预期的结果。在设计实物时,不但要你有紧密的逻辑思维能力,还要细心、有耐心。元件多,布线多,钻的孔自然也多。一不留神把焊盘打没了,就会给焊接带来很大的难度。而且孔很多,一定要慢慢焊接,工程量确实很大。在调试过程中,一定要细心、耐心,一点小小的断线都会导致整个电路无法工作。可以说,调试时本次设计的难点。但是遗憾的是,经过多次的调试,我的设计却不能出现预期的结果,让我有点头痛。于是,我开始从硬件焊接上找找自己的原因,向老师询问后,从输出到输入一级一级开始找自己的焊接错误,在比对仿真图的时候从中也发现了一些错误,但在焊接正确后还是不能出现结果。然后,我就开始在我的程序里面找一下可能

8、的错误,最后由于能力有限和时间问题,还是没能找到错误,有点失败。在次课程设计中,不仅培养了我们综合应用所学知识解决实际问题的能力,也提高了我的动手能力,让我学会了独立思考问题,并通过各种途径来解决问题。此次课程设计不单是一个实验设计,也是善于思考的最佳机会。在这个过程中,我懂得了很多专业知识,也学到了很多运用技巧。更大的一点是:激起了我对实验设计这方面的兴趣。虽然在此过程中遇到很多挫折及困难,也很有多情绪问题。比如说,气馁,灰心等情绪。但是由于水平有限,我的课程设计还没有完善,存在一些错误,我还想在后期改进该设计功能,让其实现原有功能基础之上,还要实现动态显示数码管。但我却连基本的计时功能还没

9、实现,有点遗憾。6 参考文献 1 陈晰.数字电路试验技术基础.北京:电子工业出版社,19992 李元.数字电路与逻辑设计.南京:南京大学出版社,19973 郝波.数字电子技术,西安:西安电子科技大学出版社,20044 郭斌.数字逻辑电路.北京:电子科技大学出版社,19955 程震先.数字电路实验与应用.北京:北京理工大学出版社,1999 6曹琳琳.C单片机原理及接口技术.国防科技大学出版社,200附录三位数字显示计时定时器设计源程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit r

10、s=P05;sbit rw=P06;sbit e=P07;sbit led=P01;sbit keyg=P20;sbit key1=P27;sbit key2=P26;sbit key3=P25;uint num,count,ge,shi,a,flag,flag1;int fen,miao;uchar code table="ding shi qi"uchar code table1=" 00:00"/*延时函数*/void delay(uchar z)uchar x,y;for(x=110;x>0;x-)for(y=z;y>0;y-);/*

11、写指令*/void write_zl(uchar zl)rw=0;rs=0;e=0;P1=zl;delay(5);e=1;delay(5);e=0;/*写数据*/void write_sj(uchar sj)rw=0;rs=1;e=0;P1=sj;delay(5);e=1;delay(5);e=0;/*分秒动态显示*/void write_sm(uchar add,uchar date)shi=date/10;ge=date%10;write_zl(0x80+0x40+add);write_sj(0x30+shi);write_sj(0x30+ge);/*初始化*/void init()led

12、=0;write_zl(0x38);write_zl(0x0c);write_zl(0x06);write_zl(0x01);write_zl(0x80);for(num=0;num<11;num+)write_sj(tablenum);delay(2);write_zl(0x80+0x40);for(num=0;num<9;num+)write_sj(table1num);delay(2);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;/*键盘扫描*/void keyscan()key

13、g=0;/*第一按键*/if(key1=0)delay(5);if(key1=0) /*消抖*/a+;/*a表示按第一个键盘的次数*/while(!key1);delay(2);while(!key1);/*判断是否松手*/if(a=1) /*秒处暂停,光标在秒处闪烁*/TR0=0;/*定时器关*/write_zl(0x0f);write_zl(0x80+0x40+8);if(a=2)/*秒处暂停,光标在分处闪烁*/write_zl(0x80+0x40+5);if(a=3)/*秒处走动,光标隐藏*/a=0;TR0=1;write_zl(0x0c);/*第二按键*/if(a!=0) if(key

14、2=0) delay(5);if(key2=0)while(!key2);delay(2);while(!key2);if(a=1)/*按一下,秒处数字加1*/miao+;if(miao=60)miao=0;write_sm(7,miao);write_zl(0x80+0x40+8);if(a=2)/*按一下,分处数字加1*/fen+;if(fen=10)fen=0;write_sm(4,fen);write_zl(0x80+0x40+5); /*第三按键*/if(a!=0) if(key3=0) delay(5);if(key3=0)while(!key3);delay(2);while(!key3);if(a=1)/*按一下,秒处数字减1*/miao-;if(miao=-1)miao=59;write_sm(7,miao);write_zl(0x80+0x40+8);if(a=2)/*按一下,分处数字减1*/fen-;if(fen=-1)fen=9;write_sm(4,fen);write_zl(0x80+0x40+5); /*主函数*/void main()init();while(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论