数字电子秒表设计101210.docx

上传人:b****7 文档编号:10014638 上传时间:2023-02-07 格式:DOCX 页数:22 大小:859.54KB
下载 相关 举报
数字电子秒表设计101210.docx_第1页
第1页 / 共22页
数字电子秒表设计101210.docx_第2页
第2页 / 共22页
数字电子秒表设计101210.docx_第3页
第3页 / 共22页
数字电子秒表设计101210.docx_第4页
第4页 / 共22页
数字电子秒表设计101210.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数字电子秒表设计101210.docx

《数字电子秒表设计101210.docx》由会员分享,可在线阅读,更多相关《数字电子秒表设计101210.docx(22页珍藏版)》请在冰豆网上搜索。

数字电子秒表设计101210.docx

数字电子秒表设计101210

实训设计任务书

专业年级班

一、设计题目

数字电子秒表设计

二、主要内容

利用独立式按键AN1(P0.0)启动定时器T0计时,AN2(P0.1)停止用于停止定时器T0计时,使用6个八段数码管输出记时值,秒钟的计时时间范围在0~99秒内。

三、具体要求

1、实验电路连线

①本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端;把跳线J9(紧贴51插座右方,蜂鸣器下方,RST复位键上方)跳到右端;把跳线J6跳到AN端,AN1(P0.0)~AN4(P0.4),(J6在51插座右下方,4×4键盘左上方)。

2、实验说明

①本实验中要将记时结果送6个数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:

先将记时值一位一位的拆开,分别送到显示缓冲区(片内数据存储30H~35H设定为显示缓冲区用于存放段码数据,其中32H~35H里面均存放0的段码0DFH)中去,然后调用显示子程序。

②与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。

TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。

TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为:

216*0.9216μs=60397.9776μs

再利用软件记数,当T0中断17次时,所用时间为

60397.9776*17=1026765.6192μs≈1s

因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电子秒表记时值加1(十进制),请参考硬件实验四有关内容。

③使用独立式按键AN1(P0.0)~AN2(P0.1)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,即通过P0.0和P0.1的输入值的变化控制秒表的启动和停止。

3、实验仪器和设备:

PC机、WAVE软件、51超级板等。

4、参考程序框图

 

A显示子程序框图

 

AN2按下AN1按下是

均未按下

 

B主程序框图CT0中断服务程序框图

5、参考资料见附件

四、进度安排

第1~2天:

模块1,阅读任务书,查找资料,制定设计方案;

第3~5天:

模块2,根据设计方案,绘制电路图;

第6~8天:

模块3,编写程序,实现控制方案;

第9~10天:

模块4,完成系统软硬件仿真调试,实现设计要求,完成实训报告。

实训设计题目

目录

一、设计任务分析…………………………………………………………………1

二、**************************总体方案的设计……………………………1

2.1********硬件电路的设计及原理……………………………………1

2.1.1****************单片机最小系统的工作原理…………………X

2.1.2****************按键的工作原理………………………………X

2.1.3****************数码管的工作原理……………………………X

……

2.2***************软件程序设计……………………………………X

2.2.1****************主程序…………………………………………X

2.1.2****************定时器TX中断服务程序………………………X

……

三、编写程序需要注意的问题……………………………………………………X

四、总结……………………………………………………………………………X

注意:

一级标题:

四号宋体加粗左对齐

二级及以下标题:

小四号宋体加粗,缩进2个字

 

实训设计题目

一、设计任务分析

本课题主要的目的是为了*****************************************。

 

二、************************总体方案的设计

2.1*******************设计

 

附件:

第一章伟福开发环境简介

双击桌面上的WAVE图标或从开始/程序/WAVEFORWINDOWS/WAVE进入本开发环境,其界面及主要功能如图2-1中所注。

图2-1WAVE界面

 

1.仿真器设置窗口

如图2-2所示,在实验开始时要先根据需要设置好仿真器类型、仿真头类型以及CPU类型,并注意是否“使用伟福软件模拟器”,若使用硬件仿真,请注意去掉“使用伟福软件模拟器”前的选择。

图2-2仿真器设置窗口

 

2.文件窗口

如图2-3,可在此窗口下进行包括新建、打开、保存等文件操作。

图2-3文件窗口

 

3.编译文件窗口

如图2-4,在此窗口下可将源文件编译成目标文件。

图2-4编译文件窗口

 

4.执行窗口

如图2-5,在此窗口下,可用全速、跟踪、断点等各种方式运行程序

图2-5执行窗口

 

5.窗口窗口

如图2-6-1,在此窗口下,可以观察各种窗口信息,其中最常用到的是CPU窗口和数据窗口。

图2-6-1窗口

 

a.CPU窗口

通过CPU窗口可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。

CPU窗口中还有SFR窗口和位窗口,让你了解程序执行过程中寄存器内容的变化。

图2-6-2CPU窗口

b.数据窗口

对51系列CPU,数据窗口有:

DATA内部数据窗口;CODE程序数据窗口;

XDATA外部数据窗口;PDATA外部数据窗口(页方式)

图2-6-3数据窗口

图2-6-4DATA(内部数据窗口)

图2-6-5CODE(程序数据窗口)

图2-6-6XDATA(外部数据窗口)

5151超级板

数码管显示实验

一、实验目的

1.学习八段数码管的工作原理。

2.学习八段数码管的使用和查表编程方法。

二、实验内容

利用共阴极的八段数码管在6个数码管上同时轮流输出显示1~6。

三、实验电路连线

本实验板中的共阴极数码管的段码a、b、c、d、e、f、g、dp分别与单片机的P2.0~P2.7依次相连,控制数码管中显示的字型;6个数码管的位选通信号由6个非门控制,分别接到单片机的P1.0~P1.5端口上。

程序中通过P1.0~P1.5输出高低电平控制数码管的显示和关闭,高电平时对应数码管显示,显示内容由P2.0~P2.7输出的段码控制。

四、实验说明

1、

本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端。

五、实验仪器和设备

PC机、WAVE软件、51超级板等。

六、参考程序框图

 

;*************************************************************

;*Description:

*

;*LED数码管显示演示程序*

;*在8个LED数码管上依次显示1,2,3,4,5,6*

;**

;*************************************************************

;===========================================================

ORG00000H;Reset向量

LJMPMAIN

 

;===========================================================

MAIN:

MOVSP,#60H;初始化堆栈指针

MOVP1,#00H;初始化I/O口

MOVP2,#0FFH

MAIN_LP:

LCALLDISPLAY

MOVDPTR,#DIS_CODE;设定显示初值

MOVA,#1

MOVCA,@A+DPTR

MOV30H,A

MOVA,#2

MOVCA,@A+DPTR

MOV31H,A

MOVA,#3

MOVCA,@A+DPTR

MOV32H,A

MOVA,#4

MOVCA,@A+DPTR

MOV33H,A

MOVA,#5

MOVCA,@A+DPTR

MOV34H,A

MOVA,#6

MOVCA,@A+DPTR

MOV35H,A

LCALLDISPLAY

SJMPMAIN_LP

;ENDOFmain

 

;===========================================================

 

DISPLAY:

PUSHACC

MOVP1,#00H;先关闭所有数码管

MOVA,#01H

MOVP1,A

MOVP2,30H

LCALLDELAY1

MOVA,#02H

MOVP1,A

MOVP2,31H

LCALLDELAY1

MOVA,#04H

MOVP1,A

MOVP2,32H

LCALLDELAY1

MOVA,#08H

MOVP1,A

MOVP2,33H

ACALLDELAY1

MOVA,#10H

MOVP1,A

MOVP2,34H

ACALLDELAY1

MOVA,#20H

MOVP1,A

MOVP2,35H

ACALLDELAY1

POPACC

RET

;ENDOFtimer0

;===========================================================

DELAY1:

MOVR5,#4

D3:

MOVR6,#123

NOP

DJNZR6,$

DJNZR5,D3

RET

DIS_CODE:

DB0DFH;0

DB086H;1

DB0BBH;2

DB0AFH;3

DB0E6H;4

DB0EDH;5

DB0FDH;6

DB087H;7

DB0FFH;8

DB0EFH;9

DB0F7H;A

DB0FCH;B

DB0D9H;C

DB0BEH;D

DB0F9H;E

DB0F1H;F

END

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;单片机学习板005----------------------------按键扫描实验;;;;;;;;

;;;;;;;;;;;;;

;;;本程序为按键演示程序,按下AN1,数码管显示循环加一,按下AN2;;;;

;;;数码管显示循环减一。

AN1---p0.0,AN2---p0.1;;;;

;;;程序运行期间可能按键出现失灵现象,长按一会就可实现其功能;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ORG0000H

AJMPSTART

ORG0030H

START:

JNBP0.0,ADD1

JNBP0.1,SUB1

AJMPSTART

ADD1:

MOVA,#00H

MOVR0,A

MOVDPTR,#ZIXINGMA

LOOP:

JNBP0.0,ADD1

JNBP0.1,SUB1

MOVA,R0

MOVCA,@A+DPTR

MOVP2,A

ACALLDELAY

CJNEA,#00,NEXT

AJMPADD1

NEXT:

INCR0

AJMPLOOP

SUB1:

MOVA,#00H

MOVR1,A

MOVDPTR,#ZIXINGMA1

LOOP1:

JNBP0.0,ADD1

JNBP0.1,SUB1

MOVA,R1

MOVCA,@A+DPTR

MOVP2,A

ACALLDELAY

CJNEA,#00,NEXT1

AJMPSUB1

NEXT1:

INCR1

AJMPLOOP1

DELAY:

MOVR4,#10

D2:

MOVR5,#250

D3:

MOVR6,#250

NOP

DJNZR6,$

DJNZR5,D3

DJNZR4,D2

RET

ZIXINGMA:

DB0DFH;0

DB086H;1

DB0BBH;2

DB0AFH;3

DB0E6H;4

DB0EDH;5

DB0FDH;6

DB087H;7

DB0FFH;8

DB0EFH;9

DB0F7H;A

DB0FCH;B

DB0D9H;C

DB0BEH;D

DB0F9H;E

DB0F1H;F

DB00H

ZIXINGMA1:

DB0F1H;F

DB0F9H;E

DB0BEH;D

DB0D9H;C

DB0FCH;B

DB0F7H;A

DB0EFH;9

DB0FFH;8

DB087H;7

DB0FDH;6

DB0EDH;5

DB0E6H;4

DB0AFH;3

DB0BBH;2

DB086H;1

DB0DFH;0

DB00H

END

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;单片机学习板011----------------------------定时器计数器实验;;;;;;;;

;;;;;;;;;;;;;

;;;;广告灯左移计时中断

;;;;;

ORG00H

JMPSTART

ORG0BH

JMPTIM0

START:

MOVTMOD,#00H

MOVTH0,#0F0H

MOVTL0,#0CH

SETBEA

SETBTR0

SETBET0

MOVR5,#100

MOVA,#0FEH

MOVP2,A

LJMP$

TIM0:

;中断服务程序

CLRTR0

MOVTH0,#05H

MOVTL0,#01H

SETBTR0

DJNZR5,LOOP

MOVR5,#100

RLA

MOVP2,A

LOOP:

RETI

END

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

当前位置:首页 > 初中教育 > 科学

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

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