您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 郑州大学单片机课程设计
存档资料成绩:郑州大学光华学院课程设计报告书所属课程名称单片机原理与应用题目万年电子历分院电信分院专业班级2007级计算机科学与技术(2)班学号20070210440212学生姓名冯文科指导教师夏康伟2010年7月16日第2页共25页郑州大学光华学院课程设计(论文)任务书专业07计算机科学与技术班级(2)班姓名冯文科一、课程设计(论文)题目万年电子历二、课程设计(论文)工作:自2010年7月5日起至2010年7月16日止。三、课程设计(论文)的目的要求和任务内容:一.实验目的通过本次课程设计达到如下目的:1、熟悉AT89C51单片机与时钟芯片DS1302的应用。2、熟悉时钟时、分、秒计时方法,掌握编程技巧。3、掌握键盘的基本工作原理,键的识别,键抖动和重键问题的解决,键盘工作方式和键盘程序的编程。4、掌握七段码LED显示器的结构,七段码LED显示器的工作方式和显示程序的编程。5、掌握串行通信程序的编写。郑州大学光华学院课程设计报告第3页共25页二.设计要求利用AT89C51单片机,时钟芯片DS1302、七段码LED显示器、按键、MAX7219及常用外围器件,设计一个具有动态显示功能的电子万年历,具体要求如下:1、设计实现电子万年历的电路系统构成框图。2、能动态显示年、月、日、星期、小时、分钟、秒。3、可用键盘进行校对时间,以及日期时间的修改。学生签名:_____________2010年7月16日课程设计(论文)评阅意见郑州大学光华学院课程设计报告第4页共25页评阅人职称2010年7月16日序号项目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5任务难度评价6设计中创新性评价7论文书写规范化评价8综合应用能力评价综合评定等级郑州大学光华学院课程设计报告第5页共25页目录第一章课程设计任务书...........................2第二章设计方案................................6第三章硬件设计.................................7第四章软件设计................................15第五章程序清单................................17第六章课程设计心得............................24第七章参考文献................................25郑州大学光华学院课程设计报告第6页共25页第二章设计方案按照系统设计功能的要求,初步确定系统由主控模块、时控模块、显示驱动及显示模块和键盘接口模块共4个模块组成,电路系统构成框图如图所示。图2.1电子万年历电路系统构成框图主控芯片使用51系列AT89C51单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。采用DS1302作为计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.5~5.5V电源,再2.5V时耗电小于300nA),而且DS1302可以编程选择多种充电电流来队后备电源进行慢速充电,可以保证后备电源基本不耗电。显示驱动采用MAX7219,MAX7219是微处理器和共阴极八段八位LED数码管显示、图条/柱图显示或64点阵显示接口的小型串行输入/输出芯片。片内包括BCD译码器、多路扫描控制器、字和位驱动器和8×8静态RAM。外部只需要一个电阻设置所有LED显示器字段电流。MAX7219和微处理器只需三根导线连接,每位显示数字有一个地址由微处理器写入。允许使用者选择每位是BCD译码或不译码。使用者还可选择停机模式、数字亮度控制、从1~8选择扫描位数和对所有LED显示器的测试模式。显示模块采用普通的共阴极四位一体八段LED数码管。郑州大学光华学院课程设计报告第7页共25页第三章硬件设计3.1系统硬件概述3.1.1主控制器AT89C51ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要特点如下:8KBFlashROM,可以擦除1000次以上,数据保存10年。郑州大学光华学院课程设计报告第8页共25页●256字节内部RAM;●电源控制模式;●时钟可停止和恢复;●空闲模式;●掉电模式;●6个中断源;●4个中断优先级;●4个8位I/O口;●全双工增强型TUAR;●3个16位定时/计数器:T0、T1(标准80C51)和增加的T2(捕获和比较)●全静态工作方式:0~24MHZ3.1.2时钟电路DS1302DS1302的性能特性:●实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;●用于高速数据暂存的31*8位RAM;●最少引脚的串行I/O;●2.5~5.5V电压工作范围;●2.5V时耗小于300nA;●用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;●简单的三线接口;●可选的慢速充电(至Vcc1)的能力。DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为郑州大学光华学院课程设计报告第9页共25页高阻态。上电运行时,在Vcc≥2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的控制字如表所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1则表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如果为0,则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式下,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至RAM。表3.1DS1302控制字DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字如上表所示,其中奇数为读操作,偶数为写操作。时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个10小时位(20~23h)。DS1302的晶振选用32768Hz,电容推荐值为6pF。因为振荡频率较低,郑州大学光华学院课程设计报告第10页共25页也可以不接电容,对计时精度影响不大。3.1.3显示驱动MAX7219●MAX7219和单片计算机连接有三条引线(DIN、CLK、LOAD),采用16位数据串行移位接收方式●八位LED显示、图条/柱图显示或64点阵显示●包括BCD译码器、多路扫描控制器、字和位驱动器和8×8静态RAM●可选择停机模式、数字亮度控制、从1~8选择扫描位数和对所有LED显示器的测试模式●最多能驱动8位LED显示器●内部RAM地址01~08H分别对应于DIG0~DIG7。●扫描界限寄存器(地址0BH):该寄存器中D0~D3位数据设定值为0~7H,设定值表示显示器动态扫描个数位1~8。●停机寄存器(地址0CH):当D0=0时,MAX721处于停机状态;当D0=1时,处于正常工作状态。●显示测试寄存器(地址0FH):当D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。在该状态下,不管MAX7219处于什么模式,全部LED将按最大亮度显示。●亮度寄存器(地址0AH):亮度可以用硬件和软件两种方法调节亮度寄存器中的D0~D3位可以控制LED显示器的亮度。MAX7219通过D11~D84位地址位译码,可寻址14个内部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和1个空操作寄存器。LED显示寄存器由内部8×8静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要V+超过2V(一般为+5V)。控制寄存器包括:译码模式,显示亮度调节,扫描限制(选择扫描位数),关断和显示测试寄存器。MAX7219的驱动程序首先必须对5个控制寄存器初始设置即初始化,各控制寄存器设置含义如下:译码模式选择寄存器(地址=F9H);MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就郑州大学光华学院课程设计报告第11页共25页可以显示。实际应用中可以按位设置选择B译码或是不译码方式。扫描限制寄存器:地址=FBH;用于设置显示的LED个数(1~8),比如当设置为0xX4时,LED0~5显示。亮度调节寄存器:地址=FAH;共有16级选择,用于LED显示亮度的强弱设置。关断模式寄存器:地址=FCH;有两种模式选择:一种是关断状态模式(D0=0);一种是正常操作状态(D0=1),通常选择正常操作状态。显示测试寄存器:地址=FFH;有两种选择用于设置LED是测试状态还是正常操作状态:当在测试状态时(D0=1)各位全应亮,一般选择正常操作状态(D0=0)。3.2主要单元电路的设计3.2.1显示电路显示部分采用普通的共阴数码管显示,采用动态扫描,以减少硬件电表3.2MAX7219引脚功能路。年月日时分秒星期共需要17位数码显示,考虑到一次扫描17位数码管显示时会出现闪烁情况,故采用动态扫描,可将数码管数量减少至9位,也就是两个四位一体八段LED显示数码管和一个一位LED数码管设计时数码管同时扫描,显示时采用串行口输出段码,用MAX7219驱动数码管。郑州大学光华学院课程设计报告第12页共25页图3.2MAX7219主要引脚3.2.2键盘接口键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与MCS—51型单片机的接口。3.2.3时钟电路3.2.3.1DS1302工作方式简介及数据操作原理DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个33x8的用于临时性存放数据的RAM寄存器。DS1302是的DS1202升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实
本文标题:郑州大学单片机课程设计
链接地址:https://www.777doc.com/doc-6489816 .html