简易数字秒表课程设计1.docx

上传人:b****5 文档编号:7907949 上传时间:2023-01-27 格式:DOCX 页数:20 大小:134.76KB
下载 相关 举报
简易数字秒表课程设计1.docx_第1页
第1页 / 共20页
简易数字秒表课程设计1.docx_第2页
第2页 / 共20页
简易数字秒表课程设计1.docx_第3页
第3页 / 共20页
简易数字秒表课程设计1.docx_第4页
第4页 / 共20页
简易数字秒表课程设计1.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

简易数字秒表课程设计1.docx

《简易数字秒表课程设计1.docx》由会员分享,可在线阅读,更多相关《简易数字秒表课程设计1.docx(20页珍藏版)》请在冰豆网上搜索。

简易数字秒表课程设计1.docx

简易数字秒表课程设计1

 

单片机技术课程设计说明书

题目

系、部:

电气与信息工程系

学生姓名:

胡世平

指导教师:

王韧职称副教授

专业:

自动化

班级:

自本0801班

完成时间:

2010年12月30日星期三

 

摘要

随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,渗透到人们日常生活的方方面面,,掌握必要的电工电子知识已经成为当代大学生特别是理工类大学生必备的素质之一。

本次我们设计的秒表,是以AT89S52为核心,以分频、计数与译码显示模块为主要构成部分的电子秒表的设计方案,充分利用数字电路的计数、译码、显示的优良特性,使整个设计达到了比较满意的效果。

基本电路主要有时基产生电路、电源电路、分频电路、计数与译码电路(包括显示电路)、开关按钮电路。

所设计的电子秒表达到了设计要求的各项指标,并且在这个基础上进行了功能扩展,系统具有随时启动、停止以及清零功能。

这次设计中不但对以前的知识进行巩固,而且学会了更多的新知识,提高思维、强化动手能力,能够更好地适应和走上工作岗位,为以后的就业打下一定的基础。

关键词数字式秒表;单片机;计时

ABSTRACT

Withthedevelopmentofelectronictechnology,electronictechnologyinvariousfieldsofusingmoreandmorewidely,penetratesintoallaspectsofPeople'sDailylife,andhavethenecessaryelectricalandelectronicknowledgehasbecomecontemporarycollegestudentsespeciallynecessary.

Thiswedesignedstopwatch,isAT89S52asthecore,withseparatefrequency,countinganddecodingdisplaymoduleformaincomponentsofelectronicstopwatchdesignscheme,makefulluseofdigitalcircuitcounting,decoding,displayexcellentcharacteristicsof,makewholedesignachievedsatisfactoryeffect.Thebasiccircuitmainsometimesbaseproducecircuit,countanddecodercircuit(includingdisplaycircuit),switchbuttoncircuit.Thedesignofelectronicstopwatchmeetsthedesignrequirementsofeachindex,andonthisbasis,thefunctionexpansionandthesystemhasalwaysstartandstopandresetfunction.Thisdesignnotonlyforthepreviousknowledgeforconsolidated,andlearntomorenewknowledge.

KeywordsDigitalstopwatch;Computers,; Counttime

目录

1设计课题名称任务、功能要求说明及总体方案介绍等等………………………4

1.1设计课题任务…………………………………………………………………4

1.2功能要求说明…………………………………………………………………4

1.3设计课题总体方案介绍………………………………………………………4

2硬件系统的设计……………………………………………………………………5

2.1硬件系统各模块功能简要介绍……………………………………………6

2.2电路原理图、PCB图、元器件布局图………………………………………6

2.3元器件清单…………………………………………………………………9

3软件系统的设计…………………………………………………………………11

3.1设计课题使用单片机资源的情况…………………………………………11

3.2设计课题软件系统各模块功能简要介绍…………………………………11

3.3设计课题软件系统程序流程框图…………………………………………13

3.4设计课题软件系统程序清单………………………………………………15

4设计结论、仿真结果、误差分析、教学建议等等………………………………21

4.1设计课题的设计结论及使用说明…………………………………………21

4.2设计课题的仿真结果………………………………………………………21

4.3设计课题的误差分析………………………………………………………22

4.4设计体会,谈谈本设计的重点、难点及精妙之处…………………………22

4.5教学建议……………………………………………………………………22

致谢……………………………………………………………………………………23

参考文献………………………………………………………………………………24

附录……………………………………………………………………………………25

 

1设计课题名称任务、功能要求说明及总体方案介绍

1.1设计任务:

设计一个单片机控制的多功能秒表系统。

利用单片机的定时器计数器定时计数的原理,结合显示电路,用8个LED数码管以及按键来设计计时器。

将软、硬件有机的结合起来,使得系统能够正确的进行加计时。

同时,数码管能够正确的显示时间。

1.2功能要求说明:

该秒表是基于单片机技术设计的8位数字式秒表。

它具有计时的功能,该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

该数字式秒表具有开始、暂停、连续、清零和停止功能。

1.3设计课题总体方案介绍

 

2.硬件系统的设计

 

2.1各模块功能介绍

电子秒表主要应用了单片机最小系统中的“数码管电路”、“CPU”、“下载口”、“独立式键盘”、“晶振电路”、“电源”。

其中“数码管电路”主要负责显示功能,“CPU”负责对数据处理、采集、发送的功能,“下载口”负责输入软件程序,“独立式键盘”负责人机沟通进行操作的功能,“晶振电路”负责提供外部震荡信号,“电源”提供单片机最小系统的“+5V”电源。

2.3总体电路图,布线图以及说明:

2.3.1电路图部分

电路图部分见附录

2.3.2数码管显示部分

数码管是一种把多个LED显示段集成在一起的显示设备。

有两种类型,一种是共阳型,一种是共阴型。

共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。

动态显示的原理是,各个数码管的相同段连接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。

利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

本设计采用两个四位共阳数码管实现。

位控线通过八个PNP接在8951P2口,段控线接至P0口线。

2.3.3键盘部分

本系统采用的是独立键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。

他软件是采用查询结构,首先逐位查询每根I/O口线的输入状态,如某根I/O口线输入为低电平,则可确认该口线所对应的按键已按下,然后,在转向该键功能处理程序。

2.3.4时钟信号部分

单片机本身是一个复杂的同步时序系统,为了保证同步工作方式的思想,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。

本设计采用单片机片内时钟电路结合外部晶振、电容产生。

图所示为时钟电路原理图,在at89s52芯片内部有一个高增益方相刚大器,其输入端为芯片引脚XTAL1,输出端魏应交XTAL2。

而在内部,XTAL1和XTAL2之间跨接晶体振荡器。

时钟电路产生的震荡脉冲为单片机提供时钟脉冲信号

2.3.5电源部分

利用变压线圈和稳压管以及极性和无极性电容制作一个带有±5V的直流电压源。

这个直流电压源的功率能够驱动带有单片机最小系统、简单的数字功放,以及本次我们做的简易三功能电子秒表。

2.3.6复位电路部分

复位是单片机的初始化操作,其主要功能是吧PC初始化为0000H,是单片机从0000H单元开始执行程序,病史复位电路采用的是按键复位,他是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。

 

2.3.7Protel布线图部分

PROTEL布线图见附录

2.3.8Protues仿真图部分

Protues仿真图见附录

2.3元器件选择及说明:

2.3.1元器件清单

表2.3.1元器件清单

名称

规格

数量

变压器(中心轴头)

12V输出20w

1

六角开关

6mm*6mm

1

电解质电容

25v2200µF

2

电解质电容

25v470µF

4

瓷片电容

104

4

LM7812

1

LM7912

1

LM7805

1

LM7905

1

发光二极管

0.5mm

4

接口插座

12

散热片

4

整流桥

2W102A/1000V

1

220V电源插头线

1

AT89S52

1

底座

3

晶振

12MHZ

1

单排插

40脚

1

三极管PNP型

9012

9

蜂鸣器

1

小按键

9

下载口座子

十芯

1

18b20温度传感器

1

六脚开关

1

USB电源线加接口

1

电阻

200

1

电阻

4.7K

1

电阻

1K

3

电阻

470

24

电解电容

220uF

1

瓷片电容

33pF

2

排阻

10K

2

短路帽

3

杜邦线8p

1

PCB板子

1

3.软件系统的设计

 

3.1使用单片机资源介绍

KA、KB、KC键分别连接P1.0-P1.2,当有键按下时P1.0-P1.2的某一位为低电平,反之,则为高电平;

两个八位数码管位控线分别连接P2口的P2.0-P2.7,从左至右。

其段控线分别接至P0.7---P0.0段控线,分别接LED的显示段dp,g,f,e,d,c,b,a,采用共阳数码管,当控制位为低电平时,LED相应段点亮。

P2.0---P2.7位控线,(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0),显示缓冲区设定从左至右依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH。

3.2软件系统各模块功能介绍

本系统的软件系统主要可分为主程序、定时计数中断程序、键扫描程序、键功能程序、延时程序、显示子程序几大大模块。

*************************************************************************

堆栈栈底80H

*************************************************************************

LED数码管显示器设定

P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

P2.0---P2.7位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

显示缓冲区设定从左至右依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH

*************************************************************************

独立式键盘设定

8个按键S2至S9分别依次接在P1.0至P1.7口线

30H为毫秒寄存器

31H为秒寄存器

32H为分寄存器

*************************************************************************

键功能程序

KEYA(S2键键功能程序)

KEYB(S3键键功能程序)

KEYC(S4键键功能程序)

TC0(中断服务程序)

*************************************************************************

常数表格

DISBH(系统提示符P.字型代码序号表)

DISBI(00-00字符的代码序号)

TAB(共阳数码管字型代码表)

*************************************************************************

子程序

DL(2毫秒延时子程序)

DISP(数码管显示子程序)

KEY(键扫描子程序);

KEYCHULI(P1口数据处理子程序)

 

3.3流程框图

图3.1主流程框图

图3.2中断服务程序流程框图

图3.3键扫描程序流程框图

;项目名称:

秒表

;设计者:

胡世平

;设计日期:

2010年12月25日

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

;堆栈栈底7FH;

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

;LED数码管显示器设定;

;P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

;P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

;显示缓冲区设定从左至右依次为7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

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

;独立式键盘设定;

;8个按键S2至S9分别依次接在P1.0至P1.7口线;

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

;子程序;

;DL(1毫秒延时子程序,晶振频率12MHz)

;KEY(键扫子程序)

;KEYCHULI(P1口数据处理子程序)

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

;常数表格;

;DISBH(共阳数码管字型代码表)

;TAB(系统提示符P.字型代码序号表)

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

;中断服务程序;

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

;键功能程序;

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

;数据存储器变量及常量单元定义;

;

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

;伪指令定义区

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

ORG0000H

START:

LJMPMAIN

ORG000BH

LJMPZHONG

ORG0030H

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

;初始化程序

MAIN:

MOVSP,#7FH

MOVPSW,#00H

MOVR0,#20H

MOVR7,#96

KAI:

MOV@R0,#00H

INCR0

DJNZR7,KAI

TSF:

MOVDPTR,#DISBH

MOVR5,#08H

MOVR0,#78H

DISPTS:

CLRA

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR5,DISPTS

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

JIAN:

LCALLDISP

LCALLKEYLUO

JB20H.0,KEY00;是S2键,转KEY00执行

LJMPJIAN

LCALLDISP

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

KEY00:

MOVR4,#100

MOV78H,#00H

MOV79H,#00H

MOV7AH,#12H

MOV7BH,#00H

MOV7CH,#00H

MOV7DH,#12H

MOV7EH,#00H

MOV7FH,#00H

SETBEA

SETBET0

MOVTMOD,#01H

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBTR0;启动定时

LCALLDISP

PP:

LCALLDISP

LCALLKEYLUO

LCALLDISP

JNB20H.0,DUD;按下暂停键

LCALLDISP

LJMPSDF

LCALLDISP

DUD:

JNB20H.1,PP;按下直接清零键(暂停)

MOV78H,#00H

MOV79H,#00H

MOV7AH,#12H

MOV7BH,#00H

MOV7CH,#00H

MOV7DH,#12H

MOV7EH,#00H

MOV7FH,#00H

PP22:

LCALLDISP

LCALLKEYLUO

JNB20H.0,PP22;清零键(暂停)的启动键

LCALLDISP

LJMPKEY00

LCALLDISP

SDF:

CLRTR0;关闭定时

LCALLDISP

P8:

LCALLDISP

LCALLKEYLUO

LCALLDISP

JNB20H.0,DU;启动键

LCALLDISP

LJMPPP8

LCALLDISP

DU:

JNB20H.1,P8;暂停时的清零键

LCALLDISP

MOV78H,#00H

MOV79H,#00H

MOV7AH,#12H

MOV7BH,#00H

MOV7CH,#00H

MOV7DH,#12H

MOV7EH,#00H

MOV7FH,#00H

PP11:

LCALLDISP

LCALLKEYLUO

LCALLDISP

JNB20H.0,PP11m;清零后再次启动键

LCALLDISP

LJMPKEY00

LCALLDISP

PP8:

SETBTR0

LCALLDISP

LJMPPP

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

;中断服务程序

ZHONG:

MOVTH0,#0D8H

MOVTL0,#0F0H

MOVR0,#79H

LCALLDAAD1

DJNZR4,OUT

MOVR4,#100

MOVR0,#7CH

LCALLDAAD1

CJNEA,#6,OUT

MOV7CH,#00H

MOVR0,#7FH

LCALLDAAD1

CJNEA,#6,OUT

MOV7FH,#00H

OUT:

RETI

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

;加1子程序

DAAD1:

MOVA,@R0

DECR0

SWAPA

ORLA,@R0

ADDA,#01H

DAA

MOVR2,A

ANLA,#0FH

MOV@R0,A

MOVA,R2

INCR0

ANLA,#0F0H

SWAPA

MOV@R0,A

RET

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

;数码管显示子程序

DISP:

PUSHDPH

PUSHDPL

PUSHACC

PUSHPSW

CLRRS1;改变当前寄存器组为组1

SETBRS0

MOVR1,#78H;显示缓冲存储单元首地址

MOVR2,#0FEH;从右至左显示

DISP1:

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A;送段控

MOVP2,R2;送位控

LCALLDL;延时2毫秒

MOVA,R2

JNBACC.7,DISP2

RLA

INCR1

MOVR2,A

LJMPDISP1

DISP2:

POPPSW;恢复当前寄存器组的组号

POPACC

POPDPL

POPDPH

RET

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

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

当前位置:首页 > 高等教育 > 工学

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

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