基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表设计与实现课程设计报告
基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表课程设计报告

一、设计题目

秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。

二、增加功能

增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)

三、设计提要

本实验利用单片机的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0 时开始计时)。本实验中开始时都要使各按键回到各初始位置,即都处于1状态。

三、课设目的

1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,

对单片机课程的应用进一步的了解。

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

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

四、意义

该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

五、本人所做工作

根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。

六、实验内容

用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。

按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms 快速加一,即数码显示管在原先的计数上快速加一。

七、设计思路及描述

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

十、实验程序

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

; 设计选题:实验五-----秒表系统设计

; 描述: 2位LED数码显示"秒表",显示时间为00~99秒,每秒自动加1,

; 一个"开始"键,一个"复位"键,一个"暂停"键,一个“快加”键。; 调用子程序:暂停键子程序,计时键子程序,清0键子程序,加一子程序

; 显示子程序,定时子程序

;所用特殊寄存器:寄存器A,寄存器C

;所用中断:外部中断INT0、INT1,定时器T0、T1

; 实验作者: 吴呤--2号,方晓瑛--10号

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

org 0000h

ajmp main ;主程序入口地址

org 0003h

ajmp zhongduan0 ;中断0入口地址

org 000bh

ajmp yanshi ;定时器T0入口地址

org 0013h

ajmp zhongduan1 ;中断1入口地址

org 001bh

ajmp dingshi1 ;定时器T1入口地址

org 0030h

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

; 主程序

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

*

main: mov tcon,#05h ;主程序开始外部中断跳变模式

mov tmod,#11h ;定时器0,1模式1

mov ie,#8fh ;开总中断,中断0,1,定时器0,1

mov dptr,#tab

mov r1,#00h

mov r2,#00h

mov r3,#40 ;循环次数40

mov tl0,#2Ch ;置初值,定时25MS

mov th0,#0CFh

mov tl1,#78h ;置初值,定时10MS

mov th1,#0ech

clr tr0 ;关定时器

clr tr1

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

; 暂停键K3,快加键K4程序

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

here:jb p1.0,here

show:clr tr1

clr tr0

acall xianshi

kuaijia:jb p1.2,kuaijia ;等待P1.2为0 快加

clr tr0

setb tr1

here3:jnb p1.2,here3

ajmp here

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

; 外部中断INT0子程序-----计时按键K1子程序

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

zhongduan0: setb tr0 ;计时按键

reti

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

; 外部中断INT1子程序----复位按键K2子程序

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

zhongduan1:clr tr0 ;复位按键

clr tr1

mov 12h,#00h

mov 11h,#00h

acall xianshi ;调用显示子程序

mov r1,#00h

mov r2,#00h

reti

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

; 加一子程序

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

jia1: inc r1 ;加1子程序

cjne r1,#0ah ,loop ;判断是否到表尾

mov r1,#00h

inc r2

cjne r2,#0ah,loop

mov r2,#00h

loop: mov 12h,r1 ;重新赋值

mov 11h,r2

ret

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

; 显示子程序

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

*

xianshi:mov r7,#02h ;2个数码管显示子程序

mov r0,#12h

loop5: mov r6,#08h ;8位2进制数

mov a,@r0

movc a,@a+dptr

loop6:rlc a ;循环左移

clr p3.1

mov p3.0,c

setb p3.1

djnz r6,loop6

dec r0

djnz r7,loop5

ret

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

; 定时器T0子程序

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

yanshi: mov tl0,#2Ch ;定时子程序

mov th0,#0CFh

djnz r3,loop7

acall jia1 ;调用加1子程序

acall xianshi ;调用显示子程序

mov r3,#40

loop7: reti

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

;定时器T1子程序

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

dingshi1:mov tl1,#78h ;置初值,定时10MS

mov th1,#0ech

clr tr0

setb tr1

mov 12h,r1

mov 11h,r2

jnb p1.0,show

acall jia1

acall xianshi

lop7:reti

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

tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

end

十一、课程设计心得体会

1、认真审题,看懂题目的要求!选择适当的课题,不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力!

2、根据课题要求,复习相关的知识,查询相关的资料。

3、根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。

4、根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。

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

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

7、该实验的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。

8、在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。

9、这次的单片机课程设计重点是理论与实际的相结合。不再只读书了。

10、该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。

此设计完毕!!

-------------------------------------------------------

下面提供一个程序(供参考的)

;开机初始化

MOV P3,#0FFH;对P3口初始化,设置为高电平,用于按键输入

MOV P0,#0FFH;使显示时间数码管熄灭

CLR F0

CLR F1

MOV DPTR,#NUMTAB ;指定查表启始地址

;等待按键输入

;根据按键的输入判断执行什么功能

;按键1按下则执行功能1

MOV P3,#0FFH;对P3口初始化,设置为高电平,用于按键输入

MOV P0,#0FFH;使显示时间数码管熄灭

START:JB P3.6,START1;循环判断开始按钮K1是否按下?

ACALL DELAY10;延时10毫秒触点消抖

JB P3.6,START;如果是干扰就返回

JNB P3.6,$;等待按键松开

LJMP GN1

;按键2按下则执行功能2

START1: JB P3.7,START;循环判断开始按钮K2是否按下?

ACALL DELAY10;延时10毫秒触点消抖

JB P3.7,START1;如果是干扰就返回

JNB P3.7,$

LJMP GN2

;数码管显示秒表时间的程序

GN1: ;先初始化

S1:MOV A,#0

MOV TEMP,A

GOON1: MOV R2,#2

JS1: MOV R3,#250

TIME1: MOV A,TEMP ;将TEMP中的十六进制数转换成10进制MOV B,#10 ;10进制/10=10进制

DIV AB

MOV B_BIT,A ;十位在A

MOV A_BIT,B ;个位在B

LCALL DPLOP1

;插入一段判断定时过程中是否有按键输入的程序段

C1: JB P3.6,B1

ACALL DELAY10;延时10毫秒消抖

JB P3.6,C1

JNB P3.6,$;等待按键松开

CPL F0

ZT1: ; MOV P3,#0FFH;对P3口初始化,设置为高电平,用于按键输入

JB P3.6,$;循环判断开始按钮K1是否按下?

ACALL DELAY10;延时10毫秒触点消抖

JB P3.6,ZT1;如果是干扰就返回

JNB P3.6,$;等待按键松开

LCALL DPLOP1

B1: JB P3.7,LOOP1

ACALL DELAY10;延时10毫秒消抖

JB P3.7,B1

JNB P3.7,$;等待按键松开

AJMP OVER

LOOP1: DJNZ R3,TIME1 ;2毫秒循环执行250次,时间约0.5秒DJNZ R2,JS1 ;循环执行2次,时间为1 秒钟

INC TEMP;满一秒钟对时间加1

MOV A,TEMP

CLR C

SUBB A,#60

JNZ GOON1;判断TEMP的数值是否为60?不为60循环

ACALL OVER

RET

GN2: MOV A,#14H ; 设定倒计时的时间20S

MOV TEMP,A

;数码管显示倒计时时间的程序

;初始化

MOV P3,#0FFH;对P3口初始化,设置为高电平,用于按键输入

MOV P0,#14H;使显示时间为设定的倒计时时间

GOON2: MOV R2,#2

JS2: MOV R3,#250

TIME2: MOV A,TEMP ;将TEMP中的十六进制数转换成10进制MOV B,#10 ;10进制/10=10进制

DIV AB

MOV B_BIT,A ;十位在A

MOV A_BIT,B ;个位在B

MOV DPTR,#NUMTAB ;指定查表启始地址

DPLOP2: MOV A,A_BIT ;取个位数

MOVC A,@A+DPTR ;查个位数的7段代码

MOV P0,A ;送出个位的7段代码

CLR P2.5 ;开个位显示

ACALL DELY1;显示1毫秒

SETB P2.5;关闭个位显示,防止鬼影

MOV A,B_BIT ;取十位数

MOVC A,@A+DPTR ;查十位数的7段代码

MOV P0,A ;送出十位的7段代码

CLR P2.6 ;开十位显示

ACALL DELY1;显示1毫秒

SETB P2.6;关闭十位显示,防止鬼影

;插入一段判断定时过程中是否有按键输入的程序段

C2: JB P3.6,B2

ACALL DELAY10;延时10毫秒消抖

JB P3.6,C2

JNB P3.6,$;等待按键松开

ZT2: MOV P3,#0FFH;对P3口初始化,设置为高电平,用于按键输入

JB P3.6,$;循环判断开始按钮K1是否按下?

ACALL DELAY10;延时10毫秒触点消抖

JB P3.6,ZT2;如果是干扰就返回

JNB P3.6,$;等待按键松开

B2: JB P3.7,LOOP2

ACALL DELAY10;延时10毫秒消抖

JB P3.7,B1

JNB P3.7,$;等待按键松开

AJMP OVER

LOOP2: DJNZ R3,TIME2 ;2毫秒循环执行250次,时间约0.5秒DJNZ R2,JS2 ;循环执行2次,时间为1 秒钟

DEC TEMP;满一秒钟对时间减1

MOV A,TEMP

JNZ GOON2;判断TEMP的数值是否为0?不为0循环

ACALL OVER

RET

;结束定时

OVER: AJMP START;退到开机初始化状态

;1毫秒延时子程序

DELY1: MOV R4,#2

D1:MOV R5,#248

DJNZ R5,$

DJNZ R4,D1

RET

;10毫秒延时子程序

DELAY10: MOV R4,#20

D2:MOV R5,#248

DJNZ R5,$

DJNZ R4,D2

RET

;实验板上的两位一体的数码管0~9各数字的显示代码NUMTAB: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H DPLOP1: MOV A,A_BIT ;取个位数

MOVC A,@A+DPTR ;查个位数的7段代码

MOV P0,A ;送出个位的7段代码

CLR P2.5 ;开个位显示

ACALL DELY1;显示1毫秒

SETB P2.5;关闭个位显示,防止鬼影

MOV A,B_BIT ;取十位数

MOVC A,@A+DPTR ;查十位数的7段代码

MOV P0,A ;送出十位的7段代码

CLR P2.6 ;开十位显示

ACALL DELY1;显示1毫秒

SETB P2.6;关闭十位显示,防止鬼影

RET

END

基于单片机的多功能秒表课程设计

基于单片机的多功能秒表课程设计

郑州科技学院 单片机课程设计 题目基于单片机的 多功能秒表 学生姓名陈裕禄 专业班级11级通信工程2班学号201151037 院(系)信息工程学院指导教师周喜 完成时间2015 年1 月16 日

目录 1 设计概述 (1) 1.1设计目的 (1) 1.2设计要求 (1) 1.3设计意义 (1) 2 系统总体方案及硬件设计 (2) 2.1系统总体方案 (2) 2.2硬件设计 (2) 2.3时钟电路 (3) 2.4复位电路 (4) 2.5按键电路 (5) 2.6显示电路 (6) 3 软件设计 (7) 3.1设计思路 (7) 3.2程序流程框图设计 (7) 4 PROTEUS软件仿真 (9) 5 课程设计体会 (10) 参考文献 (12) 附录1:总体电路原理图 (13)

附录2:元器件清单 (14) 附录3:实物图 (15) 附录4:源程序 (16)

1 设计概述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2 设计要求 (1)共四位LED显示,显示时间为00:00~59.99 (2)共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3)能同时记录多个相对独立的时间并分别显示; (4)按上下翻按钮查看多个不同的计时值; 1.3 设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录 1

单片机的数字秒表课程设计

数字式秒表的设计介绍 1.1设计任务及功能要求说明 由单片机接收小键盘控制递增计时,由LED 显示模块计时时间,显示格式为 XX(分):XX(秒).XX,精确到0.01s的整数倍。绘制系统硬件接线图,并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。 使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功能。 1.2数字式秒表的方案介绍及工作原理说明 使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;采用S8550作为数码管的驱动部分;用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。 对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。 LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。 键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。 显示部分方案:显示部分采用动态显示。数码管动态显示接口是单片机中应

单片机的秒表系统设计方案

编号:201834140148 本科毕业设计 基于单片机的秒表系统设计 系 (院>:信息工程学院 姓名: 学号:0835140148 专业:通信工程 年级:2008级 指导教师: 职称:副教授 完成日期:2018年5月

摘要 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。单片机的出现是现代科技发展的一个重要的里程碑。由于单片机的集成度高、功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。 本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为59.9秒,每毫秒自动加1,一个开始按键、一个暂停按键、一个复位按键,其突出的优点是:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活。最后通过仿真调试,在proteus环境下建立了仿真模型,仿真结果表明本设计是正确的。 关键词:单片机;秒表;时钟电路;系统设计 Abstract

In the present era, is a new technology emerge in an endless stream time. In the field of electronics, especially the intelligent automatic control field, the traditional discrete components or digital logic circuit of the control system is at an unprecedented pace was replaced by intelligent control system. SCM has the advantages of small volume, strong function, low cost, wide application range and other advantages, can say, intelligent control and automation is the core of scm. SCM is the emergence of modern science and technology development of an important milepost. As the single-chip high integration, strong function, good versatility, especially it has the advantages of small volume, light weight, low energy consumption, low price, the single chip microcomputer rapidly spreading, has now become the measurement control in the application system of optimization models and the new electronic product key parts. This design is the use of a single chip computer controlled multi-function stopwatch system, which is based on the51 series single-chip system design. It uses AT89C51 microcontroller as the center device, use the timer / counter timing and counting principles, combined with display circuit, power supply circuit, LED digital tube and a keyboard circuit to design the timer. The soft, hardware combination, so that the system can achieve four LED display, maximum display time is 59.9 seconds, each MS add 1, a start button, a pause button, a reset button, the utility model has the advantages of small volume, off-site operations:, lowest power consumption, to use the battery as a power, compact hardware structure, simple and flexible software design. Finally through the simulation debugging, in the Proteus environment to establish the simulation model, the simulation results show that the design is correct. Key words: single chip microcomputer。 stopwatch clock circuit。 system design

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

基于单片机的多功能秒表

郑州科技学院 单片机课程设计 题目基于单片机的 多功能秒表 学生姓名 专业班级 学号 院(系) 指导教师 完成时间2015 年1 月16 日

目录 1 设计概述 (1) 1.1设计目的 (1) 1.2设计要求 (1) 1.3设计意义 (1) 2 系统总体方案及硬件设计 (2) 2.1系统总体方案 (2) 2.2硬件设计 (2) 2.3时钟电路 (3) 2.4复位电路 (4) 2.5按键电路 (5) 2.6显示电路 (6) 3 软件设计 (7) 3.1设计思路 (7) 3.2程序流程框图设计 (7) 4 PROTEUS软件仿真 (9) 5 课程设计体会 (10) 参考文献 (12) 附录1:总体电路原理图 (13)

附录2:元器件清单........................................... 错误!未定义书签。附录3:实物图 . (15) 附录4:源程序 (16)

1 设计概述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2 设计要求 (1)共四位LED显示,显示时间为00:00~59.99 (2)共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3)能同时记录多个相对独立的时间并分别显示; (4)按上下翻按钮查看多个不同的计时值; 1.3 设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用A T89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录

单片机秒表设计报告

广西科技大学 单片机课程设计说明书课题名称单片机秒表系统的设计 系别职业技术教育学院 专业电子信息工程 班级电子Z112 姓名(学号)红头巾组合 指导教师廖贵成 摘要

近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的电子秒表设计。本设计主要特点是计时精度达到0.1s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。 本设计是基于AT89C51单片机设计的,我们是分为几个模块来设计的。首先对秒表的硬件进行了设计,它包括时钟电路设计、复位电路设计以及外部显示电路。利用89C51单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。计时精度为0.1s。其次是软件进行了设计,软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。最后通过仿真调试,在proteus环境下建立了仿真模型,仿真和调试结果表明本设计是正确的。 关键词:单片机;秒表;系统设计

目录 摘要………………………………………………………………………………………I 1 课题内容要求及目的 (1) 1.1课题内容 (1) 1.2课题要求 (1) 1.3 课题目的 (2) 2 硬件设计 (2) 2.1 AT89C51单片机简介 (2) 2.2设计思路 (3) 2.3硬件电路设计 (3) 3软件设计 (6) 3.1程序设计 (6) 3.2源程序 (7) 4系统调试与仿真 (11) 4.1 proteus简介 (12) 4.2仿真调试 (12) 5总结 (15) 参考文献 (16) 致谢 (16)

51单片机课程设计秒表

微控制器技术课程 设计报告 设计题目:秒表 专业:供用电技术 班级:供电141 学号:140315143 姓名:王晨铭 指导教师:李昊 设计时间:2016.6.21

微控制器技术课程设计任务书 设计题目:秒表 设计时间:2016.6.20 设计任务: 在单片机开发板或软件仿真,编制程序,实现以下功能 1、利用定时器实现秒表功能,精确到0.1S; 2、数码管显示当前计时时间; 3、设定三个键,计时开始,停止计时和复位清零。 背景资料:1、单片机原理与应用 2、检测技术 3、计算机原理与接口技术 进度安排: 1、第1天,领取题目,熟悉设计内容,分解设计步骤和任务; 2、第3天,规划设计软硬件,编制程序流程、绘制硬件电路。 3、第5天,动手制作硬件电路,或编写软件,并调试。 4、第7天,中期检查。 5、第9天,完善设计内容,书写设计报告。 6、第13天,提交设计报告,整理设计实物,等待答辩。 7、第14天,设计答辩。

目录 一、设计任务和要求 (3) (1)设计任务 (3) (2)设计要求 (3) 二、设计方案与论证 (3) 三、单元电路设计与参数计算 (4) (1)时钟电路 (4) (2)按钮电路 (4) (3)显示电路 (5) (4)单片机 (5) 四、原理图及器件清单 (6) ( 1 )总原理图 (6) (2)PCB图 (7) (3)Proteus仿真图 (7) (4)元器件清单 (8) 五、安装与调试 (8) (1)安装 (8) (2)调试 (8) 六、性能测试和分析 (9) 七、结论和心得 (9) 八、参考文献 (9)

题目:秒表 二、方案设计与论证 本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。但根据显示方式的不同选择,我们可以有几种方案: 方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。 方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。 本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略) 显示电路 单片机 AT89C51 时钟电路 按钮电路

单片机 10秒秒表课程设计

赣南师范学院物理与电子信息学院 课程设计Ⅳ设计报告书 基于AT89S52单片机的 10秒秒表的设计 姓名:匡远熹 班级:09电子信息工程 学号:090802015 指导老师:刘小燕 时间:2012.1.01

目录 内容摘要 (1) 关键词................................................................. 错误!未定义书签。Abstract............................................................. 错误!未定义书签。Keywords............................................................. 错误!未定义书签。1绪论. (2) 2 系统设计 (2) 2.1 设计任务与要求 (3) 2.2 方案的选择与论证 (3) 3 系统硬件设计 (4) 3.1 AT89C52简介 (4) 3.2 时钟电路 (5) 3.3 复位电路 (5) 3.4 显示电路 (6) 3.5引脚控制 7 3.6 硬件元件清单 (7) 4软件设计与仿真 (7) 4.1主程序设计 (7) 4.2 仿真软件简介 (9) 4.3 仿真结果 (10) 4.4 系统调试 (11) 结束语 (12) 附录:程序清单 (14) 参考文献 (16)

内容摘要:本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.1s,是各种体育竞赛的必备设备之一。本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程。硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键字:秒表;单片机AT89S52;硬件;软件;仿真 Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after the last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition. Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation

单片机秒表实验报告

安徽科技学院机电与车辆工程学院 《电子电路课程综合实训》 验收材料 题目: 电子秒表 姓名(学号) 胡斌1609110208 李绪1609110214 王增龙1609110227 段鑫鹏 专业: 电气工程及其自动化 班级: 112班 指导教师:叶爱芹 2013 年 12 月 29日

目录 第一章单片机课程设计任务书 (1) 一、目的意义 (1) 二、设计时间、地点和班级 (1) 三、设计内容 (1) 四、参考电路图形 (2) 五、单片机的相关知识 (3) 第二章硬件设计 (5) 一、单片机简介 (5) 二、电源电路 (5) 三、晶振振荡电路 (5) 四、复位电路 (5) 五、显示电路 (6) 六、键盘电路 (6) 七、硬件主电路图设计 (7) 八、元件清单 (7) 第三章软件设计 (8) 一、软件设计概述 (8) 二、主程序流程图 (8) 三、程序中各函数设计 (8) 四、C语言主程序设计 (10) 第四章课程设计体会 (13) ..

五、单片机相关知识 本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了AT89C51。 AT89C51单片机采用40引脚的双列直插封装方式。图1.2为引脚排列图,40条引脚说明如下: 主电源引脚Vss和Vcc ①Vss接地 ②Vcc正常操作时为+5伏电源 外接晶振引脚XTAL1和XTAL2 ①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 ②XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。 图1.2 AT89C51单片机引脚图 控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp ①RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 ②ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低 字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间, 此引脚接收编程脉冲(PROG功能)

基于单片机的秒表设计

题目:基于单片机的秒表设计 姓名: 学号: 专业班级: 指导老师: 所在学院: 年月日

摘要 本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为9分59.9秒,每毫秒自动加1,一个开始暂停按键、一个复位按键。其突出的优点:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活. 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。单片机的出现是现代科技发展的一个重要的里程碑。由于单片机的集成度高、功能强,通用性好,特别是它具有体积下、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。

目录 1 概述 (4) 1.1设计任务 (4) 1.2设计要求 (4) 2 系统总体方案及硬件设计 (5) 2.1系统总体方案 (5) 2.2硬件电路设计 (6) 3 软件设计 (10) 3.1软件设计概述 (10) 3.2程序流程图 (10) 3.3子程序模块设计 (12) 4 Proteus软件真 (13) 4.1软件功能简介 (13) 4.2 Proteus运行流程 (14) 5课程设计会 (16) 参考文献 (16) 附1:源程序代码 (17) 附2:系统原理图 (20)

单片机课程设计报告 秒表

单片机课程设计报告 院系:**** 班别:**** 课程名称:**** 姓名:**** 学号:**** 指导老师:**** 日期:****年**月**日

一、设计任务与要求 用89C51设计一个2位的LED数码作为“秒表”。显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。能存储三组计时。按一次开始键,开始计数,第二次按开始键后,计时停止。之后再按开始键,则轮流显示存储的三个计时值,直到按复位键后,再按开始键,则开始重新计时。 二、设计思想和设计说明 本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等。主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。利用中断系统使其能实现开始暂停的功能。P3.2,P3.3开口接2个按钮,分别实现开始,暂停,复位的功能。电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。 三、硬件原理框图 四、硬件原理图与其软件配合

1、程序存储器 2、数据存储器

六、程序流程图

七、源程序清单 ====================================================== ORG 0000H AJMP MAIN ORG 0003H AJMP X0_INT ORG 000BH AJMP T0_INT ORG 0013H AJMP X1_INT MAIN: MOV TMOD,#01H ;T0定时方式1 MOV TH0, #(65536-50000) / 256 ;50ms@12MHz MOV TL0, #(65536-50000) MOD 256; SETB TR0 SETB ET0 ;开启定时中断 SETB EX0 SETB EX1 SETB EA ;定时器初始化结束,下面循环显示即可 MOV R1, #99H ;0~99计数. MOV R7, #1 ;50ms计数. MOV P0, #3FH MOV P2, #3FH LOOP: SJMP LOOP ;----------------------------------------------------------- DELAY: ;延时子程序. AA4: MOV R4, #0 DJNZ R4, $ DJNZ R4, $ RET ;----------------------------------------------------------- X0_INT: ;启动/停止 CPL F0 RETI ;----------------------------------------------------------- X1_INT: ;清零 MOV R1, #0 MOV P0, #3FH

单片机多功能秒表课程设计报告

单片机课程设计 课程设计任务书 20 17 -20 18 学年第一学期第17周-18 周 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 本设计是设计一个单片机控制的多功能秒表系统。 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。 本设计的多功能秒表系统采用A T89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。我们设计的秒表可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序,按键消抖程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机,多功能秒表 小组成员:许乐,郭利铂 小组分工: 小组成员:讨论并确定秒表要实现哪些功能 许乐:硬件电路的设计仿真,查阅资料 郭利铂:编写程序,撰写实验报告

目录 1.概述 (4) 1.1设计目的 (4) 1.2设计要求 (4) 1.3设计意义 (4) 2.系统总体方案及硬件设计 (4) 2.1系统总体方案 (4) 2.2硬件设计 (5) 2.2.189C51单片机 (5) 2.2.2晶体振荡电路 (6) 2.2.3 复位电路 (7) 2.2.5显示电路 (8) 2.2.6 系统电路图 (9) 3.软件设计 (9) 3.1设计特点 (9) 3.2设计思路 (10) 3.2.1程序流程图 (10) 3.2.2程序 (10) 4.PROTEUS软件仿真 (14) 4.1仿真 (14) 4.2仿真结果描述 (15) 4.3结论及进一步设想 (16) 5.元器件清单 (16) 6.课程设计体会 (16) 7.参考文献 (18)

51单片机实验 秒表设计

实验报告 一、实验名称 10秒计时的秒表设计 二、实验内容 精确到0.1秒的秒表 三、相关模块 led数码管、usb、独立键盘 四、实验代码 #include "reg52.h" typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; sbit k1=P3^1; sbit k2=P3^0; sbit k3=P3^2; sbit k4=P3^3; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; u16 s,sec; unsigned int i; unsigned int j; unsigned int a,b,c,d; u8 mb[2]; void Timer0Init() { TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。 TH0=0XFC; //给定时器赋初值,定时1ms TL0=0X18; TR0=0;//打开定时器 } void delay(u16 n) { while(n--); } void DigDisplay1(u16 i)

{ switch(i) { case(0): LSA=0;LSB=0;LSC=0; break; case(1): LSA=1;LSB=0;LSC=0; break; case(2): LSA=0;LSB=1;LSC=0; break; case(3): LSA=1;LSB=1;LSC=0; break; case(4): LSA=0;LSB=0;LSC=1; break; case(5): LSA=1;LSB=0;LSC=1; break; case(6): LSA=0;LSB=1;LSC=1; break; case(7): LSA=1;LSB=1;LSC=1; break; } if (i==1) { P0=smgduan[mb[i]]+0x80;//发送段码 } else { P0=smgduan[mb[i]]; } delay(1); //间隔一段时间扫描 P0=0x00;//消隐 } void DigDisplay2(u16 i) { i=i+3; switch(i) { case(0): LSA=0;LSB=0;LSC=0; break; case(1): LSA=1;LSB=0;LSC=0; break; case(2): LSA=0;LSB=1;LSC=0; break; case(3): LSA=1;LSB=1;LSC=0; break;

基于89C51单片机的秒表课程设计讲解

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (3) 2.2设计指标 (3) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计内容提要 (4) 3 课程设计报告内容 (4) 3.1设计思路 (4) 3.2设计过程 (5) 3.3 程序流程及实验效果 (6) 3.4 实验效果 (13) 4 心得体会 (14)

基于 MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以 8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计内容以硬件电路设计,软件设计和 PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求 2.1实验题目 开始时,显示“00.0”,第一次按下按钮后开始从0-99.9s计时,显示精度为0.1s;对用有4个功能按键,第1个按键复位00.0,第2个按键正计时开始按钮,第3个按键复位99.9,第4个按钮倒计时开始。 2.2设计指标 了解8051芯片的的工作原理和工作方式,使用该芯片对 LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起

基于单片机的简易计时器设计

南华大学电气工程学院课程设计 摘要:单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部储存资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力强,系统也更加稳定,使它更适合工业控制领域,具有更广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得了宝贵时间。本设计通过STC89C51单片机以及单片机最小系统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,并能通过按键对秒进行设置。 关键词:STC89C51单片机,驱动,四位一体数码管

南华大学电气工程学院课程设计 Abstract:SCM be booming since since the 70 s, MCU functions are increasingly perfect at present: single chip microcomputer integrated more and more resources, internal storage resource increasingly rich, users do not need to expand resources can complete the project development, is not only the development of simple, small beautiful products, at the same time, strong anti-jamming capability, system is more stable, make it more suitable for industrial control field, has a broad market prospect; Provide online programming ability, speeded up the process of product development, product for the enterprise to win the precious time. This design and triode driven by STC89C51 microcontroller and the single chip microcomputer minimum system and peripheral keys and digital tube display components, design a simple timer based on single chip microcomputer. Design through the four digital tube display, a total of anode, and can through the button to set the seconds. Keywords: STC89C51 microcontroller, drive, Four digital tube

单片机多功能秒表

单片机综合实验报告 题目: 多功能数字时钟 班级: 姓名: 学号:

一、实验内容: 设计一个单片机控制的秒表系统。利用单片机的定时器的原理,结合显示电路、LED 数码管以及按键来设计计时器,使系统能够正确地进行加、减(倒)计时,数码管能够正确地显示时间。 目的要求 1)两位LED显示,显示时间为00~99秒。 2)每秒自动加1。 3)一个开始按键、一个复位按键和一个暂停按钮。 4)翻页按钮查看四个不同的计时值。 5)添加倒计时初始值设置功能 6)不同功能通过功能键Setup实现切换。 二、实验电路及功能说明 本实验以51单片机为核心,应用其中断来定时,通过按键来控制时间和日期的调整,通过1602LCD来数字显示时钟,做成一个简易的数字时钟。本实验要求能定时,还要能设置闹铃,由于对C51程序代码的写法不是很熟,没能实现闹铃功能。所以,最后该实验能实现的功能为时间和日期的调整。 其原理图如下图所示: 三、实验程序流程图:

主程序:主程序流程图 子流程图(按键功能设置) 四、实验结果分析 经过proteus仿真可知:该方案可行,能够对时间进行精确的调整,也能对日期进行更

正,基本上能实现上述功能。 五、心得体会 通过该试验我对51的了解更加深入了一层,特别是对C51的写法更加了解,还对1602的基本操作有了一定的了解。同时,也发现C语言的重要性,以后要多加强对C语言的学习. 六、程序清单 #include #include //库函数头文件,代码中引用了_nop_()函数// 定义控制信号端口 sbit RS=P2^4; //P2.4 sbit RW=P2^5; //P2.5 sbit E=P2^6; //P2.6 sbit set=P1^4; //设置键 sbit add1=P1^5; //加1键 sbit sub1=P1^6; //减1键 sbit enter=P1^7; //确认键 bit k=0,f=0;//k为0表示运行状态,k为1表示设置状态;f为0表示第一行显示,f为1表示第二行显示 char sec,n,m; unsigned char count,key; unsigned char lcdd[]="0123456789"; /*声明调用函数*/ void dispd(); //日期显示函数 void dispt(); //时间显示函数 unsigned char keys();//按键扫描函数 void lcd_w_cmd(unsigned char com); //写命令字函数 void lcd_w_dat(unsigned char dat); //写数据函数 unsigned char lcd_r_start(); //读状态函数 void int1(); //LCD初始化函数 void delay(unsigned char t); //可控延时函数 void delay1(); //软件实现延时函数,5个机器周期 /*主函数*/ void main() { TMOD=0x01; //设置为定时器模式1 TH0=(65536-50000)/256; //晶振6MHz,定时时间100ms TL0=(65536-50000)%256; IE=0x82; //开全局中断和定时中断 TR0=1; //启动定时器 sec=0; //秒 count=0; //中断次数清0 n=-3; //设置键按下次数,第一行日期 m=-3; //设置键按下次数,第二行时间 P0=0xff; // 送全1到P0口int1(); // 初始化LCD delay(255); while(1) { key=keys(); //读取按键 switch(key) { case 0xe0: //按下设置键 { TR0=0; k=1; if(f==0) { n=n+3; if(n==9) { n=0; m=0; f=1; } } else { m=m+3; if(m==12) { m=0; n=0; f=0; } } if(f==0) { lcd_w_cmd(0x0d); lcd_w_cmd(0x86+n); }

相关文档
最新文档