秒表系统设置课程设计.doc

上传人:飞****2 文档编号:66765747 上传时间:2022-12-21 格式:DOC 页数:24 大小:984.50KB
返回 下载 相关 举报
秒表系统设置课程设计.doc_第1页
第1页 / 共24页
秒表系统设置课程设计.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《秒表系统设置课程设计.doc》由会员分享,可在线阅读,更多相关《秒表系统设置课程设计.doc(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课 程 设 计 说 明 书学生姓名: 学 号: 学 院: 专 业: 电子信息工程 题 目: 专业综合实践之硬件部分: 基于单片机的秒表系统设计 指导教师: 职称: 2013 年 12 月 16 日课程设计任务书 13/14 学年第 一 学期学 院: 专 业: 电子信息工程 学 生 姓 名: 学 号: 课程设计题目: 专业综合实践之硬件部分: 基于单片机的秒表系统设计 起 迄 日 期: 2013年12 月16 日2013年 12 月 29 日 课程设计地点: 无损楼201,510 指 导 教 师: 系 主 任: 下达任务书日期: 2013 年12 月 16日课 程 设 计 任 务 书1设计目的:

2、基于C51单片机和时钟芯片,设计一个秒表系统。使学生将掌握的硬件理论知识与实践结合,提高学生的科研、综合创新能力。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等): 任务要求:1、掌握和熟悉单片机系统的开发环境KEIL C51和相应的软件;2、掌握时钟芯片,基于单片机设计设计一个秒表;3、 设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一,并采用动态显示方式;设计一个“开始”按键和一个“复位”按键。4、掌握I2C总线的工作原理;5、基于实验箱对系统进行仿真和程序调试;6、基于PROTEL99或altium deisigner 绘制系统的原理图和制版图。3设计工

3、作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:系统的硬件原理图和制版图; 基于实验箱调试成功的系统软件程序和界面; 设计说明书 课 程 设 计 任 务 书4主要参考文献:(5篇以上)5设计成果形式及要求: 硬件原理图、部分程序、设计说明书6工作计划及进度:2013年12 月16 日 2013年12月 18日:查相关的资料,熟悉单片机开发环境; 12 月19 日 12 月20日:在教师指导下完成系统方案和电路设计;12月21日 12 月 27日:完成程序的调试,下载、调试,系统的优化;12月 28 日:完成课程设计说明书的纂写和修改;12月 29 日 : 答辩系主任审查意

4、见: 签字: 年 月 日摘要本设计是一个由AT89C51单片机控制,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键计时的多功能秒表系统。单片机目前已经无处不在,与我们生活密不可分并渗透入生活的各个方面。单片机的特点是体积小,集成度高,其内部的结构是普通的计算机系统的简化。在增加一些外围电路之后,就能成为一个完整的系统。在众多单片机中,MCS-51系列单片机具有系统结构完整,特殊功能寄存器规范化以及指令系统的控制功能强等特色,使起成为单片机中的主流机型。在这个设计中我们是以AT89C51单片机为主要器件利用它的定时器/计数器定时和记数的原理,结合7809电源提供的

5、+5V稳压电压,上电加按钮复位电路,晶体振荡电路,由P0口驱动的LED动态显示电路,键盘电路完成多功能秒表的设计。这个多功能秒表系统能够实现两位LED显示,显示的时间为0099秒,每秒自动加1,能正确地进行计时。还具有快加和复位功能,基本上实现了老师的要求。我们使用汇编语言来编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独的设计,调试和管理,其中包括加1子程序、快加子程序,复位子程序和显示子程序等。将源程序代码在WAVE中进行编译和调试,硬件系统利用Proteus软件来实现,可以方便的看到运行结果。 关键词:多功能秒表、单片机、子程序模块、Proteus仿真。目录第

6、一章:设计任务11.1 设计思路及描述11.1.1 设计题目11.1.2 设计内容11.1.3 设计目的11.1.4 设计工作21.1.5 设计意义2第二章:AT89C51芯片22.1 AT89C51芯片的概述22.2 主要特性32.3 管脚说明32.4 振荡器特性52.5 芯片擦除6第三章:秒表系统程序63.1 秒表系统设计思路63.1.1 秒表系统设计题目73.1.2 秒表系统设计内容提要73.2 秒表系统原理图83.3秒表系统流程图83.4 秒表系统程序93.5在Proteus环境下的仿真图153.6仿真结果16第四章:课程设计心得体会17总 结18参 考 文 献19第一章:设计任务1.

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

8、表系统设计用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。1.1.2设计内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数。1.1.3设计目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。2、 掌握定时器、外部中断的设置和编程原

9、理。3、 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。1.1.4 设计工作根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片74LS47,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。 1.1.5设计意义该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。第二章:AT89C51芯片2.1 AT89C5

10、1芯片的概述AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图212.2 主要特性与MCS-51 兼容 、4K字节可编程闪烁存储器、寿命:1000写/擦循环,数据保留时间:10年

11、、全静态工作:0Hz-24Hz、三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源, 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2.3 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器

12、能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出

13、其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(

14、外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是

15、ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振

16、荡器的输出。2.4 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.5 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软

17、件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。第三章:秒表系统程序3.1 秒表系统设计思路该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片74LS47(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3

18、.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器; “清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。3.1.1 秒表系统设计题目秒表系统设计用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。3.1.2 秒表系统设计内容提要本实验利用单片机的定时器/计数器定时和记数的原理,结合DVCC实验箱上的集成电路芯片74LS47、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本

19、实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时)。本实验中开始时都要使各按键回到各初始位置,即都处于1状态。用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示0

20、0;按“暂停”按键,系统暂停计数,数码管显示当时的计数。3.2 秒表系统原理图32原理图3.3秒表系统流程图主程序 开始&暂停-外部中断1 复位与暂停-外部中断033流程图3.4 秒表系统程序/*- 名称:DS1302时钟数码管显示-*/#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include ds1302.h#define DataPort P0 /定义数据端口 程序中遇到DataPort 则用P0 替换sbit V1=P20;sbit V2=P21;unsigned char code DuanMa10=0x3f,0x06,0x5b,0x4f,0x

21、66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示段码值09unsigned char TempData8; /存储显示值的全局变量unsigned char ge,shi,sum;bit Flag;void DelayUs2x(unsigned char t);/us级延时函数声明 void DelayMs(unsigned char t); /ms级延时void Display(void);/数码管显示void System_Init(void);/系统初始化/*- 主函数-*/void main(void)System_Init();Ds1302_Init();while(

22、1)if(Flag) Ds1302_Read_Time();Display();/*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/

23、void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 数码管显示-*/void Display(void)sum=time_buf11+60*time_buf10;if(sum99)sum=0;time_buf10=00; time_buf11=00;Ds1302_Write_Time();shi=sum/10;ge=sum%10;V1=0;V2=1;DataPort=DuanMashi;DelayMs(20);V1=1;V2=0;DataPort=DuanMage;DelayM

24、s(70);/*- 系统初始化-*/void System_Init(void)Flag=0;IT0=1;IT1=1;EX0=1;EX1=1;EA=1;void break_0(void)interrupt 0Flag=0;time_buf10=00;time_buf11=00;void break_1(void)interrupt 2Flag=Flag;if(Flag)Ds1302_Write_Time();3.5 Proteus软件仿真我们利用WAVE软件对源程序进行编译,编译成功后,把编译结果保存。然后根据我们的软件在PROTEUS中设计出相应的硬件电路,并将该电路保存到与WAVE程序相

25、同的文件夹中,最后将程序装载到单片机中,通过PROTEUS仿真,看程序是否能够实现预想的功能。源程序在WAVE软件中的编译结果: 3.5.1图-程序运行结果3.6仿真图如下图所示 3.6.1图-仿真结果第四章:课程设计心得体会4.1 心得体会1. 根据课题要求,复习相关的知识,查询相关的资料。2. 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。3. 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。4. 程序要尽量做到由各个子程序组成,在有些程序后面最好加

26、注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。5. 该实验的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。6. 这次的单片机课程设计重点是理论与实际的相结合。7. 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。总 结通过这次的课程设计,使我对单片机程序设计的方法、要求有了初步的了解并且积累了一些实践经验,对软件的应用有了更进一步的了解,相信对以后进一步学习单片机知识,这对自己无论是在感性上还是理性上都会有一定的帮助,而且通过这次的设计,激发了我对单片机课程浓厚的兴趣,增强了我对书

27、本理论的运用。虽然现在对所涉及的知识和要求的综合分析能力较为复杂,可这其中体现了创新思想和知识的结合应用,今后我将更广泛地涉及这方面的知识,希望能在这一领域有所成就这次课程设计根据课题要求,复习了这学期所学的单片机内容,通过查询相关的资料,简要知道了虽然老师上课讲过,但并非听懂了的8155芯片的有关知识。根据课程设计的要求和自己通过参考有关资料拟的方案,写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序,达到能够实现所要求的功能的目的。在写程序时,在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。实验利用单片机的定时器/计数器定时和记数的原理,结合dvcc实

28、验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时)。本实验中开始时都要使各按键回到各初始位置,即都处于1状态。最终结果成功实现。参 考 文 献1.微机控制技术及应用 韩全立 、赵德申 机械工业出版社2.单片机应用系统设计及实用技术 高峰 机械工业出版社 3.单片机课程设计实例指导 李光飞 北京航空航天大学出版社4.电类专业课程设计指导 张华 机械工业出版社5.8051单片机彻底研究基础篇 林伸茂 人民邮电出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com