倒计时秒表课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
倒计时秒表课程设计
目录
一.设计目的 (1)
二.设计要求 (1)
三.总体设计 (1)
设计方案 (1)
硬件电路设计 (1)
1)C P U部分 (1)
2)晶振电路部分 (2)
3)L C D显示 (3)
4)键盘及蜂鸣器部分 (3)
软件程序设计 (4)
四.方案实施 (6)
单片机简介 (6)
4.2动态L C D液晶显示器显示 (6)
4.3 软件调试及调试方法 (8)
五.课程设计总结 (10)
六.参考文献 (10)
七.附件 (11)
源程序 (12)
总体电路图 (22)
一.设计目的
1熟悉整个项目的流程即单片机系统设计过程
2 学会使用各种仿真软件
3熟练的使用汇编语言编写小的应用程序
4 掌握系统的调试与安装
5提高学生的自学能力和动手能力
二.设计要求
1)可以实现正常秒表的所有功能,包括启动,暂停,复位等
2)可以自由设定倒计时时间(10s,20s,30s....),并进行倒计时(10s,20s,30s....)
3)显示方式自选
4)任选一款51单片机
5)扩展功能:在秒表基础上增加时钟功能;倒计时完成时加入报警单元,如声音,灯光等
三.总体设计
设计方案
1)方案讨论和设计:倒计时数字秒表的设计主要考虑以下几个问题:一,LCD液晶显示器如何显示数字0—9;二,如何用单片机来控制LCD的显示;三,单片机最小模式下的设计。处理好这些问题此设计才能完整,为此必须先了解LCD的显示原理和接线方法,再了解单片机的组成原理和控制方法。硬件电路的绘制和软件程序的编写是此次设计的关键和基础,只有硬件电路的设计是正确的、合理的,软件设计才可以根据硬件电路编程,以下的设计才能够进行。
2)主要任务:软件的调试和烧录
硬件电路设计
1)CPU部分
口是“调模式”num 10,num20,num30,num50,num100
口是“开始”倒计时端口
口是“关闭”(返回)轰鸣器口,在定时可以返回到模式状态。
口是给轰鸣器送触发信号口
口是“暂停”口
主要有AT89C51,按键等构成
2)时钟振荡模块
时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个30pF 的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2引脚处,使单片机工作于内部振荡模式。此电路在加电后延迟大约10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。电路中两个电容C4、C5的作用使电路快速起振,提高电路的运行速度。
X2
CRYSTAL
C4 30pf C5
30p
模
块
3)LCD显示部分
D1-D7口分别依次接单片机的;
RS,RW,E分别接口
LCD显示部分
4)键盘及蜂鸣器部分
键盘及轰鸣器部分
口是“调模式”num 10,num20,num30,num50,num100
口是“开始”倒计时端口
口是“关闭”(返回)轰鸣器口,在定时可以返回到模式状态。口是给轰鸣器送触发信号口
口是“暂停”口
软件程序设计
程序流程图:
Y
Y
N
Y
四.方案实施
单片机简介
单片机是把中央处理器(CPU),存储器和输入输出接口电路等主要微型机部件集成在一块芯片上,因此称为单片机,主要用于测控领域。自从1976年Intel公司推出第一代8位的MCS—48系列单片机,它以体积小、控制功能全、价格低等优点为单片机的发展打下了坚实的基础。随后单片机发生了深刻的变革,目前市面上最常用的51系列单片机也是8位的,因为其品种全、兼容性强、软硬件资料丰富的特点,因此历经几十年仍然是最常用的单片机系列。随着技术的进步和发展,16位单片机32位单片机相继产生,其性能也有了长足的提高,但是其基本组成仍然没有改变。
设计中应用到的STC89C51是Atmel公司生产的51系列单片机中的一个典型
代表,
AT89C51引脚图
从图中可以看到AT89C51有P0、P1、P2、P3四个输出输入口,其中口接开关用来LCD数字显示的起停,其中+5V的高电平有电源电路提供。
动态LCD液晶显示器显示
液晶是人机交互最重要的通道,液晶不光要显示文字信息,还要显示波形信息,所以,编写一套完善的函数库是必不可少的,其中应该包括显示ASCII码、字符串、整型数字、浮点数、汉字、画点、画线等一系列函数。
上层函数的建立离不开底层的驱动,最底层驱动应该是建立在液晶基本时序与指令的基础上。如图1,是液晶模块的基本时序图。
图1 DMF5001液晶模块基本时序图
根据时序图和控制指令,不难写出基本的读写函数。这些函数就是构建上层的基础。之后,还必须了解液晶的基本显示方式和充填方式。如图2,是液晶模块的缓冲区与显示屏的映射关系。T6963控制芯片内部有64KB的缓冲区,可以由程序划分为图形、文本、文本特征3类缓冲区,在不同缓冲区里写入不同数据,在液晶屏上将映射相应的信息,这也就是液晶模块显示信息的原理。
图2 DMF5001液晶映射方式
因为T6963内部含有ASCII码字库,所以要想显示字符信息,只需在文本区内填入相应的信息即可。
如果要显示汉字或图形,则必须先在单片机内部的ROM区建模,然后将这些信息写入液晶的图形缓冲区,在液晶控制模块的控制下,相应的信息就会映射在显示屏上,也就是我们看到的汉字或图形信息了。
如果要实时显示AD采集的波形图以及FF T处理后的频谱图,这里将就动态波形显示用到的技术加以详细介绍。
波形的显示离不开“点”的显示,所谓“点动成线”也就这个道理,对于只有黑白两级灰度的液晶来说,画一个“点”就是将一个像素点亮。所以我们根据时序图,先建立在LCD屏上显示“点”的底层函数。在液晶屏上绘制“点”,有两点需要注意,一是缓冲区空间的大小,二是像素的充填方式。在DMF5001液晶模