ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:3.53MB ,
资源ID:100515      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-100515.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(89C51单片机课程设计之秒表设计实验报告.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

89C51单片机课程设计之秒表设计实验报告.doc

1、 这里可以加学校 LOGAL 单片机课程设计报告 院系 : xxxxxxxxxx 班别: xxxxxxxxxx 课程名称: 秒表设计 姓名: xxx 学号: xxxxxxx 指导老师 : xxxxxxx 2011.12.23 目录 1 课程 设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2 课程 设计思路及描述 1.3 课程设计任务和要求 2 硬件与软件 的 设计 流程 2.1 系统硬件方案设计 2.2 软件方案设计 3 程序编写流程 及课程设计效果 3.1 源程序及注释 3.2 原理图分析 3.3 课程设计效果 4 心得体会 5 相关查阅资料 1. 课程 设计的目的和任务 1.1

2、单片机秒表 课程设计 的概述 一、 课程设计题目 秒表系统设计 用 STC89C52RC 设计一个 4 位 LED 数码显示“秒表”,显示时间为00.0099.99 秒,每 10 毫秒自动加一,每 1000 毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决三个主要问题, 一是有关单片机定时器的使用;二是如何实现 LED的动态扫描显示;三是如何对键盘输入进行编程。 四、课程设计内容提要 本课程利用单片机的定时器 /计数器定时和记数的原理,结合集成电路芯片 8051、 LED 数码管以及课程箱上的按键来设计计时

3、器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有两个开关按键:其中 key1 按键按下去时开始计时,即秒表开始键 (同时也用作暂停键 ), key2 按键按下去时数码管清零,复位为“ 00.00” . 五 、 课程设计 的意义 1) 通过本次课程设计加深对单 片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。 2) 掌握定时器、外部中断的设置和编程原理。 3) 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4) 该课程通过单片机的定时器 /计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零

4、,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 六 、 课程 设计 仪器 a) 集成电路芯片 8051,七段数码管, 89C51 单片机开发板 b) MCS-51 系列单片机微机仿真课程系统中的软件( Keil uvision2) 。 1.2课程 设计 思路及描述 该课程 设计 要求进行计时并在数码管上显示时间,则可利用 MCS-51 系列单片机的芯片AT89C52 的 P3.2,P3.5 作为按键的入口 ;定时器 T1 作为 每 0.01 秒加一 的定时器。其中 “开始 ”按键当开关由上向下拨时开始计时 , 此时若再拨 “开始 ”按键则 数码管暂停 ; “清零 ”按键当开关由上

5、向下拨时数码管清零,此时若再拨 “开始 ”按键则又可重新开始计时。 方框图如下图 1: 图 1 数字秒表设计导向 1.3 课程 设计任务和要求 1.3.1 设计指标 。 了解 8051 芯片的的工作原理和工作方式 ,使用该芯片对 LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、 99 秒、清零等功能,精确到 0.01 秒。 要求选用定时器的工作方式,画出使用单片机控制 LED 数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。 1.3.2 设计要求 画出电路原理图(或仿真电路图); 软件编程与调试;

6、 电路仿真与调试; 2软件与硬件设计 开关 MCS-51 AT89C52RC LED 显示 2.1 系统硬件方案设计 单片机应用系统由硬件系统和软件系统两部分 组成。硬件系统是指单片机以及扩展的存储器、 IO 接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和 IO 接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的

7、键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输 入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入 /输出的信息少,这时可能用几个按键和几个 LED 指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。 图 2 系统硬件结构框 11.0592MHz 晶振 2 个独立式的按键 电源指示灯 电源开关 4 个数码管显示 STC89C52RC 2.2软件方案设计 此次选用 C51 来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义。其次还有显示程序、按键扫描及处理

8、程序、时钟程序和倒计时程序, 系统软件流程图图如图 3 所示: 3 程序编写的流程 及课程设计效果 3.1 源程序 及注释 /*- 名称:数码管显示,按键控制秒表 论坛: 编写: shifang 日期: 2009.5 修改:无 开始 系统初始化 While (1) 数码管显示 选择 按键的扫描及处理 图 3 内容:中断按键控制,数码管显示 ,中断 0控制计时和停止,中断 1 清零 -*/ #include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 unsigned int msecond,second;/定义全局变量 bit GoFlag;/定义停止,计时标志 #de

9、fine DataPort P0 /定义数据端口 程序中遇到 DataPort 则用 P0 替换 sbit LATCH1=P22;/定义锁存使能端口 段锁存 sbit LATCH2=P23;/ 位锁存 sbit KEY=P32; unsigned char code dofly_DuanMa10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示段码值 09 unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分别对应相应的数码管点亮 ,即位码

10、unsigned char TempData8; /存储显示值的全局变 量 void DelayUs2x(unsigned char t);/函数声明 void DelayMs(unsigned char t); void Display(unsigned char FirstBit,unsigned char Num); void Init_Timer0(void); void CLR(void); /*- 主函数 -*/ void main (void) unsigned char num=0; EX0=1; /外部中断 0开 IT0=1; /IT1=0 表示边沿触发 EX1=1; /外部

11、中断 1开 IT1=1; /IT1=1 表示边沿触发 Init_Timer0(); while (1) /主循环 TempData0=dofly_DuanMasecond/10;/分解显示信息,如要显示 68,则68/10=6 68%10=8 TempData1=dofly_DuanMasecond%10; TempData2=0x40;/ “-“ TempData3=dofly_DuanMamsecond/10;/分解显示信息,如要显示 68,则68/10=6 68%10=8 TempData4=dofly_DuanMamsecond%10; /主循环中添加其他需要一直工作的程序 /*- 显

12、示函数,用于动态扫描数码管 输入参数 FirstBit 表示需要显示的第一位,如赋值 2 表示从第三个数码管开始显示 如输入 0表示从第一个显示。 Num 表示需要显示的位数,如需要显示 99 两位数值则该值输入 2 -*/ void Display(unsigned char FirstBit,unsigned char Num) static unsigned char i=0; DataPort=0; /清空数据,防止有交替重影 LATCH1=1; /段锁存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位码 LATCH2=1; /位锁存 LAT

13、CH2=0; DataPort=TempDatai; /取显示数据,段码 LATCH1=1; /段锁存 LATCH1=0; i+; if(i=Num) i=0; /*- 定时器初始化子程序 -*/ void Init_Timer0(void) TMOD |= 0x01; /使用模式 1, 16 位定时器,使用 “|“符号可以在使用多个定时器时不受影响 /TH0=0x00; /给定初值 /TL0=0x00; EA=1; /总中断打开 (总中断控制开关) ET0=1; /定时器中断打开 (允许中断 0的发生) TR0=1; /定时器开关打开 (定时器 T0 开始工作) /*- 定时器中断子程序 -*/ void Timer0_isr(void) interrupt 1 static unsigned char num; TH0=(65536-2000)/256; /重新赋值 2ms TL0=(65536-2000)%256; Display(0,8); if(GoFlag) num+; if(num=5) num=0; msecond+; if (msecond=100)/100 进 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。