电子万年历设计

  • 格式:doc
  • 大小:241.60 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子万年历设计

指导老师:耿艳丽

郭家旭135561 自动化C134

焦大城135583自动化C134

邱锦君135640自动化C134

殷明135723自动化C134

课程设计任务书:电子万年历设计:利用单片机、时钟芯片DS1302、温度传感器DS18B20、1602液晶等实现日期、时间、温度的显示即一个简单的万年历。

摘要

本次单片机课程设计需要使用的是上课时学习的51单片机,其是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL 公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机即是基础入门的一个单片机,还是应用最广泛的一种。

目录

1使用硬件和软件简介 (3)

1.1 51单片机 (3)

1.2 使用软件简介 (4)

2 设计过程 (5)

2.1 设计流程图 (5)

2.2 keil编程 (6)

2.3 protues设计电路图及仿真 (7)

3 心得体会 (11)

附录 (12)

万年历显示模块设计

1使用硬件和软件简介

1.1 51单片机

单片机,亦称单片微型电脑或单片微型计算机。它是把中央处理(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。

计算机的产生加快了人类改造世界的步伐,在人们日常生活中应用广泛,但有时我们并不要求计算机功能强大,而只需要它能在特定的环境下连续不断地完成并不负责的任务,同时又要求它轻便和廉价。微型计算机就是在这么的情况下产生了。

1.2 使用软件简介

本次课程设计要使用2款软件协作完成,即protues完成基本电路构造和keil完成单片机程序设计。

1.2.1 protues介绍

Protues在两次课程设计中都有用到,可见学校对其应用的总是程度。Protues软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,几乎是目前最好的仿真单片机及外围器件的工具。虽然目前国内的推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。

在编译方面,它支持IAR、Keil和MPLAB等多种编译,这次课程设计

就是Protues和Keil的协同使用来完成。软件仿真方面,支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。可以提供软件调试功能,丰富的外围接口器件及其仿真( RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI 器件,部分IIC器件)。这样很接近实际。此外还具有强大的原理图绘制功能。

1.2.2 keil介绍

这次单片机课程设计中除必要的硬件外,同样离不开软件的支持,所使用的汇编语言或C语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的设计者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是唯一的选择。即使不使用C语言而仅用汇编语言编程,Keil 方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。

2 设计过程

2.1 设计流程图

确定设计

目标

使用keil编写程序,生成

供单片机运行的hex文件

使用Protues设计实现程序

的电路图

在仿真单片机中的导入

hex文件

开始仿真

调试程序和电路,使之达

到课程设计要求

结束

图2.1 设计流程图

2.2 keil编程

根据上述的电路图,可知显示部分采用8位7段数码管的分时显示,利用人

眼的视觉暂留现象,在数码管上显示出连续的明显数值。

其中8位数码管的各位开关信号16进制编码如下表:

1 2 3 4 5 6 7 8 点亮第

几位(从

左记)

0xfe 0xfd 0xfb 0xf7 0xef 0xbf 0xbf 0x7f 相应的

16进制

编码

图2.2 8位数码管开关位编码

相应的2进制数输出转化位7段数码管显示十进制的编码表如下:

0 1 2 3 4 5 6 7 8 9 显示

十进

16进

0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f 制输

图2.3 7段数码管显示编码

根据以上数据和单片机的各端口功能分布,可以大略得出程序的流程图。程

序开始前,可以先进行一些预处理,使编程过程简化。

2.2.1 程序预处理

首先,讲头文件中包含的单片机的各对应引脚定义为较容易书写的格式,同

时定义十进制到7段数码管显示对应的8位2进制数转化的数组序列。

然后,定义全局变量(同时初始化初值),方便在各函数间调用和改变年月日

时分秒的具体数值,避免使用指针带来的语言复杂性。