毕业设计25倒计时器.docx

上传人:b****7 文档编号:25989486 上传时间:2023-06-17 格式:DOCX 页数:11 大小:95.56KB
下载 相关 举报
毕业设计25倒计时器.docx_第1页
第1页 / 共11页
毕业设计25倒计时器.docx_第2页
第2页 / 共11页
毕业设计25倒计时器.docx_第3页
第3页 / 共11页
毕业设计25倒计时器.docx_第4页
第4页 / 共11页
毕业设计25倒计时器.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

毕业设计25倒计时器.docx

《毕业设计25倒计时器.docx》由会员分享,可在线阅读,更多相关《毕业设计25倒计时器.docx(11页珍藏版)》请在冰豆网上搜索。

毕业设计25倒计时器.docx

毕业设计25倒计时器

前言

计算机最初的设计目的是为了提高计算数据的速度和完成海量数据的计算。

随着技术的发展,人们发现计算机在逻辑处理以及工业控制等方面也具有非凡的能力。

在控制领域,人们更多的关心计算机的低成本,小体积,运行的可靠性和控制的灵活性。

特别是智能仪表,智能传感器,智能家电,智能办公设备,汽车以及军事电子设备等应用系统要求将计算机嵌入这些设备中。

单片机体积小,价格低,可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。

目前,单片机应用技术已经成为电子应用系统设计最为常用的手段。

单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

时间对人们来说总是那么宝贵,倒计时器对于人们来说也得到了广泛的应用,尤其是用于体育项目。

 

内容摘要

倒计时器在日常生活中应用极为广泛,它是我们的准确的定时工具,维系着我们生活的秩序。

本文基于单片机设计一个能实现倒计时自动化控制的自动化系统,通过此设计达到学习、了解单片机相关指令在各方面应用的目的,并锻炼自己的动手能力。

本文设计部分包括两方面:

1.硬件系统:

主控电路2.软件系统:

汇编语言程序。

通过两方面的配合,实现控制功能。

 

关键词

 

关键词:

单片机,倒计时器,原理图,PCB图

 

正文

1课程设计的目的和要求

1.1课程设计的目的

通过课程设计,了解常用单片机应用系统设计的方法和过程,并能初步掌握单片机系统的设计方法,锻炼学生分析问题和解决问题的能力,系统地完成一个小系统从硬件设计、软件设计、汇编、模拟仿真调试、直至脱机运行等开发全过程。

1.2课程设计的基本要求

1.设计硬件原理图并采用PROTEL画图。

2.软件设计

3.在DVCC实验仪上仿真调试,或在线调试(新开发的实训系统可在线调试)。

4.提交课程设计论文。

要求该论文从基本理论,系统设计,创新思维,制作工艺上进行全方位的描述。

不但程序流程图的描述要求详细,而且大多数指令语句都要加上详细的注释。

2总体设计

2.1基本工作原理

利用单片机原理由单片机控制两个数显管构成数据及倒计时功能

2.2硬件总体设计

2.2.1系统组成方案

系统由一个单片机、两个数显管等组成

2.2.2扩展单元编址

P3.1和P3.0为两个数显管的选位信号;P1口输出段选码

2.2.3键盘显示功能的定义

键盘为独立式按键,分别在P3.2~P3.4上,设置为输入状态。

电阻和电容起消抖作用。

各按键的功能:

K1----设定/启动功能键

K2----倒计时时间十位数设定键,按下键时,十位数字在0~9的范围内。

K3----倒计时时间个位数设定键,按下键时,十位数字在0~9的范围内。

2.3软件总体设计

2.3.1存储单元的分配、标志位的定义

P3.5连接发光二极管状态指示灯,系统时间设为定时状态熄灭,倒计时状态闪烁,倒计时结束时常亮。

P3.6输出控制信号驱动蜂鸣器,倒计时时间到,蜂鸣器响。

 

2.3.2主程序框图及清单(带有注释)

 

3硬件设计

 

 

4软件设计

程序清单:

ORG0000H

AJMPMAIN;主程序

ORG0003H

AJMPNT0;外部中断0

ORG000BH

AJMPTCT0;定时器T0

ORG0030H

MAIN:

MOVSP,#60H;设置堆栈

CLR00H;工作状态标志位,0为设置,1为工作

CLR01H;指示灯状态标志位,0为LED不亮,1为灯亮

CLR02H;控制信号标志0为P3.6低,1为P3.6高

MOV22H,#00H;100ms计数器清零

MOV23H,#00H;秒计数器清零

MOV24H,#10;分计数器预置10min

MOVTH0,#3CH;100ms计数器初值

MOVTL0,#0B0H

MOVTMOD,#02H

SETBEA

SETBET0;允许定时器T0中断

SETBEX0;允许外部中断0中断

SETBIT0

CLRTR0

MOV34H,#01H;显示缓冲器预置数(十位)

MOV35H,#00H;显示缓冲器预置数(个数)

L:

ACALLLED;调指示灯状态控制程序

JNB00H,L;查询工作状态指示,0为等待“设置”

ACALLBINBCD;二进制转十进制

ACALLDIS;显示倒计时器中的值

JB02H,OUT;查询控制输出位,1为P3.6高,报警

AJMPL

OUT:

CLREX0

CLRTR0

SETBP3.6;P3.6高,报警

JNBP3.4,OUT1;按P3.4,清除输出

AJMPOUT

OUT1:

JNBP3.4,$;消抖

CLRP3.6;P3.6低,清除报警输出

CLR02H

SETBEX0

CLR00H;设置状态

AJMPL

;状态灯指示程序:

LED:

JB01H,LED0

CLRP3.5

RET

LED0:

SETBP3.5

RET

二进制转十进制子程序:

入口:

24H单元二进制数。

出口:

30H单元BCD码十位数,31H单元BCD码个位数。

BINBCD:

MOVA,24H;取二进制数

MOVB,#10

DIVAB;A中存十位数,B中存个位数

MOV30H,A;存十位数

MOV31H,B;B中存个位数

RET

显示倒计时值程序?

入口:

30H单元BCD码十位数,31H单元BCD码个位数

DIS:

MOVR0,#30H

MOVDPTR,#TAB

MOVA,@R0

MOVCA,@A+DPTR

MOVP1,A;显示十位

CLRP3.1

ACALLDELAY10;延时10ms

INCR0

SETBP3.1

MOVA,@R0

MOVCA,@A+DPTR

MOVP1,A;显示个位

CLRP3.0

ACALLDELAY10

SETBP3.0

RET

外部中断0程序:

NT0:

CLREX0;关中断

PUSHACC

PUSHPSW

CLRP3.5;工作状态LED灭

ACALLDIS1;调设定值显示

KEY:

JBP3.2,RETURN

KEY0:

ACALLDIS1

JNBP3.2,KEY0;等待键释放

KEY2:

JBP3.3,KEY3;判K2键按下?

未按下,转判K3

ACALLDIS1

INC34H;K2键按下,十位加1

MOVA,34H

CJNEA,#0AH,KEY22

MOV34H,#00H

KEY22:

ACALLDIS1

JNBP3.3,KEY22

AJMPKEY2

KEY3:

ACALLDIS1

JBP3.4,KEY1;判K3键按下?

未按下,转判断K1

INC35H;K3键按下,个位加1

MOVA,35H

CJNEA,#0AH,KEY33

MOV35H,#00H

KEY33:

ACALLDIS1

JNBP3.4,KEY33

AJMPKEY3

KEY1:

ACALLDIS1

JBP3.2,KEY2;K1键未按下,转去判断K2、K3

KEY10:

ACALLDIS1;等待键释放

JNBP3.2,KEY10;K1键未按下,进入工作状态

ACALLBCDBIN;调十进制转换成二进制程序

SETB00H;置位进入"工作状态"标志

RETUTN:

SETBEX0

SETBTR0

POPPSW

POPACC

RET1

子程序:

十进制转换成二进制子程序:

入口:

34H单元BCD码十位数,35H单元BCD码个位数。

出口:

24H单元二进制数。

BCDBIN:

MOVB,#10

MOVA,34H

MULAB

ADDA,35H

MOV24H,A

RET

设定值显示子程序:

入口:

34H单元BCD码十位数,35H单元BCD码个位数。

DIS1:

MOVR0,#34H

MOVDPTR,#TAB

MOVA,@R0

MOVCA,@A+DPTR

MOVP1,A;显示十位

CLRP3.1

ACALLDELAY10;延时10ms

INCR0

SETBP3.1

MOVA,@R0

MOVCA,@A+DPTR

MOVP1,A;显示个位

CLRP3.0

ACALLDELAY10

SETBP3.0

RET

定时器T0中断服务程序:

TCT0:

PUSHACC

PUSHPSW

INC22H;100ms单元加1

MOVA,22H

CJNEA,#10,EXIT

MOV22H,#00H

INC23H;秒单元加1

CPL01H

MOVA,23H

CJNEA,#60,EXIT

MOV23H,#00H

DEC24H;分单元减1

MOVA,24H

CJNEA,#00H,EXIT;分计数单元不为“0”,继续

CLRTR0;关定时器

SETB02H;置位蜂鸣器控制信号

SETB01H;置位LED状态灯

CLR00H;“设置”状态

EXIT:

POPPSW

POPACC

RETI

END

5操作说明

本系统为倒计时器定时系统,可完成倒计时功能功能。

现在我们可以利用电子倒计时器代替机械倒计时器。

倒计时时间要求在1~99min内可以任意设定,当接通电源时,自动设置时间为10min。

以1min的步长进行倒计时。

当计时到0时发出响声信号,可用3个按键分别实现时间的设定/启动倒计时、时间预置,外部晶振选用6MHz。

6结束语

通过一个学期的学习,我初步了解了80C51的基本功能及使用方法。

初步掌握了简单的从编程到上机验证的过程。

虽然我的程序简单,但是我还是从中学到了很多东西,受益匪浅。

7参考文献

[1].《单片机原理及接口技术》李全利迟荣强北京高等教育出版社2004.1

[2]《单片机基础》李广弟,朱月秀,王秀山北京北京航空航天大学出版社

2001.7

[3]《可编程逻辑器件,原理,开发与应用》赵曙光,郭万有杨颂华西安西安电子科技大学2000.8

[4]《VHDL硬件描述语言与数字逻辑电路设计》候伯亨西安西安电子科技大学出版社,1999

 

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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