at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx

上传人:b****9 文档编号:13074697 上传时间:2022-10-04 格式:DOCX 页数:35 大小:642.64KB
下载 相关 举报
at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx_第1页
第1页 / 共35页
at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx_第2页
第2页 / 共35页
at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx_第3页
第3页 / 共35页
at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx_第4页
第4页 / 共35页
at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx

《at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。

at89c51单片机8位抢答器课程设计(含图和程序)Word文档下载推荐.docx

计时;

报警

目录

第1章引言 1

第2章系统总体设计 2

2.1八路抢答器的工作原理 2

2.2八路抢答器的总体框图 2

第3章系统硬件的设计 3

3.1单片机最小系统 3

3.1.1芯片统计 3

3.1.2硬件介绍 3

3.2复位电路设计 4

3.3晶振电路设计 5

3.3抢答器电路设计 5

3.4显示电路设计 6

3.5蜂鸣器电路设计 7

第4章系统软件设计 9

4.1主程序设计 9

4.2倒计时30s子程序设计 10

4.3外部中断T1中断子程序设计 11

4.4定时器T1中断子程序设计 12

4.5选手按键程序 12

4.6数码管显示程序设计 14

第5章仿真调试 15

5.1非法抢答 15

5.2抢答或回答时间修改 15

5.3正常倒计时 16

5.4回答时间 17

5.5复位 18

第5章总结 19

第6章致谢 20

第7章参考文献 21

附录A:

Proteus仿真图 23

附录B:

源程序 24

单片机课程设计

第1章 引言

此次设计提出了用AT98C51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89C51单片机作为主控核心,与数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有倒计时和实时显示抢答选手的号码的特点,还有复位电路,使其再开始新的一轮的答题和比赛。

它的功能实现是比赛开始,主持人读完题之后按下总开关,倒计时开始,此时数码管开始进行30s的倒计时,是选手的思考时间,倒计时完后,才允许开始抢答,若有人答题,对应的会在数码管上显示出该选手的编号并由蜂鸣器发出声音,在30s倒计时内答题无效。

第2章 系统总体设计

2.1八路竞赛抢答器的工作原理

以单片机为核心,设计一个8路竞赛抢答器:

同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。

设置一个系统清除和抢答控制开关S,开关由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的

声响,声响持续的时间为0.5s左右。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

2.2八路竞赛抢答器的总体框图

图2.1总体框图

30

第3章 系统硬件设计

3.1单片机最小系统

微控制器采用AT89C51。

AT89C51是美国ATMEL公司生产的与MCS-51系列单片机完全兼容的高性能CMOS8位单片机,MCS-51系列单片机以其推出时间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用,是单片机的主流品种。

3.1.1芯片统计

名称

型号

数量

芯片

AT89C51

1

数码管

7SEG-MPX4-CC

按钮

BUTTON

15

电容

CAP

2

电解电容

CAP-ELEC

晶振

CRYSTAL

电阻

RES

8

喇叭

SPEAKER(DEVICE)

3.1.2硬件介绍

与MCS--51系列完全兼容的高性能8位CPU;

4K字节可重复编程的Flash存储器;

256字节的SRAM;

4个8位的并行口,共32条I/O口线;

3个16位的定时器/计数器;

6个中断源,2个中断优先级的中断系统;

一个全双工的串行口;

内部振荡器;

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路。

其最小系统如下图3.1.2所示。

图3.1.2单片机最小系统电路图

3.2复位电路的设计

MCS-5l的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-5l的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作.只要RST保持高电平,则MCS-5l循环复位.只有当RST由高电平变低电平以后。

MCS-51才从0000H地址开始执行程序。

本系统采用按键复位方式的复位电路。

复位电路:

当一轮进行完时,由主持人按下,下一轮倒计时开始,如图3.2

所示。

图3.2复位控制电路

3.3晶振电路设计

MSC-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。

本设计中采用内部时钟方式。

单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。

时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。

一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图3.3所示。

加电以后延时一段时间

(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。

电容C1,C2的作用有两个:

一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。

图3.3晶振控制电路

3.4抢答器电路设计

键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。

因此可以根据实际需要对键盘中的按键灵活的编码。

最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状

态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。

独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。

独立式按键键盘:

用于输入高低电平,八位选手抢答时高低电平发生变化,如图3.4所示。

图3.4 抢答按键部分

3.5显示电路设计

LED动态显示是单片机中应用最为广泛的一种显示方式,其接口电路是把所有显示器的8个笔划段a-dp同名端并联在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制,CPU的字段输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了,在轮流点亮扫描过程中,每位显示器的点亮时间表是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉将就尽管实际上各位显示器并非间时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

抢答器倒计时显示电路:

有三位数码管组成,前两位显示30s倒计时,第

三位显示成功抢答选手编号,如图3.5所示。

图3.5显示控制部分图

3.6蜂鸣器电路设计

我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的巨型波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。

单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声,有选手抢答成功,使蜂鸣器发出声音,如图3.6所示。

图3.6 蜂鸣器提示时间部分图

第4章 系统软件设计

系统软件分为主程序、中断服务程序和子程序三部分

4.1主程序(主程序流程框图见图4.1)

开始

设置堆栈

倒计时设置

设置定时方式

赋值初值

标志位设置

中断允许设置

键盘扫描程序

显示程序无中

断显示000

等待中断

结束

图4.1 主程序流程框图

主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。

程序流程如图4.1所示,对单片机进行初始化,包括设置堆栈、倒计时30S设置、定时器T0设置,外部中断设置,键盘扫描设置,初始化状态时显示00。

4.2倒计时30s子程序:

(定时器T0中断子程序框图如图4.2所示)

把A、PSW放入堆

N

1S到否

Y

倒计时存入59H

十位存入61H、

个位存入60H中

调用显示子程序

弹出A、PSW

退出中断

图4.2 定时器T0中断子程序框图

首先要把累加器ACC和程序状态字PSW放入堆栈保护,然后进行倒计时的设置,设置为30S倒计时,先看看1S到没,如果到,倒计时自动减1,并在

数码管显示,再判断倒计时的30s到没,没到继续倒计时并显示,倒计时计完为止,然后弹出累加器ACC与程序状态字PSW,中断退出,返回到中断入口处。

4.3外部中断T1中断子程序:

(外部T1中断子程序框图如图4.3

所示)

把A、PSW放堆

20H位置0

调用显示子程

使三个标志位

清零

T0开始定时T1

停止

使(21H)置

0、30S倒计时设置

退出ACC、PSW

中断返回

图4.3 外部T1中断子程序框图

外部中断T1中断时要先把累加器ACC和程序状态字PSW放入堆栈保护,然后把20H标志位置0,再调用显示程序,T0开始定时,T1停止,然后设置

30S倒计时,设置之后弹出累加器ACC与程序状态字PSW,中断退出,返回

到中断入口处。

4.4定时器T1中断子程序:

(定时器T1中断程序框图如图4.4所示)

把A

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1