投票器设计说明书.docx
- 文档编号:11272060
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:12
- 大小:21.12KB
投票器设计说明书.docx
《投票器设计说明书.docx》由会员分享,可在线阅读,更多相关《投票器设计说明书.docx(12页珍藏版)》请在冰豆网上搜索。
投票器设计说明书
投票器设计说明书
单片机课程设计
说明书
课题:
班级投票显示器
班级:
指导老师:
刘鹏
同组成员:
赵庆栋、赵泽峰、张涛、钟伟宝、郭宁、吕义超、吴建科
烟台大学
机电汽车工程学院
前言...............................................................................3
第一章绪论.................................................................4
1.1概述.......................................................................................4
1.2设计目的...............................................................................4
1.3设计任务和内容...................................................................4
第二章总体设计及核心器件简介..............................6
2.1总体设计...............................................................................6
2.2MCS-51单片机....................................................................6
2.3LED数码显示器..................................................................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软件进行程序编与调试和ProteusISIS仿真软件进行电路模拟仿
真,实物制作与调试。
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.2MCS-51单片机
2.2.1AT89C51单片机内部结构
AT89C51是一种低电压,高性能CMOS8位单片机,采用ATMEL公司的高密度、
非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器
(CPU)和4K字节FLASH(FPEROM—FlashProgrammableandErasableReadOnly
Memory)存储单元,功能强大AT89C51单片机可为您提供许多高性能比的应用场
合,可灵活应用在各种控制领域。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL
高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管
脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL
的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。
AT89C51
单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
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,定时/计数器,串行通信口及中断
系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有
部件工作直到出现下一个硬件复位。
2.2.2AT89C51单片机的引脚说明
1.引脚排列及功能
AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线·P0位、漏极开路的双向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负载。
·口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.3AT89C51单片机复位方式
8051的复位方式可以是自动复位(左图),也可以是手动复位(右图),见下图。
此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据部丢失。
图2-2图2-3
此投票器使用自动复位如图2-2
2.3数码管
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“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显示数字对应的二进制电平信号
2.4发光二级管
发光二极管正向导通,反向截止,当通入正向电时发光。
图2-5
第三章投票显示系统电路设计与仿真
3.1投票显示系统总体功能实现
利用单片机设计投票显示系统,应先掌握单片机的结构与功能,在设计中充分利用好单片机各管脚,并配合外部电路,坚持简单易懂,节约成本的原则来设计电路。
图3-1投票显示系统电路原理图
如图3-1所示,投票显示系统电路的核心是单片机AT89C51。
单片机的P1.0口引脚接1个单刀单置开关,作为总控开关,控制投票系统的开始、停止和清零工作;单片机的P1.1口引脚接按键式开关,作为控制投票轮次的复位开关;P1.2
—P1.7接6个按键式开关,作为投票者的投票按键,并在总控开关上并联一发光二极管和非门串联的电路,当此发光二极管发红光时所有人投票有效,并在各投票按钮处设置蓝色发光二极管,发光时作为该投票的确认信号。
单片机的P0.0—P0.6口7个引脚接LED共阴显示器的段选码(a、b、c、d、e、f、g)的引脚上,实现LED显示器的显示字符(即显示票数),电阻主要起限流作用。
RST引脚接自动复位电路;XTAL1与XTAL2引脚接时钟电路。
P2口与LED显示器相接,用于显示投票轮次。
3.2系统流程图
为了简化程序的复杂度,使设计过程简单易懂,该系统将分成主程序和子程序设计,
具体流程如下图。
3.3程序编写
按照上面流程图进行源程序编写,源程序如下:
(1)主程序部分#include"reg51.h"#include"stdio.h"sfrp2=0xa0;sfrp1=0x90;sfrp0=0x80;
sbitP10=P1^0;/*位定义*/sbitP11=P1^1;sbitP12=P1^2;sbitP13=P1^3;sbitP14=P1^4;sbitP15=P1^5;sbitP16=P1^6;sbitP17=P1^7;Unsignedchar
dis[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x00};/*定义字型表*/unsignedcharnum,num2,num3,num4,num5,num6,num7;charnu=0;
voiddisp()/*显示子程序*/{num=num2+num+num4+num5+num6+num7;if(!
p11)nu=1;p0=dis[num];p2=dis[nu];}main()
{P1=0xff;P11=1;/*对P1口进行初始化*/
while
(1)/*进入无限循环*/{if(!
P10)/*判断总控开关,按下则执行以下程序*/{num=0;nu++;scan();}/*扫描按键,执行scan()子程序*/else
{num2=0;num3=0;num4=0;num5=0;num6=0;num7=0;}
/*无按键输入则显示0*/}}
这部分程序主要完成在总控开关控制下的开始投票、暂停投票和清零工作。
(2)子程序部分scan(){
while(!
P10)/*判断总控开关是否一直保持接通状态,接通则进行投
票过程循环,否则不执行程序,即投票按键无效*/
{if(!
P12)
{num2=1;while(!
P12);}/*对投票按键P1进行判断,按下则累
加1并维持不变*/
if(!
P13)
{num3=1;while(!
P13);}if(!
P14)
{num4=1;while(!
P14);}if(!
P15)
{num5=1;while(!
P15);}if(!
P16)
{num6=1;while(!
P16);}if(!
P17)
{num7=1;while(!
P17);}
disp();
}
}
子程序部分完成投票判断、票数累加工作。
3.4仿真与调试
将源程序输入进111111软件中,保存为.hex文件并编译,无误后可以再烧进仿真软件ProteusISIS文件中的单片机AT89C51中,方可运行仿真电路。
单击仿真运行开始按钮
,我们能清楚地观察到每一个引脚的电频变化,红色代表高电
频,蓝色代表低电频。
ab
c
d
ef
g
仿真过程如图,接通总控开关,最高处发光二极管发红光,既此时所有人投票有效,并可看见票数显示器显示“0”,轮次显示器显示“1”投票第一轮开始,进入投票阶段,如图(a);然后任意按下一个投票按键如P3,同时可看到p3处发光二级管闪烁一次蓝光,即投票有效,此时票数显示器示数字变成“1”,轮次显示器“1”不变,如图(b);再按另一个P5,二极管闪烁蓝光后票数LED灯变成“2”,如图(c);此时再次按下第一次按过的按键P3,显示器仍保持数字“2”,如图(d);即可完成每个按键只能投票一次的功能。
最后将总控开关断开,可看到显示器没有变化,可以继续显示投票结果,但红色发光二极管终止发光,此后在投票无效,
再次按任意投票按键,投票显示器无反映,即完成投票暂停功能。
再次接通总控,可发现票数显示器又回到初始阶段“0”,轮次显示器显示“2”,即进入第二轮投票,如图(e),若此后有4人投票,则票数显示器显示“4”,而轮次显示器“2”不变。
即票数完成清零并进入新一轮投票阶段,如图(f),所有投票结束后按下轮次复位按钮,则所有显示器回复初始状态,如图(g),最终出现这个过程就已经意味着系统仿真成功!
21
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 投票 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)