51单片机秒表实验报告

时间:2024.5.21

江西理工大学应用科学学院信息工程系

单片机原理与应用课程设计报告

设计题目:基于51单片机的秒表设计

专 业:电子信息工程

班 级:电信121

学 号:08060312109

参与人员:贺佳、周代元、周昶旭、张?胖?nbsp;

指导老师:王苏敏

完成日期:20##年1月20日


目录

1 设计任务和性能指标.............................. 1

1.1 课题内容 .................................. 1

1.2 课题要求................................... 1

2 设计方案....................................... 2

2.1 需求分析................................... 2

2.2 方案论证................................... 2

3系统软件设计.................................... 5

4.1 系统软件流程图............................. 5

4.2 实验程序清单............................... 5

4 系统硬件设计................................... 7

5.1 调试步骤................................... 7

5.2 性能分析................................... 7

5系统硬件设计.................................... 8

参考文献......................................... 9


1 设计任务和性能指标

1 课题内容要求及目的

1.1课题内容

用AT89C51设计一个秒表,该秒表课可显示0.0~99.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。 本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。

1.2课题要求

本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:

(1)用单片机AT89C51实现;

(2)以0.1秒为最小单位进行显示;

(3)秒表量程为0.0-99.9秒,用 LED显示;

(4)有清零、开始、停止功能。

1.3课题目的

通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。

(1)利用单片机定时器计数器中断设计秒表,从而实现秒、十分之一秒的计时。

(2)综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力,加深对单片机课程的全面认识。

(3)通过本次课程设计能够对程序进行编辑,校验。

(4)通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

(5)通过本次系统设计,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。

(6)该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。

2.1 需求分析

近年来,随着科学技术的进步和时代的发展,人们对秒表的功能和精度提出了越来越高的要求,各种秒表的设计也越来越重要。秒表计时器是在一种计时器上实现两种功能的一种器件。它广泛应用于各种场所,同时它的小巧,价格廉价,精确度高,使用方便,功能齐全,便于集成化。而受广大消费者的喜爱。

2.2 方案论证

现今的计时器通常只能通过启/停按键实现断点计时的功能,即通过启/停按键来记录一段时间。这种计时器查看的时间只能为计时结束时刻。实际的应用中往往需要在不影响正常计时的基础上,能查看记录过程中的某些点的时间。

本课设即针对此问题,设计了一种能通过按键方式查看记录过程中任一时刻值的计时器。这种计时器在查看中间值时不会影响整个记录过程,并且能把相应数据送入存储模块及显示模块,以便查看。

本系统采用AT89C51单片机作控制器,LED数码管,实现显示时、分、秒,以24小时计时方式。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,结构较为复杂,考虑时钟显示只有六位,且系统没有其他复杂的处理任务,所以采用动态扫描法实现LED的显示。单片机采用AT89C51系列,有足够的空余硬件资源实现其它的扩充功能。

3系统软件设计

3.1软件程序流程图

根据课题内容,可作出主流程序树状图如图3.1所示:

图3.1

3.2实验程序清单:

HAOMIAO EQU 34H

MIAO EQU 35H

SHIMIAO EQU 36H

ORG 0000H

AJMP START

ORG 0030H

START: CLR C

SETB P1.6

SETB P1.5

SETB P1.4

MOV HAOMIAO,#0

MOV MIAO,#0

MOV SHIMIAO,#0

MOV DPTR,#TABLE

MOV A,#00H

MOVC A,@A+DPTR

CLR P1.6

MOV P2,A

MOV A,#00H

MOVC A,@A+DPTR

CLR P1.4

MOV P2,A

MOV DPTR,#TABLE1

MOV A,#00H

MOVC A,@A+DPTR

CLR P1.5

MOV P2,A

LCALL KAISHI

LCALL MAIN

SHIWEI : SETB P1.5

MOV DPTR,#TABLE ;十秒位显示

MOV MIAO,#0 ;使秒位从零位重新循环

INC SHIMIAO

MOV A,SHIMIAO

CLR C

SUBB A,#6

JZ START

AJMP MAIN

RET

TINGZHI: MOV A,#00H ;判断是否有清零指

MOV A,P3

ANL A,#04H

JZ START

MOV A,#00H ;判断是否有停止指令

MOV A,P3

CLR C

ANL A,#02H

LCALL YANSHI

JZ MAIN

LJMP TINGZHI

START1 : LJMP START

SHIWEI1: LJMP SHIWEI

MAIN : SETB P1.5

SETB P1.4

SETB P1.6

MOV A,#00H ; 判断是否有清零指令

MOV A,P3

ANL A,#04H

JZ START1

MOV A,#00H ; 判断是否有停止指令

MOV A,P3

CLR C

ANL A,#02H

JZ TINGZHI

MOV DPTR,#TABLE ; 0.1位秒显示

I NC HAOMIAO ;加一,可查下一位数据

MOV A, HAOMIAO ; 判断是否进位

CLR C

SUBB A,#10

JZ MIAOZHEN

LCALL YANSHI ;延时0.1秒

AJMP MAIN

RET ;继续计时

MIAOZHEN:

SETB P1.4

MOV DPTR,#TABLE1 ;秒位显示

MOV HAOMIAO,#0 ;使0.1秒从零重新循环

INC MIAO ;加一,可查下一位数据

MOV A,MIAO ;判断是否进位

CLR C

SUBB A,#10

JZ SHIWEI1

LCALL SND

AJMP MAIN ;返回0.1秒计

YANSHI: MOV R6,#30

DL2: MOV A,#00H ;判断是否有清零指令

MOV A,P3

ANL A,#04H

JZ START1

MOV DPTR,#TABLE

MOV A,SHIMIAO

MOVC A,@A+DPTR

CLR P1.6

MOV P2,A

ACALL YIHAOMIAO

SETB P1.6

MOV A,HAOMIAO

MOVC A,@A+DPTR

CLR P1.4

MOV P2,A

ACALL YIHAOMIAO

SETB P1.4

MOV DPTR,#TABLE1

MOV A,MIAO

MOVC A,@A+DPTR

CLR P1.5

MOV P2,A

ACALL YIHAOMIAO

SETB P1.5

DJNZ R6,DL2

RET

YIHAOMIAO:

MOV R7,#250

CV:NOP

NOP

DJNZ R7,CV

RET

KAISHI: MOV A,#0

MOV A,P3

ANL A,#01H

JNZ KAISHI

RET

SND: SETB P1.0

MOV R1,#1EH

DL: MOV R0,#0F9H

DL1: DJNZ R0,DL1

DJNZ R1,DL

CLR P1.0

RET

TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9

TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,0FFH,0EFH

END

}

4 系统硬件设计

AT89C51单片机简介

AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储 器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。引脚分别如图2.1所示。

图2.1

图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。 P0口作输入口使用时,应先向口锁存器写入1。P1口是一个带有内部上拉电阻的8 位双向I/O端口。P1的输出缓存可驱动4个TTL输入。P2口是一个带有内部上拉电阻的8位双向I/O端口。P3口也是一个带有内部上拉电阻的8位双向I/O端口, P3端口还用于一些复用功能。

5系统硬件设计

5.1 调试步骤

(1) 分析各单元电路图,并分析其各部分的功能;

(2) 用仿真软件仿真电路的功能,并检查是否有错,无误后进行下步工作;

(3) 查找有关文献了解各元件的功能及引脚和有关的资料;

5.2设计实验电路图

设计的实验原理图如下所示:

实验设计总结

为期两周的课程设计,主要是以上机操作为主,在实验室查资料,编程序,画图。

设计语言主要是采用c语言和汇编语言的自上而下的设计方法。Proteus中,自上向下的设计,就是在整个设计流程中各设计环节逐步精益求精的过程,应用Proteus运行自上而下的设计,就是使用Proteus模型在所有综合级别上对硬件进行说明和仿真测试。顶层文件采用了原理图的方法设计,使各模块之间的层次关系清晰。

在秒表计时器实际设计过程中,所有的模块都是通过不同进制的计数器来实现其主要功能的,各模块之间是通过进位信号连接在一起的。一开始由于没有一定的合理的思路,走了不少弯路。在查阅了相关资料之后,解决了相关的问题,使我的程序更加优化。

通过这次课程设计,我进一步熟悉了Proteus软件的使用和操作方法。对c语言和汇编语言的自上向下的设计方法有了进一步的认识,在底层文件具备的条件下,使原理图可以使设置更加简单,使程序清晰,增加可读性。当然这次课程设计也存在着不足之处,计时不够足够的精确等。

单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。 其次,这次课程设计让我充分认识到合作的重要性,只有合作才能保证整个项目的有条不絮。在设计过程中,非常感谢同学们的指导,才使设计进展的比较顺利。 另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我的设计以极大的帮助,使我获益匪浅。因此非常感谢王苏敏老师的教导。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

参考文献:

1、单片机原理及应用;

2、数字电子技术基础;

3、模拟电子技术基础;

4、高频电子线路;


第二篇:51单片机秒表程序 00-99秒


#include

#define uchar unsigned char //宏定义 用uchar代替 unsigned char

#define uint unsigned int

sbit START=P1^0; //开始、停止键 低电平有效

sbit RST=P1^1; //复位键

sbit SMGGW=P1^2;

效由电路决定

sbit SMGSW=P1^3;

uchar tt;

uint time; //此变量为时间

//此为数码管字模,对应 0--9 //用三极管或驱动芯片驱动数码管 高电平有效还是低电平有uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x40};

void Delay(uint ms)

{

uint i,j; for(i=ms;i>0;i--) //延时子函数 for(j=500;j>0;j--);

}

void Display() //显示子函数

{

uchar ge,shi; shi=time/10;

ge=time%10;

P0=table[ge];

SMGGW=0;//用三极管或驱动芯片驱动数码管 高电平有效还是低电平有效由电路决定 本程序为低电平数码管亮

}

{

SMGSW=1; Delay(2); P0=table[shi]; SMGGW=1; SMGSW=0; Delay(2); void main() P1=0xff; EA=1; ET0=1; TMOD=0x01; TH0=0x4c; //晶振11.0592Mhz 若用12Mhz晶振 则改为 TH0=0x3c;Tl0=0xb0; TL0=0x00;

TR0=0; while(1) { if(START==0) } { Delay(8); if(START==0) { TR0=!TR0; //开始、停止 while(!START) Display(); } } if(RST==0) { } if(tt==20) { tt=0; time++; } //复位 Delay(8); if(RST==0) { } time=0; while(!RST)Display(); if(time==99) { } time=0; Display();

}

void timer0() interrupt 1 {

} TH0=0x4c; TL0=0x00; tt++; //晶振11.0592Mhz 若用12Mhz晶振 则改为 TH0=0x3c;Tl0=0xb0;

更多相关推荐:
单片机实验报告(基于51单片机)

滨江学院微机原理与接口技术综合实验报告题目:简易电子琴设计学号:学生姓名:XXX院系:滨江学院专业:指导教师:二OXX年月日【摘要】由于音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用…

51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会…

51单片机实验报告

08424020xx单片微型计算机原理学院班级学号姓名指导教师成绩120xx年6月08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位...

51单片机实验报告

08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位显示10ms前两位显示秒数K1K2K3键分别启动停止清零按键操作不分先后实验程序流...

80C51单片机-实验报告

班级姓名学号单片机实验报告实验一CPU片内外清零1CPU片内RAM清零一实验目的掌握MCS51汇编语言的设计了解单片机的寻址方式以及调试方法二实验内容把单片机片内的30H7FH单元清零三实验框图四实验步骤用连续...

MCS51单片机原理及应用 实验报告

单片机原理与应用实验报告学校合肥工业大学姓名吕增威学号20xx2606班级计算机科学与技术0803班1目录前言3第一章MC51单片机原理及应用软件实验实验1系统认识实验6实验6数据排序实验验证性11第二章MC5...

李佛??51单片机实验报告

实验报告实验名称矩阵键盘控制点阵的显示专业班级控制科学与工程学号s20xx0394学生姓名指导教师李晓林李丽宏牛昱光20xx年1月18日矩阵键盘控制点阵显示实验报告目录一实验目的1二实验内容1一扫描矩阵键盘读出...

北工大 51单片机实验报告?(???)?

8051单片机实验报告1目录第一单元单片机程序调试环境使用及并行数据传送操作训练311修改例程一的源程序31将A寄存器的初值改为80H正逻辑数据位为1表示发光二极管点亮再对源程序进行简单修改使程序运行后发光二极...

基于MCS-51单片机的可调频率方波发生器课程设计报告

摘要本实验是基于PHILIPSAT89C51单片机所设计的可以实现键位与数字动态显示的一种频率可调数字方波发生器通过键盘键入10HZ10kHZ随机频率使用七段数码管显示每一个数码管对应一个键位单片机对各个键位进...

51单片机学习板实验报告

电子信息工程学院电子技术综合实验报告题目年级专业学号姓名20xx光信息科学与技术20xx年4月5日电子技术综合实验报告1功能与技术指标1USB20接口用于宏晶科技STC系列单片机下载程序以及电源供电也可用于串口...

基于51单片机的光电(激光)计数器实验报告

设计题目:激光计数器小组成员:基本要求:通过阻挡激光照射接收器记一次数基本框图:图1-1设计思路:激光计数器原理主要是利用51单片机接收集成激光接收模块发出的数字信号,采用中断计数,然后驱动数码管显示原理描述:…

单片机实验报告

单片机实验报告实验二并行口输入输出实验循环彩灯控制任务一1实现的功能P1口接8个开关P0口接8个灯每个开关对应一个灯实时读取开关状态开关闭合时灯亮开关断开时灯灭2硬件原理图3流程图4程序ORG0000H程序入口...

51单片机实验报告(27篇)