基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc

上传人:哈尼dd 文档编号:3922535 上传时间:2019-10-10 格式:DOC 页数:23 大小:533.50KB
返回 下载 相关 举报
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc_第1页
第1页 / 共23页
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc_第2页
第2页 / 共23页
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc_第3页
第3页 / 共23页
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc_第4页
第4页 / 共23页
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文.doc(23页珍藏版)》请在三一文库上搜索。

1、物理与电子工程学院2014级课程设计物理与电子工程学院单片机原理与接口技术课程设计报告书设计题目: 基于单片机的按键控制LED数码管 共阴极动态显示电路设计 专 业: 自动化 班 级: 14级专接本1班 学生姓名: 陈晓 学 号: 20140343116 指导教师: 成燕平 2015年6月14日物理与电子工程学院课程设计任务书专业: 自动化 班级: 1班 学生姓名XX学号20140343116课程名称单片机原理与接口技术设计题目基于单片机的按键控制LED数码管共阴极动态显示电路设计设计目的、主要内容(参数、方法)及要求设计目的:掌握由单片机控制的硬件电路和软件程序的设计方法。掌握Keil uV

2、ision编程软件和Proteus Professional仿真软件的使用方法。设计主要内容及要求:硬件电路主要由电源部分、单片机主控部分、按键电路、显示部分构成。画出系统电路原理图,软件设计(系统流程图、编写源代码程序),最后对系统进行仿真调试。1、电源部分:采用稳压直流电源对系统进行供电,设计三端稳压电源电路。2、主控部分:对单片机进行选型,并设计单片机最小系统电路。3、按键部分:设计3个按键,按键S1、S2、S3分别具有增量、减量和清0功能。4、显示部分:采用2个共阴极LED数码管作为显示电路,并采用动态驱动方式进行显示。实现功能为:用两位数码管显示一个十进制数,变化范围为0015,开始

3、时显示00,每按一次S1键一次,数值加1;每按下S2键一次,数值减1,;每按下S3键一次,数值归零。第一个数码管显示,时间为0.5s,然后关闭它;立即让第二个数码管显示,时间为0.5s,再关闭它;然后回来显示第一个数码管,一直循环下去。工作量2周时间,每天3学时,共计42学时进度安排第1天:明确课程设计的目的和意义,根据课程设计要求查找相关资料第2-3天:学习课程设计中用到的单片机相关知识第4-5天:根据课程设计的要求完成硬件主要芯片选型及硬件电路设计。第6-7天:学习Proteus Professional仿真软件,绘制硬件电路原理图。第8-10天:学习Keil uVision编程软件,完成

4、软件系统设计。第11-12天:通过Proteus Professional仿真软件,进行仿真调试。第13-14天:撰写课程设计报告。主要参考资料1郭天祥编著,51单片机C语言教程入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2014.112宋雪松,李冬明,催长胜.手把手教你学51单片机(C语言版)M. 北京:清华大学出版社,2014.4 3汤嘉立,李林,胡羽等.单片机应用技术实例教程M. 北京:人民邮电出版社,2014.114徐爱钧.单片机原理实用教程-基于Proteus虚拟仿真(第2版)M. 北京:电子工业出版社,2012.125徐爱钧,徐阳.Keil单片机高级语言应用编程与实践M.

5、电子工业出版社,2013.12指导教师签字教研室主任签字摘 要随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、I/O接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(SingleChipMicrocomputer)。正是由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下能够直接被驱动。单片机控制数码管显示的应用面积很广泛,实用性极强,而其的设计是基于嵌入式的控制器设

6、计。嵌入式应用涉及面较广,想要进入嵌入式应用系统的开发,就必须打好嵌入式应用设计与编程基础。本课题是设计单片机最底层设置,通过实现本课题来培养自身嵌入式设计能力锻炼设计者设计一个完整项目的实际思路。由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。本论文重点介绍了LED(lightemissiondiode)数码管显示技术,并且编写了这种显示技术在单片机中实现的关键编码以及提供了参考原理简图。关键词:LED技术;单片机;数码管目 录1 引言11.1设计任务11.2设计目的12 软件介绍22.1 ATC89C51单片机22.2 LED数码管的介绍42.3

7、 Keil软件介绍52.4 Protues软件的介绍63 系统设计83.1系统硬件设计83.2 系统软件设计94 总结9参 考 文 献15附 录16IV1 引言在单片机应用系统中,显示器是一个不可缺少的人机交互设备之一,是单片机应用系统中最基本的输出装置。通常需要用显示器显示运行状态以及中间结果等信息,便于人们观察和监视单片机系统的运行状况。而单片机系统中最为常见的显示器是发光二极管数码显示器(简称LED显示器)。LED显示器具有低成本、配置简单、安装方便和寿命长等特点。但显示内容比较有限,一般不能用于显示图形。LED显示器是由若干个发光二极管组成, 数码管按段数分为七段数码管和八段数码管,八

8、段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。 1.1 设计任务采用单片机AT89C51为LED显示屏的控制为核心,稳压直流电源对系统进行供电,设计三端稳压电源电路。对单片机进行选型,并设计单片机最小系统电路。设计3个按键,按键S1、S2、S3分别具有增量、减量和清0功能。采用2个共阴极LED数码管作为显示电路,并采用动态驱动方式进行显示。实现功能为:用两位数码管显示一个十进制数,变化范围为0015,开始时显示00,每按一次S1键一次,数值加1;每按下S2键一次,数值减1,;每按下S3

9、键一次,数值归零。第一个数码管显示,时间为0.5s,然后关闭它;立即让第二个数码管显示,时间为0.5s,再关闭它;然后回来显示第一个数码管,一直循环下去。1.2 设计目的掌握由单片机控制的硬件电路和软件程序的设计方法。掌握Keil uVision编程软件和Proteus Professional仿真软件的使用方法。通过一个微机应用系统的设计和调试过程,运用单片机原理及应用课程所学的知识,在设计中加以实践,达到理解、巩固和发展所学内容的目标。通过系统结构、流程设计、编程与调试的过程,掌握分析和解决问题的方法与手段,提高系统设计、程序编码与调试方面的实际动手能力,让同学们在理论学习的基础上,通过完

10、成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定基础。2 软件设计与介绍2.1 ATC89C51单片机AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微

11、处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。一个单片机芯片的基本组成如下:中央处理器CPU:它是单片机的核心,用于产生各种控制信号,完成对数据的算术逻辑运算和传送。内部数据存储器RAM:用来存放可以

12、读/写的数据。内部程序存取ROM:用来存放程序指令或某些常数表格。4个8位的并行I/O接口P0、P1、P2和P3,每个口都可以用作输入或输出。3个定时/计数器,用来做外部事件计数器,也可以定时。内部中断系统:具有5个中断源、2个优先级的嵌套中断结构,可实现二级中断服务程序嵌套。每一个中断源都可以用软件程序规定为高优先级中断或低优先级中断。一个串行接口电路:可用于异步接收发送器。内部时钟电路:振荡频率可以高达40MHZ,但晶体和微调电容需要外接。ATC89C51单片机管脚图如下: 图2-1 ATC89C51单片机管脚图ATC89C51单片机引脚功能如下:VCC:供电电压。GND:接地。P0口:P

13、0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当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口缓冲器

14、可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,

15、P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地

16、位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/

17、EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2 LED数码管的介绍LED显示器有共阴极和共阳极两种结构,下面只介绍共阴极结构。见图2-2,在共阴极结构中,各段发光二极管的阴极连在一起,将此公共点接地,某一段发光二极管的阴极为高电平时,该段发光。共阴极数码管是一类数字形式的显示屏,通过对其不同的管

18、脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。共阴极字段码:LED显示09某个字符时,则要求在adp送固定的字段码,如要使LED显示“0”,则要求a、b、c、d、f各引脚为高电平,g和dp为低电平,字段码为“3fh”。dpgfedcba001111113fh共阴极字符09七段码如下:字符:0123456789字段码:3fh06h5bh4fh66h6dh7dh07h7fh6fh图2-2 数码管及其外形图数

19、码管有动态驱动和静态驱动两种驱动方式,动态驱动方式应用比较广泛,数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,所谓动态驱动就是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在

20、轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.3 Keil软件的介绍KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVi

21、sion)将这些部分组合在一起。运行keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编编程,器其方便易用的集成环境、强大的软件仿真调试工具也令你事半功倍。使用独立的Keil仿真器时,注意事项:(1) 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。(2) 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。(3) 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相

22、连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。Keil软件的运行环境如图所示:图2-3 Keil软件运行环境2.3 Protues软件的介绍Protues是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换

23、到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机

24、及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。3.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。4.具有强大的原

25、理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。用于电路仿真时,其具体过程如下:在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电

26、路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。Protues软件的运行环境如下图所示:图2-4 Protues软件运行环境3 系统设计3.1 系统硬件设计硬件电路主要由电源部分、单片机主控部分、按键电路、显示部分构成。1、

27、电源部分:采用稳压直流电源对系统进行供电,设计三端稳压电源电路。采用一片LM7805三端稳压器,耗电电流为100Ma左右的电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。 2、 单片机主控部分:对单片机进行选型,并设计单片机最小系统电路。单片机是由晶振电路驱动其运行的。由晶振电路提供晶振周期,从而使得单片机能够正常的运行,其晶振电路如下图所示: 图3-1 晶振电路根据本设计设计要求得出基本电路结构图如下图所示:图3-2 单片机电路结构图3、按键部分:设计3个按键,按键S1、S2、S3分别具有增量、减量和清0功能。其电路仿真图如图3-3所示:图3-3

28、 按键控制电路4、显示部分:采用2个共阴极LED数码管作为显示电路,并采用动态驱动方式进行显示。其电路图仿真图如下图3-4所示:图3-4 数码管显示电路3.2 系统软件设计1、keil软件的仿真本次设计使用软件进行编译,Keil51编译过程如下:第1步:打开Keil51软件,首先弹出一个开机启动画面。第2步:然后进入Keil51的开发界面。下面简要介绍一下Keil51开发环境中各个区域的功能。Keil51开发环境可以分为四个区域,分别为:菜单条、项目文件管理窗口、代码编译窗口和代码编译信息窗口四个部分。菜单条分为十项,所有的命令都可以在这里找到。下面的命令是一些常用的菜单命令,如文件的打开、关

29、闭及保存。其中编译命令最为常用。中间靠左是项目文件管理窗口,这里可以看到当前项目中所包含的所有带编译的文件。项目文件管理窗口的右侧是代码编译窗口,这事我们最主要的工作区域。最底层显示了代码编译的信息。当代码有语法错误时,可以在这里轻松的找到问题的所在。第3步:下面以建立一个简单的项目为例,来说明Keil51开发项目的一般方法。单击Project菜单项,选择NewProject项。第4步:此时弹出CreateNewProject对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。单击保存。第5步:根据所用的器件,选择CPU的型号,单击确定。第6步:Keil51询问是否生成默认的配置文件,这

30、个可选可不选,这里选定。单击Yes,观察项目文件管理窗口的变化。第7步:在File菜单下单击New选项,新建文件。此时在代码窗口出现一“Text1”空白文档。第8步:在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。保存名写为text.c。单击保存。注意在对文件命名时必须加扩展名。第9步:在项目导航栏中SourceGroup上单击右键,选AddFiletoGroupSourceGroup1。第10步:此时弹出AddFile对话框。选中刚才保存的text.c文件。单击Add。此时在项目文件管理窗口中就会出现刚才所添加的文件text.c。第11步:单击快捷菜单栏中的编译按

31、钮,可以编译程序。第12步:单击Project菜单项,选择OptionforTargetTarget1选项。在弹出的对话框中可以对Project进行总体配置。第13步:选择Output选项卡,单击CreateHEXFile,代码输出格式应为HEX-80。第14步:单击确定后,并重新编译。可以看到编译成功之后,Build选项卡里又多了一项。这是生成的HEX文件。第15步:单击Debug菜单项中的Start/StopDebugSession命令或工具栏中的进入调试界面。第16步:单击调试界面Debug菜单项中的Go命令或工具栏中的运行程序,单击StopRunning命令或来结束程序。观察运行结果,

32、若结果正确,便可通过下载软件将它烧写到目标板上去。这样,一个简单的Keil51下的项目就完成了。注:Keil51对汇编语言文件的编译调试步骤和对C语言的编译调试基本上是一样的,只是在第八步中用汇编语言进行代码的编写,并在保存文件时将扩展名加成.asm。编译程序之后没有错误,其结果如下图图3-5所示:图3-5 程序编译结果2、proteus软件的仿真通过ProteusISIS软件的VSM(虚拟仿真技术),用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。其仿真电路图如下图图3-6所示:图3-6 仿真电路图运行该电路图,根据设计要求采用2个共阴极

33、LED数码管作为显示电路,并采用动态驱动方式进行显示。实现功能为:用两位数码管显示一个十进制数,变化范围为0015,开始时显示00,每按一次S1键一次,数值加1;每按下S2键一次,数值减1,;每按下S3键一次,数值归零。第一个数码管显示,时间为0.5s,然后关闭它;立即让第二个数码管显示,时间为0.5s,再关闭它;然后回来显示第一个数码管,一直循环下去,其仿真结果如下所示:(1) 数码管初始值为00,按S1后数值将加1,下图图3-7是连续按下6次S1后显示的数值为06:图3-7 连续按6次S1后的仿真电路图(2) 由上图可知,数码管显示06,再连续按2次S2后数码管显示04,其仿真结果如图3-

34、8所示:图3-8 连续按6次S1再按2次S2后的仿真电路图(3) 按下S3后,其仿真电路图如下图图3-9所示:图3-8 按下S3后的仿真电路图(4)第一个数码管显示,时间为0.5s,然后关闭它;其仿真结果如下图图3-9所示:图3-9 第一个数码管显示0.5S(5) 立即让第二个数码管显示,时间为0.5s,再关闭它;然后回来显示第一个数码管,一直循环下去,其仿真结果如下图3-10所示:图3-10 第二个数码管显示0.5S4 总结本次设计主要是针对刚刚学过的单片机知识,用汇编语言在 KEIL4中编程, 在 PROTEUS 中绘制原理图并进行仿真,通过对这两个软件的学习,了解了其功能的强大,掌握了A

35、T89C51 的内部结构及工作原理,对于我们以后的学习和实践有很大的指导意义。这次课程设计使我在学习新知识的同时,还锻炼了我的意志品质,当调试程序出现错误时,并没有使我灰心,让我放弃,而是通过自己不懈的努力,弄懂了每一部分知识。因此,本次课设对我以后无论是学习还是工作,都有着较大的帮助。通过这次课程设计,使我意识到了课本上的知识远远不能满足当今社会的需要,让我知道了未来学习知识要更加注重实践与实用。 在些次课程设计中,非常感谢谢老师的精心指导,由于他的悉心指导和关心,一直激励着我去努力做好本次课程设计,谢老师精湛的专业知识、耐心的工作态度和真诚的待人风格给我留下了非常深刻的印象,对我以后的工作

36、和生活将产生很大的影响。通过些次课程设计,我们获得了丰富的理论知识,极大的提高了实践能力,这将对我今后进一步学习计算机方面的知识有极大的帮助。在此,真挚的向我的导师说声谢谢。同时,我也在感谢跟我一起完成此次课程设计的同学,我们相互帮助,相互鼓劢,一起并肩作战。他们在我的设计遇到困难的时候,在精神上和行动上都给予我很大的支持,鼓励我不要泄气,说服我勇敢的面对困难,帮助我解决了很多问题,让我的课程设计能够顺利完成。参 考 文 献1 郭天祥编著,51单片机C语言教程入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2014.112 宋雪松,李冬明,催长胜.手把手教你学51单片机(C语言版)M.

37、北京:清华大学出版社,2014.4 3 汤嘉立,李林,胡羽等.单片机应用技术实例教程M. 北京:人民邮电出版社,2014.114 徐爱钧.单片机原理实用教程-基于Proteus虚拟仿真(第2版)M. 北京:电子工业出版社,2012.125 徐爱钧,徐阳.Keil单片机高级语言应用编程与实践M.电子工业出版社,2013.126 何立民. MCS-51系列单片机应用系统设计.北京航天航空大学出版,1991.7 王福瑞.单片机测控系统设计大全.北京航天航空大学出版社,1999.8 唐光荣,李究龄,邓丽曼.微型计算机应用技术(上)数据采集与控制技术.清华大学出版社,2000.附 录课程设计中的程序如下

38、: #ifndef _main_H_ #define _main_H_ #include #define uint unsigned int #define uchar unsigned char uchar temp,shi,ge,bai; uchar code table= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71; sbit D1=P23; sbit D2=P24; sbit S1=P25; sbit S2=P26; sbit S3=P27; void displa

39、y(uchar shi,ge); void delay(uint z); #endif #includemain.h void main() temp=0; while(1) if(S1=0)/S1检测delay(10);if(S1=0)temp+;if(temp=16)temp=0;while(!S1);if(S2=0)/S2检测delay(10);if(S2=0)if(temp=0)temp=17;temp-;temp-;while(!S2);if(S3=0)/S3检测delay(10);if(S3=0)temp=0;while(!S3);shi=temp/10;ge=temp%10;di

40、splay(shi,ge); void delay(uint z) uint x,y; for(x=110;x0;x-) for(y=z;y0;y-); void display(uchar shi,ge) D1=0;P0=tableshi;delay(5);D1=1;D2=0;P0=tablege;delay(5);D2=1;课程设计成绩评定表院系: 物理与电子工程学院 班级:14自动化 姓名:XX 学号:XXXXXXXX项目分值优秀(x90%)良好(90%x80%)中等(80%x70%)及格(70%x60%)不及格(x60%)评分参考标准参考标准参考标准参考标准参考标准平时考核20学习态度

41、认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作。学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务。学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作。学习态度尚可,能遵守组织纪律,能按期完成任务。学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度。课程设计报告报告内容组织书写20结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰。结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰。结构合理,层次较为分明,文理通

42、顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰。结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整。内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰。技术水平20设计合理、理论分析与计算正确,文献查阅能力强、引用合理、调查调研非常合理、可信。设计合理、理论分析与计算正确,文献引用、调查调研比较合理、可信。设计合理,理论分析与计算基本正确,主要文献引用、调查调研比较可信。设计基本合理,理论分析与计算无大错。设计不合理,理论分析与计算有原则错误,文献引用、调查调研有较大的问题。仿真/制作40实验数据准确,有很强的实际动手能力和计算机应用能力。实验数据比较准确,有较强的实际动手能力和计算机应用能力。实验数据比较准确,有一定的实际动手能力。实验数据无大错。实验数据不可靠,实际动手能力差。指导教师签名指导教师评定成绩19

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1