课程设计报告基于STC12C5A60S2单片机步进电机控制系统设计院系电子信息工程学院专业电气工程及其自动化班级11级2班姓名甘芝国学号:1108441044合肥师范学院课程设计报告II摘要在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。[1]该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。面对如此功能强大的单片机,结合本次设计要求,应该要用到单片机的内部时钟电路以及外围的显示接口电路和报警电路关键词:AT89C51单片机;数码管;秒表合肥师范学院课程设计报告III目录摘要.............................................................................................................II目录............................................................................................................III1引言..............................................................................................................11.1研究背景及意义............................................................................................11.2本课题任务.....................................................................................................12硬件设计......................................................................................................12.1总体方案设计................................................................................................12.2系统组成........................................................................................................23.秒表的PROTEUS仿真电路设计...............................................................23.1.整体proteus仿真电路图...............................................................................23.2AT89C51单片机和数码管的接口设计........................................................33.3按键控制信号.................................................................................................33.4其他管脚的设计............................................................................................34定时器软件程序设计...................................................................................45.系统调试.......................................................................................................85.1程序书写及编译............................................................................................85.1.1输入源程序............................................................................................................85.1.2对源程序进行汇编和纠错....................................................................................85.1.3确定调试方案........................................................................................................85.2调试程序........................................................................................................85.2.1调试主程序。........................................................................................................85.2.1调试子程序。..............................................................................................86结论...............................................................................................................9参考文献........................................................................................................10合肥师范学院课程设计报告11引言1.1研究背景及意义此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础为自己的专业技能打好基础。通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验为以后从事生产和科研工作打下一定的基础。本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式。1.2本课题任务设计一个AT89C51单片机控制的秒表系统。利用单片机的定时器,计数器定时和计数的原理,结合显示电路、LED数码管以及按键来设计计时器。将软硬件有机的结合起来。使得系统能够正确的进行加计时,数码管能够正确的显示时间。当超过计时范围时,报警系统发挥作用,产生蜂鸣报警。2硬件设计2.1总体方案设计数字秒表设计由单片机89C51,数码管,开关,电容,电阻等部分组成。其功能是要求用AT89C51设计一个2位LED数码显示的“秒表”,显示时间为00-99秒,每秒自动加一。另外还设计了一个“开始”按键,一个“复位按键”和一个“暂停”按键。按“开始”按键开始计数,数码管显示从00开始每秒自动加一。按“复位”按键,系统清零,数码管显示00。按“暂停”按键,系统暂停计数,数码管显示当时的计数。合肥师范学院课程设计报告22.2系统组成系统主要由三部分构成:按键控制信号,单片机软件处理,数码管显示。电路运行时,由开关按键决定其运行方式。经过单片机内部的程序进行相应的处理。在数码管上显示出来。运用一个12M晶振的周期为1um.通过循环产生一秒时间的延迟。扫描单片机所存放的时间值(可正计时,也可倒计时。)并通过输出显示在数码管上。此外,数码管各段链接了上拉电阻,是为了保证引脚外接的按键在未按下时,作为电流负载一直保持引脚为低电平。系统图如上图所示。3.秒表的proteus仿真电路设计3.1.整体proteus仿真电路图Proteus仿真电路图如下2所示从00开始计数开始按键开始计数复位按键暂停按键数码管显示00数码管显示当前计数合肥师范学院课程设计报告32.系统仿真图3.2AT89C51单片机和数码管的接口设计LED和单片机的输出口用总线链接。电路中采用P2口输出。通过软件实现位选控制。P2.0到p2.7对应数码管的a,b,c,d,e,f,g.3.3按键控制信号按键采用独立式键盘接法,启动键接P0.0,停止键接P0.1.复位键接P0.2。清零键接P0.3。低电平有效。3.4其他管脚的设计单片机的Vss端接地,Vcc端接+5v电源,三极管发射端也接+5v电源。保证有足够的电源供应。程序设计流程图:合肥师范学院课程设计报告44定时器软件程序设计软件设计的思路为:在这个复杂的程序中,先根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序以及中断服务程序结构,并对各程序模块占用的资源进行统一的调配,最后根据流程图绘制具体的程序。因此在这个秒表程序中可划分为主程序、键盘控制、秒表计时程序三大模块。其中主程序完成初始化作用,动态显示程序,键盘控制程序,秒表计时程序等,延时程序由定时器中断服务子程序构成。主程序:即初始化程序,用命令首先对三个按键进行了定义,规定了堆栈指针和数据指针的首地址,对定时器进行设定,选用定时器0为工作方式1,50ms为定时时间,则要定时ls可以循环20次,设置中断程序的入口,并开中断EA,ETO等。子程序:包括按键功能子程序和显示子程序。按键子程序对三个按键功能进行设定,其中P3.513起到开始的功能,P3.6口连接的按键可以控制数码管的进度,P3.7对数码管数字进行复位,使