皖西学院课程设计报告-1目录一、引言……………………………………………………………………21.1秒表的概述………………………………………………………21.2本次设计任务………………………………………………21.3系统主要功能…………………………………………………2二、设计目的………………………………………………………………3三、设计要求………………………………………………………………3四、总体设计………………………………………………………………34.1设计方案……………………………………………………………34.2硬件电路设计……………………………………………………4(1)晶振电路部分………………………………………………………4(2)总体电路构成及功能…………………………………………4(3)系统板硬件连接…………………………………………………54.3软件程序设计……………………………………………………6五、方案实施…………………………………………………………………65.1单片机简介……………………………………………………………75.2静态数码管显示……………………………………………………105.3软件调试及调试方法…………………………………………11六、课程设计总结…………………………………………………………12七、参考文献…………………………………………………………………13八、附件(源程序)…………………………………………………………14皖西学院课程设计报告-2一、引言单片机具有体积小,成本低,抗干扰能力强,面向控制,可以实现分机各分布式控制等优点。本秒表/时钟设计就是利用单片机的上述优点,采用目前市场上性能价格比较高的MCS-51单片机设计而成的最小系统。它在实际生活中具有广泛的应用。例如:工业生产中的定时启停自动化设备、学校中上下课铃定时控制、农村广播站每天早中晚广播的自动定时控制均可采用本仪器。1.1秒表的概述秒表是电器制造,电国,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、廷时器、定时器等的时间测试。目前所使用的电秒表大多是指针式或集成电路型的,结构相对复杂、测试功能单一。但我们这次设计的秒表比较简单,所以使用很简单。1.2本次设计任务(1)开始时,显示“00”,第1次按下SP1后就开始计时。(2)第2次按SP1后,计时停止。(3)第3次按SP1后,计时归零。1.3系统主要功能99秒计时器主要是用在精确计间方面。比如:学校里的校运会、答题倒计时等方面。它通过一个按键来控制它的开和停,它能及时有皖西学院课程设计报告-3效的记录瞬间时间。而且它在我们生活中运用很广泛,希望我们做的这个计时器对以上方面有所帮助。它也许比较简单,而且有可能达不到很多人的要求,但我相信通过我们过一步的学习,我们一定会制造出更好的系统,为社会大众服务。二、设计目的1熟悉整个项目的流程即单片机系统设计过程2学会使用各种仿真软件3掌握系统的调试与安装4提高学生的自学能力和动手能力三、设计要求1可以实现正常秒表的所有功能,包括启动,暂停,复位等2可以自由设定倒计时时间3显示方式自选4任选一款51单片机四、总体设计4.1设计方案(1)方案讨论和设计:倒计时数字秒表的设计主要考虑以下几个问题:一,数码管如何显示数字0—9;二,如何用单片机来控制数码管的显示;三,单片机最小模式下的设计。处理好这些问题此设计才能完整,为此必须先了解数码管的显示原理和接线方法,再了解单片机的组成原理和控制方法。硬件电路的绘制和软件程序的编写是此皖西学院课程设计报告-4次设计的关键和基础,只有硬件电路的设计是正确的、合理的,软件设计才可以根据硬件电路编程,以下的设计才能够进行。(2)主要任务:软件的调试和记录4.2硬件电路设计(1)晶振电路部分时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个30pF的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2引脚处,使单片机工作于内部振荡模式。此电路在加电后延迟大约10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。电路中两个电容C4、C5的作用使电路快速起振,提高电路的运行速度。X2CRYSTALC430pfC530p图1晶振电路模块(2)总体电路构成及功能99秒计时器的原理框图如图1所示。它由以下几个部件组成:单片机AT89C51、两个静态数码显示、一个按钮等其它组件。皖西学院课程设计报告-5图2倒计时秒表系统原理框图(3)系统板硬件连线1、把“单片机系统”区域中的P0.0/AD0-P0.6/AD6端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-e端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.6/AD6对应着e。2、把“单片机系统”区域中的P2.0/A8-P2.6/A14端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-e端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.6/A14对应着e。3、把“单片机系统“区域中的P3.7/RD用导线连接到”独立式键盘“区域中的SP1端口上;皖西学院课程设计报告-64.3软件程序设计本系统的软件系统主要可分为主程序、定时计数中断程序二大模块。下面对部分模块作介绍。系统主程序设计:图3系统主流程图五、方案实施5.1单片机简介单片机是把中央处理器(CPU),存储器和输入输出接口电路等主要微型机部件集成在一块芯片上,因此称为单片机,主要用于测控领域。自从1976年Intel公司推出第一代8位的MCS—48系列单片机,皖西学院课程设计报告-7它以体积小、控制功能全、价格低等优点为单片机的发展打下了坚实的基础。随后单片机发生了深刻的变革,目前市面上最常用的51系列单片机也是8位的,因为其品种全、兼容性强、软硬件资料丰富的特点,因此历经几十年仍然是最常用的单片机系列。随着技术的进步和发展,16位单片机32位单片机相继产生,其性能也有了长足的提高,但是其基本组成仍然没有改变。设计中应用到的AT89C51是Atmel公司生产的51系列单片机中的一个典型代表图4AT89C51引脚图AT89C51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。皖西学院课程设计报告-8此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。(1)主要特性·8031CPU与MCS-51兼容·4K字节可编程FLASH存储器(寿命:1000写/擦循环)·全静态工作:0Hz-24KHz·三级程序存储器保密锁定·128*8位内部RAM·32条可编程I/O线·两个16位定时器/计数器·6个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路(2)管脚说明VCC:供电电压GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收皖西学院课程设计报告-98TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。皖西学院课程设计报告-10P3口也可作为AT89C51的一些特殊功能口,如下表1所示:表1P3口功能说明P3口同时为闪烁编程和编程校验接收一些控制信号。5.2静态数码管显示数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读先通)皖西学院课程设计报告-11点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。5.3软件调试及调试方法1)启动keiluVision,编写倒计时汇编语言程序,然后点击Project菜单——〉Newproject,新建一个工程,接着选择CPU类型,我们选择最常用的AT89C51。2)在工程中加入文件。新建一个文件倒计时.C保存,汇编语言文件建好后把文件加入到工程中。3)编译工程及文件,发现错误更改后再重新编译文件,直到没有错误并且产生了xxx.hex的文件。4)用单片机仿真软件Protues来仿真此次设计的单片机是否能够完成皖西学院课程设计报告-12设计的要求。图5仿真显示电路图六、课程设计总结(1)在本次课程设计中,我加深了对51系列单片机的认识,尤其是在定时计数器、中断系统、串行通信接口方面,我得到了很大的收获。(2)通过本次设计,使我认识和了解了基本的单片机设计的开发及仿真过程,我学到:经过理论联系实际,加深了对单片机和模拟电路基础知识的理解及应用,学会了液晶显示器接法,熟识了硬件驱动静态数码管显示的基本原理和程序编写,提高了将单个电子器件组合到一起构成所需电路系统的能力;(3)在绘制电路图和仿真图的过程中,巩固了电信专业最基本软件要求,提高了对Protues单片机仿真软件及汇编程序