单片机课程设计单片机的秒表系统设计.docx

上传人:b****1 文档编号:2857999 上传时间:2023-05-04 格式:DOCX 页数:13 大小:398.39KB
下载 相关 举报
单片机课程设计单片机的秒表系统设计.docx_第1页
第1页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第2页
第2页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第3页
第3页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第4页
第4页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第5页
第5页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第6页
第6页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第7页
第7页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第8页
第8页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第9页
第9页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第10页
第10页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第11页
第11页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第12页
第12页 / 共13页
单片机课程设计单片机的秒表系统设计.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计单片机的秒表系统设计.docx

《单片机课程设计单片机的秒表系统设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计单片机的秒表系统设计.docx(13页珍藏版)》请在冰点文库上搜索。

单片机课程设计单片机的秒表系统设计.docx

单片机课程设计单片机的秒表系统设计

提供全套毕业论文,各专业都有

 

单片机课程设计

——单片机的秒表系统设计

 

姓名:

专业:

通信工程2011级

学号:

辅导老师:

 

西南石油大学电气信息学院通信工程

目录

1设计要求及目的2

2.硬件设计2

2.1AT89C51单片机简介2

2.2设计思路3

2.3硬件电路设计3

3.2源程序:

6

4系统调试与仿真10

4.1仿真软件简介10

4.2仿真调试11

5总结13

1设计要求及目的

1.1课题要求

本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:

(1)用单片机AT89C51实现;

(2)以0.1秒为最小单位进行显示;

(3)有清零、开始、停止功能、每到一秒有声音提示;

2.硬件设计

2.1AT89C51单片机简介

AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。

引脚分别如图2.1所示。

图2.1单片机引脚分布图

图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。

P0口作输入口使用时,应先向口锁存器写入1。

P1口是一个带有内部上拉电阻的8位双向I/O端口。

P1的输出缓存可驱动4个TTL输入。

P2口是一个带有内部上拉电阻的8位双向I/O端口。

P3口也是一个带有内部上拉电阻的8位双向I/O端口,P3端口还用于一些复用功能。

2.2设计思路

这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P1.6,P1.5,P1.4进行选择0.1秒位,秒位,十位秒位,以P3.0为开始控制,P3.1为停止控制,P3.2为清零控制。

本次实验设计的基本思路是要求借助AT89C51单片机做出一个0-59.9s的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位达到9时也自动清零并向十秒位加一。

当计数超过范围是所有数码管全部清零重新计数。

其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.0输出由7406非门与外加电源驱动,通过一个延时子程序加以控制。

最后就是根据硬件的条件进行编程,要求软硬件相互兼容。

这也是设计的关键之处。

因此需查阅相关书籍。

2.3硬件电路设计

(1)时钟电路与复位电路

利用12分频的晶振的一个机器周期为一微妙,通过循环延时产生0.1秒的延时,晶振电路原理及单片机复位电路图如图2.2所示。

图2.2时钟与复位电路图

单片机的时钟信号用来提供单片机内各种微操作的时间基准,89C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入和输出端,89C51单片机的时钟信号通常用两种电路形式得到:

内部振荡方式与外部振荡方式。

外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。

对于复位操作,我们采用手动复位,通过按钮开关使单片机进入复位状态,这是单片机能否正常工作的关键。

(2)硬件电路设计

使用proteus软件设计的硬件电路包含了三个功能控制键和一个单片机复位按钮及蜂鸣器控制开关。

具体如图2.3所示。

图2.3硬件电路连接图

时钟电路与复位电路已在前边介绍,在此主要介绍端口电路,对于外显电路的设计我们采用四位数码管,事实上根据要求只用到三位,我们利用p1.4、p1.5、p1.6对数码管进行位选。

对于按钮开关电路,我们利用p3.0、p3.1、p3.2分别作为开始、停止及清零功能的电路接口。

对于声音提示我们采用蜂鸣器装置,信号由p1.0口接入经过非门和驱动电源构成。

3软件设计3.1程序设计

根据课题内容,可做出主程序流程图如图3.1所示。

图3.1主程序流程图

流程图体现着设计程序的思路程序,开始后首先进行数据初始化然后是条件判断满足条件或不满足则进行对应的处理,如首先依次判断是否暂停是否清零,然后十分之一妙位计数,再判断是否进位,若是秒位就加一,秒位加一后进行声音提示,接着再判断是否有进位,若有则十秒位加一,若十秒位产生进位则重新计时。

3.2源程序:

HAOMIAOEQU34H

MIAOEQU35H

SHIMIAOEQU36H

ORG0000H

AJMPSTART

ORG0030H

START:

CLRC

SETBP1.6

SETBP1.5

SETBP1.4

MOVHAOMIAO,#0

MOVMIAO,#0

MOVSHIMIAO,#0

MOVDPTR,#TABLE

MOVA,#00H

MOVCA,@A+DPTR

CLRP1.6

MOVP2,A

MOVA,#00H

MOVCA,@A+DPTR

CLRP1.4

MOVP2,A

MOVDPTR,#TABLE1

MOVA,#00H

MOVCA,@A+DPTR

CLRP1.5

MOVP2,A

LCALLKAISHI

LCALLMAIN

SHIWEI:

SETBP1.5

MOVDPTR,#TABLE;十秒位显示

MOVMIAO,#0;使秒位从零位重新循环

INCSHIMIAO

MOVA,SHIMIAO

CLRC

SUBBA,#6

JZSTART

AJMPMAIN

RET

TINGZHI:

MOVA,#00H;判断是否有清零指

MOVA,P3

ANLA,#04H

JZSTART

MOVA,#00H;判断是否有停止指令

MOVA,P3

CLRC

ANLA,#02H

LCALLYANSHI

JZMAIN

LJMPTINGZHI

START1:

LJMPSTART

SHIWEI1:

LJMPSHIWEI

MAIN:

SETBP1.5

SETBP1.4

SETBP1.6

MOVA,#00H;判断是否有清零指令

MOVA,P3

ANLA,#04H

JZSTART1

MOVA,#00H;判断是否有停止指令

MOVA,P3

CLRC

ANLA,#02H

JZTINGZHI

MOVDPTR,#TABLE;0.1位秒显示

INCHAOMIAO;加一,可查下一位数据

MOVA,HAOMIAO;判断是否进位

CLRC

SUBBA,#10

JZMIAOZHEN

LCALLYANSHI;延时0.1秒

AJMPMAIN

RET;继续计时

MIAOZHEN:

SETBP1.4

MOVDPTR,#TABLE1;秒位显示

MOVHAOMIAO,#0;使0.1秒从零重新循环

INCMIAO;加一,可查下一位数据

MOVA,MIAO;判断是否进位

CLRC

SUBBA,#10

JZSHIWEI1

LCALLSND

AJMPMAIN;返回0.1秒计

YANSHI:

MOVR6,#30

DL2:

MOVA,#00H;判断是否有清零指令

MOVA,P3

ANLA,#04H

JZSTART1

MOVDPTR,#TABLE

MOVA,SHIMIAO

MOVCA,@A+DPTR

CLRP1.6

MOVP2,A

ACALLYIHAOMIAO

SETBP1.6

MOVA,HAOMIAO

MOVCA,@A+DPTR

CLRP1.4

MOVP2,A

ACALLYIHAOMIAO

SETBP1.4

MOVDPTR,#TABLE1

MOVA,MIAO

MOVCA,@A+DPTR

CLRP1.5

MOVP2,A

ACALLYIHAOMIAO

SETBP1.5

DJNZR6,DL2

RET

YIHAOMIAO:

MOVR7,#250

CV:

NOP

NOP

DJNZR7,CV

RET

KAISHI:

MOVA,#0

MOVA,P3

ANLA,#01H

JNZKAISHI

RET

SND:

SETBP1.0

MOVR1,#1EH

DL:

MOVR0,#0F9H

DL1:

DJNZR0,DL1

DJNZR1,DL

CLRP1.0

RET

TABLE:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0,1,2,3,4,5,6,7,8,9

TABLE1:

DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H,0FFH,0EFH

END

4系统调试与仿真

4.1仿真软件简介

(1)Proteus是英国Labcenterelectronics公司出版的仿真软件。

它不仅具有其它仿真软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。

受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

(2)在Proteus绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。

Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能。

4.2仿真调试

(1)经过对程序的运行,并用wave软件编译后,用proteus仿真软件进行仿真,按下“开始”按钮之前,可以看到数码管上数字子显示为零如图4.1所示。

图4.1开始状态图

由图4.1可以清楚的看到,秒表的初始状态,三位数码管都显示为零。

进行位选的端口也都处于低电位,蜂鸣器也未工作。

单片机复位端为低电平。

(2)当按下“开始”时秒表开始计时,秒表开始计时,其状态如图4.2所示。

图4.2开始计时图

由图4.2可以看到,开始计时后,数码管数字在变化,图中为十分之一秒位的数码管显示情况。

(3)当按下“停止”时秒表停止计时,数码管显示的数字不再变化,如图4.3所示。

图4.3停止状态图

由图4.3可以看到按下“停止”按钮后各个数码管的数字不再变化蜂鸣器也停止工作。

(4)当按下“清零”时秒表无论是在计时还是在停止状态都一律清零各数码管全为零,回到初始状态。

 

5总结

做了这个设计才发现,所谓的“创新”有多难!

虽然只是一个单片机的简单应用,但是还是查阅了非常多的资料,也觉得任何东西都真的是博大精深、学无止境。

通过对各种资料的查阅、收集和整理,对原来所学的知识又有了一点巩固,也发现了更多的学科之间的联系。

也更加体会到基础学科的重要性,虽然只是一个简单应用,但我还是觉得这是一个大工程,对于以后的毕业设计也有了一定的心理准备。

学了一学期的《单片机技术及原理》,粗略了解了各方面的知识,自己这次动手做了实现单片机制作电子秒表的一小部分功能,自己设计和制作、仿真。

真的觉得自己学到的东西太少了,还需要更多的知识去充实自己,让自己能在未来胜任自己的工作。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2