《单片机应用实践》课程设计-基于89C51单片机的秒表课程设计.doc_第1页
《单片机应用实践》课程设计-基于89C51单片机的秒表课程设计.doc_第2页
《单片机应用实践》课程设计-基于89C51单片机的秒表课程设计.doc_第3页
《单片机应用实践》课程设计-基于89C51单片机的秒表课程设计.doc_第4页
《单片机应用实践》课程设计-基于89C51单片机的秒表课程设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课课程程设设计计任任务务书书 学生姓名:学生姓名: 池孙煌 专业班级:专业班级: 电信 1204 指导教师:指导教师: 陈德军 工作单位:工作单位: 信息工程学院 题题 目目:基于 51 单片机的秒表设计 初始条件:初始条件: 具备 Keil 编程能力和 Proteus 仿真能力; 熟悉定时器/计数器的实现原理; 提供编程所需要的计算机一台 要求完成的主要任务:要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、用定时器/计数器设计一个简单的秒表,能显示计时状态和结 果。 2、进行电路实验或仿真,并使用 C 语言进行程序的开发。 3、完成符合学校要求的设计说明书 时间安排:时间安排: 一周,其中 3 天程序设计,2 天程序调试 指导教师签名:指导教师签名: 年年 月月 日日 系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日 武汉理工大学单片机应用实践课程设计说明书 1 摘要 单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化 高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以 8051 单 片机为核心的秒表,它采用键盘输入,单片机技术控制。设计内容以硬件电路设计, 软件设计和制作三电路板部分来设计。利用单片机的定时器/计数器定时和计数的原理, 用集成电路芯片、LCD1602 液晶以及按键来设计计时器。将软、硬件有机地结合起来, 使它拥有正确的计时、暂停、清零、所计时间的存储和查看、并同时可以用液晶显示, 在现实生中应用广泛。 关键词:秒表;8051;定时器 武汉理工大学单片机应用实践课程设计说明书 1 1.概述 单片机应用实践课程设计是学好本门课程的又一重要实践性教学环节,课程 设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步 加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具 有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知 识转化为能力和能力转化为工程素质的重要阶段。 本次设计内容为以 8051 单片机为核心的秒表,它采用键盘输入,单片机技术控 制。设计内容以硬件电路设计,软件设计和制作三电路板部分来设计。利用单片机的 定时器/计数器定时和计数的原理,用集成电路芯片、LCD1602 液晶以及按键来设计计 时器。将软、硬件有机地结合起来,使它拥有正确的计时、暂停、清零、所计时间的 存储和查看、并同时可以用液晶显示。 武汉理工大学单片机应用实践课程设计说明书 2 2理论分析 2.1 设计内容 开始时,显示“00:000”,按下按钮 1 后开始从 0 计时,显示精度为 0.001s;共 有 5 个功能按键,第 1 个按键开始计时,第 2 个按键暂停,第 3 个按键复位,第 4 个 按键记录时间,第五个按键查看时间。 根据 8051 芯片的的工作原理和工作方式,对 LCD1602 液晶进行显示控制,并能用 按钮实现秒表起动、停止、复位、所计时间的存储和查看、清零功能,精确到 0.001 秒。 要求选用定时器的工作方式,画出使用单片机控制 LCD1602 液晶显示的电路图,并 实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。 2.2 具体步骤 单片机电子秒表需要解决三个主要问题: 一是有关单片机定时器的使用; 二是如何实现 LCD1602 液晶的显示; 三是如何对键盘输入进行编程。 定时器:51 有 4 种工作方式,本方案采用工作方式 1,即为 16 位定时器。在高八 位和低八位分别置数。由于定时器做的是加法计数,则应该将要定时的数以补码的形 式,存放在定时器中。 LCD1602 液晶:液晶用 RS、RW、EA 三个控制端口进行显示等控制。D0-D7 口分别 接单片机的 P0 并行口,进行数据的传输。液晶的具体显示方式及其时序图在其资料中 进行查阅并应用。 键盘:键盘函数可以作为一个子程序,在 main 函数中循环查找调用,根据按键的 功能,我们在按键中写入相应的程序,在按键 1 中开中断,并且对定时器进行设初值。 即可实现开始计时。在按键 2 中关中断,则可实现计时暂停。按键 3 即为复位键,则 可复位为初始值 00:000。按键 4 即为记录键,对时间进行记录。按键 5 即为查看键, 武汉理工大学单片机应用实践课程设计说明书 3 对所记录的时间进行查看。 3 程序设计 3.1 设计思路 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩 展的存储器、IO 接口、外围扩展的功能电路。软件系统包括监控程序和各种应用程 序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、 信息输出进行控制。与单片机配套的有相应的时钟电路如图 3.1 所示以及扩展的存储器 和 IO 接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示 器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键 盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息 量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能 用几个按键和几个 LED 指示灯就可以进行处理了。在单片机应用系统在中配置的键 盘可以是独立键盘,也可能是矩阵键盘。 3.2 设计过程 3.2.1 系统设计思路及描述 本设计在 LCD1602 液晶上显示时间,则可利用 MCS-51 系列单片机的芯片 AT89C52 的 P3.0,P3.1 ,P3.2,P3.3 作为按键的入口;定时器 T0 作为每 0.001 秒加一的定时 器;其中“开始”按键按下时开始计时,按下按键 2 则暂停;按下按键 3 对时间进行 记录,按下按键 4 对所记录的时间进行查看。“清零”按键即为复位按键,复位清零, 此时若再按下按键 1 则又可重新开始计时。 武汉理工大学单片机应用实践课程设计说明书 4 3.3 程序流程及实验效果 3.3.1 程序流程图 Y N Y N Y N Y N 图 3.1 主程序流程图 计 时 开始 液晶初始化 开始计时 暂 停计时器暂停 记 录存储时间 查 看 调用记录 液晶显示 武汉理工大学单片机应用实践课程设计说明书 5 3.3.2 源程序及说明 #include reg51.h #include string.h #include stdio.h #include #define uchar unsigned char #define uint unsigned int void Initialize_LCD(); void ShowString(uchar x,uchar y,uchar *str); sbit K1 = P32; /K1 表示开始计时 sbit K2 = P33; /暂停 sbit K3 = P34; /记录 sbit K4 = P35; /查看 uchar code prompt=PRESS K1 START ; uchar a=00:000; int k3=0; int numb; void Delayxms(uint ms) uchar i; while(ms-) for(i=0;i120;i+); void keyscan() if(K1=0) /计时开始 Delayxms(1); if(K1=0) TMOD=0 x11; TH0=(65536-1000)/256; /赋计数初值 TL0=(65536-1000)%256; EA=1; /开总断 ET0=1;/开启定时器中断 TR0=1;/启动定时器 while(!K1);/等待按键释放 武汉理工大学单片机应用实践课程设计说明书 6 if(K2=0)/暂停 EA=0; ET0=0; TR0=0; if(K3=0) /时间的记录 int k; Delayxms(50); for(k=0;k6;k+) bk3k=ak; k3+; while(!K3); if(K4=0) /查看所记录的时间 uchar c6; int num; Delayxms(50); if(K4=0) while(1) for(num=0;num6;num+) cnum=b0num; ShowString(1,1,c); Delayxms(50); if(K4=0) Delayxms(50); if(K4=0) while(1) for(num=0;num6;num+) cnum=b1num; ShowString(1,1,c); 武汉理工大学单片机应用实践课程设计说明书 7 void main() Initialize_LCD(); while(1) keyscan(); ShowString(1,0,prompt); ShowString(1,1,a); void time() interrupt 1 TH0=(65536-1000)/256; TL0=(65536-1000)%256; a5+;/初值为 0 if(a5=0X3A) a5=0X30; a4+; if(a4=0X3A) a4=0X30; a3+; if(a3=0X3A) a3=0X30; a1+; if(a1=0X3A) a1=0X30; a0+; if(a0=0X3A) a=00:000; 武汉理工大学单片机应用实践课程设计说明书 8 /*1602*/ #include #include #include #define uchar unsigned char #define uint unsigned int sbit RS = P07; sbit RW = P06; sbit EN = P05; void Delayms(uint ms) uchar i; while(ms-) for(i=0;i120;i+); uchar Busy_Check() uchar LCD_Status; RS = 0; RW = 1; EN = 1; Delayms(1); LCD_Status = P0; EN = 0; return LCD_Status; void Write_LCD_Command(uchar cmd) while(Busy_Check() /读写操作使能位检测 RS = 0; RW = 0; EN = 0; P0 = cmd; EN = 1; 武汉理工大学单片机应用实践课程设计说明书 9 Delayms(1); EN = 0; void Write_LCD_Data(uchar dat) while(Busy_Check() RS = 1; RW = 0; EN = 0; P0 = dat; EN = 1; Delayms(1); EN = 0; void Initialize_LCD() Write_LCD_Command(0 x38);/功能选择 Delayms(1); Write_LCD_Command(0 x01);/清屏 Delayms(1); Write_LCD_Command(0 x06);/增量显示,整体不移屏 Delayms(1); Write_LCD_Command(0 x0c);/开显示,关消影,关闪烁 Delayms(1); void ShowString(uchar x,uchar y,uchar *str) uchar i = 0; uint a=0; a = strlen(str); if(y = 0) Write_LCD_Command(0 x80 | x); if(y = 1) Write_LCD_Command(0 xc0 | x); for(i=0;ia;i+) Write_LCD_Data(stri); 武汉理工大学单片机应用实践课程设计说明书 10 4.仿真效果 通过最后软件对程序的编译,组建,执行,还有最终生成.hex 文件,把.hex 下 载到 TX-1C 开发板的 STC89C52RC 单片机上的最终效果图如下: (1)开始从“00:000” 图 4.1 复位从“00:000”计时 (2)开始计时 图 4.2 开始计时 武汉理工大学单片机应用实践课程设计说明书 11 (3)暂停功能: 图 4.3 暂停功能 (4)及时归零: 图 4.4 复位归零 武汉理工大学单片机应用实践课程设计说明书 12 5.心得体会 通过对本次课程的课程设计,使自己深刻的认识到自己的很多不足之处,在实际动 手操作能力的不足,在进行程序编程时,自己需要,认真审题,看懂题目的要求!对 于软件编程不益太简单或者太难。做到既能把课题完成又能锻炼 自己的能力!根据课 题要求,复习相关的知识,查询相关的资料。根据课程条件,找到适合的方案,找到 需要的元器件及工具,准备课程。根据课程设计的要求和自己所要增加的功能写好程 序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序和增加额外的功 能程序。然后再进行 程序调试和相应的修改,以达到能够实现所要求的功能的目的。 还要根据课程的实际情况,添加些额外程序来使系统更加的稳定,如开关的去抖(采 用延迟)。程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在 程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该课程设计的 程序可以参考 MCS-51 系列单片机,也可自己根据自己熟悉的方 法来编程如单片机 C 语言。在设计控制开关时,注意两个中断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论