计算说明书孙伟.docx
《计算说明书孙伟.docx》由会员分享,可在线阅读,更多相关《计算说明书孙伟.docx(74页珍藏版)》请在冰豆网上搜索。
![计算说明书孙伟.docx](https://file1.bdocx.com/fileroot1/2023-1/10/747c524b-56b1-40d1-88a7-41bc9e8b71f0/747c524b-56b1-40d1-88a7-41bc9e8b71f01.gif)
计算说明书孙伟
设计项目
计算与说明
结果
第1章绪论
1.1选题依据及研究意义
随着我国改革开放以来,人们生活水平不断提高,个人财产也日益丰富,人们除了注重物质生活外,对精神生活的要求也越来越高。
智能抢答器,是基于单片机设计和开发的一个实用性产品,在现代社会里。
无论是学校、工厂、军队还是益智性电视节目,都会举办各种各样的智力竞赛。
特别是在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易等,都会用到抢答器。
抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
目前市场上已有各种各样的智力竞赛抢答器,但绝大多数是早期设计的,以模拟电路、数字电路或者模拟电路与数字电路相结的产品,这部分抢答器已相当成熟,但功能越多的电路越复杂,且成本也比较高,发生故障的可能性也比较高.传统普通抢答器主要存在以下缺陷:
传统的抢答器都是导线布线,受现场环境影响很大。
显示方式简单,无法判断提前抢按按键的行为.且不便于电路升级换代。
当今计算机的普及和电子信息技术的迅猛发展,对智能抢答器有了更高的要求,如何有效的保证许多公开竞争场合裁决的公平,公正。
单片机智能抢答器为之提供了条件和发展空间。
建立一个价格适宜、智能化、自动化、数字化等特点的智能抢答器具有重要意义。
本设计应用以单片机作为核心部件进行逻辑控制及信号的产生,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构,抢答器又称为第一信号鉴别器利用单片机本身的优势使竞赛真正达到公正、公平、公开。
其主要应用于各种知识竞赛、文艺活动等场合。
1.2课题的研究领域
本装配系统涵盖了机、电、光一体化专业中所涉及人机界面、机构结构与单片机程序设计、LED等技术,使用该系统可使竞赛真正达到公正、公平、公开。
由于单片机具有抗干扰能力强、可靠性极高、体积小等显著优点,是实现机电一体化的理想控制装置。
因此在设计抢答器系统时,单片机起到了关键的作用。
1.3单片机简介
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统。
单片机是将中央处理器,随机存储器。
只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。
随着INTELI960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
第2章系统的总体设计
2.1总体设计过程概述
系统主要由80c51单片机、时钟电路、复位电路、抢答按键、主控按键、数码管和发光二极管组成。
主控按键实现了软件工作状态的控制;抢答按键将选手抢答数据输入单片机中;复位电路实现软件的强制复位;时钟电路控制着软件的工作节奏;单片机实现程序的执行,并对输入数据进行分析、处理,同时输出显示信号;数码管用来显示选手抢答编号;发光二极管显示软件的工作状态。
2.1.1基本功能
1、同时供8名选手比赛,分别用8个按钮S1~S8表示。
2、设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3、抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
2.1.2扩展功能
1、抢答器具有定时抢答功能。
当主持人启动"开始"键后,定时器进行减计时。
2、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果定时时间已到,无人抢答,本次抢答无效,系统禁止抢答,红灯亮。
多路抢答器系统单元结构图如图2.1所示。
图2.1多路抢答器系统单元结构图
2.2多路抢答器系统的构成及工作原理
2.2.1系统构成
抢答按键
控制按键
时钟电路
复位电路
抢答器由80C51单片机、共阳极LED显示器、发光二极管、点动开关和上拉电阻组成。
时钟电路由电容、晶振构成。
其中由80C51单片机总体控制,LED显示器显示抢答选手编号,发光二极管显示系统工作状态。
根据各选手抢答的先后,经过程序查询,转换成电信号,输出在LED显示器上。
系统工作由主持人控制,工作状态由发光二极管指示。
系统组成如图2.2。
电源电路
80C51单片机
LED显示器
发光二极管
图2.2多路抢答器系统组成
2.2.2系统的工作原理
首先单片机置初值,然后程序读取开始/清零按钮,若清零按键按下,则置初值;若开始按钮按下,则绿灯亮,红灯灭;读取选手抢答按键,若没有选手抢答,计数器减1,继续读取选手抢答按键,一定时间内没有选手抢答,则清零置初值;若有选手按下抢答按键,则绿灯灭,查询选手按键编号,输出选手编号,开始答题。
之后再读取清零按键,若按下则清零键则单片机重新置初值;若未按下则等待清零按键按下。
第3章系统硬件设计
3.1.单片机控制单元
单片机控制单元由单片机、时钟电路、复位电路三部分组成,这三部分也是本装配系统的核心控制部分。
3.2单片机
3.2.1单片机的选择
由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。
例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。
当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。
在本课题中,我们选用现在较为流行的51系列单片机,即选用80C51。
3.2.2单片机的基本结构
1、单片机的引脚分布及功能
80C51单片机采用40引脚双列直插封装形式。
图3.1为其引脚图,下面介绍各引脚名称及其功能。
1)电源引脚Vcc和Vss
Vcc,芯片电源,接+5V;
Vss,接地端;
2)时钟电路引脚XTAL1和XTAL2
XTAL1:
接外部石英晶体和微调电容的一端。
在
片内,XTAL1是振荡器的反向放大器的输
入端。
XTAL2:
接外部石英晶体和微调电容的另一端。
在片内,XTAL2是振荡器的反向放大器的
输出端。
3)控制信号引脚ALE、PSEN、EA、RST,
ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程
期间,此引脚输入编程脉冲。
PSEN:
外ROM读选通信号。
RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期期间,施加编程电源Vpp
4)输入/输出引脚
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
2、80C51单片机的内部结构
80C51单片机的内部结构如图3.2。
主要包括累加器ACC(有时也简称A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存储器RAM、寄存器、并行I/O接口、P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。
这些部件通过内部总线连接起来,构成一个完整的微型计算机。
图3.280C51单片机的内部结构
3.3单片机的最小系统
1、复位电路:
由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。
典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10,R取8.2K。
当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;
2、复位输入高电平有效:
当振荡器工作时,RST引脚出现两个机器周期以上的高电平,使单片机复位。
此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;
3、晶振电路:
典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的方波便于12分频,方便定时操作);
4、单片机:
一片AT89S51/52或其他51系列兼容单片机;
注意:
对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行;
5、电源部分:
。
接+5伏特的电压
3.4数码管显示电路
LED显示器,实现七段数码管的显示三位十六进制数。
来显示抢答的选手编号。
其中数码管的显示可以分为两种:
静态显示和动态显示。
静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的CPU时间少。
动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共端COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
从电路上,按数码管的接法不同又分为共阴和共阳两种。
图3.4是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
其数码管的外形如下图所示:
a共阳极数码管b共阴极数码管
图3.4数码管的共阴和共阳极接法
用LED显示器显示十六进制数的字形代码如表3.2所示。
表3.2十六进制数字型代码表
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
84H
71H
7
F8H
07H
灭
FFH
OOH
8
80H
7FH
3.5时钟电路的设计
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
80C51单片机允许的时钟频率是因型号而异的。
晶振的选择:
6MHz的晶振,其机器周期是2us。
12MHz的晶振,其机器周期是1us,也就是说在执行同一条指令时用6MHz的晶振所用的时间是12MHz晶振的两倍。
为了提高整个系统的性能本次设计选择了12MHz的晶振。
振荡方式的选择:
内部振荡方式,80C51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件,这样就构成了内部振荡方式。
外部振荡方式是把已有的时钟信号引入单片机内。
这种方式适合用来使单片机的时钟与外部信号一致。
在这个设计中没有也无需与外部时钟信号一致,所以选择了内部振荡方式,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振选择了12MHz,相对于6MHz的晶振,整个系统的运行速度更快了。
电容器C1、C2起稳定振荡频率、快速起振的作用,电容值选择了20pF。
内部振荡方式所得的时钟信号稳定性高。
在此次设计中时钟电路部分如图3.5所示。
图3.5时钟电路的设计
单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,常用fosc表示。
如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs。
3.6复位电路的设计3.6.1复位电路的可靠性设计
计算机在启动运行是都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。
80C51的复位输入引脚RST为80C51提供了初始化的手段,可以使程序从指定处开始执行,在80C51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作。
只要RST保持高电平,则80C51循环复位。
只有当RST由高电平变低电平以后,80C51才从0000H地址开始执行程序。
本系统采用按键复位方式的复位电路。
80C51单片机有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期(即24个时钟周期)以上的高电平。
使器件复位,只要RST保持高电平,80C51保持复位状态。
此时ALE、/PSEN、P0、P1、P2、P3口都输出高电平。
RST变为低电平后,退出复位,CPU从初始状态开始工作。
复位以后内部寄存器的初始状态为(SP=07,P0、P1、P2、P3为0FFH外,其它寄存器都为0。
在RST复位端接一个电容至VccHE一个电阻至Vss,就能实现上电自动复位,对于CMOS单片机只要接一个电容至Vcc即可。
如图3.6(a),在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使80C51有效地复位。
RST端在加电时应保持的高电平时间包括Vcc的上升时间和振荡器起振时间,Vcc上升时间若为10ms,振荡器起振时间和频率有关。
10MHz时间约为1ms,1MHz时约为10ms,所以一般为了可靠地复位,RST在上电时应保持20ms以上的高电平。
图3.6(a)中,RC时间常数越大,上电时RST端保持高电平的时间越长。
当振荡频率为12MHZ时,典型值为C=10uF,R=8.2kΩ。
(a)上电自动复位
(b)按键手动复位
图3.6上电复位电路
3.6.2人工复位
除上电自动复位以外,常常需要人工复位,将一个按钮开关并联于上电自动复位电路,按一下开关就会使RST端出现一段时间的高电平,即使器件复位。
如图3.6(b)所示。
这次的毕业设计中运用的人工复位电路.其中电平复位是通过RST端经电阻和电源Vcc接通而实现的,按键手动电平复位电路如图3.6(b)。
当时钟频率选用12MHz时,C选取10uF,R选择8200欧。
3.6.380C51单片机复位后的状态
80C51单片机的复位功能是把PC初始化为0000H,使CPU从0000H单元开始执行程序;复位操作同时使SFR寄存器进入初始化,但内部RAM的数据是不变的。
几个主要特殊功能寄存器复位状态归纳如表3.3。
对个别特殊功能寄存器作如下说明:
PC=0000H:
程序计数器为零表明单片机复位后程序从0000H地址单元开始执行。
A=00H:
表明累加器已被清零。
PSW=00H:
表明选寄存器0组为工作寄存器组。
SP=07H:
表明堆栈指针指向片内RAM07H单元,根据堆栈操作的先加后压法则,第一个被压入的数据被写入08H单元中,一般需重新设置SP值。
P0~P3=FFH:
P0~P3口用作输入口时,必须先写入“1”。
单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。
表3.3主要特殊功能寄存器复
SFR寄存器
复位状态
SFR寄存器
复位状态
A
00H
TMOD
00H
B
00H
TOON
00H
PSW
00H
TLO
00H
SP
07H
THO
00H
DPL
00H
TL1
00H
DPH
00H
TH1
00H
P0~P3
FFH
SUBF
不定
IP
XXX00000B
SOON
00H
IE
0XX00000B
POON
0XXX0000B
3.7系统元器件清单
表3.4系统元器件选型清单
元器件名称
元器件型号
数量
备注
1
单片机
80C51
1
2
LED数码管
7SEG-COM-AN-GRN
1
3
晶振
CRYSTAL
1
4
电容
CAP
3
5
电阻
CHIPRESOR
4
6
发光二级管1
LED-BIBY
1
7
发光二级管2
LED-BIRG
1
8
电源
CELL
1
9
点动开关
11
各元器件作用简介
单片机:
进行逻辑控制和信号产生。
LED数码管:
显示抢答选手编号。
晶振:
为单片机提供时钟标准。
电容:
一个用在复位电路里,两个用在时钟电路里
电阻:
控制电路的电压。
发光二极管:
显示抢答状态。
电源:
为电路提供+5V电源,使系统得以运行。
点动开关:
其中八个分别由八名选手控制,用以抢答。
两个由主持人控制,用来清零和开始。
一个用在手动复位电路里。
第4章系统的软件设计
软件采用循环扫描的方法扫描主控按键。
当计时器开始计时后,软件开始循环扫描选手按键,一旦有选手抢答,程序自动跳转到扫描选手编号程序段。
若在规定时间内无人抢答,软件自动清零复位。
扫描选手编号和输出选手编号程序段均采用了查表程序,查表程序具有程序简单、执行速度快等优点。
4.1抢答器流程图
流程图是使用图形表示算法的思路是一种极好的方法,以特定图形符号加上说明,表示算法。
不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。
绘制流程图的标准做法是:
圆角矩形表示:
开始与结束
矩形表示:
行动方案、普通工作环节
菱形表示:
问题决策或判断(审核/审批/评审)环节
平行四边形表示:
输入输出
箭头表示:
工作流方向
本次设计的抢答器流程图如图4.4所示。
上电后,给P0、P1、P2、P3置初值,此时红灯亮。
然后读取P2口状态,即看是否有开始或清零按键按下。
如果开始按键按下则绿灯亮,清零按键按下则回到置初值状态,如果两者都未按下则继续读取P2口状态。
开始按键按下后则继续读取P1口状态,看是否有选手抢答,如果有则红灯亮,利用程序查询选手按键,在LED上输出抢答选手编号,选手开始抢答。
在此处有一个计时程序,即从主持人按下开始按键后,十秒钟内没有选手抢答则将会重新读取P1口状态。
待选手抢答完后程序继续读取P2.3口状态。
看清零键是否按下,如此循环实现我们所需功能。
4.2抢答器I/O口地址分配
表4.1I/O地址分配表
P0.0口
七段数码管a
P0.1口
七段数码管b
P0.2口
七段数码管c
P0.3口
七段数码管d
P0.4口
七段数码管e
P0.5口
七段数码管f
P0.6口
七段数码管g
P1.0口
选手按键S1
P1.1口
选手按键S2
P1.2口
选手按键S3
P1.3口
选手按键S4
P1.4口
选手按键S5
P1.5口
选手按键S6
P1.6口
选手按键S7
P1.7口
选手按键S8
P2.0口
红灯
P2.1口
绿灯
P2.2口
开始按键
P2.3口
清零按键
4.3抢答器接线图
图4.5抢答器接线图
4.4抢答器主程序
ORG0000H
AJMPLOOP0
TAB1:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
TAB2:
DB0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H
LOOP0:
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FE