单片机课程设计说明书课题:班级投票显示器班级:机电081-7指导老师:刘鹏同组成员:赵庆栋、赵泽峰、张涛、钟伟宝、郭宁、吕义超、吴建科烟台大学机电汽车工程学院前言 (3)第一章绪论 (4)1.1 概述 (4)1.2 设计目的 (4)1.3 设计任务和内容 (4)第二章总体设计及核心器件简介 (6)2.1 总体设计 (6)2.2 MCS-51单片机 (6)2.3 LED数码显示器 (10)2.4 发光二级管 (13)第三章投票显示系统电路设计与仿真 (14)3.1 投票显示系统总体功能实现 (14)3.2 系统流程图 (15)3.3 程序编写 (17)3.4 仿真与调试 (19)单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已渗透到各种嵌入式系统中。
毫不夸张地说:掌握单片机技术信息类学生就业的一个重要条件。
同时单片机技术又是一门实践性很强的学科。
课程设计教学环节的设计和实施,在很大程度上决定了我们对单片机的掌握程度。
为了更好的完成课程设计这一重要教学环节,我们采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。
首先在PC上利用Proteus软件自己搭建硬件电路,并利用系统提供的功能完成电路分析,系统调试和输出现实的硬件设计部分,同时在Keil软件中编制程序,进行相应的编译和仿真,完成系统的软件设计部分。
当系统的设计工作完成后,就可以在PC上看到最终的运行效果。
最后在通过Proteus设计PCB,在完成真正硬件的调试。
采用以上方案具有以下优势:有利于促进课程和教育改革,更有利于人才的培养;从经济性、可移植性、可推广性角度讲,建立这样的课程设计平台是非常有意义的,利用仿真系统,可以节约开发时间和开发成本,利用仿真系统具有很大的灵活性和可扩展性。
第一章绪论1.1 概述目前投票显示系统电路的应用可以说非常广泛,班级投票,公司竞选,文娱节目等许多不记名投票活动都经常会用到各式各样的投票器,虽然这些投票器外观和样式都有所不同,功能可能也有多有少,但他们的原理都大同小异。
因此现将基本原理熟练掌握,以后再进行功能扩展就简单易行了。
本文论述了利用单片机制作投票系统的全过程,包括阐述该系统的基本工作原理,利用WAVE软件进行程序编与调试和Proteus ISIS仿真软件进行电路模拟仿真,实物制作与调试。
1.2 设计目的(1)加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正应用。
(3)把理论知识好实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
1.3 设计任务和内容1.3.1 设计任务分组按照选定题目的设计任务,设计各种单片机应用系统,设计工作量至少要包含:(1)用MCS-51单片机,12MHz时钟,常规的上电和手动复位电路;(2) 3个以上的按键;(3) LED或/和数码管或/和LCD显示及其接口;(4)至少2路输入信号,可以是模拟量或数字量。
1.3.2 设计要求(1)设计一个投票系统,具有计票显示功能;(2)可实现6人同时进行投票,累计票数在显示器上显示;(3)主持人使用一个按键开关控制开始投票,终止投票和清零;(4)投票开始后每人能且仅能投一次票,多投无效;创新:(1)增加发光二极管显示有效性;(2)增加LED显示器显示投票轮数;1.3.3 设计内容(1)编写项目功能说明书,确定应用系统的功能和具体参数;(2)设计电路原理图;(3)编写汇编语言或C语言源程序,程序中加注必要的注解说明;(4)编写设计说明书。
第二章总体设计及核心器件简介2.1 总体设计整个设计以AT89C51单片机为核心,点触开关控制信号通过单片机I/O 口,单片机处理信号并将结果通过LED 数码管显示。
以发光二极管显示信号输入的有效性,最终上电复位单片机。
总体设计如下图。
2.2 MCS-51单片机2.2.1 AT89C51单片机内部结构AT89C51是一种低电压,高性能CMOS 8位单片机,采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和4K 字节FLASH (FPEROM —Flash Programmable and Erasable Read OnlyMemory )存储单元,功能强大AT89C51单片机可为您提供许多高性能比的应用场合,可灵活应用在各种控制领域。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。
AT89C51复位电路 I/O 口8051 单片机 LED 数码管显示 信号源 时钟电路单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机的主要工作特性:·内含4KB 的FLASH 存储器,擦写次数1000次;·内含28字节的RAM ;·具有32根可编程I/O 线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V 且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:图2-1还有,AT89C51可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断振荡器和时钟电路数据存储器 128字节 程序存储器14KBCPU两个16位定时器 计数器 中断控制 总线扩展控制器 并行可编程 I/O 口 可编程 串行口内部总线 外部中断扩展控制 P0 P1 P2 P3 RXD TXD系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到出现下一个硬件复位。
2.2.2 AT89C51单片机的引脚说明1.引脚排列及功能AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线·P0口 8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置1。
P0口可驱动8个TTL负载。
·P1口 8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。
在编程和校验时,可用作输入低8位地址。
用作输入时,应先将输出锁存器置1。
P1口可驱动4个TTL负载。
·P2口 8位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
·P3口 8位、准双向I/O口,具有内部上拉电阻。
P3口可作为普通I/O口。
用作输入时,应先将输出锁存器置1。
在编程/校验时,P3口接收某些控制信号。
它可驱动4个TTL负载。
图2-2 引脚位置(2)控制信号线·RST 复位输入信号,高电平有效。
在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。
·EA/VPP 外部程序存储器访问允许信号EA.当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。
在编程时,该引脚可接编程电压5V或12V。
在编程校验时,该引脚可接VCC。
·PSEN 片外程序存储器读选通信号PSEN,低电平有效。
在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM 时,PSEN 无效。
·ALE/PROG 低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。
(3)外部晶振引线·XTAL1 片内振荡器反向放大器和时钟发生线路的输入端。
使用片内振荡器时,连接外部石英晶体和微调电容。
·XTAL2 片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
2.2.3 AT89C51单片机复位方式8051的复位方式可以是自动复位(左图),也可以是手动复位(右图),见下图。
此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据部丢失。
图2-2 图2-3 此投票器使用自动复位如图2-22.3 数码管LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,LED数码管有共阳极和共阴极两种结构。
如下图了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
共阴和共阳极数码管的内部电路发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
LED数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
下面将介绍常用LED数码管内部引脚图。
图2-3-1 这是一个7段两位带小数点 10引脚的LED数码管图2-3-1引脚定义每一笔划都是对应一个字母表示DP是小数点.图2-3-2 共阴极LED数码管的内部结构原理图LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
表1.1 显示数字对应的二进制电平信号显a b c d e f g示数字011111101011000021101101311110014011001151011011600111117111000081111111900011012.4 发光二级管发光二极管正向导通,反向截止,当通入正向电时发光。