第18周课设多功能秒 表系统.docx

上传人:b****5 文档编号:8020418 上传时间:2023-01-28 格式:DOCX 页数:24 大小:429.37KB
下载 相关 举报
第18周课设多功能秒 表系统.docx_第1页
第1页 / 共24页
第18周课设多功能秒 表系统.docx_第2页
第2页 / 共24页
第18周课设多功能秒 表系统.docx_第3页
第3页 / 共24页
第18周课设多功能秒 表系统.docx_第4页
第4页 / 共24页
第18周课设多功能秒 表系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第18周课设多功能秒 表系统.docx

《第18周课设多功能秒 表系统.docx》由会员分享,可在线阅读,更多相关《第18周课设多功能秒 表系统.docx(24页珍藏版)》请在冰豆网上搜索。

第18周课设多功能秒 表系统.docx

第18周课设多功能秒表系统

 

单片机课程设计

 

课题:

多功能秒表系统

 

系别:

电气与电子工程系

专业:

姓名:

学号:

指导老师:

李小敏王明杰

 

河南城建学院

2011年12月29日

 

成绩评定·

一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。

 

二、评分

评分项目

设计报告评分

答辩评分

平时表现评分

合计

(100分)

任务完成

情况

(20分)

课程设计

报告质量

(40分)

表达情况

(10分)

回答问题

情况

(10分)

工作态度与纪律

(10分)

独立工作

能力

(10分)

得分

 

课程设计成绩评定

班级姓名学号

 

成绩:

分(折合等级)

 

指导教师签字年月日

 

目录

1概述3

1.1单片机简介……………………………………………………………………3

1.2设计任务………………………………………………………………………3

1.3设计要求………………………………………………………………………3

2系统总体方案4

2.1、STC89C52芯片简介4

2.2、主要功能特性5

2.3、复位电路6

2.4、晶体时钟电路6

2.5、键盘电路……………………………………………………………………………...7

2.6、显示电路………………………………………………………………………………7

3软件设计8

3.1、设计思想8

3.2、系统流程图9

3.3源程序代码及注解……………………………………………………11

4Proteus软件仿真16

5课程设计体会…………………………………………………………………………17

6参考文献………………………………………………………………………….18

附录1:

源程清单19

附录2:

系统原理图25

 

1概述

1.1单片机简介

单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。

单片机自20世纪70年代初研制成功并发展至今,已进入第四代。

它主要是在一块芯片上集成了CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。

从单片机的系列来看,国内外已超过50个系列、近500个品种,当前正处于更新换代、百花齐放的时期。

新的系列和专用系列正在不断涌现。

按位数分类有4位、8位、16位以及32位单片机等,4位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了抵御8位机的竞争,4位机在结构和功能上都有很大的改进。

8位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中Intel公司的8051系列单片机在我国应用最为广泛,另外8位单片机也在其功能和内部结构上不断的进行改进,目前功能是越来越强大。

16位单片机在数据处理以及单片机的性能上有了很大的改进。

32位单片机是随着高科技产业的发展而产生的。

1.2设计任务:

设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、用两位共阴极LED数码管以及按键来设计00~99秒计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行加计时,同时数码管能够正确地显示时间。

1.3设计要求:

1、能同时记录四个相对独立的时间并分别显示。

2、两位LED动态显示,显示时间为00~99秒。

3、每秒自动加1。

4、一个开始按键、一个复位按键、一个暂停按钮和一个计录按钮(附加功能)。

5、翻页按钮查看四个不同的计时值。

 

2系统总体方案

本设计所选用的STC89C52单片机由CPU,振荡器与时序电路,4个8位的I/O端口(P0,P1,P2,P3),串行口等组成。

STC89C52的管脚图如图1所示。

图一:

STC89C52的管脚图

2.1STC89C52芯片简介

STC89C52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。

STC89C52具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,STC89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

2.2主要功能特性:

·兼容MCS-51指令系统

·8k可反复擦写(>1000次)ISPFlashROM

·32个双向I/O口

·4.5-5.5V工作电压

·3个16位可编程定时/计数器

·时钟频率0-33MHz

·全双工UART串行中断口线

·256x8bit内部RAM

·2个外部中断源

·低功耗空闲和省电模式

·中断唤醒省电模式

·3级加密位

·看门狗(WDT)电路

·软件设置空闲和省电功能

·灵活的ISP字节和分页编程

·双数据寄存器指针

表1-1-1

整体设计框图:

 

图2:

整体设计框图

2.3复位电路:

采用上电加按钮复位。

这个系统中的复位电路是采用上电加按钮来实现的。

因为STC89C52单片机的复位是靠外部电路实现的。

STC89C52单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地进行复位。

STC89C52单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。

图3:

复位电路

2.4晶体时钟电路:

通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

图4:

晶体时钟电路

2.5键盘电路:

用部分P1口做开始开关,P1.0停止,P1.1复位,P1.3暂停记录,P1.4上翻,P1.5下翻,用外中断INT0开始,用软件法消除抖动。

图5:

键盘电路

2.6显示电路:

采用LED动态显示,用P2口驱动显示。

图6:

显示电路

 

3软件设计

3.1设计思想

因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。

模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。

我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。

每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。

它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。

其中的模块即为子程序,子程序是功能独立的程序段。

子程序的基本思想是编写一次,可以重复使用。

子程序的形式可以是一个程序文件,也可以是一个过程或函数。

子程序总被其他程序调用而不单独执行,这与主程序相对。

这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,、快加、复位,计数和显示等,在具体需要时调用相应的模块即可

 

3.2、程序流程图:

 

定时器流程图

加1子程序流程图:

 

3.3程序代码及注解

(1):

主程序

MAIN:

MOVSP,#50H

MOVTMOD,#11H

MOVTH1,#0D8H;定时10ms

MOVTL1,#0F0H

MOVTH0,#0CFH;定时25ms

MOVTL0,#02CH

MOV20H,#00H;BINSECOND

MOV30H,#00H;SECOND

MOV31H,#00H

MOV40H,#40

MOV71H,#00H

MOV72H,#00H

MOV73H,#00H

MOV74H,#00H

MOVR2,#04H

MOVR3,#04H

MOVR1,#71H

SETBEA

SETBEX1

CLRET1

SETBET0

CLRPT0

CLRPT1

SETBPX1

SETBIT1

MOVP2,#0FFH

CLRTR0

CLRTR1

CLR7FH

判断是否有键按下,并确定是哪一个键,转移到相应的子程序的入口地址去执行子程序。

没有键按下则一直等待,直到有键按下。

ML1:

ACALLDISP;调用显示程序

P1.0键按下时,计数停止

START:

JBP1.0,LOOP1

ACALLDELAY10;延时

JBP1.0,LOOP1;P1.0=1,跳转到LOOP1执行

JNBP1.0,$

LJMPSTOP;P1.0=0,跳转到停止子程序

P1.1键按下时,数字清零复位

LOOP1:

JBP1.1,LOOP2

ACALLDELAY10;延时

JBP1.1,LOOP2;P1.1=1,跳转到LOOP2执行

JNBP1.1,$

LJMPRESET;P1.1=0,跳转到复位子程序

P1.3键按下,暂停记录

LOOP2:

JBP1.3,LOOP3

ACALLDELAY10;延时

JBP1.3,LOOP3;P1.3=1,跳转到LOOP3执行

JNBP1.3,$

LJMPJILU;P1.3=0,跳转到暂停记录子程序

P1.4键按下时,执行上翻功能

LOOP3:

JBP1.4,LOOP4;P1.4=0,SHANGFAN

ACALLDELAY10;延时

JBP1.4,LOOP4;P1.4=1,跳转到LOOP4执行

JNBP1.4,$

LJMPXIAFAN;P1.4=0,跳转到上翻子程序

P1.5键按下时,执行下翻功能

LOOP4:

JBP1.5,LOOP;P1.5=0,XIAFAN

ACALLDELAY10;延时

JBP1.5,LOOP;P1.5=1,跳转到LOOP执行

JNBP1.5,$

LJMPSHANGFAN;P1.5=0,跳转到下翻子程序

LOOP:

SJMPHERE

(2)停止子程序

软件对定时器0和定时器1的控制位清零,使定时器停止工作

STOP:

CLRTR0

CLRTR1;关闭定时器0,1

ACALLDISP

SJMPHERE

(3)复位子程序

软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示:

RESET:

CLRTR0

CLRTR1;关闭定时器0,1

MOV20H,#00H

MOV30H,#00H

MOV31H,#00H

ACALLDISP;调用显示子程序

SJMPHERE

(4)按键消抖程序

DELAY10:

MOVR4,#14H

延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;若为1,则说明是抖动则继续向下判断。

例如下面的程序中就调用了这个子程序。

LOOP2:

JBP1.3,LOOP3;P1.3=0时,暂停记录

ACALLDELAY10

JBP1.3,LOOP3

JNBP1.3,$

LJMPJILU

4ISIS7Professionl软件仿真

利用KeiluVision软件对源程序进行编译,编译成功后,把编译结果保存。

然后根据我们的软件在PROTEUS中设计出相应的硬件电路,并将该电路保存到与WAVE程序相同的文件夹中,最后将程序装载到单片机中,通过ISIS7Professionl仿真,看程序是否能够实现预想的功能.

 

仿真图如下图所示:

 

 

5课程设计体会

虽然我们现在设计的东西还只是一些很不起眼的东西,但是学习都是有一个过程的,并非一蹴而就、一步登天。

我们只有把基础打好,在不懈的摸索中发掘学习的爱好和实践的乐趣。

我们所学到的内容和我们在外界接触到的一些知识多少都会存在一些差异,因为知识的学习和应用在本质上本来就存在着很大的区别,俗话说:

想到和做到完全是两码事,这也教会了我们在学习的同时,应当做好相应的总结,为更好的实践打下坚实基础。

学院开设的课程有限,我们接收到的知识也是有限的,但是我们有无限的能力去学习无限的知识,在设计过程中,我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。

1、本次课程设计使我加深了对单片机课程的全面认识,复习和掌握,对MC-51单片机有了更深入的了解,对I/O口的使用,晶振电路的接法,以及复位电路等的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。

2、掌握了定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

4、还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。

5、程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。

6、我在编程过程中还有好多不理解的地方,经过同学的帮助终于完成了这次设计。

在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。

由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中虽然实现了所有的基本要求和部分的高级要求,但是这其中还有许多不完善的地方,有时在上翻和下翻时会出现一些问题,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。

虽然焊出了电路,但调试的时候,功能不是很稳定,经过我仔细地检查,仍然没有发现错误。

希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。

6参考文献

【1】余发山编著.单片机原理及应用技术徐州:

中国矿业大学出版社,2003年

【2】杨凌霄编著.微型计算机原理及应用.徐州:

中国矿业大学出版社,2004年

【3】杨宁编著.单片机与控制技术.北京:

北京航空航天大学出版社,2004年

【4】王闪编著.AT89系列单片机原理与接口技术.北京:

北京航空航天大学出版社,2004年

【5】基于proteus的单片机可视化软硬件仿真.北京航空航天大学出版社

 

附录:

程序清单:

ORG0000H

LJMPMAIN

ORG0003H

LJMPJILU

ORG000BH

LJMPTIME1

ORG0013H

LJMPZHONGDUAN

ORG001BH

LJMPTIME10

ORG0100H

MAIN:

MOVSP,#50H

MOVTMOD,#11H

MOVTH1,#0D8H;定时10ms

MOVTL1,#0F0H

MOVTH0,#0CFH;定时25ms

MOVTL0,#02CH

MOV20H,#00H;BINSECOND

MOV30H,#00H;SECOND

MOV31H,#00H

MOV40H,#40

MOV71H,#00H

MOV72H,#00H

MOV73H,#00H

MOV74H,#00H

MOVR2,#04H

MOVR3,#04H

MOVR1,#71H

SETBEA

SETBEX1

CLRET1

SETBET0

CLRPT0

CLRPT1

SETBPX1

SETBIT1

MOVP2,#0FFH

CLRTR0

CLRTR1

CLR7FH

ML1:

ACALLDISP

START:

JBP1.0,LOOP1;P1.0=0,STOP

ACALLDELAY10

JBP1.0,LOOP1

JNBP1.0,$

LJMPSTOP

LOOP1:

JBP1.1,LOOP2;P1.1=0时,复位

ACALLDELAY10

JBP1.1,LOOP2

JNBP1.1,$

LJMPRESET

LOOP2:

JBP1.3,LOOP3;P1.3=0时,暂停记录

ACALLDELAY10

JBP1.3,LOOP3

JNBP1.3,$

LJMPJILU

LOOP3:

JBP1.4,LOOP4;P1.4=0时,上翻

ACALLDELAY10

JBP1.4,LOOP4

JNBP1.4,$

LJMPXIAFAN

LOOP4:

JBP1.5,LOOP;P1.5=0时,下翻

ACALLDELAY10

JBP1.5,LOOP

JNBP1.5,$

LJMPSHANGFAN

LOOP:

SJMPHERE

STOP:

CLRTR0;停止程序

CLRTR1

ACALLDISP

SJMPHERE

RESET:

CLRTR0;复位程序

CLRTR1

MOV20H,#00H

MOV30H,#00H

MOV31H,#00H

ACALLDISP

SJMPHERE

JILU:

MOVA,20H;暂停记录程序

MOV@R1,A

INCR1

DJNZR2,HERE

MOVR1,#71H

SJMPSTOP

XIAFAN:

MOVA,@R1;下翻程序

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,B

LCALLDISP

INCR1

DJNZR2,HERE

MOVR1,#74H

SJMPSTOP

SHANGFAN:

MOVA,@R1;上翻程序

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,B

LCALLDISP

DECR1

DJNZR3,HERE

MOVR1,#71H

SJMPSTOP

HEE:

JNBTF1,HEE

CLRTF1

ACALLJIA1

ACALLDISP

JNBP1.0,STOP

SJMPHEE

HERE:

LJMPML1

ZHONGDUAN:

SETBTR0;启动定时器0

CLRTR1

RETI

TIME1:

PUSHACC;定时1秒

PUSHPSW

MOVTH0,#0D8H

MOVTL0,#0F0H

DJNZ40H,RET0

LCALLJIA1

LCALLDISP

MOV40H,#100

RET0:

POPPSW

POPACC

RETI

TIME10:

PUSHACC;定时10毫秒

PUSHPSW

MOVTH0,#0D8H

MOVTL0,#0F0H

RET1:

POPPSW

POPACC

RETI

JIA1:

MOVA,20H;加1

CLRC

INCA

CJNEA,#100,GO1

MOV20H,#00H

RET

GO1:

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,B

RET

DISP:

MOVR0,#30H;显示

MOVR3,#0FEH

MOVA,R3

PLAY:

MOVP1,A

MOVA,@R0

MOVDPTR,#DSEG1

MOVCA,@A+DPTR

MOVP2,A

LCALLDL1

MOVP1,#0FFH

MOVA,R3

RLA

JNBACC.2,LD1

INCR0

MOVR3,A

LJMPPLAY

LD1:

RET

DL1:

MOVR7,#05H

DL:

MOVR6,#0FFH

DL6:

DJNZR6,$

DJNZR7,DL

RET

DELAY10:

MOVR4,#14H;延时10毫秒

DL00:

MOVR5,#0FFH

DL11:

DJNZR5,DL11

DJNZR4,DL00

RET

DSEG1:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

END

 

附录2:

系统原理图

 

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

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1